summaryrefslogtreecommitdiffstats
path: root/toolchain/external-toolchain
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/external-toolchain')
-rw-r--r--toolchain/external-toolchain/ext-tool.mk11
1 files changed, 10 insertions, 1 deletions
diff --git a/toolchain/external-toolchain/ext-tool.mk b/toolchain/external-toolchain/ext-tool.mk
index 39961843e..1c84893f9 100644
--- a/toolchain/external-toolchain/ext-tool.mk
+++ b/toolchain/external-toolchain/ext-tool.mk
@@ -42,6 +42,11 @@
# directory to the target directory. Also optionaly strips the
# library.
#
+# Most toolchains have their libraries either in /lib or /usr/lib
+# relative to their ARCH_SYSROOT_DIR. Buildroot toolchains, however,
+# have basic libraries in /lib, and libstdc++/libgcc_s in
+# /usr/<target-name>/lib(64).
+#
# $1: arch specific sysroot directory
# $2: library name
# $3: destination directory
@@ -52,7 +57,11 @@ copy_toolchain_lib_root = \
LIB="$(strip $2)"; \
STRIP="$(strip $4)"; \
\
- LIBS=`(cd $${ARCH_SYSROOT_DIR}; find . -path "./lib/$${LIB}.*" -o -path "./usr/lib/$${LIB}.*")` ; \
+ LIBS=`(cd $${ARCH_SYSROOT_DIR}; \
+ find -L . -path "./lib/$${LIB}.*" -o \
+ -path "./usr/lib/$${LIB}.*" -o \
+ -path "./usr/$(TOOLCHAIN_EXTERNAL_PREFIX)/lib*/$${LIB}.*" \
+ )` ; \
for FILE in $${LIBS} ; do \
LIB=`basename $${FILE}`; \
LIBDIR=`dirname $${FILE}` ; \