mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-21 20:34:17 +08:00
66 lines
1.6 KiB
TOML
66 lines
1.6 KiB
TOML
[source]
|
|
git = "https://gitlab.redox-os.org/redox-os/llvm-project.git"
|
|
upstream = "https://github.com/rust-lang/llvm-project.git"
|
|
branch = "redox-2025-10-03"
|
|
shallow_clone = true
|
|
|
|
[build]
|
|
template = "custom"
|
|
dependencies = [
|
|
"zlib",
|
|
"libxml2",
|
|
]
|
|
dev-dependencies = [
|
|
"host:xz",
|
|
"host:libarchive",
|
|
]
|
|
script = """
|
|
DYNAMIC_INIT
|
|
|
|
COOKBOOK_CMAKE_FLAGS+=(
|
|
-DCMAKE_CXX_FLAGS="--std=gnu++11"
|
|
-DBUILD_SHARED_LIBS=False
|
|
-DLLVM_LINK_LLVM_DYLIB=On
|
|
-DCROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE=$(realpath "${COOKBOOK_RECIPE}/native.cmake")"
|
|
-DLLVM_BUILD_EXAMPLES=Off
|
|
-DLLVM_BUILD_TESTS=Off
|
|
-DLLVM_BUILD_UTILS=On
|
|
-DLLVM_DEFAULT_TARGET_TRIPLE="${TARGET}"
|
|
-DLLVM_ENABLE_LTO=Off
|
|
-DLLVM_ENABLE_RTTI=On
|
|
-DLLVM_ENABLE_THREADS=On
|
|
-DLLVM_INCLUDE_EXAMPLES=Off
|
|
-DLLVM_INCLUDE_TESTS=Off
|
|
-DLLVM_INSTALL_UTILS=On
|
|
-DLLVM_OPTIMIZED_TABLEGEN=On
|
|
-DLLVM_TARGET_ARCH="$(echo "${TARGET}" | cut -d - -f1)"
|
|
-DLLVM_TARGETS_TO_BUILD="X86;AArch64"
|
|
-DLLVM_TOOL_LLVM_COV_BUILD=On
|
|
-DLLVM_TOOL_LLVM_PROFDATA_BUILD=On
|
|
-DLLVM_TOOLS_INSTALL_DIR=bin
|
|
-DLLVM_UTILS_INSTALL_DIR=bin
|
|
-DUNIX=1
|
|
-DLLVM_ENABLE_PROJECTS="llvm"
|
|
)
|
|
|
|
# Native tablegen build fails with too many jobs, limit to 16
|
|
COOKBOOK_MAKE_JOBS="$(( ${COOKBOOK_MAKE_JOBS} > 16 ? 16 : ${COOKBOOK_MAKE_JOBS} ))"
|
|
COOKBOOK_SOURCE="$COOKBOOK_SOURCE/llvm"
|
|
cookbook_cmake
|
|
"""
|
|
|
|
[[optional-packages]]
|
|
name = "dev"
|
|
dependencies = [ ".runtime" ]
|
|
files = [
|
|
"usr/include/**",
|
|
"usr/lib/*.a",
|
|
"usr/lib/cmake/**",
|
|
]
|
|
|
|
[[optional-packages]]
|
|
name = "runtime"
|
|
files = [
|
|
"usr/bin/**",
|
|
]
|