Tuesday, August 19, 2014

Windows Subsystem

Hi Bram,

After someone complained to me that my new vim builds could not run on
Windows XP, I have realized that MSVC 11 (VS2012) defaults to build
for Windows Vista and later, even if WINVER is set to 0x0400 (or
0x0501) and the Windows SDK 7.1A is used. I suggest we patch
Make_mvc.mak this way:

--- Make_mvc.mak.orig Wed Aug 20 00:16:40 2014
+++ Make_mvc.mak Wed Aug 20 00:19:01 2014
@@ -657,6 +657,10 @@
SUBSYSTEM = console
!endif

+!if "$(SUBSYSTEM_VER)" != ""
+SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER)
+!endif
+
!if "$(GUI)" == "yes" && "$(DIRECTX)" == "yes"
CFLAGS = $(CFLAGS) $(DIRECTX_DEFS)
GUI_INCL = $(GUI_INCL) $(DIRECTX_INCL)

After this change I can now build vim that can run on Windows XP:

set SDK_INCLUDE_DIR=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
set CL=/D_USING_V110_SDK71_
nmake -f Make_mvc.mak ... WINVER=0x0501 SUBSYSTEM_VER=5.01

Please consider whether this is a good approach.

Best regards,

Yongwei

--
Wu Yongwei
URL: http://wyw.dcweb.cn/

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: