@@ -55,6 +55,14 @@ define SYSTEM_RSYNC
$(1)/ $(2)/
endef
+ifeq ($(BR2_ROOTFS_RUNTIME32),y)
+
+define SYSTEM_LIB_SYMLINK
+ @echo "SYSTEM_LIB_SYMLINK: nothing to do"
+endef
+
+else
+
# Make a symlink lib32->lib or lib64->lib as appropriate.
# MIPS64/n32 requires lib32 even though it's a 64-bit arch.
# $(1): base dir (either staging or target)
@@ -68,7 +76,8 @@ define SYSTEM_LIB_SYMLINK
ln -snf lib $(1)/lib32
ln -snf lib $(1)/usr/lib32
endef
-endif
+endif # BR2_ARCH_IS_64
+endif # BR2_ROOTFS_RUNTIME32
SYSTEM_GETTY_PORT = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT))
SYSTEM_GETTY_BAUDRATE = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE))
@@ -448,6 +448,7 @@ define TOOLCHAIN_EXTERNAL_INSTALL_SYSROOT_LIBS
$(call copy_toolchain_sysroot,$${SYSROOT_DIR},$${ARCH_SYSROOT_DIR},$${ARCH_SUBDIR},$${ARCH_LIB_DIR},$${SUPPORT_LIB_DIR})
endef
+ifeq ($(BR2_ROOTFS_RUNTIME32),)
# Create a symlink from (usr/)$(ARCH_LIB_DIR) to lib.
# Note: the skeleton package additionally creates lib32->lib or lib64->lib
# (as appropriate)
@@ -462,6 +463,11 @@ create_lib_symlinks = \
ln -snf $${relpath}lib "$${DESTDIR}/usr/$${ARCH_LIB_DIR}" ; \
fi
+else
+create_lib_symlinks = \
+ @echo "BR2_ROOTFS_RUNTIME32 is set, skipping lib symlinks creation"
+endif
+
define TOOLCHAIN_EXTERNAL_CREATE_STAGING_LIB_SYMLINK
$(call create_lib_symlinks,$(STAGING_DIR))
endef
Set up library symlinks only if we don't want to support 32-bit libraries on 64-bit platforms. We cannot set up sym-links such as "lib64" -> "lib" if we want to support 32-bit binaries on a 64-bit platform. Instead, we need to keep 32-bit and 64-bit libraries in separate directories, so we must skip generating sym-links that would prevent this. Signed-off-by: Markus Mayer <mmayer@broadcom.com> --- system/system.mk | 11 ++++++++++- toolchain/toolchain-external/pkg-toolchain-external.mk | 6 ++++++ 2 files changed, 16 insertions(+), 1 deletion(-)