diff options
| author | ruki <[email protected]> | 2025-12-20 00:41:21 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-12-20 00:41:21 +0800 |
| commit | 435dbb4c47173a34b29cfc5fd903c406147b332e (patch) | |
| tree | 53bc4c703a2243148e9520dc54731cec6b650e7a | |
| parent | 6c159b7950a4d4ded183542453c7e354e4979431 (diff) | |
improve clang-xx toolchains
| -rw-r--r-- | xmake/toolchains/clang-12/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/clang-13/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/clang-14/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/clang-15/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/clang-16/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/clang-17/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/clang-18/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/clang-19/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/clang-20/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/clang/toolchain_clang.lua | 55 | ||||
| -rw-r--r-- | xmake/toolchains/clang/xmake.lua | 35 |
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() |
