Merge branch 'aarch64-rust' into 'master'

Make rust config configurable by target

See merge request redox-os/redox!1966
This commit is contained in:
Jeremy Soller 2026-03-01 20:56:38 -07:00
commit 71e05d987d
2 changed files with 13 additions and 12 deletions

View File

@ -1,13 +1,11 @@
[llvm]
download-ci-llvm = false
static-libstdcpp = false
targets = "X86"
experimental-targets = ""
link-shared = true
[build]
host = ["x86_64-unknown-redox"]
target = ["x86_64-unknown-redox"]
host = ["COOKBOOK_TARGET"]
target = ["COOKBOOK_TARGET"]
submodules = false
docs = false
tools = ["cargo", "clippy", "rustdoc", "rustfmt", "src"]
@ -22,11 +20,11 @@ sysconfdir = "etc"
backtrace = false
codegen-tests = false
[target.x86_64-unknown-redox]
cc = "x86_64-unknown-redox-gcc"
cxx = "x86_64-unknown-redox-g++"
ar = "x86_64-unknown-redox-ar"
linker = "x86_64-unknown-redox-gcc"
[target.COOKBOOK_TARGET]
cc = "COOKBOOK_GNU_TARGET-gcc"
cxx = "COOKBOOK_GNU_TARGET-g++"
ar = "COOKBOOK_GNU_TARGET-ar"
linker = "COOKBOOK_GNU_TARGET-gcc"
rpath = false
crt-static = false
llvm-config = "COOKBOOK_SYSROOT/bin/llvm-config"

View File

@ -28,13 +28,14 @@ else
DYNAMIC_INIT
# Linker flags for stage2 compiler (host -> target)
export LDFLAGS_x86_64_unknown_redox="${LDFLAGS}" # LLVM
export CARGO_TARGET_X86_64_UNKNOWN_REDOX_RUSTFLAGS="\
ARCH="${TARGET%%-*}"
export LDFLAGS_${ARCH}_unknown_redox="${LDFLAGS}" # LLVM
export CARGO_TARGET_${ARCH}_UNKNOWN_REDOX_RUSTFLAGS="\
-Clink-args=-L${COOKBOOK_SYSROOT}/lib \
-Clink-args=-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib \
-Clink-args=-lz -Clink-args=-lzstd"
# Hack for Rust errorneusly running `llvm-config --version` on cross compiled llvm-config
cat "${COOKBOOK_ROOT}/bin/x86_64-unknown-redox-llvm-config" > "${COOKBOOK_SYSROOT}/bin/llvm-config"
cat "${COOKBOOK_ROOT}/bin/${TARGET}-llvm-config" > "${COOKBOOK_SYSROOT}/bin/llvm-config"
# Hack for Rust stage1 being dynamically linked with LLVM in prefix toolchain
export LD_LIBRARY_PATH="${COOKBOOK_HOST_SYSROOT}/lib:${LD_LIBRARY_PATH}"
# Linker flags for stage1 compiler (host -> host)
@ -47,6 +48,8 @@ export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS="${RUSTFLAGS_BOOTSTRAP}"
cat ${COOKBOOK_RECIPE}/config.toml > config.toml
sed -i "s|COOKBOOK_SYSROOT|${COOKBOOK_SYSROOT}|g" config.toml
sed -i "s|COOKBOOK_TOOLCHAIN|${COOKBOOK_HOST_SYSROOT}|g" config.toml
sed -i "s|COOKBOOK_TARGET|${TARGET}|g" config.toml
sed -i "s|COOKBOOK_GNU_TARGET|${GNU_TARGET}|g" config.toml
fi