lantiq: Tune the XWAY subtarget cflags
[openwrt/staging/yousong.git] / package / toolchain / Makefile
index fac6ecd6c7b240e15a6c3d244cbae03421fb5b59..202e9d095d6c4b9d1f1f348603e0df1fdc30f5a4 100644 (file)
@@ -9,6 +9,8 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=toolchain
 PKG_RELEASE:=1
 
 PKG_NAME:=toolchain
 PKG_RELEASE:=1
 
+PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
+
 include $(INCLUDE_DIR)/package.mk
 
 ifneq ($(DUMP),1)
 include $(INCLUDE_DIR)/package.mk
 
 ifneq ($(DUMP),1)
@@ -32,19 +34,19 @@ endef
 
 define Package/libgcc/config
        menu "Configuration"
 
 define Package/libgcc/config
        menu "Configuration"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgcc
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libgcc
 
        config LIBGCC_ROOT_DIR
                string
                prompt "libgcc shared library base directory"
 
        config LIBGCC_ROOT_DIR
                string
                prompt "libgcc shared library base directory"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgcc
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libgcc
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBGCC_FILE_SPEC
                string
                prompt "libgcc shared library files (use wildcards)"
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBGCC_FILE_SPEC
                string
                prompt "libgcc shared library files (use wildcards)"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgcc
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libgcc
                default "./lib/libgcc_s.so.*"
 
        endmenu
                default "./lib/libgcc_s.so.*"
 
        endmenu
@@ -59,19 +61,19 @@ endef
 
 define Package/libssp/config
        menu "Configuration"
 
 define Package/libssp/config
        menu "Configuration"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libssp
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libssp
 
        config LIBSSP_ROOT_DIR
                string
                prompt "libssp shared library base directory"
 
        config LIBSSP_ROOT_DIR
                string
                prompt "libssp shared library base directory"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libssp
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libssp
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBSSP_FILE_SPEC
                string
                prompt "libssp shared library files (use wildcards)"
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBSSP_FILE_SPEC
                string
                prompt "libssp shared library files (use wildcards)"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libssp
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libssp
                default "./lib/libssp.so.*"
 
        endmenu
                default "./lib/libssp.so.*"
 
        endmenu
@@ -82,24 +84,23 @@ define Package/libstdcpp
 $(call Package/gcc/Default)
   NAME:=libstdc++
   TITLE:=GNU Standard C++ Library v3
 $(call Package/gcc/Default)
   NAME:=libstdc++
   TITLE:=GNU Standard C++ Library v3
-  DEPENDS+=@INSTALL_LIBSTDCPP
 endef
 
 define Package/libstdcpp/config
        menu "Configuration"
 endef
 
 define Package/libstdcpp/config
        menu "Configuration"
-       depends EXTERNAL_TOOLCHAIN && PACKAGE_libstdcpp
+       depends on EXTERNAL_TOOLCHAIN && PACKAGE_libstdcpp
 
        config LIBSTDCPP_ROOT_DIR
                string
                prompt "libstdcpp shared library base directory"
 
        config LIBSTDCPP_ROOT_DIR
                string
                prompt "libstdcpp shared library base directory"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libstdcpp
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libstdcpp
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBSTDCPP_FILE_SPEC
                string
                prompt "libstdc++ shared library files (use wildcards)"
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBSTDCPP_FILE_SPEC
                string
                prompt "libstdc++ shared library files (use wildcards)"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libstdcpp
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libstdcpp
                default "./lib/libstdc++.so.*"
 
        endmenu
                default "./lib/libstdc++.so.*"
 
        endmenu
@@ -123,19 +124,19 @@ endef
 
 define Package/libc/config
        menu "Configuration"
 
 define Package/libc/config
        menu "Configuration"
-       depends EXTERNAL_TOOLCHAIN && PACKAGE_libc
+       depends on EXTERNAL_TOOLCHAIN && PACKAGE_libc
 
        config LIBC_ROOT_DIR
                string
                prompt "libc shared library base directory"
 
        config LIBC_ROOT_DIR
                string
                prompt "libc shared library base directory"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libc
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libc
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBC_FILE_SPEC
                string
                prompt "libc shared library files (use wildcards)"
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBC_FILE_SPEC
                string
                prompt "libc shared library files (use wildcards)"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libc
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libc
                default "./lib/ld{-*.so,-linux*.so.*} ./lib/lib{anl,c,cidn,crypt,dl,m,nsl,nss_dns,nss_files,resolv,util}{-*.so,.so.*}"
 
        endmenu
                default "./lib/ld{-*.so,-linux*.so.*} ./lib/lib{anl,c,cidn,crypt,dl,m,nsl,nss_dns,nss_files,resolv,util}{-*.so,.so.*}"
 
        endmenu
@@ -149,25 +150,31 @@ endef
 
 define Package/libpthread/config
        menu "Configuration"
 
 define Package/libpthread/config
        menu "Configuration"
-       depends EXTERNAL_TOOLCHAIN && PACKAGE_libpthread
+       depends on EXTERNAL_TOOLCHAIN && PACKAGE_libpthread
 
        config LIBPTHREAD_ROOT_DIR
                string
                prompt "libpthread shared library base directory"
 
        config LIBPTHREAD_ROOT_DIR
                string
                prompt "libpthread shared library base directory"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libpthread
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libpthread
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBPTHREAD_FILE_SPEC
                string
                prompt "libpthread shared library files (use wildcards)"
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBPTHREAD_FILE_SPEC
                string
                prompt "libpthread shared library files (use wildcards)"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libpthread
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libpthread
                default "./lib/libpthread{-*.so,.so.*}"
 
        endmenu
 endef
 
 
                default "./lib/libpthread{-*.so,.so.*}"
 
        endmenu
 endef
 
 
+define Package/libthread-db
+$(call Package/libc/Default)
+  DEPENDS:=@!USE_MUSL
+  TITLE:=POSIX thread library debugging support
+endef
+
 define Package/librt
 $(call Package/libc/Default)
   TITLE:=POSIX.1b RealTime extension library
 define Package/librt
 $(call Package/libc/Default)
   TITLE:=POSIX.1b RealTime extension library
@@ -176,19 +183,19 @@ endef
 
 define Package/librt/config
        menu "Configuration"
 
 define Package/librt/config
        menu "Configuration"
-       depends EXTERNAL_TOOLCHAIN && PACKAGE_librt
+       depends on EXTERNAL_TOOLCHAIN && PACKAGE_librt
 
        config LIBRT_ROOT_DIR
                string
                prompt "librt shared library base directory"
 
        config LIBRT_ROOT_DIR
                string
                prompt "librt shared library base directory"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_librt
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_librt
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBRT_FILE_SPEC
                string
                prompt "librt shared library files (use wildcards)"
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBRT_FILE_SPEC
                string
                prompt "librt shared library files (use wildcards)"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_librt
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_librt
                default "./lib/librt{-*.so,.so.*}"
 
        endmenu
                default "./lib/librt{-*.so,.so.*}"
 
        endmenu
@@ -203,19 +210,19 @@ endef
 
 define Package/libgfortran/config
        menu "Configuration"
 
 define Package/libgfortran/config
        menu "Configuration"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgfortran
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libgfortran
 
        config LIBGFORTRAN_ROOT_DIR
                string
                prompt "libgfortran shared library base directory"
 
        config LIBGFORTRAN_ROOT_DIR
                string
                prompt "libgfortran shared library base directory"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgfortran
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libgfortran
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBGFORTRAN_FILE_SPEC
                string
                prompt "libgfortran shared library files (use wildcards)"
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LIBGFORTRAN_FILE_SPEC
                string
                prompt "libgfortran shared library files (use wildcards)"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgfortran
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_libgfortran
                default "./usr/lib/libgfortran.so.*"
 
        endmenu
                default "./usr/lib/libgfortran.so.*"
 
        endmenu
@@ -223,6 +230,7 @@ endef
 
 define Package/ldd
 $(call Package/libc/Default)
 
 define Package/ldd
 $(call Package/libc/Default)
+  DEPENDS:=@!USE_MUSL
   SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=LDD trace utility
   SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=LDD trace utility
@@ -230,19 +238,19 @@ endef
 
 define Package/ldd/config
        menu "Configuration"
 
 define Package/ldd/config
        menu "Configuration"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_ldd
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_ldd
 
        config LDD_ROOT_DIR
                string
                prompt "ldd trace utility base directory"
 
        config LDD_ROOT_DIR
                string
                prompt "ldd trace utility base directory"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_ldd
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_ldd
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LDD_FILE_SPEC
                string
                prompt "ldd trace utility file"
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LDD_FILE_SPEC
                string
                prompt "ldd trace utility file"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_ldd
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_ldd
                default "./usr/bin/ldd"
 
        endmenu
                default "./usr/bin/ldd"
 
        endmenu
@@ -251,6 +259,7 @@ endef
 
 define Package/ldconfig
 $(call Package/libc/Default)
 
 define Package/ldconfig
 $(call Package/libc/Default)
+  DEPENDS:=@!USE_MUSL
   SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=Shared library path configuration
   SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=Shared library path configuration
@@ -258,19 +267,19 @@ endef
 
 define Package/ldconfig/config
        menu "Configuration"
 
 define Package/ldconfig/config
        menu "Configuration"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_ldconfig
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_ldconfig
 
        config LDCONFIG_ROOT_DIR
                string
                prompt "ldconfig base directory"
 
        config LDCONFIG_ROOT_DIR
                string
                prompt "ldconfig base directory"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_ldconfig
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_ldconfig
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LDCONFIG_FILE_SPEC
                string
                prompt "ldconfig file"
                default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
                default "/"  if NATIVE_TOOLCHAIN
 
        config LDCONFIG_FILE_SPEC
                string
                prompt "ldconfig file"
-               depends EXTERNAL_TOOLCHAIN && PACKAGE_ldconfig
+               depends on EXTERNAL_TOOLCHAIN && PACKAGE_ldconfig
                default "./sbin/ldconfig"
 
        endmenu
                default "./sbin/ldconfig"
 
        endmenu
@@ -419,6 +428,16 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
                $(1)/lib/
   endef
 
                $(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
   define Package/libc/install
     $(call Package/$(LIBC)/install,$1)
   endef
@@ -434,6 +453,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
 
   define Package/libpthread/install
        $(INSTALL_DIR) $(1)/lib
 
   define Package/libpthread/install
        $(INSTALL_DIR) $(1)/lib
+  ifneq ($(CONFIG_USE_MUSL),y)
        $(CP) \
                $(TOOLCHAIN_DIR)/lib/libpthread.so.* \
                $(if $(BUILD_LIBGCC),\
        $(CP) \
                $(TOOLCHAIN_DIR)/lib/libpthread.so.* \
                $(if $(BUILD_LIBGCC),\
@@ -441,6 +461,18 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
                        $(TOOLCHAIN_DIR)/lib/libpthread-$(LIBC_SO_VERSION).so \
                ) \
                $(1)/lib/
                        $(TOOLCHAIN_DIR)/lib/libpthread-$(LIBC_SO_VERSION).so \
                ) \
                $(1)/lib/
+  endif
+  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
   endef
 
   define Package/libpthread/install_lib
@@ -449,10 +481,12 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
 
   define Package/librt/install
        $(INSTALL_DIR) $(1)/lib
 
   define Package/librt/install
        $(INSTALL_DIR) $(1)/lib
+  ifneq ($(CONFIG_USE_MUSL),y)
        $(CP) \
                $(TOOLCHAIN_DIR)/lib/librt.so.* \
                $(TOOLCHAIN_DIR)/lib/librt-$(LIBC_SO_VERSION).so \
                $(1)/lib/
        $(CP) \
                $(TOOLCHAIN_DIR)/lib/librt.so.* \
                $(TOOLCHAIN_DIR)/lib/librt-$(LIBC_SO_VERSION).so \
                $(1)/lib/
+  endif
   endef
 
   define Package/ldd/install
   endef
 
   define Package/ldd/install
@@ -554,6 +588,7 @@ $(eval $(call BuildPackage,libgcc))
 $(eval $(call BuildPackage,libssp))
 $(eval $(call BuildPackage,libstdcpp))
 $(eval $(call BuildPackage,libpthread))
 $(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))
 $(eval $(call BuildPackage,librt))
 $(eval $(call BuildPackage,libgfortran))
 $(eval $(call BuildPackage,ldd))