summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/toolchain-build.mk9
-rw-r--r--toolchain/binutils/Makefile1
-rw-r--r--toolchain/gcc/initial/Makefile2
3 files changed, 12 insertions, 0 deletions
diff --git a/include/toolchain-build.mk b/include/toolchain-build.mk
index a0bc4061fc..d2fdb0281a 100644
--- a/include/toolchain-build.mk
+++ b/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
diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile
index 9d12721dec..c7d21b1dcd 100644
--- a/toolchain/binutils/Makefile
+++ b/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
diff --git a/toolchain/gcc/initial/Makefile b/toolchain/gcc/initial/Makefile
index 3d8ab61cdf..6b0536d83a 100644
--- a/toolchain/gcc/initial/Makefile
+++ b/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