rust-target-config: Allow the targets generated to be configurable

Remove further code duplication by allowing the main function to be
configurable.

(From OE-Core rev: 2d4b35a0db1220e7a7f1b6776223aa4d40a3f246)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2022-07-23 13:48:24 +01:00
parent 1e04c8aafb
commit e75e781a48
4 changed files with 11 additions and 22 deletions

View File

@@ -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

View File

@@ -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}"

View File

@@ -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"

View File

@@ -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"