summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2025-12-20 00:41:21 +0800
committerruki <[email protected]>2025-12-20 00:41:21 +0800
commit435dbb4c47173a34b29cfc5fd903c406147b332e (patch)
tree53bc4c703a2243148e9520dc54731cec6b650e7a
parent6c159b7950a4d4ded183542453c7e354e4979431 (diff)
improve clang-xx toolchains
-rw-r--r--xmake/toolchains/clang-12/xmake.lua2
-rw-r--r--xmake/toolchains/clang-13/xmake.lua2
-rw-r--r--xmake/toolchains/clang-14/xmake.lua2
-rw-r--r--xmake/toolchains/clang-15/xmake.lua2
-rw-r--r--xmake/toolchains/clang-16/xmake.lua2
-rw-r--r--xmake/toolchains/clang-17/xmake.lua2
-rw-r--r--xmake/toolchains/clang-18/xmake.lua2
-rw-r--r--xmake/toolchains/clang-19/xmake.lua2
-rw-r--r--xmake/toolchains/clang-20/xmake.lua2
-rw-r--r--xmake/toolchains/clang/toolchain_clang.lua55
-rw-r--r--xmake/toolchains/clang/xmake.lua35
11 files changed, 43 insertions, 65 deletions
diff --git a/xmake/toolchains/clang-12/xmake.lua b/xmake/toolchains/clang-12/xmake.lua
index d7c143451..7de29a968 100644
--- a/xmake/toolchains/clang-12/xmake.lua
+++ b/xmake/toolchains/clang-12/xmake.lua
@@ -1,3 +1,3 @@
-includes(path.join(os.scriptdir(), "../clang/toolchain_clang.lua"))
+includes(path.join(os.scriptdir(), "../clang"))
toolchain_clang("12")
diff --git a/xmake/toolchains/clang-13/xmake.lua b/xmake/toolchains/clang-13/xmake.lua
index 779a98d9d..8593959ba 100644
--- a/xmake/toolchains/clang-13/xmake.lua
+++ b/xmake/toolchains/clang-13/xmake.lua
@@ -1,3 +1,3 @@
-includes(path.join(os.scriptdir(), "../clang/toolchain_clang.lua"))
+includes(path.join(os.scriptdir(), "../clang"))
toolchain_clang("13")
diff --git a/xmake/toolchains/clang-14/xmake.lua b/xmake/toolchains/clang-14/xmake.lua
index a0809f3d8..6b77e2d56 100644
--- a/xmake/toolchains/clang-14/xmake.lua
+++ b/xmake/toolchains/clang-14/xmake.lua
@@ -1,3 +1,3 @@
-includes(path.join(os.scriptdir(), "../clang/toolchain_clang.lua"))
+includes(path.join(os.scriptdir(), "../clang"))
toolchain_clang("14")
diff --git a/xmake/toolchains/clang-15/xmake.lua b/xmake/toolchains/clang-15/xmake.lua
index fcff4cdf4..30fbec00a 100644
--- a/xmake/toolchains/clang-15/xmake.lua
+++ b/xmake/toolchains/clang-15/xmake.lua
@@ -1,3 +1,3 @@
-includes(path.join(os.scriptdir(), "../clang/toolchain_clang.lua"))
+includes(path.join(os.scriptdir(), "../clang"))
toolchain_clang("15")
diff --git a/xmake/toolchains/clang-16/xmake.lua b/xmake/toolchains/clang-16/xmake.lua
index ba01bee44..baf2f8cbe 100644
--- a/xmake/toolchains/clang-16/xmake.lua
+++ b/xmake/toolchains/clang-16/xmake.lua
@@ -1,3 +1,3 @@
-includes(path.join(os.scriptdir(), "../clang/toolchain_clang.lua"))
+includes(path.join(os.scriptdir(), "../clang"))
toolchain_clang("16")
diff --git a/xmake/toolchains/clang-17/xmake.lua b/xmake/toolchains/clang-17/xmake.lua
index 9303295a5..28e4f547c 100644
--- a/xmake/toolchains/clang-17/xmake.lua
+++ b/xmake/toolchains/clang-17/xmake.lua
@@ -1,3 +1,3 @@
-includes(path.join(os.scriptdir(), "../clang/toolchain_clang.lua"))
+includes(path.join(os.scriptdir(), "../clang"))
toolchain_clang("17")
diff --git a/xmake/toolchains/clang-18/xmake.lua b/xmake/toolchains/clang-18/xmake.lua
index f1aa1d987..274da52d2 100644
--- a/xmake/toolchains/clang-18/xmake.lua
+++ b/xmake/toolchains/clang-18/xmake.lua
@@ -1,3 +1,3 @@
-includes(path.join(os.scriptdir(), "../clang/toolchain_clang.lua"))
+includes(path.join(os.scriptdir(), "../clang"))
toolchain_clang("18")
diff --git a/xmake/toolchains/clang-19/xmake.lua b/xmake/toolchains/clang-19/xmake.lua
index a1f89fea2..9710fa3bf 100644
--- a/xmake/toolchains/clang-19/xmake.lua
+++ b/xmake/toolchains/clang-19/xmake.lua
@@ -1,3 +1,3 @@
-includes(path.join(os.scriptdir(), "../clang/toolchain_clang.lua"))
+includes(path.join(os.scriptdir(), "../clang"))
toolchain_clang("19")
diff --git a/xmake/toolchains/clang-20/xmake.lua b/xmake/toolchains/clang-20/xmake.lua
index d209a5dae..49c40341a 100644
--- a/xmake/toolchains/clang-20/xmake.lua
+++ b/xmake/toolchains/clang-20/xmake.lua
@@ -1,3 +1,3 @@
-includes(path.join(os.scriptdir(), "../clang/toolchain_clang.lua"))
+includes(path.join(os.scriptdir(), "../clang"))
toolchain_clang("20")
diff --git a/xmake/toolchains/clang/toolchain_clang.lua b/xmake/toolchains/clang/toolchain_clang.lua
deleted file mode 100644
index c73b9d491..000000000
--- a/xmake/toolchains/clang/toolchain_clang.lua
+++ /dev/null
@@ -1,55 +0,0 @@
---!A cross-platform build utility based on Lua
---
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
--- http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- Copyright (C) 2015-present, Xmake Open Source Community.
---
--- @author ruki, romeoxbm
--- @file toolchain_clang.lua
---
-
--- define toolchain
-function toolchain_clang(version)
- local suffix = version and ("-" .. version) or ""
-
- toolchain("clang" .. suffix)
- set_kind("standalone")
- set_homepage("https://clang.llvm.org/")
- set_description("A C language family frontend for LLVM" .. (version and (" (" .. version .. ")") or ""))
-
- set_toolset("cc", "clang" .. suffix)
- set_toolset("cxx", "clang++" .. suffix, "clang" .. suffix)
- set_toolset("ld", "clang++" .. suffix, "clang" .. suffix)
- set_toolset("sh", "clang++" .. suffix, "clang" .. suffix)
- set_toolset("ar", "llvm-ar" .. suffix, "ar")
- set_toolset("strip", "llvm-strip" .. suffix, "strip")
- set_toolset("ranlib", "llvm-ranlib" .. suffix, "ranlib")
- set_toolset("objcopy", "llvm-objcopy" .. suffix, "objcopy")
- set_toolset("nm", "llvm-nm" .. suffix, "nm")
- set_toolset("mm", "clang" .. suffix)
- set_toolset("mxx", "clang++" .. suffix, "clang" .. suffix)
- set_toolset("as", "clang" .. suffix)
- set_toolset("mrc", "llvm-rc" .. suffix)
- set_toolset("dlltool", "llvm-dlltool" .. suffix)
- if is_host("macosx") then
- set_toolset("dsymutil", "dsymutil")
- end
-
- on_check(function (toolchain)
- return import("check")(toolchain, suffix)
- end)
-
- on_load(function (toolchain)
- import("load")(toolchain, suffix)
- end)
-end
diff --git a/xmake/toolchains/clang/xmake.lua b/xmake/toolchains/clang/xmake.lua
index f9df59779..de6b9a211 100644
--- a/xmake/toolchains/clang/xmake.lua
+++ b/xmake/toolchains/clang/xmake.lua
@@ -18,6 +18,39 @@
-- @file xmake.lua
--
-includes(path.join(os.scriptdir(), "toolchain_clang.lua"))
+-- define toolchain
+function toolchain_clang(version)
+ local suffix = version and ("-" .. version) or ""
+ toolchain("clang" .. suffix)
+ set_kind("standalone")
+ set_homepage("https://clang.llvm.org/")
+ set_description("A C language family frontend for LLVM" .. (version and (" (" .. version .. ")") or ""))
+
+ set_toolset("cc", "clang" .. suffix)
+ set_toolset("cxx", "clang++" .. suffix, "clang" .. suffix)
+ set_toolset("ld", "clang++" .. suffix, "clang" .. suffix)
+ set_toolset("sh", "clang++" .. suffix, "clang" .. suffix)
+ set_toolset("ar", "llvm-ar" .. suffix, "ar")
+ set_toolset("strip", "llvm-strip" .. suffix, "strip")
+ set_toolset("ranlib", "llvm-ranlib" .. suffix, "ranlib")
+ set_toolset("objcopy", "llvm-objcopy" .. suffix, "objcopy")
+ set_toolset("nm", "llvm-nm" .. suffix, "nm")
+ set_toolset("mm", "clang" .. suffix)
+ set_toolset("mxx", "clang++" .. suffix, "clang" .. suffix)
+ set_toolset("as", "clang" .. suffix)
+ set_toolset("mrc", "llvm-rc" .. suffix)
+ set_toolset("dlltool", "llvm-dlltool" .. suffix)
+ if is_host("macosx") then
+ set_toolset("dsymutil", "dsymutil")
+ end
+
+ on_check(function (toolchain)
+ return import("toolchains.clang.check", {rootdir = os.programdir()})(toolchain, suffix)
+ end)
+
+ on_load(function (toolchain)
+ import("toolchains.clang.load", {rootdir = os.programdir()})(toolchain, suffix)
+ end)
+end
toolchain_clang()