378 lines
10 KiB
Plaintext
378 lines
10 KiB
Plaintext
|
To: vim-dev@vim.org
|
||
|
Subject: patch 7.1.134 (extra)
|
||
|
Fcc: outbox
|
||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||
|
Mime-Version: 1.0
|
||
|
Content-Type: text/plain; charset=ISO-8859-1
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
------------
|
||
|
|
||
|
Patch 7.1.134 (extra)
|
||
|
Problem: Win32: Can't build with VC8
|
||
|
Solution: Detect the MSVC version instead of using NMAKE_VER.
|
||
|
(Mike Williams)
|
||
|
Files: src/Make_mvc.mak
|
||
|
|
||
|
|
||
|
*** ../vim-7.1.133/src/Make_mvc.mak Tue Feb 20 03:15:08 2007
|
||
|
--- src/Make_mvc.mak Mon Oct 1 21:37:20 2007
|
||
|
***************
|
||
|
*** 92,97 ****
|
||
|
--- 92,99 ----
|
||
|
# 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,107 ****
|
||
|
# 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.
|
||
|
# To use Make_dvc.mak:
|
||
|
# 1) Build Vim with Make_mvc.mak.
|
||
|
# Use a "DEBUG=yes" argument to build Vim with debug support.
|
||
|
--- 103,110 ----
|
||
|
# 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. 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,211 ****
|
||
|
!if "$(DEBUG)" != "yes"
|
||
|
NODEBUG = 1
|
||
|
!else
|
||
|
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.)
|
||
|
|
||
|
!include <Win32.mak>
|
||
|
|
||
|
--- 201,212 ----
|
||
|
!if "$(DEBUG)" != "yes"
|
||
|
NODEBUG = 1
|
||
|
!else
|
||
|
+ !undef NODEBUG
|
||
|
MAKEFLAGS_GVIMEXT = DEBUG=yes
|
||
|
!endif
|
||
|
|
||
|
|
||
|
! # Get all sorts of useful, standard macros from the Platform SDK.
|
||
|
|
||
|
!include <Win32.mak>
|
||
|
|
||
|
***************
|
||
|
*** 272,283 ****
|
||
|
|
||
|
# Set which version of the CRT to use
|
||
|
!if defined(USE_MSVCRT)
|
||
|
! CVARS = $(cvarsdll)
|
||
|
# !elseif defined(MULTITHREADED)
|
||
|
# CVARS = $(cvarsmt)
|
||
|
!else
|
||
|
# CVARS = $(cvars)
|
||
|
! CVARS = $(cvarsmt)
|
||
|
!endif
|
||
|
|
||
|
# need advapi32.lib for GetUserName()
|
||
|
--- 273,284 ----
|
||
|
|
||
|
# Set which version of the CRT to use
|
||
|
!if defined(USE_MSVCRT)
|
||
|
! # CVARS = $(cvarsdll)
|
||
|
# !elseif defined(MULTITHREADED)
|
||
|
# CVARS = $(cvarsmt)
|
||
|
!else
|
||
|
# CVARS = $(cvars)
|
||
|
! # CVARS = $(cvarsmt)
|
||
|
!endif
|
||
|
|
||
|
# need advapi32.lib for GetUserName()
|
||
|
***************
|
||
|
*** 320,326 ****
|
||
|
--- 321,364 ----
|
||
|
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,339 ****
|
||
|
--- 372,386 ----
|
||
|
!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,384 ****
|
||
|
!else # MAXSPEED
|
||
|
OPTFLAG = /Ox
|
||
|
!endif
|
||
|
CFLAGS = $(CFLAGS) $(OPTFLAG) -DNDEBUG $(CPUARG)
|
||
|
RCFLAGS = $(rcflags) $(rcvars) -DNDEBUG
|
||
|
! ifdef USE_MSVCRT
|
||
|
! 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)
|
||
|
! endif
|
||
|
!else # DEBUG
|
||
|
VIM = vimd
|
||
|
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)" == ""
|
||
|
LIBC =
|
||
|
! else
|
||
|
LIBC = /fixed:no
|
||
|
! endif
|
||
|
! ifdef USE_MSVCRT
|
||
|
! 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)
|
||
|
! endif
|
||
|
!endif # DEBUG
|
||
|
|
||
|
--- 391,430 ----
|
||
|
!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
|
||
|
LIBC = msvcrt.lib
|
||
|
! else
|
||
|
LIBC = libcmt.lib
|
||
|
! 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 "$(MSVCVER)" == "4.0"
|
||
|
LIBC =
|
||
|
! else
|
||
|
LIBC = /fixed:no
|
||
|
! endif
|
||
|
! ifdef USE_MSVCRT
|
||
|
! CFLAGS = $(CFLAGS) /MDd
|
||
|
LIBC = $(LIBC) msvcrtd.lib
|
||
|
! else
|
||
|
LIBC = $(LIBC) libcmtd.lib
|
||
|
! CFLAGS = $(CFLAGS) /MTd
|
||
|
! endif
|
||
|
!endif # DEBUG
|
||
|
|
||
|
***************
|
||
|
*** 681,696 ****
|
||
|
#
|
||
|
# 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).
|
||
|
#
|
||
|
! CFLAGS = $(CFLAGS) /Zi /Fd$(OUTDIR)/
|
||
|
! LINK_PDB = /PDB:$(VIM).pdb -debug # -debug:full -debugtype:cv,fixup
|
||
|
|
||
|
#
|
||
|
# End extra feature include
|
||
|
#
|
||
|
!message
|
||
|
|
||
|
! conflags = /nologo /subsystem:$(SUBSYSTEM) /incremental:no
|
||
|
|
||
|
PATHDEF_SRC = $(OUTDIR)\pathdef.c
|
||
|
|
||
|
--- 727,744 ----
|
||
|
#
|
||
|
# 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) /Fd$(OUTDIR)/ $(DEBUGINFO)
|
||
|
! LINK_PDB = /PDB:$(VIM).pdb -debug
|
||
|
|
||
|
#
|
||
|
# End extra feature include
|
||
|
#
|
||
|
!message
|
||
|
|
||
|
! conflags = /nologo /subsystem:$(SUBSYSTEM)
|
||
|
|
||
|
PATHDEF_SRC = $(OUTDIR)\pathdef.c
|
||
|
|
||
|
***************
|
||
|
*** 702,712 ****
|
||
|
conflags = $(conflags) /map /mapinfo:lines
|
||
|
!ENDIF
|
||
|
|
||
|
! LINKARGS1 = $(linkdebug) $(conflags) /nodefaultlib:libc
|
||
|
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)
|
||
|
|
||
|
all: $(VIM).exe vimrun.exe install.exe uninstal.exe xxd/xxd.exe \
|
||
|
GvimExt/gvimext.dll
|
||
|
|
||
|
--- 750,769 ----
|
||
|
conflags = $(conflags) /map /mapinfo:lines
|
||
|
!ENDIF
|
||
|
|
||
|
! 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,800 ****
|
||
|
|
||
|
# 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)" == ""
|
||
|
.c{$(OUTDIR)/}.obj:
|
||
|
!ELSE
|
||
|
.c{$(OUTDIR)/}.obj::
|
||
|
--- 851,857 ----
|
||
|
|
||
|
# 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 "$(MSVCVER)" == "4.0"
|
||
|
.c{$(OUTDIR)/}.obj:
|
||
|
!ELSE
|
||
|
.c{$(OUTDIR)/}.obj::
|
||
|
***************
|
||
|
*** 803,809 ****
|
||
|
|
||
|
# 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)" == ""
|
||
|
.cpp{$(OUTDIR)/}.obj:
|
||
|
!ELSE
|
||
|
.cpp{$(OUTDIR)/}.obj::
|
||
|
--- 860,866 ----
|
||
|
|
||
|
# 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 "$(MSVCVER)" == "4.0"
|
||
|
.cpp{$(OUTDIR)/}.obj:
|
||
|
!ELSE
|
||
|
.cpp{$(OUTDIR)/}.obj::
|
||
|
*** ../vim-7.1.133/src/version.c Wed Oct 3 12:49:24 2007
|
||
|
--- src/version.c Wed Oct 3 13:23:51 2007
|
||
|
***************
|
||
|
*** 668,669 ****
|
||
|
--- 668,671 ----
|
||
|
{ /* Add new patch number below this line */
|
||
|
+ /**/
|
||
|
+ 134,
|
||
|
/**/
|
||
|
|
||
|
--
|
||
|
BLACK KNIGHT: The Black Knight always triumphs. Have at you!
|
||
|
ARTHUR takes his last leg off. The BLACK KNIGHT's body lands upright.
|
||
|
BLACK KNIGHT: All right, we'll call it a draw.
|
||
|
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
|
||
|
|
||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|