summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-10-15 00:51:31 +0800
committerruki <[email protected]>2024-10-15 00:51:31 +0800
commite0017bacc10923be9f179fce68aeb6cee971ef4a (patch)
treea159629c0ee36ba87089cf0473889feb02dad7ee
parentfcc2809210622102cdc0ec64256ff656b51eb509 (diff)
improve to checkout sdcc
-rw-r--r--xmake/toolchains/sdcc/check.lua6
-rw-r--r--xmake/toolchains/sdcc/xmake.lua14
2 files changed, 5 insertions, 15 deletions
diff --git a/xmake/toolchains/sdcc/check.lua b/xmake/toolchains/sdcc/check.lua
index 18f9a7f99..2d0b32154 100644
--- a/xmake/toolchains/sdcc/check.lua
+++ b/xmake/toolchains/sdcc/check.lua
@@ -20,6 +20,7 @@
-- imports
import("core.project.config")
+import("lib.detect.find_tool")
import("detect.sdks.find_cross_toolchain")
-- check the cross toolchain
@@ -31,8 +32,7 @@ function main(toolchain)
toolchain:config_set("cross", cross_toolchain.cross)
toolchain:config_set("bindir", cross_toolchain.bindir)
toolchain:configs_save()
- else
- raise("sdcc toolchain not found!")
+ return true
end
- return cross_toolchain
+ return find_tool("sdcc")
end
diff --git a/xmake/toolchains/sdcc/xmake.lua b/xmake/toolchains/sdcc/xmake.lua
index 18dc595ff..e8d45fca6 100644
--- a/xmake/toolchains/sdcc/xmake.lua
+++ b/xmake/toolchains/sdcc/xmake.lua
@@ -18,17 +18,11 @@
-- @file xmake.lua
--
--- define toolchain
toolchain("sdcc")
-
- -- set homepage
+ set_kind("standalone")
set_homepage("http://sdcc.sourceforge.net/")
set_description("Small Device C Compiler")
- -- mark as standalone toolchain
- set_kind("standalone")
-
- -- set toolset
set_toolset("cc", "sdcc")
set_toolset("cxx", "sdcc")
set_toolset("cpp", "sdcpp")
@@ -37,22 +31,18 @@ toolchain("sdcc")
set_toolset("sh", "sdcc")
set_toolset("ar", "sdar")
- -- set archs
set_archs("stm8", "mcs51", "z80", "z180", "r2k", "r3ka", "s08", "hc08")
- -- set formats
set_formats("static", "$(name).lib")
set_formats("object", "$(name).rel")
set_formats("binary", "$(name).bin")
set_formats("symbol", "$(name).sym")
- -- check toolchain
on_check("check")
- -- on load
on_load(function (toolchain)
local arch = toolchain:arch()
- if arch then
+ if arch and arch ~= "none" then
toolchain:add("cxflags", "-m" .. arch)
toolchain:add("ldflags", "-m" .. arch)
end