[Buildroot] [PATCH 1/6 v3] pkg-autotools: add support to gettextize a package
Yann E. MORIN
yann.morin.1998 at free.fr
Wed Jul 16 22:00:35 UTC 2014
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 at free.fr>
Cc: Gustavo Zacarias <gustavo at zacarias.com.ar>
Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Cc: Baruch Siach <baruch at tkos.co.il>
---
Changes v2 -> v3:
- fix double-dollars (Gustavo)
- fix hook name (Gustavo)
Changes v1 -> v2:
- only gettextize with autoreconf (Gustavo)
- add host-gettext to the filter-out (Gustavo)
---
package/pkg-autotools.mk | 33 +++++++++++++++++++++++++++++++--
1 file changed, 31 insertions(+), 2 deletions(-)
diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk
index ddff9bf..50876cb 100644
--- a/package/pkg-autotools.mk
+++ b/package/pkg-autotools.mk
@@ -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
@@ -200,6 +216,14 @@ $(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
#
define AUTORECONF_HOOK
@@ -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
--
1.9.1
More information about the buildroot
mailing list