diff options
| author | Saikari <[email protected]> | 2026-01-27 21:41:03 +0300 |
|---|---|---|
| committer | Saikari <[email protected]> | 2026-01-27 21:41:03 +0300 |
| commit | 02f221f1877719da333190d203b2079b6d58513f (patch) | |
| tree | 7c218e7d5ec7694035444626e8b5959d861319a7 | |
| parent | dde6e30a0cd7f7476778cfe8daf224a15ff25b70 (diff) | |
feat: add architecture-specific flags for x86, x86_64, arm, and arm64
| -rw-r--r-- | xmake/modules/core/tools/nim.lua | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/xmake/modules/core/tools/nim.lua b/xmake/modules/core/tools/nim.lua index 6d89479ac..5f1c509ce 100644 --- a/xmake/modules/core/tools/nim.lua +++ b/xmake/modules/core/tools/nim.lua @@ -34,6 +34,37 @@ function init(self) -- init shflags self:set("ncshflags", "--app:lib", "--noMain") + + -- init arch flags + local arch = self:arch() + if arch then + if arch == "x86" or arch == "i386" then + self:add("ncflags", "--cpu:i386", "--define:bit32") + self:add("ncshflags", "--cpu:i386", "--define:bit32") + self:add("ncarflags", "--cpu:i386", "--define:bit32") + self:add("ldflags", "--cpu:i386", "--define:bit32") + if self:is_plat("linux", "macosx", "bsd", "mingw") then + self:add("ncflags", "--passC:\"-m32\"", "--passL:\"-m32\"") + self:add("ncshflags", "--passC:\"-m32\"", "--passL:\"-m32\"") + self:add("ldflags", "--passL:\"-m32\"") + end + elseif arch == "x86_64" then + self:add("ncflags", "--cpu:amd64", "--define:bit64") + self:add("ncshflags", "--cpu:amd64", "--define:bit64") + self:add("ncarflags", "--cpu:amd64", "--define:bit64") + self:add("ldflags", "--cpu:amd64", "--define:bit64") + elseif arch == "arm64" then + self:add("ncflags", "--cpu:arm64", "--define:bit64") + self:add("ncshflags", "--cpu:arm64", "--define:bit64") + self:add("ncarflags", "--cpu:arm64", "--define:bit64") + self:add("ldflags", "--cpu:arm64", "--define:bit64") + elseif arch:startswith("arm") then + self:add("ncflags", "--cpu:arm", "--define:bit32") + self:add("ncshflags", "--cpu:arm", "--define:bit32") + self:add("ncarflags", "--cpu:arm", "--define:bit32") + self:add("ldflags", "--cpu:arm", "--define:bit32") + end + end end -- make the warning flag |
