summaryrefslogtreecommitdiff
path: root/xmake/toolchains/tinyc
diff options
context:
space:
mode:
authorruki <[email protected]>2021-03-02 22:45:30 +0800
committerruki <[email protected]>2021-03-02 22:45:30 +0800
commit569416446b0cc78535d93614197568fbaffcd497 (patch)
treee97c25606ed83cbec58e3241489037799d329836 /xmake/toolchains/tinyc
parent2654dce9ac9d8cfbe30445bcdbe843d912dd16b9 (diff)
improve tinyc
Diffstat (limited to 'xmake/toolchains/tinyc')
-rw-r--r--xmake/toolchains/tinyc/xmake.lua97
1 files changed, 0 insertions, 97 deletions
diff --git a/xmake/toolchains/tinyc/xmake.lua b/xmake/toolchains/tinyc/xmake.lua
deleted file mode 100644
index e64e68167..000000000
--- a/xmake/toolchains/tinyc/xmake.lua
+++ /dev/null
@@ -1,97 +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, TBOOX Open Source Group.
---
--- @author ruki
--- @file xmake.lua
---
-
--- define toolchain
-toolchain("tinyc")
-
- -- set homepage
- set_homepage("https://bellard.org/tcc/")
- set_description("Tiny C Compiler")
-
- -- mark as standalone toolchain
- set_kind("standalone")
-
- -- set toolset
- set_toolset("cc", "tcc")
- set_toolset("ld", "tcc")
- set_toolset("sh", "tcc")
- set_toolset("ar", "tcc")
-
- -- check toolchain
- on_check(function (toolchain)
-
- -- imports
- import("core.project.config")
- import("lib.detect.find_tool")
-
- -- find tcc
- local sdkdir = toolchain:sdkdir()
- if not sdkdir and is_host("windows") then
- local winenv_tccsdk = path.join(os.programdir(), "winenv", "tcc")
- if os.isdir(winenv_tccsdk) then
- sdkdir = winenv_tccsdk
- end
- end
- if find_tool("tcc", {paths = toolchain:bindir() or sdkdir}) then
- toolchain:config_set("sdkdir", sdkdir)
- toolchain:configs_save()
- return true
- end
- end)
-
- -- on load
- on_load(function (toolchain)
-
- -- imports
- import("core.project.config")
-
- -- 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
-
- -- init linkdirs and sysincludedirs
- local sdkdir = toolchain:sdkdir()
- if sdkdir then
- local includedir = path.join(sdkdir, "include")
- if os.isdir(includedir) then
- toolchain:add("sysincludedirs", includedir)
- end
- local winenv_tcc_winapi = path.join(os.programdir(), "winenv", "tcc", "winapi", "include")
- if is_host("windows") and os.isdir(winenv_tcc_winapi) then
- toolchain:add("sysincludedirs", winenv_tcc_winapi)
- toolchain:add("sysincludedirs", path.join(winenv_tcc_winapi, "winapi"))
- end
- local linkdir = path.join(sdkdir, "lib")
- if os.isdir(linkdir) then
- toolchain:add("linkdirs", linkdir)
- end
- end
- end)