Patchwork [01/11] libgpg-error: add optional nls support

login
register
mail settings
Submitter Samuel Martin
Date July 22, 2012, 1:28 p.m.
Message ID <1342963719-1810-2-git-send-email-s.martin49@gmail.com>
Download mbox | patch
Permalink /patch/172506/
State Rejected
Headers show

Comments

Samuel Martin - July 22, 2012, 1:28 p.m.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Thomas Petazzoni - July 22, 2012, 2:20 p.m.
Le Sun, 22 Jul 2012 15:28:29 +0200,
Samuel Martin <s.martin49@gmail.com> a écrit :

> +ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
> +LIBGPG_ERROR_DEPENDENCIES += gettext libintl
> +LIBGPG_ERROR_CONF_OPT += --enable-nls
> +else
> +LIBGPG_ERROR_CONF_OPT += --disable-nls
> +endif

This means that NLS support will always be enabled for uClibc
toolchains, and never be enabled for (e)glibc toolchains.

See the definition of BR2_NEEDS_GETTEXT and BR2_NEEDS_GETTEXT_IF_LOCALE:

---

# glibc and eglibc directly include gettext, so a separatly compiled
# gettext isn't needed and shouldn't be built to avoid conflicts. Some
# packages always need gettext, other packages only need gettext when
# locale support is enabled. See the documentation for how packages
# should rely on the following two options.

config BR2_NEEDS_GETTEXT
        bool
        default y if BR2_TOOLCHAIN_BUILDROOT
        default y if BR2_TOOLCHAIN_EXTERNAL_UCLIBC
        default y if BR2_TOOLCHAIN_CTNG_uClibc

config BR2_NEEDS_GETTEXT_IF_LOCALE
        bool
        default y if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE)

---

The fact that there is a dependency on gettext+libintl for i18n support
on uClibc toolchains is correct. The fact that
--enable-nls/--disable-nls is decided depending on
BR2_NEEDS_GETTEXT_IF_LOCALE is not correct.

Best regards,

Thomas

Patch

diff --git a/package/libgpg-error/Config.in b/package/libgpg-error/Config.in
index 8287f98..bb7dc0b 100644
--- a/package/libgpg-error/Config.in
+++ b/package/libgpg-error/Config.in
@@ -1,5 +1,7 @@ 
 config BR2_PACKAGE_LIBGPG_ERROR
 	bool "libgpg-error"
+	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
+	select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT_IF_LOCALE
 	help
 	  Libgpg-error is a small library with error codes and
 	  descriptions shared by most GnuPG related software.
diff --git a/package/libgpg-error/libgpg-error.mk b/package/libgpg-error/libgpg-error.mk
index 96cbbd6..0968def 100644
--- a/package/libgpg-error/libgpg-error.mk
+++ b/package/libgpg-error/libgpg-error.mk
@@ -8,4 +8,11 @@  LIBGPG_ERROR_VERSION = 1.10
 LIBGPG_ERROR_SITE = ftp://ftp.gnupg.org/gcrypt/libgpg-error
 LIBGPG_ERROR_INSTALL_STAGING = YES
 
+ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
+LIBGPG_ERROR_DEPENDENCIES += gettext libintl
+LIBGPG_ERROR_CONF_OPT += --enable-nls
+else
+LIBGPG_ERROR_CONF_OPT += --disable-nls
+endif
+
 $(eval $(autotools-package))