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 <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Thomas Petazzoni 2010-07-05 18:58:58 +02:00 committed by Peter Korsgaard
parent 914f19ca1e
commit e774eb0c9d

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