diff options
author | Joshua Watt <JPEWhacker@gmail.com> | 2021-11-19 14:51:40 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-11-23 10:53:12 +0000 |
commit | 0ec40fa3aff233bd0dde0461299150786da956ef (patch) | |
tree | a48b530726ee5d389d45807e014f8afa71d294d9 /meta | |
parent | f2504115f08b173d919d9abe507a0ba440b0d4df (diff) | |
download | openembedded-core-contrib-0ec40fa3aff233bd0dde0461299150786da956ef.tar.gz |
classes/meson: Add optional rust definitions
Adds the rust tools to the cross and native files if present so that
projects that use both rust and meson can build
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/meson.bbclass | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass index 4ba70de3dc..a7981e481f 100644 --- a/meta/classes/meson.bbclass +++ b/meta/classes/meson.bbclass @@ -36,8 +36,15 @@ MESON_CROSS_FILE = "" MESON_CROSS_FILE:class-target = "--cross-file ${WORKDIR}/meson.cross" MESON_CROSS_FILE:class-nativesdk = "--cross-file ${WORKDIR}/meson.cross" +def rust_tool(d, target_var): + rustc = d.getVar('RUSTC') + if not rustc: + return "" + cmd = [rustc, "--target", d.getVar(target_var)] + d.getVar("RUSTFLAGS").split() + return "rust = %s" % repr(cmd) + addtask write_config before do_configure -do_write_config[vardeps] += "CC CXX LD AR NM STRIP READELF CFLAGS CXXFLAGS LDFLAGS" +do_write_config[vardeps] += "CC CXX LD AR NM STRIP READELF CFLAGS CXXFLAGS LDFLAGS RUSTC RUSTFLAGS" do_write_config() { # This needs to be Py to split the args into single-element lists cat >${WORKDIR}/meson.cross <<EOF @@ -54,6 +61,7 @@ llvm-config = 'llvm-config${LLVMVERSION}' cups-config = 'cups-config' g-ir-scanner = '${STAGING_BINDIR}/g-ir-scanner-wrapper' g-ir-compiler = '${STAGING_BINDIR}/g-ir-compiler-wrapper' +${@rust_tool(d, "HOST_SYS")} [built-in options] c_args = ${@meson_array('CFLAGS', d)} @@ -88,6 +96,7 @@ strip = ${@meson_array('BUILD_STRIP', d)} readelf = ${@meson_array('BUILD_READELF', d)} objcopy = ${@meson_array('BUILD_OBJCOPY', d)} pkgconfig = 'pkg-config-native' +${@rust_tool(d, "BUILD_SYS")} [built-in options] c_args = ${@meson_array('BUILD_CFLAGS', d)} |