poky/meta/classes/gettext.bbclass
Richard Purdie b090fde5c1 gettext: Switch to disabling nls and reducing -native build dependencies to a set of pre built m4 macros
When analysing our build performance, its apparent that binutils-cross
takes an age to get built. This is due to its dependencies on
flex-native and bison-native which in turn depend on gettext-native.

gettext-native is problematic as it has a significant dependency chain
of its own and takes an age to build. What is worse is that we never
care about the native language support in -native and -cross packages
since we always force the C locale.

This patch therefore disables nls for all -native packages (its already
disabled for -cross) and adds a new gettext-minimal-native package which
contains the m4 macros to keep autoconf/automake happy.

This means we gain a significant build time speedup by the removal of
gettext-native from most dependency chains (only being part of gettext
for the target now).

For now the LICENCE field says GPLv3, the macros are actually under a
FSF MIT like licence so we need to update this part of the patch in due
course.

(From OE-Core rev: 01b2a16beb4a924077b74943ad4d6e7976563ff1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-02 08:58:03 +00:00

22 lines
848 B
Plaintext

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'):
return "gettext-minimal-native"
return d.getVar('DEPENDS_GETTEXT', False)
def gettext_oeconf(d):
if oe.utils.inherits(d, 'native'):
return '--disable-nls'
# Remove the NLS bits if USE_NLS is no.
if d.getVar('USE_NLS', True) == 'no' and not oe.utils.inherits(d, 'native', 'nativesdk', 'cross', 'cross-canadian'):
return '--disable-nls'
return "--enable-nls"
DEPENDS_GETTEXT = "virtual/gettext gettext-native"
BASEDEPENDS =+ "${@gettext_dependencies(d)}"
EXTRA_OECONF_append = " ${@gettext_oeconf(d)}"