mirror of
https://git.yoctoproject.org/poky
synced 2026-04-22 06:32:12 +02:00
meson: map architecture to correct values in cross file
The cross file specifies the host/target cpu_family, which should be one of a defined set of values[1] but if it isn't Meson won't complain and instead recipes may behave unexpectedly. [1] http://mesonbuild.com/Reference-tables.html#cpu-families (From OE-Core rev: e33b902a1dc4294dac148715f4d3ca5b0a6ee1b7) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
c2ba7177f1
commit
5193aedb45
@@ -45,6 +45,18 @@ def meson_array(var, d):
|
||||
items = d.getVar(var).split()
|
||||
return repr(items[0] if len(items) == 1 else items)
|
||||
|
||||
# Map our ARCH values to what Meson expects:
|
||||
# http://mesonbuild.com/Reference-tables.html#cpu-families
|
||||
def meson_cpu_family(var, d):
|
||||
import re
|
||||
arch = d.getVar(var)
|
||||
if arch == 'powerpc':
|
||||
return 'ppc'
|
||||
elif re.match(r"i[3-6]86", arch):
|
||||
return "x86"
|
||||
else:
|
||||
return arch
|
||||
|
||||
addtask write_config before do_configure
|
||||
do_write_config[vardeps] += "MESON_C_ARGS MESON_CPP_ARGS MESON_LINK_ARGS CC CXX LD AR NM STRIP READELF"
|
||||
do_write_config() {
|
||||
@@ -70,13 +82,13 @@ gtkdoc_exe_wrapper = '${B}/gtkdoc-qemuwrapper'
|
||||
|
||||
[host_machine]
|
||||
system = '${HOST_OS}'
|
||||
cpu_family = '${HOST_ARCH}'
|
||||
cpu_family = '${@meson_cpu_family('HOST_ARCH', d)}'
|
||||
cpu = '${HOST_ARCH}'
|
||||
endian = '${MESON_HOST_ENDIAN}'
|
||||
|
||||
[target_machine]
|
||||
system = '${TARGET_OS}'
|
||||
cpu_family = '${TARGET_ARCH}'
|
||||
cpu_family = '${@meson_cpu_family('TARGET_ARCH', d)}'
|
||||
cpu = '${TARGET_ARCH}'
|
||||
endian = '${MESON_TARGET_ENDIAN}'
|
||||
EOF
|
||||
|
||||
Reference in New Issue
Block a user