Patch 7.4.1944
Problem: Win32: Cannot compile with XPM feature using VC2015
Solution: Add XPM libraries compiled with VC2015, and enable to build
gvim.exe which supports XPM using VC2015. (Ken Takata)
Files: src/Make_mvc.mak, src/xpm/x64/lib-vc14/libXpm.lib,
src/xpm/x86/lib-vc14/libXpm.lib
*** ../vim-7.4.1943/src/Make_mvc.mak 2016-06-02 20:26:37.296366681 +0200
--- src/Make_mvc.mak 2016-06-18 21:29:03.620766358 +0200
***************
*** 255,260 ****
--- 255,299 ----
!endif
+ # Check VC version.
+ !if [echo MSVCVER=_MSC_VER> msvcver.c && $(CC) /EP msvcver.c > msvcver.~ 2>
nul]
+ !message *** ERROR
+ !message Cannot run Visual C to determine its version. Make sure cl.exe is in
your PATH.
+ !message This can usually be done by running "vcvarsall.bat", located in the
bin directory where Visual Studio was installed.
+ !error Make aborted.
+ !else
+ !include msvcver.~
+ !if [del msvcver.c msvcver.~]
+ !endif
+ !endif
+
+ !if $(MSVCVER) < 1900
+ MSVC_MAJOR = ($(MSVCVER) / 100 - 6)
+ MSVCRT_VER = ($(MSVCVER) / 10 - 60)
+ !else
+ MSVC_MAJOR = ($(MSVCVER) / 100 - 5)
+ MSVCRT_VER = ($(MSVCVER) / 10 - 50)
+ !endif
+
+ # Calculate MSVCRT_VER
+ !if [(set /a MSVCRT_VER="$(MSVCRT_VER)" > nul) && set MSVCRT_VER >
msvcrtver.~] == 0
+ !include msvcrtver.~
+ !if [del msvcrtver.~]
+ !endif
+ !endif
+
+ # Base name of the msvcrXX.dll
+ !if $(MSVCRT_VER) <= 60
+ MSVCRT_NAME = msvcrt
+ !else
+ MSVCRT_NAME = msvcr$(MSVCRT_VER)
+ !endif
+
+ !if $(MSVC_MAJOR) == 6
+ CPU = ix86
+ !endif
+
+
# Flag to turn on Win64 compatibility warnings for VC7.x and VC8.
WP64CHECK = /Wp64
***************
*** 294,301 ****
!endif
!endif
! # Only allow NETBEANS and XPM for a GUI build and CHANNEL.
!if "$(GUI)" == "yes"
!if "$(NETBEANS)" == "yes" && "$(CHANNEL)" == "yes"
# NETBEANS - Include support for Netbeans integration
NETBEANS_PRO = proto/netbeans.pro
--- 333,341 ----
!endif
!endif
! # GUI sepcific features.
!if "$(GUI)" == "yes"
+ # Only allow NETBEANS for a GUI build and CHANNEL.
!if "$(NETBEANS)" == "yes" && "$(CHANNEL)" == "yes"
# NETBEANS - Include support for Netbeans integration
NETBEANS_PRO = proto/netbeans.pro
***************
*** 317,324 ****
DIRECTX_OBJ = $(OUTDIR)\gui_dwrite.obj
!endif
!ifndef XPM
! # XPM is not set, use the included xpm files, depending on the architecture.
!if "$(CPU)" == "AMD64"
XPM = xpm\x64
!elseif "$(CPU)" == "i386"
--- 357,367 ----
DIRECTX_OBJ = $(OUTDIR)\gui_dwrite.obj
!endif
+ # Only allow XPM for a GUI build.
!ifndef XPM
! !ifndef USE_MSVCRT
! # Both XPM and USE_MSVCRT are not set, use the included xpm files, depending
! # on the architecture.
!if "$(CPU)" == "AMD64"
XPM = xpm\x64
!elseif "$(CPU)" == "i386"
***************
*** 326,338 ****
!else
XPM = no
!endif
! !endif
!if "$(XPM)" != "no"
# XPM - Include support for XPM signs
# See the xpm directory for more information.
XPM_OBJ = $(OBJDIR)/xpm_w32.obj
XPM_DEFS = -DFEAT_XPM_W32
XPM_LIB = $(XPM)\lib\libXpm.lib
XPM_INC = -I $(XPM)\include -I $(XPM)\..\include
!endif
!endif
--- 369,390 ----
!else
XPM = no
!endif
! !else # USE_MSVCRT
! XPM = no
! !endif # USE_MSVCRT
! !endif # XPM
!if "$(XPM)" != "no"
# XPM - Include support for XPM signs
# See the xpm directory for more information.
XPM_OBJ = $(OBJDIR)/xpm_w32.obj
XPM_DEFS = -DFEAT_XPM_W32
+ !if $(MSVC_MAJOR) >= 14
+ # VC14 cannot use a library built by VC12 or eariler, because VC14 uses
+ # Universal CRT.
+ XPM_LIB = $(XPM)\lib-vc14\libXpm.lib
+ !else
XPM_LIB = $(XPM)\lib\libXpm.lib
+ !endif
XPM_INC = -I $(XPM)\include -I $(XPM)\..\include
!endif
!endif
***************
*** 395,437 ****
INTDIR=$(OBJDIR)
OUTDIR=$(OBJDIR)
- !if [echo MSVCVER=_MSC_VER> msvcver.c && $(CC) /EP msvcver.c > msvcver.~ 2>
nul]
- !message *** ERROR
- !message Cannot run Visual C to determine its version. Make sure cl.exe is in
your PATH.
- !message This can usually be done by running "vcvarsall.bat", located in the
bin directory where Visual Studio was installed.
- !error Make aborted.
- !else
- !include msvcver.~
- !if [del msvcver.c msvcver.~]
- !endif
- !endif
-
- !if $(MSVCVER) < 1900
- MSVC_MAJOR = ($(MSVCVER) / 100 - 6)
- MSVCRT_VER = ($(MSVCVER) / 10 - 60)
- !else
- MSVC_MAJOR = ($(MSVCVER) / 100 - 5)
- MSVCRT_VER = ($(MSVCVER) / 10 - 50)
- !endif
-
- # Calculate MSVCRT_VER
- !if [(set /a MSVCRT_VER="$(MSVCRT_VER)" > nul) && set MSVCRT_VER >
msvcrtver.~] == 0
- !include msvcrtver.~
- !if [del msvcrtver.~]
- !endif
- !endif
-
- # Base name of the msvcrXX.dll
- !if $(MSVCRT_VER) <= 60
- MSVCRT_NAME = msvcrt
- !else
- MSVCRT_NAME = msvcr$(MSVCRT_VER)
- !endif
-
- !if $(MSVC_MAJOR) == 6
- CPU = ix86
- !endif
-
# Convert processor ID to MVC-compatible number
!if $(MSVC_MAJOR) < 8
!if "$(CPUNR)" == "i386"
--- 447,452 ----
*** ../vim-7.4.1943/src/xpm/x64/lib-vc14/libXpm.lib 1970-01-01
01:00:00.000000000 +0100
--- src/xpm/x64/lib-vc14/libXpm.lib 2016-06-18 21:29:03.620766358 +0200
***************
*** 0 ****
--- 1,350 ----
+ !<arch>
+ / 1466086426 0 1683 `
+ al_stdio_printf_options ÎÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ@SUVWATH ì Gray74‰\$ D‹ 0765ð
�è H Öèort_rangecheckfailureÀt H‰0H‰h H‰ H…Àu ¸ýÿÿÿë ‹C ;C r
H‹Ëèingt$XH‰D$PH‹„$P
ParseDataAndCreate�èunwind$XpmWriteFileFromBuffer:"LIBCMT"
/DEFAULTLIB:"OLDNAMES" P`.xdata�ÌÌÌÌÌÌE3ÀH‰J D‰ H‹ H‰B L‰B L‰‚( .datau÷I‹S AƒÂ
D ÐE…Àt'M‹È @ L‰d$XD‹àL‰t$hM q L‰|$ M‹NðL Ap‹B‰Ah‰jH‰j ët ºà sn‹RL ApH‹N
èreeOldColorTablebNames /DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib"
/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" �Ä …À HÁà o…öt
÷ ¨ 3© u ÇD$ D$0Pÿt$ èb Ç 0À[email protected]Ò[ ÿÿÇ@ „Àuù+ÊƒÇ ‹U ù…öt"
D+ "XPMENDEXT"Ä …À HÁÃ &ÿþÿÿ÷
--
--
You received this message from the "vim_dev" 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_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.