diff options
| author | ruki <[email protected]> | 2018-05-17 22:39:59 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-05-17 09:59:57 +0800 |
| commit | 9a143be04c04ab253fc31776ab740f1ccd42e04d (patch) | |
| tree | 0b688c39a9f730f1369cc7b1a38bb2fc0a96327b | |
| parent | 8bc36559abbd22939c56d24a861b95c7d8b8b3c9 (diff) | |
support x86 for wdk rule
| -rw-r--r-- | tests/projects/wdk/kmdf/msdsm/xmake.lua | 2 | ||||
| -rw-r--r-- | xmake/modules/core/tools/cl.lua | 2 | ||||
| -rw-r--r-- | xmake/modules/core/tools/link.lua | 2 | ||||
| -rw-r--r-- | xmake/rules/wdk/load.lua | 4 |
4 files changed, 6 insertions, 4 deletions
diff --git a/tests/projects/wdk/kmdf/msdsm/xmake.lua b/tests/projects/wdk/kmdf/msdsm/xmake.lua index 75f1c12ca..31dfaf236 100644 --- a/tests/projects/wdk/kmdf/msdsm/xmake.lua +++ b/tests/projects/wdk/kmdf/msdsm/xmake.lua @@ -26,5 +26,5 @@ target("msdsm") add_links("mpio", "ucrt") -- set entry - add_ldflags("-entry:GsDriverEntry", {force = true}) + add_ldflags("-entry:GsDriverEntry" .. (is_arch("x86") and "@8" or ""), {force = true}) diff --git a/xmake/modules/core/tools/cl.lua b/xmake/modules/core/tools/cl.lua index 2cdb3ca72..2166d6a85 100644 --- a/xmake/modules/core/tools/cl.lua +++ b/xmake/modules/core/tools/cl.lua @@ -30,7 +30,7 @@ import("core.language.language") function init(self) -- init cxflags - _g.cxflags = { "-nologo", "-Gd", "-MP4", "-D_MBCS", "-D_CRT_SECURE_NO_WARNINGS"} + _g.cxflags = { "-nologo", "-MP4", "-D_MBCS", "-D_CRT_SECURE_NO_WARNINGS"} -- init flags map _g.mapflags = diff --git a/xmake/modules/core/tools/link.lua b/xmake/modules/core/tools/link.lua index 9493c9933..620c2468d 100644 --- a/xmake/modules/core/tools/link.lua +++ b/xmake/modules/core/tools/link.lua @@ -57,7 +57,7 @@ function get(self, name) -- switch architecture, @note does cache it in init() for generating vs201x project values = table.join(values, "-machine:" .. (config.arch() or "x86")) end - return _g[name] + return values end -- make the symbol flag diff --git a/xmake/rules/wdk/load.lua b/xmake/rules/wdk/load.lua index 083a6639e..3e8b54a9c 100644 --- a/xmake/rules/wdk/load.lua +++ b/xmake/rules/wdk/load.lua @@ -40,6 +40,7 @@ function umdf_driver(target) if arch == "x64" then target:add("defines", "_WIN64", "_AMD64_", "AMD64") else + target:add("cxflags", "-Gz", {force = true}) target:add("defines", "_X86_=1", "i386=1", "STD_CALL") target:add("defines", "DEPRECATE_DDK_FUNCTIONS=1", "MSC_NOOPT", "_ATL_NO_WIN_SUPPORT", "_WINDLL") end @@ -59,7 +60,7 @@ function umdf_driver(target) target:add("shflags", "-NODEFAULTLIB:kernel32.lib", "-NODEFAULTLIB:user32.lib", "-NODEFAULTLIB:libucrt.lib", {force = true}) -- set subsystem: windows, TODO 10.00 - target:add("shflags", "-subsystem:windows,10.00", "-MACHINE:X86", {force = true}) + target:add("shflags", "-subsystem:windows,10.00", {force = true}) -- set default driver entry if does not exist local entry = false @@ -125,6 +126,7 @@ function kmdf_driver(target) if arch == "x64" then target:add("defines", "_WIN64", "_AMD64_", "AMD64") else + target:add("cxflags", "-Gz", {force = true}) target:add("defines", "_X86_=1", "i386=1", "STD_CALL") end target:add("defines", "WIN32_LEAN_AND_MEAN=1", "_WIN32_WINNT=0x0A00", "WINVER=0x0A00", "WINNT=1", "NTDDI_VERSION=0x0A000004", "_WINDLL") |
