aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/llvm.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-04-12 22:57:04 +0900
committerOphestra <cat@gensokyo.uk>2026-04-12 22:57:04 +0900
commit081d6b463cf9c71fd87eb089ab2a2fac5722e9e8 (patch)
treec22e6878d200236ff8779ab5f96ccf4958730c81 /internal/rosa/llvm.go
parent11b3171180cbc004d0d5aa0a33871d44e08a9f82 (diff)
internal/rosa/llvm: libclc artifact
This is built independently of llvm build system to avoid having to build llvm again. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/llvm.go')
-rw-r--r--internal/rosa/llvm.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/internal/rosa/llvm.go b/internal/rosa/llvm.go
index 62375954..6e34eb2f 100644
--- a/internal/rosa/llvm.go
+++ b/internal/rosa/llvm.go
@@ -42,6 +42,7 @@ const (
llvmRuntimeLibc
llvmRuntimeLibcxx
llvmRuntimeLibcxxABI
+ llvmRuntimeLibclc
llvmAll = 1<<iota - 1
llvmRuntimeAll = llvmAll - (2 * llvmProjectAll) - 1
@@ -65,6 +66,8 @@ func llvmFlagName(flag int) string {
return "libcxx"
case llvmRuntimeLibcxxABI:
return "libcxxabi"
+ case llvmRuntimeLibclc:
+ return "libclc"
default:
panic("invalid flag " + strconv.Itoa(flag))
@@ -541,6 +544,22 @@ func init() {
ID: 1830,
}
+
+ artifactsM[Libclc] = Metadata{
+ f: func(t Toolchain) (pkg.Artifact, string) {
+ return t.newLLVMVariant("libclc", &llvmAttr{
+ cmake: []KV{
+ {"LIBCLC_TARGETS_TO_BUILD", "all"},
+ },
+ append: []string{"libclc"},
+ script: "ninja test",
+ }), llvmVersion
+ },
+
+ Name: "libclc",
+ Description: "an open source, BSD/MIT dual licensed implementation of the library requirements of the OpenCL C programming language",
+ Website: "https://libclc.llvm.org/",
+ }
}
var (