summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2021-01-11 07:44:48 +0800
committerGitHub <[email protected]>2021-01-11 07:44:48 +0800
commit49febf7add0f54c3edd06f790ffa5cdab453731c (patch)
tree4f0c24d78343ec4f31a42d0f4d8701f1eced9827
parentf8d0f8e608bb58e4a1dfeadf7d9068a8d6b471ae (diff)
improve nasm flags
-rw-r--r--xmake/toolchains/nasm/xmake.lua20
1 files changed, 17 insertions, 3 deletions
diff --git a/xmake/toolchains/nasm/xmake.lua b/xmake/toolchains/nasm/xmake.lua
index 584b2506e..a2ed8c7ff 100644
--- a/xmake/toolchains/nasm/xmake.lua
+++ b/xmake/toolchains/nasm/xmake.lua
@@ -30,11 +30,25 @@ toolchain("nasm")
-- on load
on_load(function (toolchain)
+ local asflags = "" -- maybe 16bits if no flags
if toolchain:is_plat("macosx") then
- toolchain:add("nasm.asflags", "-f", toolchain:is_arch("x86_64") and "macho64" or "macho32")
+ if toolchain:is_arch("x86_64") then
+ asflags = "-f macho64"
+ elseif toolchain:is_arch("i386") then
+ asflags = "-f macho32"
+ end
elseif toolchain:is_plat("linux", "bsd") then
- toolchain:add("nasm.asflags", "-f", toolchain:is_arch("x86_64") and "elf64" or "elf32")
+ if toolchain:is_arch("x86_64") then
+ asflags = "-f elf64"
+ elseif toolchain:is_arch("i386") then
+ asflags = "-f elf32"
+ end
elseif toolchain:is_plat("windows", "mingw", "msys", "cygwin") then
- toolchain:add("nasm.asflags", "-f", toolchain:is_arch("x64") and "win64" or "win32")
+ if toolchain:is_arch("x64", "x86_64") then
+ asflags = "-f win64"
+ elseif toolchain:is_arch("x86", "i386") then
+ asflags = "-f win32"
+ end
end
+ toolchain:add("nasm.asflags", asflags)
end)