Patchwork [04/28] gettext: Improve USE_NLS handling for nativesdk/crosssdk/cross-canadian

login
register
mail settings
Submitter Richard Purdie
Date Aug. 22, 2013, 11:29 a.m.
Message ID <1377171000-6469-4-git-send-email-richard.purdie@linuxfoundation.org>
Download mbox | patch
Permalink /patch/56235/
State Accepted
Commit 24b1fe929b5a22e3ad3a725bff916c2febea207a
Headers show

Comments

Richard Purdie - Aug. 22, 2013, 11:29 a.m.
The gettext handling of USE_NLS has become a bit tricky to understand, or
alter from the SDK context. This patch introduces a SDKUSE_NLS which can
be set to configure a given SDK/ADT to use NLS or not. This is independent
of the target system NLS usage.

The code in gettext.bbclass is therefore simplified and the classes
themselves now set USE_NLS to appropriate values. No NLS is used
for native, cross and crosssdk since it is never used there and
would just increase build time.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/classes/cross-canadian.bbclass | 2 ++
 meta/classes/cross.bbclass          | 2 ++
 meta/classes/crosssdk.bbclass       | 2 ++
 meta/classes/gettext.bbclass        | 8 +++-----
 meta/classes/native.bbclass         | 2 ++
 meta/classes/nativesdk.bbclass      | 2 ++
 meta/conf/bitbake.conf              | 1 +
 7 files changed, 14 insertions(+), 5 deletions(-)

Patch

diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass
index 7ab36ac..fa2ab70 100644
--- a/meta/classes/cross-canadian.bbclass
+++ b/meta/classes/cross-canadian.bbclass
@@ -94,3 +94,5 @@  SHLIBSDIRS = "${TMPDIR}/pkgdata/${HOST_ARCH}-nativesdk${HOST_VENDOR}-${HOST_OS}/
 SHLIBSDIR = "${TMPDIR}/pkgdata/${HOST_ARCH}-nativesdk${HOST_VENDOR}-${HOST_OS}/shlibs/"
 
 do_populate_sysroot[stamp-extra-info] = ""
+
+USE_NLS = "${SDKUSE_NLS}"
diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass
index 54584fe..f6e7dc1 100644
--- a/meta/classes/cross.bbclass
+++ b/meta/classes/cross.bbclass
@@ -75,3 +75,5 @@  cross_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise"
 do_install () {
 	oe_runmake 'DESTDIR=${D}' install
 }
+
+USE_NLS = "no"
diff --git a/meta/classes/crosssdk.bbclass b/meta/classes/crosssdk.bbclass
index 810f61d..635c0c4 100644
--- a/meta/classes/crosssdk.bbclass
+++ b/meta/classes/crosssdk.bbclass
@@ -30,3 +30,5 @@  do_populate_sysroot[stamp-extra-info] = ""
 
 # Need to force this to ensure consitency accross architectures
 EXTRA_OECONF_FPU = ""
+
+USE_NLS = "no"
diff --git a/meta/classes/gettext.bbclass b/meta/classes/gettext.bbclass
index 17c894f..03b89b2 100644
--- a/meta/classes/gettext.bbclass
+++ b/meta/classes/gettext.bbclass
@@ -1,17 +1,15 @@ 
 def gettext_dependencies(d):
-    if d.getVar('USE_NLS', True) == 'no' and not oe.utils.inherits(d, 'native', 'nativesdk', 'cross'):
-        return ""
     if d.getVar('INHIBIT_DEFAULT_DEPS', True) and not oe.utils.inherits(d, 'cross-canadian'):
         return ""
-    if oe.utils.inherits(d, 'native', 'cross'):
+    if d.getVar('USE_NLS', True) == 'no':
         return "gettext-minimal-native"
     return d.getVar('DEPENDS_GETTEXT', False)
 
 def gettext_oeconf(d):
-    if oe.utils.inherits(d, 'native', 'cross'):
+    if d.getVar('USE_NLS', True) == 'no':
         return '--disable-nls'
     # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
-    if (d.getVar('USE_NLS', True) == 'no' or d.getVar('INHIBIT_DEFAULT_DEPS', True)) and not oe.utils.inherits(d, 'nativesdk', 'cross-canadian'):
+    if d.getVar('INHIBIT_DEFAULT_DEPS', True) and not oe.utils.inherits(d, 'cross-canadian'):
         return '--disable-nls'
     return "--enable-nls"
 
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 04f0d06..102dfb8 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -158,3 +158,5 @@  do_package_write_deb[noexec] = "1"
 do_package_write_rpm[noexec] = "1"
 
 do_populate_sysroot[stamp-extra-info] = ""
+
+USE_NLS = "no"
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index 96e1b42..5b9d1f5 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes/nativesdk.bbclass
@@ -89,3 +89,5 @@  addhandler nativesdk_virtclass_handler
 nativesdk_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise"
 
 do_populate_sysroot[stamp-extra-info] = ""
+
+USE_NLS = "${SDKUSE_NLS}"
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 07eb473..8ae3ad2 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -110,6 +110,7 @@  TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}"
 LIBCEXTENSION ??= ""
 ABIEXTENSION ??= ""
 USE_NLS ??= "yes"
+SDKUSE_NLS ??= "yes"
 
 TARGET_ARCH = "${TUNE_ARCH}"
 TARGET_OS = "linux${LIBCEXTENSION}${ABIEXTENSION}"