diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-06-25 12:45:53 -0400 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-06-27 14:38:15 -0400 |
commit | 316dfdd917bec6a218f431211d28bf8df6b6fb0f (patch) | |
tree | 5541073f9851f44c2bd67b4959dc776ee3c3810f /import-layers/yocto-poky/meta/classes/waf.bbclass | |
parent | 36acd3e888044dea2ac0b2946f15616f968388c9 (diff) | |
download | talos-openbmc-316dfdd917bec6a218f431211d28bf8df6b6fb0f.tar.gz talos-openbmc-316dfdd917bec6a218f431211d28bf8df6b6fb0f.zip |
Yocto 2.5
Move OpenBMC to Yocto 2.5(sumo)
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Change-Id: I5c5ad6904a16e14c1c397f0baf10c9d465594a78
Diffstat (limited to 'import-layers/yocto-poky/meta/classes/waf.bbclass')
-rw-r--r-- | import-layers/yocto-poky/meta/classes/waf.bbclass | 46 |
1 files changed, 14 insertions, 32 deletions
diff --git a/import-layers/yocto-poky/meta/classes/waf.bbclass b/import-layers/yocto-poky/meta/classes/waf.bbclass index acbda278a..19e93761b 100644 --- a/import-layers/yocto-poky/meta/classes/waf.bbclass +++ b/import-layers/yocto-poky/meta/classes/waf.bbclass @@ -3,39 +3,20 @@ DISABLE_STATIC = "" EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}" -def get_waf_parallel_make(d): - pm = d.getVar('PARALLEL_MAKE') - if pm: - # look for '-j' and throw other options (e.g. '-l') away - # because they might have different meaning in bjam - pm = pm.split() - while pm: - v = None - opt = pm.pop(0) - if opt == '-j': - v = pm.pop(0) - elif opt.startswith('-j'): - v = opt[2:].strip() - else: - v = None - - if v: - v = min(64, int(v)) - return '-j' + str(v) - - return "" - python waf_preconfigure() { + import subprocess from distutils.version import StrictVersion - srcsubdir = d.getVar('S') - wafbin = os.path.join(srcsubdir, 'waf') - status, result = oe.utils.getstatusoutput(wafbin + " --version") - if status != 0: - bb.warn("Unable to execute waf --version, exit code %d. Assuming waf version without bindir/libdir support." % status) - return - version = result.split()[1] - if StrictVersion(version) >= StrictVersion("1.8.7"): - d.setVar("WAF_EXTRA_CONF", "--bindir=${bindir} --libdir=${libdir}") + subsrcdir = d.getVar('S') + wafbin = os.path.join(subsrcdir, 'waf') + try: + result = subprocess.check_output([wafbin, '--version'], cwd=subsrcdir, stderr=subprocess.STDOUT) + version = result.decode('utf-8').split()[1] + if StrictVersion(version) >= StrictVersion("1.8.7"): + d.setVar("WAF_EXTRA_CONF", "--bindir=${bindir} --libdir=${libdir}") + except subprocess.CalledProcessError as e: + bb.warn("Unable to execute waf --version, exit code %d. Assuming waf version without bindir/libdir support." % e.returncode) + except FileNotFoundError: + bb.fatal("waf does not exist in %s" % subsrcdir) } do_configure[prefuncs] += "waf_preconfigure" @@ -44,8 +25,9 @@ waf_do_configure() { ${S}/waf configure --prefix=${prefix} ${WAF_EXTRA_CONF} ${EXTRA_OECONF} } +do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+" waf_do_compile() { - ${S}/waf build ${@get_waf_parallel_make(d)} + ${S}/waf build ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)} } waf_do_install() { |