From: Jonah Petri Date: Tue, 24 Aug 2021 20:38:41 +0000 (-0400) Subject: toolchain: handle toolchains with multiple ld*.so.* files X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6f911a17257d945eb3cb5c9c9a966f0e5fca0842;p=buildroot.git toolchain: handle toolchains with multiple ld*.so.* files Some 3rd party vendor toolchains have multiple files which match these glob patterns. In this case, the shell script failed. Switching to use find and xargs solves the issue. Signed-off-by: Jonah Petri Signed-off-by: Arnout Vandecappelle (Essensium/Mind) --- diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk index dfb2581ed5..5ed149d57d 100644 --- a/toolchain/helpers.mk +++ b/toolchain/helpers.mk @@ -135,10 +135,8 @@ copy_toolchain_sysroot = \ $(call simplify_symlink,$$i,$(STAGING_DIR)) ; \ done ; \ fi ; \ - if [ ! -e $(STAGING_DIR)/lib/ld*.so.* ]; then \ - if [ -e $${ARCH_SYSROOT_DIR}/lib/ld*.so.* ]; then \ - cp -a $${ARCH_SYSROOT_DIR}/lib/ld*.so.* $(STAGING_DIR)/lib/ ; \ - fi ; \ + if ! find -wholename $(STAGING_DIR)'/lib/ld*.so.*' > /dev/null; then \ + find -wholename $${ARCH_SYSROOT_DIR}'/lib/ld*.so.*' -print0 | xargs -0 -I % cp % $(STAGING_DIR)/lib/; \ fi ; \ if [ `readlink -f $${SYSROOT_DIR}` != `readlink -f $${ARCH_SYSROOT_DIR}` ] ; then \ if [ ! -d $${ARCH_SYSROOT_DIR}/usr/include ] ; then \