toolchain-external: improve musl external check

The current test to verify if the toolchain uses musl or not is based on
checking if /lib/libc.so or /lib/libm.so exist in the sysroot. However,
some toolchains (notably Crosstool-NG ones) put these libraries in
/usr/lib/.

To fix this, build a minimal C program and check if the program
interpreter contains /lib/ld-musl.

Signed-off-by: Ilya Kuzmich <ilya.kuzmich@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Ilya Kuzmich
2017-03-20 08:56:10 +03:00
committed by Thomas Petazzoni
parent 9397bd643d
commit 3b328897f5
2 changed files with 12 additions and 5 deletions

View File

@@ -565,7 +565,9 @@ define $(2)_CONFIGURE_CMDS
if test "$$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)" = "y" ; then \
$$(call check_uclibc,$$$${SYSROOT_DIR}) ; \
elif test "$$(BR2_TOOLCHAIN_EXTERNAL_MUSL)" = "y" ; then \
$$(call check_musl,$$$${SYSROOT_DIR}) ; \
$$(call check_musl,\
"$$(TOOLCHAIN_EXTERNAL_CC) $$(TOOLCHAIN_EXTERNAL_CFLAGS)",\
$$(TOOLCHAIN_EXTERNAL_READELF)) ; \
else \
$$(call check_glibc,$$$${SYSROOT_DIR}) ; \
fi