From e774eb0c9d75d4d86c25cd45e5728e80e92b8ff0 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 5 Jul 2010 18:58:58 +0200 Subject: [PATCH] external-toolchain: create lib64 symlinks if needed Create lib64 -> lib and usr/lib64 -> usr/lib symbolic links in the target and staging directories. This is needed for some 64 bits toolchains such as the Crosstool-NG toolchains, for which the path to the dynamic loader and other libraries is /lib64, but the libraries are stored in /lib. Signed-off-by: Thomas Petazzoni Reviewed-by: Yann E. MORIN Signed-off-by: Peter Korsgaard --- toolchain/external-toolchain/ext-tool.mk | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/toolchain/external-toolchain/ext-tool.mk b/toolchain/external-toolchain/ext-tool.mk index a181f25e17..d5a64b5946 100644 --- a/toolchain/external-toolchain/ext-tool.mk +++ b/toolchain/external-toolchain/ext-tool.mk @@ -132,6 +132,19 @@ copy_toolchain_sysroot = \ fi ; \ find $(STAGING_DIR) -type d | xargs chmod 755 +# +# Create lib64 -> lib and usr/lib64 -> usr/lib symbolic links in the +# target and staging directories. This is needed for some 64 bits +# toolchains such as the Crosstool-NG toolchains, for which the path +# to the dynamic loader and other libraries is /lib64, but the +# libraries are stored in /lib. +# +create_lib64_symlinks = \ + (cd $(TARGET_DIR) ; ln -s lib lib64) ; \ + (cd $(TARGET_DIR)/usr ; ln -s lib lib64) ; \ + (cd $(STAGING_DIR) ; ln -s lib lib64) ; \ + (cd $(STAGING_DIR)/usr ; ln -s lib lib64) + # # Check the availability of a particular glibc feature. We assume that # all Buildroot toolchain options are supported by glibc, so we just @@ -319,4 +332,8 @@ endif done @echo "Copy external toolchain sysroot to staging..." $(Q)$(call copy_toolchain_sysroot,$(SYSROOT_DIR),$(ARCH_SYSROOT_DIR),$(ARCH_SUBDIR)) + # Create lib64 symbolic links if needed + $(Q)if [ -L $(ARCH_SYSROOT_DIR)/lib64 ] ; then \ + $(call create_lib64_symlinks) ; \ + fi @touch $@ -- 2.30.2