1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-23 21:00:37 +02:00

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.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32553 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd 2012-06-30 18:12:15 +00:00
parent 97f0df7a84
commit 40b6fce4a1
3 changed files with 10 additions and 3 deletions

View File

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

View File

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

View File

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