From: Richard Purdie Date: Sat, 23 Jul 2022 12:48:24 +0000 (+0100) Subject: rust-target-config: Allow the targets generated to be configurable X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~3489 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d4b35a0db1220e7a7f1b6776223aa4d40a3f246;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git rust-target-config: Allow the targets generated to be configurable Remove further code duplication by allowing the main function to be configurable. Signed-off-by: Richard Purdie --- diff --git a/meta/classes/rust-target-config.bbclass b/meta/classes/rust-target-config.bbclass index 4db91d36d53..87b7dee3edc 100644 --- a/meta/classes/rust-target-config.bbclass +++ b/meta/classes/rust-target-config.bbclass @@ -357,10 +357,16 @@ rust_gen_target[vardepsexclude] += "RUST_HOST_SYS RUST_TARGET_SYS ABIEXTENSION l do_rust_gen_targets[vardeps] += "DATA_LAYOUT TARGET_ENDIAN TARGET_POINTER_WIDTH TARGET_C_INT_WIDTH MAX_ATOMIC_WIDTH FEATURES" +RUST_TARGETGENS = "BUILD" + python do_rust_gen_targets () { wd = d.getVar('WORKDIR') + '/targets/' - build_arch = d.getVar('BUILD_ARCH') - rust_gen_target(d, 'BUILD', wd, build_arch) + # Order of BUILD, HOST, TARGET is important in case the files overwrite, most specific last + rust_gen_target(d, 'BUILD', wd, d.getVar('BUILD_ARCH')) + if "HOST" in d.getVar("RUST_TARGETGENS"): + rust_gen_target(d, 'HOST', wd, d.getVar('HOST_ARCH')) + if "TARGET" in d.getVar("RUST_TARGETGENS"): + rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_ARCH')) } addtask rust_gen_targets after do_patch before do_compile diff --git a/meta/recipes-devtools/cargo/cargo-cross-canadian.inc b/meta/recipes-devtools/cargo/cargo-cross-canadian.inc index e83b6a67b3b..a2fac929d45 100644 --- a/meta/recipes-devtools/cargo/cargo-cross-canadian.inc +++ b/meta/recipes-devtools/cargo/cargo-cross-canadian.inc @@ -28,12 +28,7 @@ inherit cross-canadian PN = "cargo-cross-canadian-${TRANSLATED_TARGET_ARCH}" -python do_rust_gen_targets () { - wd = d.getVar('WORKDIR') + '/targets/' - - rust_gen_target(d, 'BUILD', wd, d.getVar('BUILD_ARCH')) - rust_gen_target(d, 'HOST', wd, d.getVar('HOST_ARCH')) -} +RUST_TARGETGENS = "BUILD HOST" do_compile:prepend () { PKG_CONFIG_PATH="${RECIPE_SYSROOT_NATIVE}/usr/lib/pkgconfig:${PKG_CONFIG_PATH}" diff --git a/meta/recipes-devtools/rust/rust-cross-canadian-common.inc b/meta/recipes-devtools/rust/rust-cross-canadian-common.inc index 5c0644e92d7..34020ff6ff4 100644 --- a/meta/recipes-devtools/rust/rust-cross-canadian-common.inc +++ b/meta/recipes-devtools/rust/rust-cross-canadian-common.inc @@ -25,13 +25,7 @@ DEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDP -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \ " -python do_rust_gen_targets () { - wd = d.getVar('WORKDIR') + '/targets/' - # Order of BUILD, HOST, TARGET is important in case the files overwrite, most specific last - rust_gen_target(d, 'BUILD', wd, d.getVar('BUILD_ARCH')) - rust_gen_target(d, 'HOST', wd, d.getVar('HOST_ARCH')) - rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_ARCH')) -} +RUST_TARGETGENS = "BUILD HOST TARGET" INHIBIT_DEFAULT_RUST_DEPS = "1" diff --git a/meta/recipes-devtools/rust/rust-cross.inc b/meta/recipes-devtools/rust/rust-cross.inc index 719857ebbb3..ab538e6659b 100644 --- a/meta/recipes-devtools/rust/rust-cross.inc +++ b/meta/recipes-devtools/rust/rust-cross.inc @@ -1,10 +1,4 @@ -python do_rust_gen_targets () { - wd = d.getVar('WORKDIR') + '/targets/' - # Order of BUILD, HOST, TARGET is important in case the files overwrite, most specific last - rust_gen_target(d, 'BUILD', wd, d.getVar('BUILD_ARCH')) - rust_gen_target(d, 'HOST', wd, d.getVar('HOST_ARCH')) - rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_ARCH')) -} +RUST_TARGETGENS = "BUILD HOST TARGET" # Otherwise we'll depend on what we provide INHIBIT_DEFAULT_RUST_DEPS = "1"