From: Ross Burton Date: Tue, 4 Aug 2026 16:58:02 +0000 (+0100) Subject: classes/cargo-c: pass flags via CARGO_BUILD_FLAGS X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9079283776997287d455ef32696895d756bc37b3;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git classes/cargo-c: pass flags via CARGO_BUILD_FLAGS We need to pass the same flags to cbuild and cinstall, as otherwise it will build in do_compile and then rebuild with the right paths in do_install. Add the flags to CARGO_BUILD_FLAGS so that they get used in all calls and do_install no longer does any building. Example from buildstats: PKG TASK ABSDIFF RELDIFF WALLTIME1 -> WALLTIME2 gstreamer1.0-plugins-rs do_install -263.6s -99.0% 266.2s -> 2.7s Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- diff --git a/meta/classes-recipe/cargo_c.bbclass b/meta/classes-recipe/cargo_c.bbclass index e68ac93a61..cd486b2006 100644 --- a/meta/classes-recipe/cargo_c.bbclass +++ b/meta/classes-recipe/cargo_c.bbclass @@ -16,6 +16,13 @@ BASEDEPENDS:append = " cargo-c-native" B = "${WORKDIR}/build" +CARGO_BUILD_FLAGS += "\ + --destdir ${D} \ + --prefix ${prefix} \ + --libdir ${libdir} \ + --library-type cdylib \ + " + do_compile[progress] = "outof:\s+(\d+)/(\d+)" cargo_c_do_compile() { oe_cargo_fix_env @@ -27,11 +34,7 @@ cargo_c_do_compile() { cargo_c_do_install() { oe_cargo_fix_env export RUSTFLAGS="${RUSTFLAGS}" - cargo-cinstall cinstall ${CARGO_BUILD_FLAGS} \ - --destdir ${D} \ - --prefix ${prefix} \ - --libdir ${libdir} \ - --library-type cdylib + cargo-cinstall cinstall ${CARGO_BUILD_FLAGS} } EXPORT_FUNCTIONS do_compile do_install