redox/recipes/dev/llvm-rt21/recipe.toml
2026-10-28 12:11:53 +07:00

55 lines
1.6 KiB
TOML

[source]
same_as = "../llvm21"
[build]
template = "custom"
compiler = "clang"
script = """
DYNAMIC_INIT
generate_cookbook_cmake_file "$COOKBOOK_HOST_TARGET" "" "$COOKBOOK_TOOLCHAIN" native.cmake
COOKBOOK_CMAKE_FLAGS+=(
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind"
-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY
# unused compiler-rt flags, disabled for now to prevent runtime mixups
-DCOMPILER_RT_BUILD_CRT=ON
-DCOMPILER_RT_BUILD_ORC=OFF
-DCOMPILER_RT_BUILD_XRAY=OFF
-DCOMPILER_RT_BUILD_MEMPROF=OFF
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF
-DCOMPILER_RT_BUILD_SANITIZERS=OFF
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON
-DLIBCXX_USE_COMPILER_RT=OFF
-DLIBCXX_ENABLE_SHARED=ON
-DLIBCXX_ENABLE_LOCALIZATION=OFF # TODO: *_l functions
-DLIBCXX_ENABLE_FILESYSTEM=OFF # TODO: fstream require locales
-DLIBCXX_ENABLE_WIDE_CHARACTERS=OFF # TODO: wsctof, wsctold
-DLIBCXXABI_USE_COMPILER_RT=OFF
-DLIBCXXABI_ENABLE_SHARED=ON
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF # libgcc contains unwinder
-DLIBUNWIND_USE_COMPILER_RT=OFF
-DLIBUNWIND_ENABLE_SHARED=ON
-DCOMPILER_RT_INSTALL_PATH="/usr/lib/clang/21"
# the shared options from llvm
-DCMAKE_CXX_FLAGS="--std=gnu++11"
-DLLVM_DEFAULT_TARGET_TRIPLE="${TARGET}"
-DLLVM_INCLUDE_DOCS=Off
-DLLVM_INCLUDE_EXAMPLES=Off
-DLLVM_INCLUDE_TESTS=Off
-DUNIX=1
)
COOKBOOK_SOURCE="$COOKBOOK_SOURCE/runtimes"
COOKBOOK_CMAKE_FLAGS+=(
-DCROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE=$(realpath native.cmake)"
)
cookbook_cmake
"""