From: Felix Fietkau Date: Sat, 30 Jun 2012 18:12:15 +0000 (+0000) Subject: toolchain: keep the initial gcc around for later uclibc rebuilds X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=e74e4dbd29f86f25da1285c574b8587e1626a585;p=openwrt%2Fstaging%2Fwigyori.git toolchain: keep the initial gcc around for later uclibc rebuilds testing uclibc changes is tricky because the final gcc tends to miscompile uclibc code or barf up internal compiler errors. install binutils into $(TOOLCHAIN_DIR)/initial (without changing the configure prefix) and copy it from there to $(TOOLCHAIN_DIR)/ so that the initial gcc can be put into $(PATH) for the uclibc build, even if the final gcc is already installed. SVN-Revision: 32553 --- diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile index 0022202d4b..9d12721dec 100644 --- a/toolchain/binutils/Makefile +++ b/toolchain/binutils/Makefile @@ -79,7 +79,11 @@ define Host/Compile endef define Host/Install - $(MAKE) -C $(HOST_BUILD_DIR) install + mkdir -p $(TOOLCHAIN_DIR)/initial + $(MAKE) -C $(HOST_BUILD_DIR) \ + prefix=$(TOOLCHAIN_DIR)/initial \ + install + $(CP) $(TOOLCHAIN_DIR)/initial/. $(TOOLCHAIN_DIR)/ $(CP) $(TOOLCHAIN_DIR)/bin/$(REAL_GNU_TARGET_NAME)-readelf $(REAL_STAGING_DIR_HOST)/bin/readelf endef diff --git a/toolchain/gcc/initial/Makefile b/toolchain/gcc/initial/Makefile index f3f78b0b2f..3d8ab61cdf 100644 --- a/toolchain/gcc/initial/Makefile +++ b/toolchain/gcc/initial/Makefile @@ -19,14 +19,17 @@ endef define Host/Install $(GCC_MAKE) -C $(GCC_BUILD_DIR) \ + prefix="$(TOOLCHAIN_DIR)/initial" \ install-gcc \ $(if $(GCC_BUILD_TARGET_LIBGCC),install-target-libgcc) # XXX: glibc insists on linking against libgcc_eh - ( cd $(TOOLCHAIN_DIR)/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION) ; \ + ( cd $(TOOLCHAIN_DIR)/initial/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(PKG_VERSION) ; \ [ -e libgcc_eh.a ] || ln -sf libgcc.a libgcc_eh.a ; \ cp libgcc.a libgcc_initial.a; \ ) + + $(CP) $(TOOLCHAIN_DIR)/initial/. $(TOOLCHAIN_DIR)/ endef $(eval $(call HostBuild)) diff --git a/toolchain/uClibc/Makefile b/toolchain/uClibc/Makefile index 6e7e9ddd8b..315e0446ca 100644 --- a/toolchain/uClibc/Makefile +++ b/toolchain/uClibc/Makefile @@ -93,7 +93,7 @@ CPU_CFLAGS = \ --std=gnu99 -ffunction-sections -fdata-sections \ $(TARGET_CFLAGS) -UCLIBC_MAKE = PATH='$(TARGET_PATH)' $(MAKE) -C $(HOST_BUILD_DIR) \ +UCLIBC_MAKE = PATH='$(TOOLCHAIN_DIR)/initial/bin:$(TARGET_PATH)' $(MAKE) -C $(HOST_BUILD_DIR) \ $(TARGET_CONFIGURE_OPTS) \ DEVEL_PREFIX=/ \ RUNTIME_PREFIX=/ \