cargo.bbclass: set up cargo environment in common do_compile

cargo_do_compile runs only if the recipe is built using cargo
as the top level tool. Some recipes hide usage of cargo inside setuptools
(or autoconf) and use do_compile definitions specific to those,
and so the environment isn't properly set up.

This was exposed by latest versions of python3-cryptography.

(From OE-Core rev: 9f4ff643a028d7f5670d80861f2ce19ca2d90faa)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin 2023-06-25 23:22:25 +02:00 committed by Richard Purdie
parent a16a8a1cfa
commit fa8b714d7a
2 changed files with 4 additions and 1 deletions

View File

@ -55,7 +55,6 @@ oe_cargo_build () {
do_compile[progress] = "outof:\s+(\d+)/(\d+)"
cargo_do_compile () {
oe_cargo_fix_env
oe_cargo_build
}

View File

@ -149,6 +149,10 @@ python cargo_common_do_patch_paths() {
}
do_configure[postfuncs] += "cargo_common_do_patch_paths"
do_compile:prepend () {
oe_cargo_fix_env
}
oe_cargo_fix_env () {
export CC="${RUST_TARGET_CC}"
export CXX="${RUST_TARGET_CXX}"