From b75624a495e9163de469597555e9a70406b1f7a6 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 6 Jul 2014 13:37:38 +0200 Subject: allow static building of toolchain --- mk/vars.mk | 8 ++++++++ toolchain/Makefile | 4 ++-- toolchain/binutils/Makefile | 7 ++++++- toolchain/gcc/Makefile | 1 + 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/mk/vars.mk b/mk/vars.mk index fae1ff026..3de97c104 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -181,6 +181,14 @@ HOST_LDFLAGS:= -L$(STAGING_HOST_DIR)/usr/lib -Wl,-rpath -Wl,${STAGING_HOST_DIR} PATCH= PATH=${HOST_PATH} ${BASH} $(SCRIPT_DIR)/patch.sh PATCHP0= PATH=${HOST_PATH} patch -p0 + +ifeq ($(ADK_STATIC_TOOLCHAIN),y) +HOST_STATIC_CFLAGS:= -static -Wl,-static +HOST_STATIC_CXXFLAGS:= -static -Wl,-static +HOST_STATIC_LDFLAGS:= -Wl,-static +HOST_STATIC_LLDFLAGS:= -all-static +endif + SED:= PATH=${HOST_PATH} sed -i -e LINUX_DIR:= $(BUILD_DIR)/linux KERNEL_MODULE_FLAGS:= ARCH=${ADK_TARGET_ARCH} \ diff --git a/toolchain/Makefile b/toolchain/Makefile index 2c463c4e7..98130c07a 100644 --- a/toolchain/Makefile +++ b/toolchain/Makefile @@ -81,7 +81,7 @@ $(CLIB)-fixup: gcc-install gdb-install $(MAKE_TRACE); \ else \ $(MAKE) -C $(patsubst %-compile,%,$@) compile \ - CC='$(HOST_CC)' CFLAGS='$(HOST_CFLAGS)' $(MAKE_TRACE); \ + CC='$(HOST_CC)' CFLAGS='$(HOST_CFLAGS)' CXXFLAGS='$(HOST_STATIC_CXXFLAGS)' $(MAKE_TRACE); \ fi %-install: %-compile @@ -91,7 +91,7 @@ $(CLIB)-fixup: gcc-install gdb-install $(MAKE_TRACE); \ else \ $(MAKE) -C $(patsubst %-install,%,$@) install \ - CC='$(HOST_CC)' CFLAGS='$(HOST_CFLAGS)' $(MAKE_TRACE); \ + CC='$(HOST_CC)' CFLAGS='$(HOST_CFLAGS)' CXXFLAGS='$(HOST_STATIC_CXXFLAGS)' $(MAKE_TRACE); \ fi %-fixup: %-install diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile index b6d4489f9..9dae9defa 100644 --- a/toolchain/binutils/Makefile +++ b/toolchain/binutils/Makefile @@ -38,6 +38,10 @@ ifeq (${ADK_MAKE_PARALLEL},y) BINUTILS_MAKEOPTS+= -j${ADK_MAKE_JOBS} endif +ifeq (${ADK_STATIC_TOOLCHAIN},y) +BINUTILS_STATIC_MAKEOPTS+=LDFLAGS='$(HOST_STATIC_LLDFLAGS)' +endif + $(WRKBUILD)/.headers: $(WRKBUILD)/.configured: ifeq ($(ADK_LINUX_XTENSA),y) @@ -56,10 +60,11 @@ endif --disable-install-libiberty \ ${CONFOPTS} \ ); + $(MAKE) ${BINUTILS_MAKEOPTS} -C $(WRKBUILD) configure-host touch $@ $(WRKBUILD)/.compiled: $(WRKBUILD)/.configured - $(MAKE) ${BINUTILS_MAKEOPTS} -C $(WRKBUILD) all + $(MAKE) ${BINUTILS_MAKEOPTS} ${BINUTILS_STATIC_MAKEOPTS} -C $(WRKBUILD) all touch $@ $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile index 10afc0422..d2cc35d43 100644 --- a/toolchain/gcc/Makefile +++ b/toolchain/gcc/Makefile @@ -231,6 +231,7 @@ $(GCC_BUILD_DIR_FINAL)/.configured: --enable-languages=$(LANGUAGES) \ --with-build-sysroot='$${prefix}/${STAGING_HOST2TARGET}' \ --with-sysroot='$${prefix}/${STAGING_HOST2TARGET}' + $(MAKE) -C $(GCC_BUILD_DIR_FINAL) configure-host touch $@ $(WRKBUILD)/.compiled: $(GCC_BUILD_DIR_FINAL)/.configured -- cgit v1.2.3