FDS/OS 1.0
This commit is contained in:
Executable
+24
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# Preserve normal Cargo target/linker flags and normalize embedded source paths.
|
||||
source "$(dirname -- "${BASH_SOURCE[0]}")/lib.sh"
|
||||
cd "$FDS_ROOT"
|
||||
fds_cargo_home=${CARGO_HOME:-$HOME/.cargo}
|
||||
fds_rustup_home=${RUSTUP_HOME:-$HOME/.rustup}
|
||||
mappings=("$FDS_ROOT=/usr/src/fds" "$fds_rustup_home=/usr/src/fds/rustup")
|
||||
for registry in "$fds_cargo_home"/registry/src/*; do
|
||||
[[ -d $registry ]] || continue
|
||||
mappings+=("$registry=/usr/src/fds/crates")
|
||||
done
|
||||
flags=
|
||||
for mapping in "${mappings[@]}"; do
|
||||
# This creates TOML data passed as one argument, not executable shell text.
|
||||
escaped=${mapping//\\/\\\\}
|
||||
escaped=${escaped//\"/\\\"}
|
||||
flags+="\"--remap-path-prefix=$escaped\","
|
||||
done
|
||||
# Cargo merges these arrays with the configured target flags, including static
|
||||
# CRT and self-contained linking. The flags participate in Cargo's cache key.
|
||||
exec cargo \
|
||||
--config "target.aarch64-unknown-linux-musl.rustflags=[$flags]" \
|
||||
--config "target.x86_64-unknown-linux-gnu.rustflags=[$flags]" \
|
||||
build "$@"
|
||||
Reference in New Issue
Block a user