diff options
| author | ruki <[email protected]> | 2025-12-20 00:41:52 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-12-20 00:41:52 +0800 |
| commit | 6e0596421078eb7f50ef4fb33bb9227e425e2233 (patch) | |
| tree | 1ef73480fd98a1b21f3f49c58beb94c401759a6d | |
| parent | 435dbb4c47173a34b29cfc5fd903c406147b332e (diff) | |
improve gcc toolchains
| -rw-r--r-- | xmake/toolchains/gcc-10/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/gcc-11/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/gcc-12/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/gcc-13/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/gcc-14/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/gcc-15/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/gcc-4.8/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/gcc-4.9/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/gcc-8/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/gcc-9/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/toolchains/gcc/toolchain_gcc.lua | 64 | ||||
| -rw-r--r-- | xmake/toolchains/gcc/xmake.lua | 45 |
12 files changed, 54 insertions, 75 deletions
diff --git a/xmake/toolchains/gcc-10/xmake.lua b/xmake/toolchains/gcc-10/xmake.lua index c94754290..8f18c9ffb 100644 --- a/xmake/toolchains/gcc-10/xmake.lua +++ b/xmake/toolchains/gcc-10/xmake.lua @@ -1,3 +1,3 @@ -includes(path.join(os.scriptdir(), "../gcc/toolchain_gcc.lua")) +includes(path.join(os.scriptdir(), "../gcc")) toolchain_gcc("10") diff --git a/xmake/toolchains/gcc-11/xmake.lua b/xmake/toolchains/gcc-11/xmake.lua index 8ffda8d7b..713c105bd 100644 --- a/xmake/toolchains/gcc-11/xmake.lua +++ b/xmake/toolchains/gcc-11/xmake.lua @@ -1,3 +1,3 @@ -includes(path.join(os.scriptdir(), "../gcc/toolchain_gcc.lua")) +includes(path.join(os.scriptdir(), "../gcc")) toolchain_gcc("11") diff --git a/xmake/toolchains/gcc-12/xmake.lua b/xmake/toolchains/gcc-12/xmake.lua index 9a400417b..9eb2a6dae 100644 --- a/xmake/toolchains/gcc-12/xmake.lua +++ b/xmake/toolchains/gcc-12/xmake.lua @@ -1,3 +1,3 @@ -includes(path.join(os.scriptdir(), "../gcc/toolchain_gcc.lua")) +includes(path.join(os.scriptdir(), "../gcc")) toolchain_gcc("12") diff --git a/xmake/toolchains/gcc-13/xmake.lua b/xmake/toolchains/gcc-13/xmake.lua index 7935e6df1..ba45c0f0e 100644 --- a/xmake/toolchains/gcc-13/xmake.lua +++ b/xmake/toolchains/gcc-13/xmake.lua @@ -1,3 +1,3 @@ -includes(path.join(os.scriptdir(), "../gcc/toolchain_gcc.lua")) +includes(path.join(os.scriptdir(), "../gcc")) toolchain_gcc("13") diff --git a/xmake/toolchains/gcc-14/xmake.lua b/xmake/toolchains/gcc-14/xmake.lua index cc6f29d34..266894d5b 100644 --- a/xmake/toolchains/gcc-14/xmake.lua +++ b/xmake/toolchains/gcc-14/xmake.lua @@ -1,3 +1,3 @@ -includes(path.join(os.scriptdir(), "../gcc/toolchain_gcc.lua")) +includes(path.join(os.scriptdir(), "../gcc")) toolchain_gcc("14") diff --git a/xmake/toolchains/gcc-15/xmake.lua b/xmake/toolchains/gcc-15/xmake.lua index 56b742362..08bf4cd9e 100644 --- a/xmake/toolchains/gcc-15/xmake.lua +++ b/xmake/toolchains/gcc-15/xmake.lua @@ -1,3 +1,3 @@ -includes(path.join(os.scriptdir(), "../gcc/toolchain_gcc.lua")) +includes(path.join(os.scriptdir(), "../gcc")) toolchain_gcc("15") diff --git a/xmake/toolchains/gcc-4.8/xmake.lua b/xmake/toolchains/gcc-4.8/xmake.lua index 8695753a8..9b51b85f7 100644 --- a/xmake/toolchains/gcc-4.8/xmake.lua +++ b/xmake/toolchains/gcc-4.8/xmake.lua @@ -1,3 +1,3 @@ -includes(path.join(os.scriptdir(), "../gcc/toolchain_gcc.lua")) +includes(path.join(os.scriptdir(), "../gcc")) toolchain_gcc("4.8") diff --git a/xmake/toolchains/gcc-4.9/xmake.lua b/xmake/toolchains/gcc-4.9/xmake.lua index b54c53958..89e7cdae1 100644 --- a/xmake/toolchains/gcc-4.9/xmake.lua +++ b/xmake/toolchains/gcc-4.9/xmake.lua @@ -1,3 +1,3 @@ -includes(path.join(os.scriptdir(), "../gcc/toolchain_gcc.lua")) +includes(path.join(os.scriptdir(), "../gcc")) toolchain_gcc("4.9") diff --git a/xmake/toolchains/gcc-8/xmake.lua b/xmake/toolchains/gcc-8/xmake.lua index 463ef017e..b6bb9e55b 100644 --- a/xmake/toolchains/gcc-8/xmake.lua +++ b/xmake/toolchains/gcc-8/xmake.lua @@ -1,3 +1,3 @@ -includes(path.join(os.scriptdir(), "../gcc/toolchain_gcc.lua")) +includes(path.join(os.scriptdir(), "../gcc")) toolchain_gcc("8") diff --git a/xmake/toolchains/gcc-9/xmake.lua b/xmake/toolchains/gcc-9/xmake.lua index 05432d12c..21bd4d436 100644 --- a/xmake/toolchains/gcc-9/xmake.lua +++ b/xmake/toolchains/gcc-9/xmake.lua @@ -1,3 +1,3 @@ -includes(path.join(os.scriptdir(), "../gcc/toolchain_gcc.lua")) +includes(path.join(os.scriptdir(), "../gcc")) toolchain_gcc("9") diff --git a/xmake/toolchains/gcc/toolchain_gcc.lua b/xmake/toolchains/gcc/toolchain_gcc.lua deleted file mode 100644 index caa60c85a..000000000 --- a/xmake/toolchains/gcc/toolchain_gcc.lua +++ /dev/null @@ -1,64 +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_gcc.lua --- - --- define toolchain -function toolchain_gcc(version) - local suffix = version and ("-" .. version) or "" - - toolchain("gcc" .. suffix) - set_kind("standalone") - set_homepage("https://gcc.gnu.org/") - set_description("GNU Compiler Collection" .. (version and (" (" .. version .. ")") or "")) - set_runtimes("stdc++_static", "stdc++_shared") - - set_toolset("cc", "gcc" .. suffix) - set_toolset("cxx", "g++" .. suffix, "gcc" .. suffix) - set_toolset("ld", "g++" .. suffix, "gcc" .. suffix) - set_toolset("sh", "g++" .. suffix, "gcc" .. suffix) - set_toolset("ar", "ar") - set_toolset("strip", "strip") - set_toolset("objcopy", "objcopy") - set_toolset("ranlib", "ranlib") - set_toolset("mm", "gcc" .. suffix) - set_toolset("mxx", "g++" .. suffix, "gcc" .. suffix) - set_toolset("as", "gcc" .. suffix) - - on_check(function (toolchain) - return import("lib.detect.find_tool")("gcc", {program = "gcc" .. suffix}) - end) - - on_load(function (toolchain) - - -- add march flags - local march - if toolchain:is_arch("x86_64", "x64") then - march = "-m64" - elseif toolchain:is_arch("i386", "x86") then - march = "-m32" - end - if march then - toolchain:add("cxflags", march) - toolchain:add("mxflags", march) - toolchain:add("asflags", march) - toolchain:add("ldflags", march) - toolchain:add("shflags", march) - end - end) -end diff --git a/xmake/toolchains/gcc/xmake.lua b/xmake/toolchains/gcc/xmake.lua index e478e4712..1b4a971f4 100644 --- a/xmake/toolchains/gcc/xmake.lua +++ b/xmake/toolchains/gcc/xmake.lua @@ -17,6 +17,49 @@ -- @author ruki -- @file xmake.lua -- -includes(path.join(os.scriptdir(), "toolchain_gcc.lua")) +-- define toolchain +function toolchain_gcc(version) + local suffix = version and ("-" .. version) or "" + + toolchain("gcc" .. suffix) + set_kind("standalone") + set_homepage("https://gcc.gnu.org/") + set_description("GNU Compiler Collection" .. (version and (" (" .. version .. ")") or "")) + set_runtimes("stdc++_static", "stdc++_shared") + + set_toolset("cc", "gcc" .. suffix) + set_toolset("cxx", "g++" .. suffix, "gcc" .. suffix) + set_toolset("ld", "g++" .. suffix, "gcc" .. suffix) + set_toolset("sh", "g++" .. suffix, "gcc" .. suffix) + set_toolset("ar", "ar") + set_toolset("strip", "strip") + set_toolset("objcopy", "objcopy") + set_toolset("ranlib", "ranlib") + set_toolset("mm", "gcc" .. suffix) + set_toolset("mxx", "g++" .. suffix, "gcc" .. suffix) + set_toolset("as", "gcc" .. suffix) + + on_check(function (toolchain) + return import("lib.detect.find_tool")("gcc", {program = "gcc" .. suffix}) + end) + + on_load(function (toolchain) + + -- add march flags + local march + if toolchain:is_arch("x86_64", "x64") then + march = "-m64" + elseif toolchain:is_arch("i386", "x86") then + march = "-m32" + end + if march then + toolchain:add("cxflags", march) + toolchain:add("mxflags", march) + toolchain:add("asflags", march) + toolchain:add("ldflags", march) + toolchain:add("shflags", march) + end + end) +end toolchain_gcc() |
