summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2016-09-15 18:24:07 +0800
committerruki <[email protected]>2016-09-15 18:24:07 +0800
commit5add52e8c36aea18ccc70320949e077c69d9e6fa (patch)
tree1fa8a0da3ea52321422ae3a2dd7103820680617e
parent7449fde35f1d4e5aef2d2f4d2556a201d2ed1099 (diff)
modify CHANGELOG.md
-rw-r--r--CHANGELOG.md4
-rw-r--r--xmake/platforms/windows/checker.lua6
-rwxr-xr-xxmake/tools/ml.lua24
3 files changed, 15 insertions, 19 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 04d8f030d..27773fc62 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,7 @@
### New features
* Add some interpreter builtin-modules
+* Support ml64 assembler for windows x64
### Changes
@@ -13,6 +14,7 @@
### Bugs fixed
* Fix `-def:xxx.def` flags failed for msvc
+* Fix ml.exe assembler script
## v2.0.4
@@ -161,6 +163,7 @@
### ������
* Ϊ����������������һЩ�ڽ�ģ��֧��
+* ���windows x64ƽ̨��֧��ml64�����
### �Ľ�
@@ -169,6 +172,7 @@
### Bugs�޸�
* �޸�msvc�ı���ѡ�֧�����⣺`-def:xxx.def`
+* �޸�ml.exe������ű�
## v2.0.4
diff --git a/xmake/platforms/windows/checker.lua b/xmake/platforms/windows/checker.lua
index 4abfd0ad5..0d31e6c3c 100644
--- a/xmake/platforms/windows/checker.lua
+++ b/xmake/platforms/windows/checker.lua
@@ -183,11 +183,15 @@ function _check_toolchains(config)
-- done
checker.check_toolchain(config, "cc", "", "cl.exe", "the c compiler")
checker.check_toolchain(config, "cxx", "", "cl.exe", "the c++ compiler")
- checker.check_toolchain(config, "as", "", "ml.exe", "the assember")
checker.check_toolchain(config, "ld", "", "link.exe", "the linker")
checker.check_toolchain(config, "ar", "", "link.exe -lib", "the static library archiver")
checker.check_toolchain(config, "sh", "", "link.exe -dll", "the shared library linker")
checker.check_toolchain(config, "ex", "", "lib.exe", "the static library extractor")
+ if config.get("arch"):find("64") then
+ checker.check_toolchain(config, "as", "", "ml64.exe", "the assember")
+ else
+ checker.check_toolchain(config, "as", "", "ml.exe", "the assember")
+ end
-- leave environment
environment.leave("toolchains")
diff --git a/xmake/tools/ml.lua b/xmake/tools/ml.lua
index a45c2d25b..5e5c0251a 100755
--- a/xmake/tools/ml.lua
+++ b/xmake/tools/ml.lua
@@ -27,19 +27,17 @@ function init(shellname)
_g.shellname = shellname or "ml.exe"
-- init asflags
- _g.asflags = { "-nologo", "-Gd"}
+ if _g.shellname:find("64") then
+ _g.asflags = { "-nologo"}
+ else
+ _g.asflags = { "-nologo", "-Gd"}
+ end
-- init flags map
_g.mapflags =
{
- -- optimize
- ["-O0"] = "-Od"
- , ["-O3"] = "-Ot"
- , ["-Ofast"] = "-Ox"
- , ["-fomit-frame-pointer"] = "-Oy"
-
-- symbols
- , ["-g"] = "-Z7"
+ ["-g"] = "-Z7"
, ["-fvisibility=.*"] = ""
-- warnings
@@ -50,16 +48,6 @@ function init(shellname)
, ["-Werror"] = "-WX"
, ["%-Wno%-error=.*"] = ""
- -- vectorexts
- , ["-mmmx"] = "-arch:MMX"
- , ["-msse"] = "-arch:SSE"
- , ["-msse2"] = "-arch:SSE2"
- , ["-msse3"] = "-arch:SSE3"
- , ["-mssse3"] = "-arch:SSSE3"
- , ["-mavx"] = "-arch:AVX"
- , ["-mavx2"] = "-arch:AVX2"
- , ["-mfpu=.*"] = ""
-
-- others
, ["-ftrapv"] = ""
, ["-fsanitize=address"] = ""