From 036cba5208cb1570c48bb65063126e386925597f Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Thu, 25 Jan 2024 15:07:47 +0100 Subject: [PATCH 1/2] Use cargo env vars to build drivers with opt-level=s and panic=abort --- recipes/core/drivers-initfs/recipe.toml | 10 ++++------ recipes/core/drivers/recipe.toml | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/recipes/core/drivers-initfs/recipe.toml b/recipes/core/drivers-initfs/recipe.toml index 0f6fd6a97..3d10a4175 100644 --- a/recipes/core/drivers-initfs/recipe.toml +++ b/recipes/core/drivers-initfs/recipe.toml @@ -47,15 +47,13 @@ case "${TARGET}" in esac mkdir -pv "${COOKBOOK_STAGE}/bin" +export CARGO_PROFILE_RELEASE_OPT_LEVEL=s +export CARGO_PROFILE_RELEASE_PANIC=abort for bin in "${BINS[@]}" do - "${COOKBOOK_CARGO}" rustc --release \ + "${COOKBOOK_CARGO}" build --release \ --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ - -p "${bin}" \ - --bin "${bin}" \ - -- \ - -C opt-level=s \ - -C panic=abort + -p "${bin}" cp -v "target/${TARGET}/release/${bin}" "${COOKBOOK_STAGE}/bin" done diff --git a/recipes/core/drivers/recipe.toml b/recipes/core/drivers/recipe.toml index 076d703e2..024306fe4 100644 --- a/recipes/core/drivers/recipe.toml +++ b/recipes/core/drivers/recipe.toml @@ -32,15 +32,13 @@ esac #Build each driver in the list mkdir -pv "${COOKBOOK_STAGE}/bin" +export CARGO_PROFILE_RELEASE_OPT_LEVEL=s +export CARGO_PROFILE_RELEASE_PANIC=abort for bin in "${BINS[@]}" do - "${COOKBOOK_CARGO}" rustc --release \ + "${COOKBOOK_CARGO}" build --release \ --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ - -p "${bin}" \ - --bin "${bin}" \ - -- \ - -C opt-level=s \ - -C panic=abort + -p "${bin}" cp -v "target/${TARGET}/release/${bin}" "${COOKBOOK_STAGE}/bin" done From 66730fed634f4b3d37ba1a1c5a4dc7cf94ac55b8 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Thu, 25 Jan 2024 15:14:01 +0100 Subject: [PATCH 2/2] Build all drivers in parallel --- recipes/core/drivers-initfs/recipe.toml | 6 +++--- recipes/core/drivers/recipe.toml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/core/drivers-initfs/recipe.toml b/recipes/core/drivers-initfs/recipe.toml index 3d10a4175..e1e91f5bb 100644 --- a/recipes/core/drivers-initfs/recipe.toml +++ b/recipes/core/drivers-initfs/recipe.toml @@ -49,11 +49,11 @@ esac mkdir -pv "${COOKBOOK_STAGE}/bin" export CARGO_PROFILE_RELEASE_OPT_LEVEL=s export CARGO_PROFILE_RELEASE_PANIC=abort +"${COOKBOOK_CARGO}" build --release \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + $(for bin in "${BINS[@]}"; do echo "-p" "${bin}"; done) for bin in "${BINS[@]}" do - "${COOKBOOK_CARGO}" build --release \ - --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ - -p "${bin}" cp -v "target/${TARGET}/release/${bin}" "${COOKBOOK_STAGE}/bin" done diff --git a/recipes/core/drivers/recipe.toml b/recipes/core/drivers/recipe.toml index 024306fe4..cccd27290 100644 --- a/recipes/core/drivers/recipe.toml +++ b/recipes/core/drivers/recipe.toml @@ -34,11 +34,11 @@ esac mkdir -pv "${COOKBOOK_STAGE}/bin" export CARGO_PROFILE_RELEASE_OPT_LEVEL=s export CARGO_PROFILE_RELEASE_PANIC=abort +"${COOKBOOK_CARGO}" build --release \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + $(for bin in "${BINS[@]}"; do echo "-p" "${bin}"; done) for bin in "${BINS[@]}" do - "${COOKBOOK_CARGO}" build --release \ - --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ - -p "${bin}" cp -v "target/${TARGET}/release/${bin}" "${COOKBOOK_STAGE}/bin" done