diff --git a/Tuprules.tup b/Tuprules.tup index 91ca2b9..664af91 100644 --- a/Tuprules.tup +++ b/Tuprules.tup @@ -7,6 +7,7 @@ endif ifeq (@(TUP_ARCH),i386) CC_MARCH = -march=i686 -m32 LD_MARCH = -melf_i386 +AS_MARCH = -march=i686 --32 endif ifeq (@(TUP_ARCH),x86_64) @@ -20,6 +21,9 @@ endif GENODE_DIR = $(TUP_CWD)/upstream +export NIX_PATH +NIX_BUILD = nix-build --option substitute false + &STUB_DIR = upstream/stub LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name` @@ -75,12 +79,12 @@ BIN_DIR = $(DEPOT_BIN_DIR)/$(BIN_NAME)/current PKG_DIR = $(DEPOT_BIN_DIR)/$(BIN_NAME)/current # Destination for locally defined runtime package -!raw = |> ^ COLLECT %o^ \ +!raw = |> ^ generate raw metadata^ \ echo $(RAW_DEPENDS) local/raw/$(RAW_NAME)/$(RAW_VERSION) | tr ' ' '\n' > %o; \ echo local/raw/$(RAW_NAME)/$(RAW_VERSION) > %o \ |> $(RAW_DIR)/.ARCHIVES $(DEPOT_DIR)/ -!bin = |> ^ COLLECT %o^ \ +!bin = |> ^ generate bin metadata^ \ echo $(BIN_DEPENDS) local/src/$(BIN_NAME)/$(BIN_VERSION) | tr ' ' '\n' > %o; \ |> $(BIN_DIR)/.ARCHIVES $(DEPOT_DIR)/ # Macro invoked in BIN_RULES @@ -98,11 +102,11 @@ AWK_LOCAL_ARCHIVES = awk -F '/' \ !pkg = |> |> -!collect_raw = |> ^ COLLECT %o^ \ +!collect_raw = |> ^ COLLECT %b^ \ cp %f %o \ |> $(RAW_DIR)/%b -!collect_bin = |> ^ COLLECT %o^ \ +!collect_bin = |> ^ COLLECT %b^ \ @(TOOL_CHAIN_PREFIX)strip -o %o %f \ |> $(DEPOT_BIN_DIR)/$(BIN_NAME)/current/%b @@ -115,12 +119,12 @@ AWK_LOCAL_ARCHIVES = awk -F '/' \ sed -f $(VERSIONS_SED_FILE) $(DEPOT_PKG_DIR)/$(PKG_NAME)/current/archives \ > $(DEPOT_PKG_DIR)/$(PKG_NAME)/current/.ARCHIVES; \ |> \ + $(DEPOT_PKG_DIR)/$(PKG_NAME)/current/runtime \ $(DEPOT_PKG_DIR)/$(PKG_NAME)/current/archives \ $(DEPOT_PKG_DIR)/$(PKG_NAME)/current/.ARCHIVES \ - $(DEPOT_PKG_DIR)/$(PKG_NAME)/current/runtime \ $(DEPOT_DIR)/ -!collect_pkg = |> ^ COLLECT %o^ cp %f %o \ +!collect_pkg = |> ^ COLLECT %b^ cp %f %o \ |> $(DEPOT_PKG_DIR)/$(PKG_NAME)/current/%b \ $(DEPOT_DIR)/ @@ -142,8 +146,11 @@ CC = @(TOOL_CHAIN_PREFIX)gcc CXX = @(TOOL_CHAIN_PREFIX)g++ LD= @(TOOL_CHAIN_PREFIX)ld AR = @(TOOL_CHAIN_PREFIX)ar +AS = @(TOOL_CHAIN_PREFIX)as OBJCOPY = @(TOOL_CHAIN_PREFIX)objcopy +AS_OPT += $(AS_MARCH) + LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name` PKG_CONFIG_DIR = $(TUP_CWD)/pkg-config @@ -155,8 +162,12 @@ PKG_CONFIG = PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-config !cc = | $(GENODE_DIR)/ |> ^o CC %f^ @(CC_WRAPPER) $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` $(INCLUDES) -c %f -o %o |> %B.o -!cxx = | $(GENODE_DIR)/ |> ^o CC %b^ @(CC_WRAPPER) $(CXX) $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(INCLUDES) -c %f -o %o |> %B.o +!cc_port = | $(GENODE_DIR)/ |> ^o CC %o^ @(CC_WRAPPER) $(CC) -c $(DEFINES) $(CFLAGS) $(CFLAGS_%f) $(INCLUDES) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` -o %o |> %B.o -!ld = | $(GENODE_DIR)/ $(GENODE_DIR)/ |> ^o LD %o^ $(LD) $(LDFLAGS) -L$(LIB_DIR) `$(PKG_CONFIG) --libs $(LIBS)` %f -o %o |> +!cxx = | $(GENODE_DIR)/ |> ^o CXX %b^ @(CC_WRAPPER) $(CXX) $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(INCLUDES) -c %f -o %o |> %B.o + +!cxx_port = | $(GENODE_DIR)/ |> ^o CXX %o^ @(CC_WRAPPER) $(CXX) -c $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(INCLUDES) -o %o |> %B.o + +!ld = | $(GENODE_DIR)/ $(GENODE_DIR)/ |> ^o LD %o^ $(LD) $(LDFLAGS) `$(PKG_CONFIG) --libs $(LIBS)` %f -o %o |> !strip = |> strip -o %o %f |> diff --git a/configs/arm_v8.config b/configs/arm_v8.config index a14fae0..745ccad 100644 --- a/configs/arm_v8.config +++ b/configs/arm_v8.config @@ -1,4 +1,4 @@ -CONFIG_TUP_ARCH=arm_v8 +CONFIG_TUP_ARCH=arm64 CONFIG_TOOL_CHAIN_PREFIX=genode-aarch64- CONFIG_CC_WRAPPER=ccache diff --git a/configs/i386.config b/configs/i386.config index 22c5e90..4c6e7b0 100644 --- a/configs/i386.config +++ b/configs/i386.config @@ -1,4 +1,5 @@ CONFIG_TUP_ARCH=x86_64 +CONFIG_x86= CONFIG_TOOL_CHAIN_PREFIX=genode-x86- CONFIG_CC_WRAPPER=ccache diff --git a/configs/x86_64.config b/configs/x86_64.config index aaaffec..533b057 100644 --- a/configs/x86_64.config +++ b/configs/x86_64.config @@ -1,4 +1,5 @@ CONFIG_TUP_ARCH=x86_64 +CONFIG_x86= CONFIG_TOOL_CHAIN_PREFIX=genode-x86- CONFIG_CC_WRAPPER=ccache