summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvimboss <devnull@localhost>2007-10-03 11:29:44 +0000
committervimboss <devnull@localhost>2007-10-03 11:29:44 +0000
commit50e5850ce38fd6b2255a39e6496cf0f742cceb6c (patch)
treeeb3a473ad07337a3ebb2067d26a22e54cb92e883
parentfc597879c7a51f38d3e58219131035364d33e704 (diff)
downloadvim-50e5850ce38fd6b2255a39e6496cf0f742cceb6c.tar.gz
updated for version 7.1-134v7.1.134v7-1-134
-rw-r--r--src/Make_mvc.mak113
-rw-r--r--src/version.c2
2 files changed, 87 insertions, 28 deletions
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index 272e2abd..b407fbe0 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -92,6 +92,8 @@
# Netbeans Debugging Support: NBDEBUG=[yes or no] (should be no, yes
# doesn't work)
#
+# Visual C Version: MSVCVER=m.n (default derived from nmake if undefined)
+#
# You can combine any of these interfaces
#
# Example: To build the non-debug, GUI version with Perl interface:
@@ -101,7 +103,8 @@
# This makefile gives a fineness of control which is not supported in
# Visual C++ configuration files. Therefore, debugging requires a bit of
# extra work.
-# Make_dvc.mak is a Visual C++ project to access that support.
+# Make_dvc.mak is a Visual C++ project to access that support. It may be
+# badly out of date for the Visual C++ you are using...
# To use Make_dvc.mak:
# 1) Build Vim with Make_mvc.mak.
# Use a "DEBUG=yes" argument to build Vim with debug support.
@@ -198,14 +201,12 @@ DEFINES=$(DEFINES) /Wp64
!if "$(DEBUG)" != "yes"
NODEBUG = 1
!else
+!undef NODEBUG
MAKEFLAGS_GVIMEXT = DEBUG=yes
!endif
-# Get all sorts of useful, standard macros from the SDK. (Note that
-# MSVC 2.2 does not install <ntwin32.mak> in the \msvc20\include
-# directory, but you can find it in \msvc20\include on the CD-ROM.
-# You may also need <win32.mak> from the same place.)
+# Get all sorts of useful, standard macros from the Platform SDK.
!include <Win32.mak>
@@ -272,12 +273,12 @@ XPM_INC = -I $(XPM)\include
# Set which version of the CRT to use
!if defined(USE_MSVCRT)
-CVARS = $(cvarsdll)
+# CVARS = $(cvarsdll)
# !elseif defined(MULTITHREADED)
# CVARS = $(cvarsmt)
!else
# CVARS = $(cvars)
-CVARS = $(cvarsmt)
+# CVARS = $(cvarsmt)
!endif
# need advapi32.lib for GetUserName()
@@ -320,7 +321,44 @@ DEL_TREE = deltree /y
INTDIR=$(OBJDIR)
OUTDIR=$(OBJDIR)
+# Derive version of VC being used from nmake if not specified
+!if "$(MSVCVER)" == ""
+!if "$(_NMAKE_VER)" == ""
+MSVCVER = 4.0
+!endif
+!if "$(_NMAKE_VER)" == "162"
+MSVCVER = 5.0
+!endif
+!if "$(_NMAKE_VER)" == "6.00.8168.0"
+MSVCVER = 6.0
+!endif
+!if "$(_NMAKE_VER)" == "7.00.9466"
+MSVCVER = 7.0
+!endif
+!if "$(_NMAKE_VER)" == "7.10.3077"
+MSVCVER = 7.1
+!endif
+!if "$(_NMAKE_VER)" == "8.00.50727.42"
+MSVCVER = 8.0
+!endif
+!if "$(_NMAKE_VER)" == "8.00.50727.762"
+MSVCVER = 8.0
+!endif
+!endif
+
+# Abort bulding VIM if version of VC is unrecognised.
+!ifndef MSVCVER
+!message *** ERROR
+!message Cannot determine Visual C version being used. If you are using the
+!message Windows SDK then you must have the environment variable MSVCVER set to
+!message your version of the VC compiler. If you are not using the Express
+!message version of Visual C you van either set MSVCVER or update this makefile
+!message to handle the new value for _NMAKE_VER.
+!error Make aborted.
+!endif
+
# Convert processor ID to MVC-compatible number
+!if "$(MSVCVER)" != "8.0"
!if "$(CPUNR)" == "i386"
CPUARG = /G3
!elseif "$(CPUNR)" == "i486"
@@ -334,6 +372,15 @@ CPUARG = /G7 /arch:SSE2
!else
CPUARG =
!endif
+!else
+# VC8 only allows specifying SSE architecture
+!if "$(CPUNR)" == "pentium4"
+CPUARG = /arch:SSE2
+!endif
+!endif
+
+LIBC =
+DEBUGINFO = /Zi
!ifdef NODEBUG
VIM = vim
@@ -344,41 +391,40 @@ OPTFLAG = /O2
!else # MAXSPEED
OPTFLAG = /Ox
!endif
+!if "$(MSVCVER)" == "8.0"
+# Use link time code generation if not worried about size
+!if "$(OPTIMIZE)" != "SPACE"
+OPTFLAG = $(OPTFLAG) /GL
+!endif
+!endif
CFLAGS = $(CFLAGS) $(OPTFLAG) -DNDEBUG $(CPUARG)
RCFLAGS = $(rcflags) $(rcvars) -DNDEBUG
! ifdef USE_MSVCRT
-CFLAGS = $(CFLAGS) -MD
+CFLAGS = $(CFLAGS) /MD
LIBC = msvcrt.lib
-# CFLAGS = $(CFLAGS) $(cvarsdll)
-# ! elseif defined(MULTITHREADED)
-# LIBC = libcmt.lib
-# CFLAGS = $(CFLAGS) $(cvarsmt)
! else
-# LIBC = libc.lib
LIBC = libcmt.lib
-# CFLAGS = $(CFLAGS) $(cvars)
+CFLAGS = $(CFLAGS) /MT
! endif
!else # DEBUG
VIM = vimd
+! if "$(CPU)" == "i386"
+DEBUGINFO = /ZI
+! endif
CFLAGS = $(CFLAGS) -D_DEBUG -DDEBUG /Od
RCFLAGS = $(rcflags) $(rcvars) -D_DEBUG -DDEBUG
# The /fixed:no is needed for Quantify. Assume not 4.? as unsupported in VC4.0.
-! if "$(_NMAKE_VER)" == ""
+! if "$(MSVCVER)" == "4.0"
LIBC =
! else
LIBC = /fixed:no
! endif
! ifdef USE_MSVCRT
-CFLAGS = $(CFLAGS) -MDd
+CFLAGS = $(CFLAGS) /MDd
LIBC = $(LIBC) msvcrtd.lib
-# CFLAGS = $(CFLAGS) $(cvarsdll)
-# ! elseif defined(MULTITHREADED)
-# LIBC = $(LIBC) libcmtd.lib
-# CFLAGS = $(CFLAGS) $(cvarsmt)
! else
-# LIBC = $(LIBC) libcd.lib
LIBC = $(LIBC) libcmtd.lib
-# CFLAGS = $(CFLAGS) $(cvars)
+CFLAGS = $(CFLAGS) /MTd
! endif
!endif # DEBUG
@@ -681,16 +727,18 @@ CFLAGS = $(CFLAGS) -DFEAT_$(FEATURES)
#
# Always generate the .pdb file, so that we get debug symbols that can be used
# on a crash (doesn't add overhead to the executable).
+# Generate edit-and-continue debug info when no optimization - allows to
+# debug more conveniently (able to look at variables which are in registers)
#
-CFLAGS = $(CFLAGS) /Zi /Fd$(OUTDIR)/
-LINK_PDB = /PDB:$(VIM).pdb -debug # -debug:full -debugtype:cv,fixup
+CFLAGS = $(CFLAGS) /Fd$(OUTDIR)/ $(DEBUGINFO)
+LINK_PDB = /PDB:$(VIM).pdb -debug
#
# End extra feature include
#
!message
-conflags = /nologo /subsystem:$(SUBSYSTEM) /incremental:no
+conflags = /nologo /subsystem:$(SUBSYSTEM)
PATHDEF_SRC = $(OUTDIR)\pathdef.c
@@ -702,11 +750,20 @@ conflags = $(conflags) /map
conflags = $(conflags) /map /mapinfo:lines
!ENDIF
-LINKARGS1 = $(linkdebug) $(conflags) /nodefaultlib:libc
+LINKARGS1 = $(linkdebug) $(conflags)
LINKARGS2 = $(CON_LIB) $(GUI_LIB) $(LIBC) $(OLE_LIB) user32.lib $(SNIFF_LIB) \
$(MZSCHEME_LIB) $(PERL_LIB) $(PYTHON_LIB) $(RUBY_LIB) \
$(TCL_LIB) $(NETBEANS_LIB) $(XPM_LIB) $(LINK_PDB)
+# Report link time code generation progress if used.
+!ifdef NODEBUG
+!if "$(MSVCVER)" == "8.0"
+!if "$(OPTIMIZE)" != "SPACE"
+LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
+!endif
+!endif
+!endif
+
all: $(VIM).exe vimrun.exe install.exe uninstal.exe xxd/xxd.exe \
GvimExt/gvimext.dll
@@ -794,7 +851,7 @@ testclean:
# Create a default rule for transforming .c files to .obj files in $(OUTDIR)
# Batch compilation is supported by nmake 1.62 (part of VS 5.0) and later)
-!IF "$(_NMAKE_VER)" == ""
+!IF "$(MSVCVER)" == "4.0"
.c{$(OUTDIR)/}.obj:
!ELSE
.c{$(OUTDIR)/}.obj::
@@ -803,7 +860,7 @@ testclean:
# Create a default rule for transforming .cpp files to .obj files in $(OUTDIR)
# Batch compilation is supported by nmake 1.62 (part of VS 5.0) and later)
-!IF "$(_NMAKE_VER)" == ""
+!IF "$(MSVCVER)" == "4.0"
.cpp{$(OUTDIR)/}.obj:
!ELSE
.cpp{$(OUTDIR)/}.obj::
diff --git a/src/version.c b/src/version.c
index 42133932..ba9cc784 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 134,
+/**/
133,
/**/
132,