Browse Source

toolchain: fix up lib64 symlink to lib before copying the initial prefix dir to avoid errors on copying

SVN-Revision: 32556
Felix Fietkau 13 years ago
parent
commit
59b384dabe
3 changed files with 12 additions and 0 deletions
  1. 9 0
      include/toolchain-build.mk
  2. 1 0
      toolchain/binutils/Makefile
  3. 2 0
      toolchain/gcc/initial/Makefile

+ 9 - 0
include/toolchain-build.mk

@@ -16,3 +16,12 @@ TOOLCHAIN_JOBS?=$(if $(CONFIG_TOOLCHAIN_PARALLEL),-j$(CONFIG_PKG_BUILD_JOBS))
 include $(INCLUDE_DIR)/host-build.mk
 
 HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared
+
+define FixupLibdir
+	if [ -d $(1)/lib64 -a \! -L $(1)/lib64 ]; then \
+		mkdir -p $(1)/lib; \
+		mv $(1)/lib64/* $(1)/lib/; \
+		rm -rf $(1)/lib64; \
+	fi
+	ln -sf lib $(1)/lib64
+endef

+ 1 - 0
toolchain/binutils/Makefile

@@ -83,6 +83,7 @@ define Host/Install
 	$(MAKE) -C $(HOST_BUILD_DIR) \
 		prefix=$(TOOLCHAIN_DIR)/initial \
 		install
+	$(call FixupLibdir,$(TOOLCHAIN_DIR)/initial)
 	$(CP) $(TOOLCHAIN_DIR)/initial/. $(TOOLCHAIN_DIR)/
 	$(CP) $(TOOLCHAIN_DIR)/bin/$(REAL_GNU_TARGET_NAME)-readelf $(REAL_STAGING_DIR_HOST)/bin/readelf
 endef

+ 2 - 0
toolchain/gcc/initial/Makefile

@@ -29,6 +29,8 @@ define Host/Install
 		cp libgcc.a libgcc_initial.a; \
 	)
 
+	$(call FixupLibdir,$(TOOLCHAIN_DIR)/initial)
+
 	$(CP) $(TOOLCHAIN_DIR)/initial/. $(TOOLCHAIN_DIR)/
 endef