summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2022-01-09 21:40:16 +0800
committerGitHub <[email protected]>2022-01-09 21:40:16 +0800
commit175c4cb26d1ca68a1ef90c78e5d99e7252cc02a8 (patch)
tree2687c3dbd268d88e349ff0fd363d45a4138ebae7
parent4c95d421bd81c9b3279763a84f138f707f642c01 (diff)
parent2cc2da4c49c4a6b6649a316b60865dab889e7f76 (diff)
Merge pull request #1965 from Zmmfly/dev
Armclang aarch64 判断以及-mcpu --cpu差异支持
-rw-r--r--xmake/toolchains/armclang/xmake.lua22
1 files changed, 17 insertions, 5 deletions
diff --git a/xmake/toolchains/armclang/xmake.lua b/xmake/toolchains/armclang/xmake.lua
index 46f22a2ba..dc8c1c696 100644
--- a/xmake/toolchains/armclang/xmake.lua
+++ b/xmake/toolchains/armclang/xmake.lua
@@ -45,10 +45,22 @@ toolchain("armclang")
on_load(function (toolchain)
local arch = toolchain:arch()
if arch then
- toolchain:add("cxflags", "-target=arm-arm-none-eabi")
- toolchain:add("cxflags", "-mcpu=" .. arch:lower())
- toolchain:add("asflags", "-target=arm-arm-none-eabi")
- toolchain:add("asflags", "-mcpu=" .. arch:lower())
- toolchain:add("ldflags", "--cpu " .. arch)
+ local arch_cpu = arch:lower()
+ local arch_cpu_ld = ""
+ local arch_target = ""
+ if arch_cpu:startswith("cortex-m") then
+ arch_cpu_ld = arch_cpu:replace("cortex-m", "Cortex-M", {plain = true})
+ arch_target = "arm-arm-none-eabi"
+ end
+ if arch_cpu:startswith("cortex-a") then
+ arch_cpu_ld = arch_cpu:replace("cortex-a", "Cortex-A", {plain = true})
+ arch_target = "aarch64-arm-none-eabi"
+ end
+ toolchain:add("cxflags", "-target=" .. arch_target)
+ toolchain:add("cxflags", "-mcpu=" .. arch_cpu)
+ toolchain:add("asflags", "-target=" .. arch_target)
+ toolchain:add("asflags", "-mcpu=" .. arch_cpu)
+ toolchain:add("ldflags", "--cpu " .. arch_cpu_ld)
end
end)
+