aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--internal/rosa/llvm.go69
1 files changed, 21 insertions, 48 deletions
diff --git a/internal/rosa/llvm.go b/internal/rosa/llvm.go
index 9d7b3da5..1db7e6d7 100644
--- a/internal/rosa/llvm.go
+++ b/internal/rosa/llvm.go
@@ -114,54 +114,6 @@ func (t Toolchain) newLLVMVariant(variant string, attr *llvmAttr) pkg.Artifact {
cmakeAppend := []string{"llvm"}
if attr.append != nil {
cmakeAppend = attr.append
- } else {
- cache = append(cache, []KV{
- {"LLVM_ENABLE_LIBCXX", "ON"},
- {"LLVM_USE_LINKER", "lld"},
-
- {"LLVM_INSTALL_BINUTILS_SYMLINKS", "ON"},
- {"LLVM_INSTALL_CCTOOLS_SYMLINKS", "ON"},
-
- {"LLVM_LIT_ARGS", "'--verbose'"},
- }...)
- }
-
- if attr.pr&llvmProjectClang != 0 {
- cache = append(cache, []KV{
- {"CLANG_DEFAULT_LINKER", "lld"},
- {"CLANG_DEFAULT_CXX_STDLIB", "libc++"},
- {"CLANG_DEFAULT_RTLIB", "compiler-rt"},
- {"CLANG_DEFAULT_UNWINDLIB", "libunwind"},
- }...)
- }
- if attr.pr&llvmProjectLld != 0 {
- script += `
-ln -s ld.lld /work/system/bin/ld
-`
- }
- if attr.pr&llvmRuntimeCompilerRT != 0 {
- if attr.append == nil {
- cache = append(cache, []KV{
- {"COMPILER_RT_USE_LLVM_UNWINDER", "ON"},
- }...)
- }
- }
- if attr.pr&llvmRuntimeLibunwind != 0 {
- cache = append(cache, []KV{
- {"LIBUNWIND_USE_COMPILER_RT", "ON"},
- }...)
- }
- if attr.pr&llvmRuntimeLibcxx != 0 {
- cache = append(cache, []KV{
- {"LIBCXX_HAS_MUSL_LIBC", "ON"},
- {"LIBCXX_USE_COMPILER_RT", "ON"},
- }...)
- }
- if attr.pr&llvmRuntimeLibcxxABI != 0 {
- cache = append(cache, []KV{
- {"LIBCXXABI_USE_COMPILER_RT", "ON"},
- {"LIBCXXABI_USE_LLVM_UNWINDER", "ON"},
- }...)
}
return t.NewPackage("llvm", llvmVersion, newFromGitHub(
@@ -294,6 +246,12 @@ ln -s \
),
pr: llvmRuntimeLibunwind | llvmRuntimeLibcxx | llvmRuntimeLibcxxABI,
cmake: slices.Concat([]KV{
+ {"LIBUNWIND_USE_COMPILER_RT", "ON"},
+ {"LIBCXX_HAS_MUSL_LIBC", "ON"},
+ {"LIBCXX_USE_COMPILER_RT", "ON"},
+ {"LIBCXXABI_USE_COMPILER_RT", "ON"},
+ {"LIBCXXABI_USE_LLVM_UNWINDER", "ON"},
+
// libc++ not yet available
{"CMAKE_CXX_COMPILER_WORKS", "ON"},
@@ -315,6 +273,19 @@ ln -s \
"LDFLAGS="+earlyLDFLAGS(false),
),
cmake: slices.Concat([]KV{
+ {"LLVM_ENABLE_LIBCXX", "ON"},
+ {"LLVM_USE_LINKER", "lld"},
+
+ {"LLVM_INSTALL_BINUTILS_SYMLINKS", "ON"},
+ {"LLVM_INSTALL_CCTOOLS_SYMLINKS", "ON"},
+
+ {"LLVM_LIT_ARGS", "'--verbose'"},
+
+ {"CLANG_DEFAULT_LINKER", "lld"},
+ {"CLANG_DEFAULT_CXX_STDLIB", "libc++"},
+ {"CLANG_DEFAULT_RTLIB", "compiler-rt"},
+ {"CLANG_DEFAULT_UNWINDLIB", "libunwind"},
+
{"LLVM_TARGETS_TO_BUILD", target},
{"CMAKE_CROSSCOMPILING", "OFF"},
{"CXX_SUPPORTS_CUSTOM_LINKER", "ON"},
@@ -325,6 +296,8 @@ ln -s \
runtimes,
},
script: `
+ln -s ld.lld /work/system/bin/ld
+
ln -s clang /work/system/bin/cc
ln -s clang++ /work/system/bin/c++