• R/O
  • SSH

vim: Commit

Mirror of the Vim source from https://github.com/vim/vim


Commit MetaInfo

Révision652ac5edf8d07314fe91fa0d2511f957031ba07c (tree)
l'heure2019-11-20 07:15:04
AuteurBram Moolenaar <Bram@vim....>
CommiterBram Moolenaar

Message de Log

patch 8.1.2323: Old MSVC version no longer tested.

Commit: https://github.com/vim/vim/commit/a07549008207099e8b7884d11d7c8a106e290cb9
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Nov 19 23:01:28 2019 +0100

patch 8.1.2323: Old MSVC version no longer tested.
Problem: Old MSVC version no longer tested.
Solution: Drop support for MSCV 2008 and older. (Ken Takata, closes https://github.com/vim/vim/issues/5248)

Change Summary

Modification

diff -r 13331e05a1c8 -r 652ac5edf8d0 src/INSTALLpc.txt
--- a/src/INSTALLpc.txt Tue Nov 19 22:45:05 2019 +0100
+++ b/src/INSTALLpc.txt Tue Nov 19 23:15:04 2019 +0100
@@ -44,7 +44,7 @@
4444 The currently recommended way (that means it has been verified to work) is
4545 using the "Visual Studio Community 2015" installation. This includes the SDK
4646 needed to target Windows XP. But not older Windows versions (95, 98), see
47-|msvc-2008-express| below for that
47+"OLDER VERSIONS" below for that.
4848
4949
5050 1. Microsoft Visual C++
@@ -62,12 +62,8 @@
6262 Visual Studio
6363 -------------
6464
65-Building with Visual Studio (VS 98, VS .NET, VS .NET 2003, VS 2005, VS 2008,
66-VS2010, VS2012, VS2013 and VS2015) is straightforward. (These instructions
67-should also work for VS 4 and VS 5.)
68-
69-Using VS C++ 2008 Express is recommended if you need the binary to run on
70-Windows 95 or 97, see |msvc-2008-express| below.
65+Building with Visual Studio (VS2010, VS2012, VS2013, VS2015, VS2017 and VS2019)
66+is straightforward.
7167
7268 To build Vim from the command line with MSVC, use Make_mvc.mak.
7369 Visual Studio installed a batch file called vcvars32.bat, which you must
@@ -82,7 +78,7 @@
8278 Make_mvc.mak allows a Vim to be built with various different features and
8379 debug support.
8480
85-For compiling Gvim with IME support on far-east Windows, add IME=yes
81+For compiling gVim with IME support on far-east Windows, add IME=yes
8682 to the parameters you pass to Make_mvc.mak.
8783
8884 See the specific files for comments and options.
@@ -91,26 +87,6 @@
9187 Ron Aaron; they have been tested.
9288
9389
94-Visual C++ 2008 Express Edition *msvc-2008-express*
95--------------------------------
96-
97-Visual C++ 2008 Express Edition can be downloaded for free from:
98- http://www.microsoft.com/express/downloads/
99-This includes the IDE and the debugger.
100-
101-To set the environment execute the msvc2008.bat script. You can then build
102-Vim with Make_mvc.mak.
103-
104-For building 64 bit binaries you also need to install the SDK:
105-"Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1"
106-You don't need the examples and documentation.
107-
108-If you get an error that Win32.mak can't be found, you have to set the
109-variable SDK_INCLUDE_DIR. For example, on Windows 10, installation of MSVC
110-puts include files in the following directory:
111- set SDK_INCLUDE_DIR=C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
112-
113-
11490 Visual C++ 2010 Express Edition *msvc-2010-express*
11591 -------------------------------
11692
@@ -162,6 +138,9 @@
162138 The following Visual C++ team blog can serve as a reference page:
163139 http://blogs.msdn.com/b/vcblog/archive/2012/10/08/windows-xp-targeting-with-c-in-visual-studio-2012.aspx
164140
141+VC 2019 dropped support for targeting Windows XP. If you want a binary that
142+targeting Windows XP, use VC 2017 or earlier.
143+
165144
166145 Cross compile support for Windows on ARM64
167146 ------------------------------------------
@@ -178,11 +157,14 @@
178157 might still work, but these instructions might be outdated.
179158
180159 If you need the executable to run on Windows 98 or ME, use the 2003 one
181-|msvc-2003-toolkit|.
160+|msvc-2003-toolkit| or |msvc-2005-express|, and use the source code before
161+8.0.0029.
182162
183163 Visual C++ Toolkit 2003 *msvc-2003-toolkit*
184164 -----------------------
185165
166+NOTE: this most likely does not work
167+
186168 You could download the Microsoft Visual C++ Toolkit 2003 from
187169 http://msdn.microsoft.com/visualc/vctoolkit2003/
188170 Unfortunately this URL is no longer valid. Unofficial downloads appear to be
@@ -256,6 +238,8 @@
256238 Visual C++ 2005 Express Edition *msvc-2005-express*
257239 -------------------------------
258240
241+NOTE: this most likely does not work
242+
259243 Visual C++ 2005 Express Edition can be downloaded for free from:
260244 http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
261245 This includes the IDE and the debugger. You will also need
@@ -265,6 +249,28 @@
265249 http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx
266250
267251
252+Visual C++ 2008 Express Edition *msvc-2008-express*
253+-------------------------------
254+
255+NOTE: this most likely does not work
256+
257+Visual C++ 2008 Express Edition can be downloaded for free from:
258+ http://www.microsoft.com/express/downloads/
259+This includes the IDE and the debugger.
260+
261+To set the environment execute the msvc2008.bat script. You can then build
262+Vim with Make_mvc.mak.
263+
264+For building 64 bit binaries you also need to install the SDK:
265+"Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1"
266+You don't need the examples and documentation.
267+
268+If you get an error that Win32.mak can't be found, you have to set the
269+variable SDK_INCLUDE_DIR. For example, on Windows 10, installation of MSVC
270+puts include files in the following directory:
271+ set SDK_INCLUDE_DIR=C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
272+
273+
268274 2. MSYS2 with MinGW
269275 ===================
270276
@@ -359,38 +365,36 @@
359365 3. MinGW
360366 ========
361367
362-(written by Ron Aaron: <ronaharon@yahoo.com>)
363-
364-This is about how to produce a Win32 binary of gvim with MinGW.
368+(written by Ron Aaron: <ronaharon@yahoo.com>, updated by Ken Takata, et al.)
365369
366-First, you need to get the 'mingw32' compiler, which is free for the download
367-at:
370+This is about how to produce a Win32 binary of gvim with MinGW from the normal
371+Command Prompt window. (To use MSYS2 console, see above.)
368372
369- http://www.mingw.org/
370-
371-or you can use 'MinGW-w64' compiler.
373+First, you need to get the 'MinGW-w64' compiler, which is free for the
374+download at:
372375
373376 http://mingw-w64.sourceforge.net/
374377
375378 Or a compiler provided on msys2:
376379
377- https://msys2.github.io/
380+ https://www.msys2.org/
381+
382+The original 'mingw32' compiler is outdated, and may no longer work:
383+
384+ http://www.mingw.org/
378385
379386 Once you have downloaded the compiler binaries, unpack them on your hard disk
380-somewhere, and put them on your PATH. If you are on Win95/98 you can edit
381-your AUTOEXEC.BAT file with a line like:
382-
383- set PATH=C:\MinGW\bin;%PATH%
384-
385-or on NT/2000/XP, go to the Control Panel, (Performance and Maintenance),
386-System, Advanced, and edit the environment from there. If you use msys2
387-compilers, set your installed paths (normally one of the following):
387+somewhere, and put them on your PATH. Go to the Control Panel, (Performance
388+and Maintenance), System, Advanced, and edit the environment from there. If
389+you use the standalone MinGW-w64 compiler, the path may depends on your
390+installation. If you use msys2 compilers, set your installed paths (normally
391+one of the following):
388392
389393 C:\msys32\mingw32\bin (32-bit msys2, targeting 32-bit builds)
390394 C:\msys64\mingw32\bin (64-bit msys2, targeting 32-bit builds)
391395 C:\msys64\mingw64\bin (64-bit msys2, targeting 64-bit builds)
392396
393-Test if gcc is on your path. From a CMD (or COMMAND on '95/98) window:
397+Test if gcc is on your path. From a Command Prompt window:
394398
395399 C:\> gcc --version
396400 gcc (GCC) 4.8.1
@@ -473,8 +477,7 @@
473477 6. Building with Python support
474478 ===============================
475479
476-For building with MSVC 2008 the "Windows Installer" from www.python.org
477-works fine.
480+For building with MSVC the "Windows Installer" from www.python.org works fine.
478481
479482 When building, you need to set the following variables at least:
480483
@@ -534,8 +537,8 @@
534537 7. Building with Python3 support
535538 ================================
536539
537-For building with MSVC 2008 the "Windows Installer" from www.python.org
538-works fine. Python 3.6 is recommended.
540+For building with MSVC the "Windows Installer" from www.python.org works fine.
541+Python 3.6 is recommended.
539542
540543 When building, you need to set the following variables at least:
541544
@@ -569,7 +572,7 @@
569572
570573
571574 8. Building with Racket or MzScheme support
572-========================================
575+===========================================
573576
574577 1) Building with Racket support (newest)
575578
diff -r 13331e05a1c8 -r 652ac5edf8d0 src/Make_mvc.mak
--- a/src/Make_mvc.mak Tue Nov 19 22:45:05 2019 +0100
+++ b/src/Make_mvc.mak Tue Nov 19 23:15:04 2019 +0100
@@ -1,7 +1,7 @@
11 # Makefile for Vim on Win32 (Windows XP/2003/Vista/7/8/10) and Win64,
2-# using the Microsoft Visual C++ compilers. Known to work with VC5, VC6 (VS98),
3-# VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005), VC9 (VS2008), VC10 (VS2010),
4-# VC11 (VS2012), VC12 (VS2013), VC14 (VS2015) and VC15 (VS2017)
2+# using the Microsoft Visual C++ compilers. Known to work with VC10 (VS2010),
3+# VC11 (VS2012), VC12 (VS2013), VC14 (VS2015), VC14.1 (VS2017) and
4+# VC14.2 (VS2019).
55 #
66 # To build using other Windows compilers, see INSTALLpc.txt
77 #
@@ -276,15 +276,9 @@
276276 !if $(MSVCVER) < 1900
277277 MSVC_MAJOR = ($(MSVCVER) / 100 - 6)
278278 MSVCRT_VER = ($(MSVCVER) / 10 - 60)
279-# Visual C++ 2017 needs special handling
280-# it has an _MSC_VER of 1910->14.1, but is actually v15 with runtime v140
281-# TODO: what's the maximum value?
282-!elseif $(MSVCVER) >= 1910
283-MSVC_MAJOR = 15
284-MSVCRT_VER = 140
285279 !else
286280 MSVC_MAJOR = ($(MSVCVER) / 100 - 5)
287-MSVCRT_VER = ($(MSVCVER) / 10 - 50)
281+MSVCRT_VER = ($(MSVCVER) / 100 * 10 - 50)
288282 !endif
289283
290284 # Calculate MSVC_FULL for Visual C++ 8 and up.
diff -r 13331e05a1c8 -r 652ac5edf8d0 src/gui_w32.c
--- a/src/gui_w32.c Tue Nov 19 22:45:05 2019 +0100
+++ b/src/gui_w32.c Tue Nov 19 23:15:04 2019 +0100
@@ -1285,13 +1285,8 @@
12851285 HBRUSH prevBrush;
12861286
12871287 s_brush = CreateSolidBrush(gui.back_pixel);
1288-#ifdef SetClassLongPtr
12891288 prevBrush = (HBRUSH)SetClassLongPtr(
12901289 s_hwnd, GCLP_HBRBACKGROUND, (LONG_PTR)s_brush);
1291-#else
1292- prevBrush = (HBRUSH)SetClassLong(
1293- s_hwnd, GCL_HBRBACKGROUND, (long_u)s_brush);
1294-#endif
12951290 InvalidateRect(s_hwnd, NULL, TRUE);
12961291 DeleteObject(prevBrush);
12971292 }
@@ -3422,11 +3417,7 @@
34223417 idc = IDC_ARROW;
34233418 else
34243419 idc = mshape_idcs[shape];
3425-#ifdef SetClassLongPtr
3426- SetClassLongPtr(s_textArea, GCLP_HCURSOR, (__int3264)(LONG_PTR)LoadCursor(NULL, idc));
3427-#else
3428- SetClassLong(s_textArea, GCL_HCURSOR, (long_u)LoadCursor(NULL, idc));
3429-#endif
3420+ SetClassLongPtr(s_textArea, GCLP_HCURSOR, (LONG_PTR)LoadCursor(NULL, idc));
34303421 if (!p_mh)
34313422 {
34323423 POINT mp;
diff -r 13331e05a1c8 -r 652ac5edf8d0 src/os_win32.c
--- a/src/os_win32.c Tue Nov 19 22:45:05 2019 +0100
+++ b/src/os_win32.c Tue Nov 19 23:15:04 2019 +0100
@@ -921,14 +921,6 @@
921921 };
922922
923923
924-#ifdef _MSC_VER
925-// The ToAscii bug destroys several registers. Need to turn off optimization
926-// or the GetConsoleKeyboardLayoutName hack will fail in non-debug versions
927-# pragma warning(push)
928-# pragma warning(disable: 4748)
929-# pragma optimize("", off)
930-#endif
931-
932924 #if defined(__GNUC__) && !defined(__MINGW32__) && !defined(__CYGWIN__)
933925 # define UChar UnicodeChar
934926 #else
@@ -981,20 +973,6 @@
981973 return s_iIsDead;
982974 }
983975
984-#ifdef _MSC_VER
985-/* MUST switch optimization on again here, otherwise a call to
986- * decode_key_event() may crash (e.g. when hitting caps-lock) */
987-# pragma optimize("", on)
988-# pragma warning(pop)
989-
990-# if (_MSC_VER < 1100)
991-/* MUST turn off global optimisation for this next function, or
992- * pressing ctrl-minus in insert mode crashes Vim when built with
993- * VC4.1. -- negri. */
994-# pragma optimize("g", off)
995-# endif
996-#endif
997-
998976 static BOOL g_fJustGotFocus = FALSE;
999977
1000978 /*
@@ -1120,10 +1098,6 @@
11201098 return (*pch != NUL);
11211099 }
11221100
1123-#ifdef _MSC_VER
1124-# pragma optimize("", on)
1125-#endif
1126-
11271101 #endif /* FEAT_GUI_MSWIN */
11281102
11291103
diff -r 13331e05a1c8 -r 652ac5edf8d0 src/version.c
--- a/src/version.c Tue Nov 19 22:45:05 2019 +0100
+++ b/src/version.c Tue Nov 19 23:15:04 2019 +0100
@@ -742,6 +742,8 @@
742742 static int included_patches[] =
743743 { /* Add new patch number below this line */
744744 /**/
745+ 2323,
746+/**/
745747 2322,
746748 /**/
747749 2321,
Afficher sur ancien navigateur de dépôt.