mirror of
https://git.yoctoproject.org/poky
synced 2026-04-13 14:02:21 +02:00
meson.bbclass: include C{, XX}FLAGS in cross args
Currently, CFLAGS and CXXFLAGS are not making it into the compile line. This is because meson appends CFLAGS/CXXFLAGS from the environment only for native but not for cross builds (probably to keep cross-builds more isolated). As a result, we need to make sure these vars goes into meson.cross. This is similar to what cmake.bbclass does with OECMAKE_C_FLAGS and OECMAKE_CXX_FLAGS. Change c_args and cpp_args in meson.cross to include these vars, and update write_config[vardeps] accordingly. (From OE-Core rev: f435d1b75d3775f6ec0df6027766008b40209fd7) Signed-off-by: Martin Kelly <mkelly@xevo.com> 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
b895d11862
commit
ff5634ad88
@@ -26,8 +26,10 @@ MESONOPTS = " --prefix ${prefix} \
|
||||
--localstatedir ${localstatedir} \
|
||||
--sharedstatedir ${sharedstatedir}"
|
||||
|
||||
MESON_C_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
MESON_LINK_ARGS = "${MESON_C_ARGS} ${LDFLAGS}"
|
||||
MESON_TOOLCHAIN_ARGS = "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
|
||||
MESON_C_ARGS = "${MESON_TOOLCHAIN_ARGS} ${CFLAGS}"
|
||||
MESON_CPP_ARGS = "${MESON_TOOLCHAIN_ARGS} ${CXXFLAGS}"
|
||||
MESON_LINK_ARGS = "${MESON_TOOLCHAIN_ARGS} ${LDFLAGS}"
|
||||
|
||||
# both are required but not used by meson
|
||||
MESON_HOST_ENDIAN = "bogus-endian"
|
||||
@@ -42,7 +44,7 @@ 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 TOOLCHAIN_OPTIONS"
|
||||
do_write_config[vardeps] += "MESON_C_ARGS MESON_CPP_ARGS TOOLCHAIN_OPTIONS"
|
||||
do_write_config() {
|
||||
# This needs to be Py to split the args into single-element lists
|
||||
cat >${WORKDIR}/meson.cross <<EOF
|
||||
@@ -59,7 +61,7 @@ pkgconfig = 'pkg-config'
|
||||
needs_exe_wrapper = true
|
||||
c_args = [${@meson_array('MESON_C_ARGS', d)}]
|
||||
c_link_args = [${@meson_array('MESON_LINK_ARGS', d)}]
|
||||
cpp_args = [${@meson_array('MESON_C_ARGS', d)}]
|
||||
cpp_args = [${@meson_array('MESON_CPP_ARGS', d)}]
|
||||
cpp_link_args = [${@meson_array('MESON_LINK_ARGS', d)}]
|
||||
gtkdoc_exe_wrapper = '${B}/gtkdoc-qemuwrapper'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user