The input to copy_toolchain_lib_root is not one library, not a list of
libraries, but a library name pattern with glob wildcards.
This pattern is then passed to 'find' to get the actual list of libraries
matching the pattern. Reflect this using an appropriate variable name.
Note: if the root of the buildroot tree contains a file matching one of
these library patterns, the copying of libraries from staging to target will
not be correct. It is not impossible to fix that, e.g. using 'set -f', but
maybe it's not worth it.
Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
endif
define GLIBC_INSTALL_TARGET_CMDS
- for libs in $(GLIBC_LIBS_LIB); do \
- $(call copy_toolchain_lib_root,$$libs) ; \
+ for libpattern in $(GLIBC_LIBS_LIB); do \
+ $(call copy_toolchain_lib_root,$$libpattern) ; \
done
endef
# toolchain logic, and the glibc package, so care must be taken when
# changing this function.
#
-# $1: library name
+# $1: library name pattern (can include glob wildcards)
#
copy_toolchain_lib_root = \
- LIB="$(strip $1)"; \
+ LIBPATTERN="$(strip $1)"; \
\
- LIBPATHS=`find $(STAGING_DIR)/ -name "$${LIB}" 2>/dev/null` ; \
+ LIBPATHS=`find $(STAGING_DIR)/ -name "$${LIBPATTERN}" 2>/dev/null` ; \
for LIBPATH in $${LIBPATHS} ; do \
DESTDIR=`echo $${LIBPATH} | sed "s,^$(STAGING_DIR)/,," | xargs dirname` ; \
mkdir -p $(TARGET_DIR)/$${DESTDIR}; \
ifeq ($(BR2_STATIC_LIBS),)
define TOOLCHAIN_EXTERNAL_INSTALL_TARGET_LIBS
$(Q)$(call MESSAGE,"Copying external toolchain libraries to target...")
- $(Q)for libs in $(TOOLCHAIN_EXTERNAL_LIBS); do \
- $(call copy_toolchain_lib_root,$$libs); \
+ $(Q)for libpattern in $(TOOLCHAIN_EXTERNAL_LIBS); do \
+ $(call copy_toolchain_lib_root,$$libpattern); \
done
endef
endif