0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

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)
This commit is contained in:
Bram Moolenaar
2016-06-18 21:59:36 +02:00
parent 678e480529
commit b5b95750a6
4 changed files with 57 additions and 40 deletions

View File

@@ -255,6 +255,45 @@ MAKEFLAGS_GVIMEXT = DEBUG=yes
!endif !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. # Flag to turn on Win64 compatibility warnings for VC7.x and VC8.
WP64CHECK = /Wp64 WP64CHECK = /Wp64
@@ -294,8 +333,9 @@ CHANNEL = $(GUI)
!endif !endif
!endif !endif
# Only allow NETBEANS and XPM for a GUI build and CHANNEL. # GUI sepcific features.
!if "$(GUI)" == "yes" !if "$(GUI)" == "yes"
# Only allow NETBEANS for a GUI build and CHANNEL.
!if "$(NETBEANS)" == "yes" && "$(CHANNEL)" == "yes" !if "$(NETBEANS)" == "yes" && "$(CHANNEL)" == "yes"
# NETBEANS - Include support for Netbeans integration # NETBEANS - Include support for Netbeans integration
NETBEANS_PRO = proto/netbeans.pro NETBEANS_PRO = proto/netbeans.pro
@@ -317,8 +357,11 @@ DIRECTX_INCL = gui_dwrite.h
DIRECTX_OBJ = $(OUTDIR)\gui_dwrite.obj DIRECTX_OBJ = $(OUTDIR)\gui_dwrite.obj
!endif !endif
# Only allow XPM for a GUI build.
!ifndef XPM !ifndef XPM
# XPM is not set, use the included xpm files, depending on the architecture. !ifndef USE_MSVCRT
# Both XPM and USE_MSVCRT are not set, use the included xpm files, depending
# on the architecture.
!if "$(CPU)" == "AMD64" !if "$(CPU)" == "AMD64"
XPM = xpm\x64 XPM = xpm\x64
!elseif "$(CPU)" == "i386" !elseif "$(CPU)" == "i386"
@@ -326,13 +369,22 @@ XPM = xpm\x86
!else !else
XPM = no XPM = no
!endif !endif
!endif !else # USE_MSVCRT
XPM = no
!endif # USE_MSVCRT
!endif # XPM
!if "$(XPM)" != "no" !if "$(XPM)" != "no"
# XPM - Include support for XPM signs # XPM - Include support for XPM signs
# See the xpm directory for more information. # See the xpm directory for more information.
XPM_OBJ = $(OBJDIR)/xpm_w32.obj XPM_OBJ = $(OBJDIR)/xpm_w32.obj
XPM_DEFS = -DFEAT_XPM_W32 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 XPM_LIB = $(XPM)\lib\libXpm.lib
!endif
XPM_INC = -I $(XPM)\include -I $(XPM)\..\include XPM_INC = -I $(XPM)\include -I $(XPM)\..\include
!endif !endif
!endif !endif
@@ -395,43 +447,6 @@ DEL_TREE = deltree /y
INTDIR=$(OBJDIR) INTDIR=$(OBJDIR)
OUTDIR=$(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 # Convert processor ID to MVC-compatible number
!if $(MSVC_MAJOR) < 8 !if $(MSVC_MAJOR) < 8
!if "$(CPUNR)" == "i386" !if "$(CPUNR)" == "i386"

View File

@@ -753,6 +753,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1944,
/**/ /**/
1943, 1943,
/**/ /**/

Binary file not shown.

Binary file not shown.