Skip to main content

run_fat_build

Function run_fat_build 

Source
pub fn run_fat_build(
    workspace_root: &Path,
    package: &str,
    _target: Target,
    shim_path: &Path,
    cache_dir: &Path,
    linker_capture: Option<&LinkerCaptureConfig<'_>>,
) -> Result<()>
Expand description

Spawn a cargo build for the given target with RUSTC_WORKSPACE_WRAPPER pointed at shim_path and WHISKER_RUSTC_CACHE_DIR pointed at cache_dir. Inherits stdout/stderr so cargo’s progress is visible. After the build completes successfully, load_captured_args can read the cache.

When linker_capture is Some(_), the build also installs the linker shim by setting RUSTFLAGS=-Clinker=<shim> plus the shim’s two env vars. The two captures (rustc-args and linker-args) then both fill up during the same fat build, and Tier 1’s thin_rebuild_obj can replay them together.

target is currently a hint only; the cargo command we run is the host build (cargo build -p <pkg>). I4g-5 will switch to the platform-specific whisker-build invocations once thin rebuild is wired up.