Move server API concept to base framework

This commit introduces the new `Component` interface in the form of the
headers base/component.h and base/entrypoint.h. The os/server.h API
has become merely a compatibilty wrapper and will eventually be removed.
The same holds true for os/signal_rpc_dispatcher.h. The mechanism has
moved to base/signal.h and is now called 'Signal_handler'.

Since the patch shuffles headers around, please do a 'make clean' in the
build directory.

Issue #1832
This commit is contained in:
Norman Feske
2015-12-23 15:22:33 +01:00
committed by Christian Helmuth
parent 4ac7127f89
commit 051e84c4b4
74 changed files with 1730 additions and 638 deletions

View File

@ -0,0 +1,6 @@
#
# All dynamic executables must be linked to the component entry-point library
# (a trampoline for component startup from ldso), so, enforce the library
# dependency here.
#
LIBS += component_entry_point

View File

@ -0,0 +1,7 @@
#
# Component entry point (a trampoline for component startup from ldso)
#
SRC_CC = component_entry_point.cc component_construct.cc
vpath %.cc $(REP_DIR)/src/lib/startup

View File

@ -24,6 +24,8 @@ ENTRY_POINT = _start
LD_OPT += -T$(DIR)/linker.ld
endif
include $(REP_DIR)/lib/import/import-ld.mk
vpath %.cc $(DIR)
# vi:ft=make

View File

@ -1,5 +1,5 @@
SRC_S += crt0.s
SRC_CC += _main.cc init_main_thread.cc
SRC_CC += _main.cc init_main_thread.cc component_construct.cc
REP_INC_DIR += src/include
LIBS += syscall