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 <jonah@petri.us>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Jonah Petri 2021-08-26 15:34:24 -04:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent 8dcd6ae361
commit 92207bc03f

View File

@ -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 $(STAGING_DIR)/lib -name 'ld*.so.*' -print -quit) ]]; then \
find $${ARCH_SYSROOT_DIR}/lib -name '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 \