toolchain: only take last found libgcc* file
[openwrt.git] / package / libs / toolchain / Makefile
index 202e9d0..e4a78ed 100644 (file)
@@ -289,9 +289,9 @@ define Build/Prepare
        mkdir -p $(PKG_BUILD_DIR)
 endef
 
-LIBGCC_A=$(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc_pic.a)
-LIBGCC_MAP=$(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.map)
-LIBGCC_SO=$(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so.*)
+LIBGCC_A=$(lastword $(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc_pic.a))
+LIBGCC_MAP=$(lastword $(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.map))
+LIBGCC_SO=$(lastword $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so.*))
 ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
   ifneq ($(if $(CONFIG_USE_UCLIBC),$(CONFIG_GCC_VERSION_LINARO)),)
     BUILD_LIBGCC:=$(if $(CONFIG_avr32)$(CONFIG_m68k)$(CONFIG_powerpc),,$(PKG_BUILD_DIR)/libgcc_s.so.*)
@@ -428,6 +428,8 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
                $(1)/lib/
   endef
 
+  LD_MUSL_NAME = $(notdir $(firstword $(wildcard $(TOOLCHAIN_DIR)/lib/ld-musl-*.so*)))
+
   define Package/musl/install
        $(INSTALL_DIR) $(1)/lib
        $(CP) \
@@ -436,6 +438,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
        $(CP) \
                $(TOOLCHAIN_DIR)/lib/libc.so* \
                $(1)/lib/
+       $(if $(findstring -sf.so,$(LD_MUSL_NAME)),ln -s $(LD_MUSL_NAME) $(1)/lib/$(subst -sf.so,.so,$(LD_MUSL_NAME)))
   endef
 
   define Package/libc/install