mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-21 04:14:17 +08:00
56 lines
1.7 KiB
TOML
56 lines
1.7 KiB
TOML
[source]
|
|
git = "https://gitlab.redox-os.org/redox-os/rust.git"
|
|
branch = "redox-2025-10-03"
|
|
shallow_clone = true
|
|
|
|
[build]
|
|
template = "custom"
|
|
dependencies = [
|
|
"llvm21",
|
|
"zlib",
|
|
]
|
|
dev-dependencies = [
|
|
"llvm21.dev",
|
|
"llvm21.runtime",
|
|
"host:llvm21",
|
|
"host:llvm21.dev",
|
|
"host:llvm21.runtime",
|
|
]
|
|
|
|
script = """
|
|
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="\
|
|
-Clink-args=-L${COOKBOOK_SYSROOT}/lib \
|
|
-Clink-args=-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib \
|
|
-Clink-args=-lz"
|
|
# 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"
|
|
# Linker flags for stage1 compiler (host -> host)
|
|
export RUSTFLAGS_BOOTSTRAP="\
|
|
-Clink-args=-L${COOKBOOK_TOOLCHAIN}/lib \
|
|
-Clink-args=-Wl,-rpath-link,${COOKBOOK_TOOLCHAIN}/lib"
|
|
export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS="${RUSTFLAGS_BOOTSTRAP}"
|
|
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS="${RUSTFLAGS_BOOTSTRAP}"
|
|
|
|
# Don't poison the stage1 compiler (host -> host)
|
|
unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF RUSTFLAGS STRIP
|
|
python3 "${COOKBOOK_SOURCE}/x.py" install \
|
|
--config "${COOKBOOK_RECIPE}/config.toml" \
|
|
--jobs $(nproc)
|
|
|
|
mkdir -p "${COOKBOOK_STAGE}"/usr
|
|
rsync -av --delete "${COOKBOOK_BUILD}"/install/* "${COOKBOOK_STAGE}"/usr/
|
|
# TODO: rustdoc
|
|
"""
|
|
|
|
[package]
|
|
dependencies = [
|
|
"cargo"
|
|
]
|
|
# TODO: Not implemented
|
|
# version_script = """
|
|
# printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
|
# """
|