autotools.bbclass: pass distro_imposed_configure_flags
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Wed, 12 Jan 2011 19:34:55 +0000 (20:34 +0100)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 13 Jan 2011 21:49:28 +0000 (22:49 +0100)
Acked-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
classes/autotools.bbclass

index 247e21d..77bd37d 100644 (file)
@@ -65,6 +65,22 @@ def append_libtool_sysroot(d):
                        return '--with-libtool-sysroot=${STAGING_DIR_HOST}'
        return ''
 
+def distro_imposed_configure_flags(d):
+       distro_features = bb.data.getVar('DISTRO_FEATURES', d, True) or ""
+       distro_features = distro_features.split()
+       flags = set()
+       features = (('largefile', 'largefile'),
+               ('ipv6'     , 'ipv6'),
+               ('nls'      , 'nls'))
+
+       for knob, cfgargs in features:
+               if isinstance(cfgargs, basestring):
+                       cfgargs = [cfgargs]
+               en_or_dis = knob in distro_features and "enable" or "disable"
+               for flg in cfgargs:
+                       flags.add("--%s-%s" % (en_or_dis, flg))
+       return " ".join(flags)
+
 # EXTRA_OECONF_append = "${@autotools_set_crosscompiling(d)}"
 
 CONFIGUREOPTS = " --build=${BUILD_SYS} \
@@ -85,6 +101,7 @@ CONFIGUREOPTS = " --build=${BUILD_SYS} \
                  --infodir=${infodir} \
                  --mandir=${mandir} \
                  ${@append_libtool_sysroot(d)} \
+                 ${@distro_imposed_configure_flags(d)} \
                "
 
 oe_runconf () {