16 months ago | Paul Boddie | raw annotate files changeset graph | Changed the process server to act as a plain Opener object, yielding a context through which program invocation details are communicated. Such details include program arguments which are now, once again, passed to the created process. When starting a process, only a collection of argument strings, this including the program filename, are now provided. This is to permit the indication of programs accessible to the process creator that are not necessarily resident in the filesystem of the initiating task. |
1 PKGDIR ?= ../.. 2 L4DIR ?= $(PKGDIR)/../../.. 3 4 TARGET = libexec.a libexec.so 5 PC_FILENAME = libexec 6 7 # Locations for interface input and generated output. 8 9 IDL_DIR = $(PKGDIR)/../libsystypes/idl 10 IDL_MK_DIR = $(L4DIR)/idl4re/mk 11 IDL_BUILD_DIR = . 12 IDL_EXPORT_DIR = $(OBJ_BASE)/include/contrib/$(CONTRIB_INCDIR)/exec 13 14 include $(IDL_MK_DIR)/idl.mk 15 16 # Required interfaces. 17 18 CLIENT_INTERFACES_CC = dataspace mapped_file notifier 19 20 SERVER_INTERFACES_CC = opener pager_object parent_pager_object process_creator_context_object 21 22 # Generated and plain source files. 23 24 CLIENT_INTERFACES_SRC_CC = $(call interfaces_to_client_cc,$(CLIENT_INTERFACES_CC)) 25 26 SERVER_INTERFACES_SRC_CC = $(call interfaces_to_server_cc,$(SERVER_INTERFACES_CC)) 27 28 # Normal source files. 29 30 PLAIN_SRC_CC = \ 31 common.cc elf.cc external_pager.cc \ 32 internal_pager.cc memory.cc pager.cc \ 33 process.cc process_creating.cc \ 34 process_creator_context_resource.cc \ 35 process_creator_resource.cc \ 36 segment.cc stack.cc 37 38 # Normal definitions. 39 40 SRC_CC = \ 41 $(CLIENT_INTERFACES_SRC_CC) \ 42 $(SERVER_INTERFACES_SRC_CC) \ 43 $(PLAIN_SRC_CC) 44 45 REQUIRES_LIBS = l4re_c-util libmem libipc libstdc++ libsystypes libfsclient libfsserver 46 47 PRIVATE_INCDIR = $(PKGDIR)/include/exec $(IDL_BUILD_DIR) $(IDL_EXPORT_DIR) 48 49 CONTRIB_INCDIR = libexec 50 51 include $(L4DIR)/mk/lib.mk 52 include $(IDL_MK_DIR)/interface_rules.mk 53 54 $(PLAIN_SRC_CC): $(CLIENT_INTERFACES_SRC_CC) $(SERVER_INTERFACES_SRC_CC)