gettext-full: override SUBDIRS variable with Makefile
[openwrt/openwrt.git] / package / libs / gettext-full / Makefile
index d293e30eac95442875b677f744035eb6995c4f5b..6e185a37ab71337be94a90625c5da720bbe542a6 100644 (file)
@@ -8,22 +8,53 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gettext-full
-PKG_VERSION:=0.19.8.1
+PKG_VERSION:=0.21.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=gettext-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/gettext
-PKG_HASH:=105556dbc5c3fbbc2aa0edb46d22d055748b6f5c7cd7a8d99f8e7eb84e938be4
+PKG_HASH:=50dbc8f39797950aa2c98e939947c527e5ac9ebd2c1b99dd7b06ba33a6767ae6
 PKG_BUILD_DIR:=$(BUILD_DIR)/gettext-$(PKG_VERSION)
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/gettext-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
-PKG_LICENSE:=GPL-3.0+
+PKG_LICENSE:=GPL-3.0-or-later
+PKG_CPE_ID:=cpe:/a:gnu:gettext
 
 PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=0
 PKG_BUILD_DEPENDS:=gettext-full/host
+PKG_BUILD_PARALLEL:=0
+HOST_BUILD_PARALLEL:=0
+
+PKG_SUBDIRS:= \
+       $$$$(foreach dir, \
+               intl \
+               intl-csharp \
+               intl-java \
+               its \
+               gnulib-lib \
+               gnulib-local \
+               lib \
+               $$$$(SUBDIR_libasprintf) \
+               libgettextpo \
+               libgrep \
+               libtextstyle \
+               m4 \
+               misc \
+               po \
+               projects \
+               src \
+               styles \
+               gettext-runtime \
+               gettext-tools \
+       ,$$$$(wildcard $$$$(dir)) )
+
+PKG_MAKEFILES_FAKE:= \
+       gnulib-local/m4/Makefile \
+       libtextstyle/gnulib-local/Makefile \
+       libtextstyle/m4/Makefile \
+       m4/Makefile
 
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/host-build.mk
@@ -33,15 +64,13 @@ define Package/libintl-full
   CATEGORY:=Libraries
   TITLE:=GNU Internationalization library
   URL:=http://www.gnu.org/software/gettext/
+  ABI_VERSION:=8
 endef
 
 TARGET_CFLAGS += $(FPIC)
 ifneq ($(HOST_OS),Linux)
   TARGET_CFLAGS += -I$(STAGING_DIR_HOSTPKG)/include
 endif
-ifdef CONFIG_USE_MUSL
-  TARGET_CFLAGS += -D__UCLIBC__
-endif
 
 CONFIGURE_ARGS += \
        --enable-shared \
@@ -50,7 +79,6 @@ CONFIGURE_ARGS += \
        --disable-rpath \
        --enable-nls \
        --disable-java \
-       --disable-native-java \
        --disable-openmp \
        --disable-curses \
        --with-included-gettext \
@@ -64,14 +92,27 @@ HOST_CONFIGURE_ARGS += \
        --disable-libasprintf \
        --disable-rpath \
        --disable-java \
-       --disable-native-java \
        --disable-openmp \
        --without-emacs \
        --without-libxml2-prefix
 
-
 HOST_CONFIGURE_VARS += \
-       EMACS="no"
+       EMACS="no" \
+       am_cv_lib_iconv=no \
+       am_cv_func_iconv=no \
+       ac_cv_header_iconv_h=no \
+
+HOST_CFLAGS += $(HOST_FPIC)
+
+define Host/Compile
+       $(foreach makefile,$(PKG_MAKEFILES_FAKE),printf '%s\n%s\n' 'all:' 'install:' > $(HOST_BUILD_DIR)/$(makefile); )
+       $(call Host/Compile/Default,SUBDIRS='$(PKG_SUBDIRS)')
+endef
+
+define Build/Compile
+       $(foreach makefile,$(PKG_MAKEFILES_FAKE),printf '%s\n%s\n' 'all:' 'install:' > $(PKG_BUILD_DIR)/$(makefile); )
+       $(call Build/Compile/Default,SUBDIRS='$(PKG_SUBDIRS)')
+endef
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/lib/libintl-full/include
@@ -86,9 +127,18 @@ define Build/InstallDev
        $(SED) '/read dummy/d' $(STAGING_DIR_HOSTPKG)/bin/gettextize
 endef
 
+define Host/Install
+       $(call Host/Compile/Default,install SUBDIRS='$(PKG_SUBDIRS)')
+       $(LN) msgfmt $(STAGING_DIR_HOSTPKG)/bin/gmsgfmt
+endef
+
+define Build/Install
+       $(call Build/Install/Default,install SUBDIRS='$(PKG_SUBDIRS)')
+endef
+
 define Package/libintl-full/install
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libintl.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libintl.so.* $(1)/usr/lib/
 endef
 
 $(eval $(call HostBuild))