diff --git a/local/scripts/build-redbear.sh b/local/scripts/build-redbear.sh index e5f480e64f..183bf0a5e6 100755 --- a/local/scripts/build-redbear.sh +++ b/local/scripts/build-redbear.sh @@ -206,12 +206,21 @@ redbear_check_sweep() { log "Check-sweep: cargo check --target $target (pre-build type/borrow check)" local -a manifests=() names=() local d + # Forks that do NOT build for the redox userspace target — checking them with + # --target x86_64-unknown-redox is meaningless (false positives). bootloader + # is a bare-metal/UEFI crate built for its own custom targets + # (targets/*.json), so skip it here. + local CHECK_SKIP_FORKS=" bootloader " # 1) Fork sources — every target builds these; the recurring compile-error # source (relibc, base, ...). A relibc error here would otherwise only # surface during the prefix rebuild after a multi-minute cook. for d in "$PROJECT_ROOT"/local/sources/*/; do [ -f "${d}Cargo.toml" ] || continue - manifests+=("${d}Cargo.toml"); names+=("$(basename "$d")") + local fork_name; fork_name="$(basename "$d")" + case "$CHECK_SKIP_FORKS" in *" $fork_name "*) + log " (skip $fork_name — not built for $target)"; continue ;; + esac + manifests+=("${d}Cargo.toml"); names+=("$fork_name") done # 2) Local Rust recipes that are in THIS config (target-scoped — a mini build # does not check graphics recipes).