diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2018-03-05 10:02:01 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-06 06:36:34 -0800 |
commit | 177bd96a531fcc85e62baff04aba327e2bccee07 (patch) | |
tree | 35d5dfe3e78fbdfebb4a9cf822454d4ed0fe9b74 | |
parent | 04f49bc0f9c56ef9b6970891058c200968c5ded9 (diff) | |
download | openembedded-core-177bd96a531fcc85e62baff04aba327e2bccee07.tar.gz openembedded-core-177bd96a531fcc85e62baff04aba327e2bccee07.tar.bz2 openembedded-core-177bd96a531fcc85e62baff04aba327e2bccee07.zip |
meson.bbclass: fix to build for more projects
We should use the value of CC for the c compiler setting in cross
compilation configuration file for meson. For example, if we only
use ${HOST_PREFIX}gcc instead of ${CC}, we would meet the following
do_compile failure for systemd.
cc1: fatal error: linux/capability.h: No such file or directory
Do the same change for LD, AR, NM, STRIP and READELF.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r-- | meta/classes/meson.bbclass | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass index 31d32a56f6..2d7ee4fffc 100644 --- a/meta/classes/meson.bbclass +++ b/meta/classes/meson.bbclass @@ -41,26 +41,22 @@ MESON_CROSS_FILE = "" MESON_CROSS_FILE_class-target = "--cross-file ${WORKDIR}/meson.cross" MESON_CROSS_FILE_class-nativesdk = "--cross-file ${WORKDIR}/meson.cross" -CCOMPILER ?= "gcc" -CXXCOMPILER ?= "g++" -CCOMPILER_toolchain-clang = "clang" -CXXCOMPILER_toolchain-clang = "clang++" - def meson_array(var, d): return "', '".join(d.getVar(var).split()).join(("'", "'")) addtask write_config before do_configure -do_write_config[vardeps] += "MESON_C_ARGS MESON_CPP_ARGS MESON_LINK_ARGS" +do_write_config[vardeps] += "MESON_C_ARGS MESON_CPP_ARGS MESON_LINK_ARGS CC CXX LD AR NM STRIP READELF" do_write_config() { # This needs to be Py to split the args into single-element lists cat >${WORKDIR}/meson.cross <<EOF [binaries] -c = '${HOST_PREFIX}${CCOMPILER}' -cpp = '${HOST_PREFIX}${CXXCOMPILER}' -ar = '${HOST_PREFIX}ar' -ld = '${HOST_PREFIX}ld' -strip = '${HOST_PREFIX}strip' -readelf = '${HOST_PREFIX}readelf' +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' [properties] |