internal/rosa: migrate early-compiler-rt to azalea
Test / Create distribution (push) Successful in 49s
Test / Sandbox (push) Successful in 2m44s
Test / ShareFS (push) Successful in 3m53s
Test / Hakurei (push) Successful in 4m8s
Test / Sandbox (race detector) (push) Successful in 5m30s
Test / Hakurei (race detector) (push) Successful in 6m39s
Test / Flake checks (push) Successful in 1m5s

Had to do the cmake hack for now due to evaluator limitation with inherited version.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-07-18 23:56:05 +09:00
parent 9df1609660
commit c822ff9aca
2 changed files with 65 additions and 63 deletions
+65
View File
@@ -17,6 +17,71 @@ package llvm-project {
];
}
package early-compiler-rt {
description = "early LLVM runtime: compiler-rt";
source = llvm-project;
exclusive = true;
early = `
LLVM_VERSION_MAJOR="$(cmake -P /dev/stdin <<< '
include(cmake/Modules/LLVMVersion.cmake)
message(NOTICE "${LLVM_VERSION_MAJOR}")
' 2>&1)"
`;
exec = cmake {
append = [ "compiler-rt" ];
cache = {
"ENABLE_LINKER_BUILD_ID": "ON";
// libc++ not yet available
"CMAKE_CXX_COMPILER_TARGET": "";
"LLVM_HOST_TRIPLE": `"${ROSA_TRIPLE}"`;
"LLVM_DEFAULT_TARGET_TRIPLE": `"${ROSA_TRIPLE}"`;
"LLVM_ENABLE_RTTI": "ON";
"LLVM_BUILD_LLVM_DYLIB": "ON";
"LLVM_LINK_LLVM_DYLIB": "ON";
"LLVM_ENABLE_PER_TARGET_RUNTIME_DIR": "ON";
"COMPILER_RT_BUILD_BUILTINS": "ON";
"COMPILER_RT_DEFAULT_TARGET_ONLY": "ON";
"COMPILER_RT_USE_BUILTINS_LIBRARY": "ON";
"COMPILER_RT_SANITIZERS_TO_BUILD": "asan";
"COMPILER_RT_BUILD_GWP_ASAN": "OFF";
// does not work without libunwind
"COMPILER_RT_BUILD_CTX_PROFILE": "OFF";
"COMPILER_RT_BUILD_LIBFUZZER": "OFF";
"COMPILER_RT_BUILD_MEMPROF": "OFF";
"COMPILER_RT_BUILD_PROFILE": "OFF";
"COMPILER_RT_BUILD_XRAY": "OFF";
};
skipTest = true;
postInstall = `
mkdir -p "/work/system/lib/clang/$LLVM_VERSION_MAJOR/lib/"
ln -s \
"../../../${ROSA_TRIPLE}" \
"/work/system/lib/clang/$LLVM_VERSION_MAJOR/lib/"
ln -s \
"clang_rt.crtbegin-`+linuxArch+`.o" \
"/work/system/lib/${ROSA_TRIPLE}/crtbeginS.o"
ln -s \
"clang_rt.crtend-`+linuxArch+`.o" \
"/work/system/lib/${ROSA_TRIPLE}/crtendS.o"
`;
};
inputs = [
python-early,
musl-headers,
kernel-headers,
];
runtime = [ musl ];
}
package early-runtimes {
description = "early LLVM runtimes: libunwind, libcxx, libcxxabi";
source = llvm-project;