summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)