Merge branch 'fix-rust-comp' into 'master'

Fix rust recipe linker flag, remove libxml2 from llvm

See merge request redox-os/redox!1973
This commit is contained in:
Jeremy Soller 2026-03-04 09:51:12 -07:00
commit c0d6b2dd44
3 changed files with 3 additions and 25 deletions

View File

@ -10,8 +10,6 @@ dependencies = [
dev-dependencies = [
"llvm21.dev",
"llvm21.runtime",
"host:xz",
"host:libarchive", # workaround for cmake error
]
script = """
DYNAMIC_INIT
@ -28,6 +26,7 @@ fi
COOKBOOK_CMAKE_FLAGS+=(
-DLLVM_ROOT="${COOKBOOK_SYSROOT}"
-DCROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE=$(realpath native.cmake)"
-DLLVM_USE_STATIC_ZSTD=On
# the shared options from llvm
-DCMAKE_CXX_FLAGS="--std=gnu++11"
@ -47,13 +46,6 @@ COOKBOOK_CMAKE_FLAGS+=(
-DUNIX=1
)
if [ "${COOKBOOK_HOST_SYSROOT}" = "/usr" ]; then
# avoid linking as much as possible during bootstrapping
COOKBOOK_CMAKE_FLAGS+=(
-DLLVM_USE_STATIC_ZSTD=On
)
fi
COOKBOOK_SOURCE="$COOKBOOK_SOURCE/lld"
cookbook_cmake

View File

@ -8,11 +8,6 @@ shallow_clone = true
template = "custom"
dependencies = [
"zstd",
"libxml2",
]
dev-dependencies = [
"host:xz",
"host:libarchive", # workaround for cmake error
]
script = """
DYNAMIC_INIT
@ -41,6 +36,7 @@ COOKBOOK_CMAKE_FLAGS+=(
-DLLVM_TARGETS_TO_BUILD="$LLVM_TARGETS_TO_BUILD"
-DLLVM_ENABLE_ZLIB=Off
-DLLVM_USE_STATIC_ZSTD=On
-DLLVM_ENABLE_LIBXML2=Off
# the rest of options that shared to clang
-DCROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE=$(realpath "${COOKBOOK_RECIPE}/native.cmake")"
@ -61,13 +57,6 @@ COOKBOOK_CMAKE_FLAGS+=(
-DUNIX=1
)
if [ "${COOKBOOK_HOST_SYSROOT}" = "/usr" ]; then
# avoid linking as much as possible during bootstrapping
COOKBOOK_CMAKE_FLAGS+=(
-DLLVM_ENABLE_LIBXML2=Off
)
fi
COOKBOOK_SOURCE="$COOKBOOK_SOURCE/llvm"
cookbook_cmake
"""

View File

@ -30,10 +30,7 @@ DYNAMIC_INIT
# Linker flags for stage2 compiler (host -> target)
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"
export CARGO_TARGET_${ARCH^^}_UNKNOWN_REDOX_RUSTFLAGS="${RUSTFLAGS}" # Rust
# Hack for Rust errorneusly running `llvm-config --version` on cross compiled 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