openwrt/package/libs/gettext-full/Makefile
Michael Pratt d119f1b046
Some checks failed
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
gettext-full: remove usage of autoreconf
Running the bootstrap script autogen.sh
handles the execution of autotools already,
so calling autoreconf before configure
makes this happen twice, which is unnecessary
and can lead to an occasional build problem.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/19748
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-08-11 22:28:41 +02:00

186 lines
4.3 KiB
Makefile

#
# Copyright (C) 2006-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=gettext-full
PKG_VERSION:=0.24.1
PKG_RELEASE:=1
PKG_SOURCE:=gettext-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/gettext
PKG_HASH:=6164ec7aa61653ac9cdfb41d5c2344563b21f707da1562712e48715f1d2052a6
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-or-later
PKG_CPE_ID:=cpe:/a:gnu:gettext
PKG_INSTALL:=1
PKG_BUILD_DEPENDS:=gettext-full/host libunistring libxml2
PKG_BUILD_PARALLEL:=0
HOST_BUILD_DEPENDS:=gnulib-l10n/host gperf/host libiconv-full/host libunistring/host libxml2/host
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
define Package/libintl-full
SECTION:=libs
CATEGORY:=Libraries
TITLE:=GNU Internationalization library
URL:=http://www.gnu.org/software/gettext/
ABI_VERSION:=8
endef
export GNULIB_SRCDIR:=$(HOST_GNULIB_SRCDIR)
TARGET_CFLAGS += $(FPIC)
TARGET_CFLAGS += -std=gnu23
ifneq ($(HOST_OS),Linux)
TARGET_CFLAGS += -I$(STAGING_DIR_HOSTPKG)/include
endif
CONFIGURE_ARGS += \
--enable-shared \
--enable-static \
--disable-libasprintf \
--disable-rpath \
--enable-nls \
--disable-java \
--disable-openmp \
--disable-curses \
--with-included-gettext \
--without-libintl-prefix \
--without-libexpat-prefix \
--with-libunistring-prefix=$(STAGING_DIR)/usr \
--with-libxml2-prefix=$(STAGING_DIR) \
--without-emacs
HOST_CONFIGURE_ARGS += \
--disable-shared \
--enable-static \
--disable-libasprintf \
--disable-rpath \
--disable-java \
--disable-openmp \
--without-emacs \
--with-libiconv-prefix=$(STAGING_DIR_HOSTPKG) \
--with-libunistring-prefix=$(STAGING_DIR_HOSTPKG) \
--with-libxml2-prefix=$(STAGING_DIR_HOSTPKG)
HOST_CONFIGURE_VARS += \
EMACS="no" \
HOST_CFLAGS += $(HOST_FPIC)
define Host/Bootstrap
( \
cd $(HOST_BUILD_DIR); \
$(AM_TOOL_PATHS) \
./autogen.sh \
)
endef
define Host/Prepare
$(call Host/Prepare/Default)
$(if $(QUILT),,$(call Host/Bootstrap))
endef
define Host/Configure
$(if $(QUILT),$(call Host/Bootstrap))
$(call Host/Configure/Default)
endef
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/Bootstrap
( \
cd $(PKG_BUILD_DIR); \
$(AM_TOOL_PATHS) \
./autogen.sh \
)
endef
define Build/Prepare
$(call Build/Prepare/Default)
$(if $(QUILT),,$(call Build/Bootstrap))
endef
define Build/Configure
$(if $(QUILT),$(call Build/Bootstrap))
$(call Build/Configure/Default)
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
$(CP) $(PKG_INSTALL_DIR)/usr/include/libintl.h $(1)/usr/lib/libintl-full/include/
$(INSTALL_DIR) $(1)/usr/lib/libintl-full/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libintl.{a,so*} $(1)/usr/lib/libintl-full/lib/
$(INSTALL_DIR) $(1)/usr/share/gettext/m4
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/gettext/m4/* $(1)/usr/share/gettext/m4/
$(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/
endef
$(eval $(call HostBuild))
$(eval $(call BuildPackage,libintl-full))