aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/rosa/llvm.go67
-rw-r--r--internal/rosa/package/llvm/package.az52
2 files changed, 56 insertions, 63 deletions
diff --git a/internal/rosa/llvm.go b/internal/rosa/llvm.go
index 28415ac6..9228da83 100644
--- a/internal/rosa/llvm.go
+++ b/internal/rosa/llvm.go
@@ -9,11 +9,10 @@ import (
)
var (
- _llvmSource = H("llvm-project")
- _muslHeaders = H("musl-headers")
- _earlyCompilerRT = H("early-compiler-rt")
- _earlyRuntimes = H("early-runtimes")
- _musl = H("musl")
+ _llvmSource = H("llvm-project")
+ _muslHeaders = H("musl-headers")
+ _earlyRuntimes = H("early-runtimes")
+ _musl = H("musl")
_bash = H("bash")
_awk = H("awk")
@@ -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) {
meta := Metadata{
Name: "llvm",
diff --git a/internal/rosa/package/llvm/package.az b/internal/rosa/package/llvm/package.az
index 1f93e352..feefeba8 100644
--- a/internal/rosa/package/llvm/package.az
+++ b/internal/rosa/package/llvm/package.az
@@ -16,3 +16,55 @@ package llvm-project {
"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 ];
+}