add preliminary support for musl
[openwrt/openwrt.git] / package / toolchain / Makefile
index 879f6da5c4bfef5f22267cd04a365b119e1110c5..84fc3e6b2fca588e731ad1bf83e601328edc9af3 100644 (file)
@@ -9,6 +9,8 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=toolchain
 PKG_RELEASE:=1
 
+PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
+
 include $(INCLUDE_DIR)/package.mk
 
 ifneq ($(DUMP),1)
@@ -28,7 +30,6 @@ endef
 define Package/libgcc
 $(call Package/gcc/Default)
   TITLE:=GCC support library
-  DEPENDS+=@!(TARGET_avr32||TARGET_coldfire)
 endef
 
 define Package/libgcc/config
@@ -62,7 +63,7 @@ define Package/libssp/config
        menu "Configuration"
                depends EXTERNAL_TOOLCHAIN && PACKAGE_libssp
 
-       config LIBSPP_ROOT_DIR
+       config LIBSSP_ROOT_DIR
                string
                prompt "libssp shared library base directory"
                depends EXTERNAL_TOOLCHAIN && PACKAGE_libssp
@@ -111,9 +112,7 @@ define Package/libc/Default
   SECTION:=libs
   CATEGORY:=Base system
   VERSION:=$(LIBC_VERSION)-$(PKG_RELEASE)
-ifneq ($(TARGET_avr32)$(TARGET_coldfire),)
   DEPENDS:=+libgcc
-endif
   URL:=$(LIBC_URL)
   PKG_FLAGS:=hold essential
 endef
@@ -171,6 +170,11 @@ define Package/libpthread/config
 endef
 
 
+define Package/libthread-db
+$(call Package/libc/Default)
+  TITLE:=POSIX thread library debugging support
+endef
+
 define Package/librt
 $(call Package/libc/Default)
   TITLE:=POSIX.1b RealTime extension library
@@ -201,7 +205,7 @@ endef
 define Package/libgfortran
 $(call Package/gcc/Default)
   TITLE:=GFortran support library
-  DEPENDS+=@!(TARGET_avr32||TARGET_coldfire) @INSTALL_GFORTRAN
+  DEPENDS+=@INSTALL_GFORTRAN
 endef
 
 define Package/libgfortran/config
@@ -358,12 +362,12 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
 
   define Package/libgcc/install
        $(INSTALL_DIR) $(1)/lib
-       $(CP) $(TOOLCHAIN_DIR)/lib/libgcc_s.so.* $(1)/lib/
+       $(if $(CONFIG_TARGET_avr32)$(CONFIG_TARGET_coldfire),,$(CP) $(TOOLCHAIN_DIR)/lib/libgcc_s.so.* $(1)/lib/)
   endef
 
   define Package/libgfortran/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(TOOLCHAIN_DIR)/lib/libgfortran.so.* $(1)/usr/lib/
+       $(if $(CONFIG_TARGET_avr32)$(CONFIG_TARGET_coldfire),,$(CP) $(TOOLCHAIN_DIR)/lib/libgfortran.so.* $(1)/usr/lib/)
   endef
 
   define Package/libssp/install
@@ -422,6 +426,16 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
                $(1)/lib/
   endef
 
+  define Package/musl/install
+       $(INSTALL_DIR) $(1)/lib
+       $(CP) \
+               $(TOOLCHAIN_DIR)/lib/ld-musl-*.so* \
+               $(1)/lib/
+       $(CP) \
+               $(TOOLCHAIN_DIR)/lib/libc.so* \
+               $(1)/lib/
+  endef
+
   define Package/libc/install
     $(call Package/$(LIBC)/install,$1)
   endef
@@ -446,6 +460,17 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
                $(1)/lib/
   endef
 
+  define Package/libthread-db/install
+       $(INSTALL_DIR) $(1)/lib
+       $(CP) \
+               $(TOOLCHAIN_DIR)/lib/libthread_db.so.* $(1)/lib
+  ifeq ($(USE_UCLIBC),y)
+       $(CP) \
+               $(TOOLCHAIN_DIR)/lib/libthread_db-$(LIBC_SO_VERSION).so \
+               $(1)/lib/
+  endif
+  endef
+
   define Package/libpthread/install_lib
        $(if $(wildcard $(TOOLCHAIN_DIR)/lib/libpthread_so.a),$(CP) $(TOOLCHAIN_DIR)/lib/libpthread_so.a $(1)/lib/libpthread_pic.a)
   endef
@@ -557,6 +582,7 @@ $(eval $(call BuildPackage,libgcc))
 $(eval $(call BuildPackage,libssp))
 $(eval $(call BuildPackage,libstdcpp))
 $(eval $(call BuildPackage,libpthread))
+$(eval $(call BuildPackage,libthread-db))
 $(eval $(call BuildPackage,librt))
 $(eval $(call BuildPackage,libgfortran))
 $(eval $(call BuildPackage,ldd))