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
v19.07.3_mercusys_ac12_duma
Felix Fietkau 12 years ago
parent b2e5c5f82e
commit e74e4dbd29

@ -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

@ -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))

@ -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=/ \

Loading…
Cancel
Save