gettext: Improve USE_NLS handling for nativesdk/crosssdk/cross-canadian

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.

(From OE-Core rev: fe634d47449899f7424adb77ff5bc7ddf8a07a47)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2013-08-20 17:13:14 +00:00
parent 7f5d712f37
commit 24b1fe929b
7 changed files with 14 additions and 5 deletions

View File

@ -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}"

View File

@ -75,3 +75,5 @@ cross_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise"
do_install () {
oe_runmake 'DESTDIR=${D}' install
}
USE_NLS = "no"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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}"

View File

@ -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}"