redox/recipes/dev/lld21/recipe.toml
2026-02-13 09:29:15 +07:00

68 lines
1.5 KiB
TOML

[source]
same_as = "../llvm21"
[build]
template = "custom"
dependencies = [
"llvm21",
"zstd",
]
dev-dependencies = [
"llvm21.dev",
"llvm21.runtime",
"host:llvm21",
"host:llvm21.dev",
"host:llvm21.runtime",
"host:xz",
"host:libarchive", # workaround for cmake error
]
script = """
DYNAMIC_INIT
ARCH="$(echo "${TARGET}" | cut -d - -f1)"
generate_cookbook_cmake_file $COOKBOOK_HOST_TARGET "" "$COOKBOOK_TOOLCHAIN" native.cmake
COOKBOOK_CMAKE_FLAGS+=(
-DLLVM_ROOT="${COOKBOOK_SYSROOT}"
-DCROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE=$(realpath native.cmake)"
-DLLVM_TABLEGEN_EXE=${COOKBOOK_TOOLCHAIN}/bin/llvm-tblgen
# the shared options from llvm
-DCMAKE_CXX_FLAGS="--std=gnu++11"
-DBUILD_SHARED_LIBS=False
-DLLVM_BUILD_EXAMPLES=Off
-DLLVM_BUILD_TESTS=Off
-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_OPTIMIZED_TABLEGEN=On
-DLLVM_TARGET_ARCH=$ARCH
-DLLVM_TOOLS_INSTALL_DIR=bin
-DLLVM_UTILS_INSTALL_DIR=bin
-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
"""
[[optional-packages]]
name = "dev"
dependencies = []
files = [
"usr/include/lld*/**",
"usr/lib/liblld*.a",
"usr/lib/cmake/lld/**",
]