pkg-autotools: add support to gettextize a package

In case a package comes with a gettext infra which is different from
the one Buildroot provides, we'd get autoreconf errors, like:
    http://autobuild.buildroot.net/results/c0f/c0f7c801f61fdc310cde64342060b00a70155431/

To avoid that, we need to gettextize the package prior to running
autoreconf.

Provide the necessary infrastructure in the autotools infrastructure,
so we can do it consistently across packages.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Yann E. MORIN 2014-07-17 00:00:35 +02:00 committed by Thomas Petazzoni
parent cff18c2f34
commit 899258344f

View File

@ -87,6 +87,22 @@ ifndef $(2)_AUTORECONF
endif
endif
ifndef $(2)_GETTEXTIZE
ifdef $(3)_GETTEXTIZE
$(2)_GETTEXTIZE = $$($(3)_GETTEXTIZE)
else
$(2)_GETTEXTIZE ?= NO
endif
endif
ifndef $(2)_GETTEXTIZE_OPT
ifdef $(3)_GETTEXTIZE_OPT
$(2)_GETTEXTIZE_OPT = $$($(3)_GETTEXTIZE)
else
$(2)_GETTEXTIZE_OPT ?= -f
endif
endif
ifeq ($(4),host)
$(2)_AUTORECONF_OPT ?= $$($(3)_AUTORECONF_OPT)
endif
@ -199,6 +215,14 @@ ifneq ($$($(2)_LIBTOOL_PATCH),NO)
$(2)_POST_PATCH_HOOKS += LIBTOOL_PATCH_HOOK
endif
#
# Hook to gettextize the package if needed
#
define GETTEXTIZE_HOOK
@$$(call MESSAGE,"Gettextizing")
$(Q)cd $$($$(PKG)_SRCDIR) && $(HOST_DIR)/usr/bin/gettextize $$($$(PKG)_GETTEXTIZE_OPT)
endef
#
# Hook to autoreconf the package if needed
#
@ -222,14 +246,19 @@ endef
# This must be repeated from inner-generic-package, otherwise we get an empty
# _DEPENDENCIES if _AUTORECONF is YES. Also filter the result of _AUTORECONF
# away from the non-host rule
# and _GETTEXTIZE away from the non-host rule
ifeq ($(4),host)
$(2)_DEPENDENCIES ?= $$(filter-out host-automake host-autoconf host-libtool \
host-toolchain $(1),\
host-gettext host-toolchain $(1),\
$$(patsubst host-host-%,host-%,$$(addprefix host-,$$($(3)_DEPENDENCIES))))
endif
ifeq ($$($(2)_AUTORECONF),YES)
# This has to come before autoreconf
ifeq ($$($(2)_GETTEXTIZE),YES)
$(2)_PRE_CONFIGURE_HOOKS += GETTEXTIZE_HOOK
$(2)_DEPENDENCIES += host-gettext
endif
$(2)_PRE_CONFIGURE_HOOKS += AUTORECONF_HOOK
$(2)_DEPENDENCIES += host-automake host-autoconf host-libtool
endif