From: Richard Purdie Date: Fri, 5 Aug 2022 12:33:08 +0000 (+0100) Subject: rust.inc: Fix for cross compilation configuration X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~3413 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e2cdbf9df8d3f90b5a7ba35288c5db4f252d134d;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git rust.inc: Fix for cross compilation configuration For cross compilation, build, host and target may be different. Ensure the main rust config has the appropriate sections added to match the configurations. Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/rust/rust.inc b/meta/recipes-devtools/rust/rust.inc index 12c86e02c4a..7c16b8165bb 100644 --- a/meta/recipes-devtools/rust/rust.inc +++ b/meta/recipes-devtools/rust/rust.inc @@ -73,7 +73,7 @@ python do_configure() { config = configparser.RawConfigParser() # [target.ARCH-poky-linux] - host_section = "target.{}".format(d.getVar('RUST_TARGET_SYS', True)) + host_section = "target.{}".format(d.getVar('RUST_HOST_SYS', True)) config.add_section(host_section) llvm_config_target = d.expand("${RUST_ALTERNATE_EXE_PATH}") @@ -86,12 +86,22 @@ python do_configure() { # If we don't do this rust-native will compile it's own llvm for BUILD. # [target.${BUILD_ARCH}-unknown-linux-gnu] build_section = "target.{}".format(d.getVar('RUST_BUILD_SYS', True)) - config.add_section(build_section) + if build_section != host_section: + config.add_section(build_section) - config.set(build_section, "llvm-config", e(llvm_config_build)) + config.set(build_section, "llvm-config", e(llvm_config_build)) - config.set(build_section, "cxx", e(d.expand("${RUST_BUILD_CXX}"))) - config.set(build_section, "cc", e(d.expand("${RUST_BUILD_CC}"))) + config.set(build_section, "cxx", e(d.expand("${RUST_BUILD_CXX}"))) + config.set(build_section, "cc", e(d.expand("${RUST_BUILD_CC}"))) + + target_section = "target.{}".format(d.getVar('RUST_TARGET_SYS', True)) + if target_section != host_section and target_section != build_section: + config.add_section(target_section) + + config.set(target_section, "llvm-config", e(llvm_config_target)) + + config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}"))) + config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}"))) # [llvm] config.add_section("llvm")