external-toolchain: create lib64 symlinks if needed
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 5 Jul 2010 16:58:58 +0000 (18:58 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Tue, 6 Jul 2010 05:58:46 +0000 (07:58 +0200)
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 <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
toolchain/external-toolchain/ext-tool.mk

index a181f25e1740b0e86eb5bb0a721d26cd63060778..d5a64b5946c8caed880177f6d41a0122ad27cd09 100644 (file)
@@ -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 $@