From 46f98d12d6350b3efc403872cd1b1015aec0607c Mon Sep 17 00:00:00 2001 From: Ophestra Date: Mon, 13 Apr 2026 23:38:11 +0900 Subject: [PATCH] internal/rosa/llvm: remove conditional flags in helper The llvm helper is a remnant from very early days, and ended up not being very useful, but was never removed. This change begins its removal, without changing the resulting artifacts for now. Signed-off-by: Ophestra --- internal/rosa/llvm.go | 69 +++++++++++++------------------------------ 1 file 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++