diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2020-04-13 21:39:40 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2020-05-05 16:30:44 +0300 |
commit | 82c905dc58a36aeae40b1b273a12f63fb1973cf4 (patch) | |
tree | 38caf00263451b5036435cdc36e035b25d32e623 /poky/meta/classes/meson.bbclass | |
parent | 83ecb75644b3d677c274188f9ac0b2374d6f6925 (diff) | |
download | openbmc-82c905dc58a36aeae40b1b273a12f63fb1973cf4.tar.xz |
meta-openembedded and poky: subtree updates
Squash of the following due to dependencies among them
and OpenBMC changes:
meta-openembedded: subtree update:d0748372d2..9201611135
meta-openembedded: subtree update:9201611135..17fd382f34
poky: subtree update:9052e5b32a..2e11d97b6c
poky: subtree update:2e11d97b6c..a8544811d7
The change log was too large for the jenkins plugin
to handle therefore it has been removed. Here is
the first and last commit of each subtree:
meta-openembedded:d0748372d2
cppzmq: bump to version 4.6.0
meta-openembedded:17fd382f34
mpv: Remove X11 dependency
poky:9052e5b32a
package_ipk: Remove pointless comment to trigger rebuild
poky:a8544811d7
pbzip2: Fix license warning
Change-Id: If0fc6c37629642ee207a4ca2f7aa501a2c673cd6
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Diffstat (limited to 'poky/meta/classes/meson.bbclass')
-rw-r--r-- | poky/meta/classes/meson.bbclass | 37 |
1 files changed, 30 insertions, 7 deletions
diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass index efa623407..06034e8b4 100644 --- a/poky/meta/classes/meson.bbclass +++ b/poky/meta/classes/meson.bbclass @@ -12,8 +12,9 @@ MESON_SOURCEPATH = "${S}" def noprefix(var, d): return d.getVar(var).replace(d.getVar('prefix') + '/', '', 1) +MESON_BUILDTYPE ?= "plain" MESONOPTS = " --prefix ${prefix} \ - --buildtype plain \ + --buildtype ${MESON_BUILDTYPE} \ --bindir ${@noprefix('bindir', d)} \ --sbindir ${@noprefix('sbindir', d)} \ --datadir ${@noprefix('datadir', d)} \ @@ -24,7 +25,8 @@ MESONOPTS = " --prefix ${prefix} \ --infodir ${@noprefix('infodir', d)} \ --sysconfdir ${sysconfdir} \ --localstatedir ${localstatedir} \ - --sharedstatedir ${sharedstatedir} " + --sharedstatedir ${sharedstatedir} \ + --wrap-mode nodownload" EXTRA_OEMESON_append = " ${PACKAGECONFIG_CONFARGS}" @@ -43,7 +45,7 @@ def meson_cpu_family(var, d): arch = d.getVar(var) if arch == 'powerpc': return 'ppc' - elif arch == 'powerpc64': + elif arch == 'powerpc64' or arch == 'powerpc64le': return 'ppc64' elif arch == 'armeb': return 'arm' @@ -55,11 +57,20 @@ def meson_cpu_family(var, d): return 'mips64' elif re.match(r"i[3-6]86", arch): return "x86" - elif arch == "microblazeel" or arch == "microblazeeb": + elif arch == "microblazeel": return "microblaze" else: return arch +# Map our OS values to what Meson expects: +# https://mesonbuild.com/Reference-tables.html#operating-system-names +def meson_operating_system(var, d): + os = d.getVar(var) + if "mingw" in os: + return "windows" + else: + return os + def meson_endian(prefix, d): arch, os = d.getVar(prefix + "_ARCH"), d.getVar(prefix + "_OS") sitedata = siteinfo_data_for_machine(arch, os, d) @@ -80,7 +91,6 @@ c = ${@meson_array('CC', d)} cpp = ${@meson_array('CXX', d)} ar = ${@meson_array('AR', d)} nm = ${@meson_array('NM', d)} -ld = ${@meson_array('LD', d)} strip = ${@meson_array('STRIP', d)} readelf = ${@meson_array('READELF', d)} pkgconfig = 'pkg-config' @@ -95,13 +105,13 @@ cpp_link_args = ${@meson_array('LDFLAGS', d)} gtkdoc_exe_wrapper = '${B}/gtkdoc-qemuwrapper' [host_machine] -system = '${HOST_OS}' +system = '${@meson_operating_system('HOST_OS', d)}' cpu_family = '${@meson_cpu_family('HOST_ARCH', d)}' cpu = '${HOST_ARCH}' endian = '${@meson_endian('HOST', d)}' [target_machine] -system = '${TARGET_OS}' +system = '${@meson_operating_system('TARGET_OS', d)}' cpu_family = '${@meson_cpu_family('TARGET_ARCH', d)}' cpu = '${TARGET_ARCH}' endian = '${@meson_endian('TARGET', d)}' @@ -111,6 +121,10 @@ EOF CONFIGURE_FILES = "meson.build" meson_do_configure() { + # Meson requires this to be 'bfd, 'lld' or 'gold' from 0.53 onwards + # https://github.com/mesonbuild/meson/commit/ef9aeb188ea2bc7353e59916c18901cde90fa2b3 + unset LD + # Work around "Meson fails if /tmp is mounted with noexec #2972" mkdir -p "${B}/meson-private/tmp" export TMPDIR="${B}/meson-private/tmp" @@ -147,6 +161,15 @@ meson_do_configure_prepend_class-native() { export PKG_CONFIG="pkg-config-native" } +python meson_do_qa_configure() { + import re + warn_re = re.compile(r"^WARNING: Cross property (.+) is using default value (.+)$", re.MULTILINE) + log = open(d.expand("${B}/meson-logs/meson-log.txt")).read() + for (prop, value) in warn_re.findall(log): + bb.warn("Meson cross property %s used without explicit assignment, defaulting to %s" % (prop, value)) +} +do_configure[postfuncs] += "meson_do_qa_configure" + do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+" meson_do_compile() { ninja -v ${PARALLEL_MAKE} |