summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-06-24 22:31:53 +0800
committerGitHub <[email protected]>2024-06-24 22:31:53 +0800
commitcf98da127fec9dcf204b72ac38ebbb0bb6b29a30 (patch)
tree86de2539ed2972f5cba71230aab77fcff5d1e630
parente5838d655e8ed3cb5efe729c7ed6e626d95cf6fa (diff)
Update xmake.lua
-rw-r--r--xmake/toolchains/armclang/xmake.lua17
1 files changed, 8 insertions, 9 deletions
diff --git a/xmake/toolchains/armclang/xmake.lua b/xmake/toolchains/armclang/xmake.lua
index def28bd91..bd3bd4b60 100644
--- a/xmake/toolchains/armclang/xmake.lua
+++ b/xmake/toolchains/armclang/xmake.lua
@@ -29,22 +29,20 @@ toolchain("armclang")
set_toolset("cxx", "armclang")
set_toolset("ld", "armlink")
set_toolset("ar", "armar")
- -- different assembler choices for different versions of armclang
on_check(function (toolchain)
import("core.base.semver")
import("lib.detect.find_tool")
import("detect.sdks.find_mdk")
local mdk = find_mdk()
- local armclang = find_tool("armclang", {version = true, force = true, paths = toolchain:bindir()})
if mdk and mdk.sdkdir_armclang then
toolchain:config_set("sdkdir", mdk.sdkdir_armclang)
- if armclang and semver.compare(armclang.version, "6.13")>0 then
- toolchain:config_set("toolset.as", "armclang")
- toolchain:config_set("asflags.cpu", "-mcpu=")
+ -- different assembler choices for different versions of armclang
+ local armclang = find_tool("armclang", {version = true, force = true, paths = path.join(mdk.sdkdir_armclang, "bin")})
+ if armclang and semver.compare(armclang.version, "6.13") > 0 then
+ toolchain:config_set("toolset_as", "armclang")
else
- toolchain:config_set("toolset.as", "armasm")
- toolchain:config_set("asflags.cpu", "--cpu=")
+ toolchain:config_set("toolset_as", "armasm")
end
toolchain:configs_save()
return true
@@ -65,11 +63,12 @@ toolchain("armclang")
arch_cpu_ld = arch_cpu:replace("cortex-a", "Cortex-A", {plain = true})
arch_target = "aarch64-arm-none-eabi"
end
- toolchain:set("toolset", "as", toolchain:config("toolset.as"))
+ local as = toolchain:config("toolset_as")
+ toolchain:set("toolset", "as", as)
toolchain:add("cxflags", "--target=" .. arch_target)
toolchain:add("cxflags", "-mcpu=" .. arch_cpu)
toolchain:add("asflags", "--target=" .. arch_target)
- toolchain:add("asflags", toolchain:config("asflags.cpu") .. arch_cpu)
+ toolchain:add("asflags", (as == "armclang" and "-mcpu=" or "--cpu=") .. arch_cpu)
toolchain:add("ldflags", "--cpu " .. arch_cpu_ld)
end
end)