From f435d1b75d3775f6ec0df6027766008b40209fd7 Mon Sep 17 00:00:00 2001 From: Martin Kelly Date: Wed, 17 Jan 2018 11:22:56 -0800 Subject: 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. Signed-off-by: Martin Kelly Signed-off-by: Ross Burton --- meta/classes/meson.bbclass | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass index f9cee00c07..4ab242dcfd 100644 --- a/meta/classes/meson.bbclass +++ b/meta/classes/meson.bbclass @@ -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 <