internal/rosa: migrate early-runtimes to azalea
Test / Create distribution (push) Successful in 53s
Test / Sandbox (push) Successful in 2m41s
Test / ShareFS (push) Successful in 3m50s
Test / Hakurei (push) Successful in 3m58s
Test / Sandbox (race detector) (push) Successful in 5m25s
Test / Hakurei (race detector) (push) Successful in 6m40s
Test / Flake checks (push) Successful in 1m5s

This is fully representable in azalea, so migrate it.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-07-18 23:22:56 +09:00
parent 22e9e85a03
commit 9df1609660
2 changed files with 56 additions and 63 deletions
-59
View File
@@ -11,7 +11,6 @@ import (
var ( var (
_llvmSource = H("llvm-project") _llvmSource = H("llvm-project")
_muslHeaders = H("musl-headers") _muslHeaders = H("musl-headers")
_earlyCompilerRT = H("early-compiler-rt")
_earlyRuntimes = H("early-runtimes") _earlyRuntimes = H("early-runtimes")
_musl = H("musl") _musl = H("musl")
@@ -112,64 +111,6 @@ ln -s \
) )
}) })
native.MustRegister("early-runtimes", func(t Toolchain) (*Metadata, pkg.Artifact) {
meta := Metadata{
Name: "early-runtimes",
Description: "early LLVM runtimes: libunwind, libcxx, libcxxabi",
Dependencies: P{
_earlyCompilerRT,
},
}
_meta, source := t.MustLoad(_llvmSource)
meta.Version = _meta.Version
return &meta, t.NewPackage("early-runtimes", meta.Version, source, &PackageAttr{
Flag: TExclusive,
}, &CMakeHelper{
Append: []string{"runtimes"},
Cache: []KV{
{"ENABLE_LINKER_BUILD_ID", "ON"},
// libc++ not yet available
{"CMAKE_CXX_COMPILER_WORKS", "ON"},
{"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_RUNTIMES", "'libunwind;libcxx;libcxxabi'"},
{"LIBUNWIND_ENABLE_ASSERTIONS", "OFF"},
{"LIBUNWIND_USE_COMPILER_RT", "ON"},
{"LIBCXX_HAS_MUSL_LIBC", "ON"},
{"LIBCXX_USE_COMPILER_RT", "ON"},
{"LIBCXX_CXX_ABI", "libcxxabi"},
{"LIBCXX_ENABLE_STATIC_ABI_LIBRARY", "OFF"},
{"LIBCXX_HARDENING_MODE", "fast"},
{"LIBCXX_HAS_ATOMIC_LIB", "OFF"},
{"LIBCXXABI_USE_COMPILER_RT", "ON"},
{"LIBCXXABI_USE_LLVM_UNWINDER", "ON"},
{"LIBCXXABI_ENABLE_STATIC_UNWINDER", "OFF"},
{"LIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL", "OFF"},
{"LLVM_ENABLE_ZLIB", "FORCE_ON"},
{"LLVM_ENABLE_ZSTD", "FORCE_ON"},
{"LLVM_ENABLE_LIBXML2", "OFF"},
},
SkipTest: true,
},
_pythonEarly,
_zlib,
_zstd,
_earlyCompilerRT,
_kernelHeaders,
)
})
native.MustRegister("llvm", func(t Toolchain) (*Metadata, pkg.Artifact) { native.MustRegister("llvm", func(t Toolchain) (*Metadata, pkg.Artifact) {
meta := Metadata{ meta := Metadata{
Name: "llvm", Name: "llvm",
+52
View File
@@ -16,3 +16,55 @@ package llvm-project {
"path-system-libraries.patch", "path-system-libraries.patch",
]; ];
} }
package early-runtimes {
description = "early LLVM runtimes: libunwind, libcxx, libcxxabi";
source = llvm-project;
exclusive = true;
exec = cmake {
append = [ "runtimes" ];
cache = {
"ENABLE_LINKER_BUILD_ID": "ON";
// libc++ not yet available
"CMAKE_CXX_COMPILER_WORKS": "ON";
"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_RUNTIMES": "'libunwind;libcxx;libcxxabi'";
"LIBUNWIND_ENABLE_ASSERTIONS": "OFF";
"LIBUNWIND_USE_COMPILER_RT": "ON";
"LIBCXX_HAS_MUSL_LIBC": "ON";
"LIBCXX_USE_COMPILER_RT": "ON";
"LIBCXX_CXX_ABI": "libcxxabi";
"LIBCXX_ENABLE_STATIC_ABI_LIBRARY": "OFF";
"LIBCXX_HARDENING_MODE": "fast";
"LIBCXX_HAS_ATOMIC_LIB": "OFF";
"LIBCXXABI_USE_COMPILER_RT": "ON";
"LIBCXXABI_USE_LLVM_UNWINDER": "ON";
"LIBCXXABI_ENABLE_STATIC_UNWINDER": "OFF";
"LIBCXXABI_HAS_CXA_THREAD_ATEXIT_IMPL": "OFF";
"LLVM_ENABLE_ZLIB": "FORCE_ON";
"LLVM_ENABLE_ZSTD": "FORCE_ON";
"LLVM_ENABLE_LIBXML2": "OFF";
};
skipTest = true;
};
inputs = [
python-early,
zlib,
zstd,
early-compiler-rt,
kernel-headers,
];
runtime = [ early-compiler-rt ];
}