mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-17 23:44:17 +08:00
Merge branch 'aarch64-rust' into 'master'
Make rust config configurable by target See merge request redox-os/redox!1966
This commit is contained in:
commit
71e05d987d
@ -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"
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user