Skip to content

Commit

Permalink
patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Browse files Browse the repository at this point in the history
Problem:    AppVeyor runs much slower with MSVC 2022.
Solution:   Go back to MSVC 2015. (Christopher Plewright, closes vim#11810)
  • Loading branch information
zewpo authored and brammool committed Jan 13, 2023
1 parent 232bdaa commit 60908c4
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 22 deletions.
26 changes: 23 additions & 3 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,31 @@
version: "{build}"

image: Visual Studio 2022
image: Visual Studio 2015

skip_tags: true

environment:
matrix:
- FEATURE: HUGE

# Alternate environments, not used right now. 2022 is a lot slower.
#
# - job_name: VS-2015
# appveyor_build_worker_image: Visual Studio 2015
# FEATURE: HUGE

# - job_name: VS-2017
# appveyor_build_worker_image: Visual Studio 2017
# FEATURE: HUGE

# - job_name: VS-2019
# appveyor_build_worker_image: Visual Studio 2019
# FEATURE: HUGE

# - job_name: VS-2022
# appveyor_build_worker_image: Visual Studio 2022
# FEATURE: HUGE

# disabled
# - FEATURE: TINY
# - FEATURE: NORMAL
Expand All @@ -16,7 +35,8 @@ matrix:
fast_finish: true

before_build:
# Use latest compiler tools (Visual Studio 2022)
# - systeminfo
# - wmic /NameSpace:\\root\Microsoft\Windows\Storage Path MSFT_PhysicalDisk get FriendlyName,Model,AllocatedSize,UniqueId
- setlocal ENABLEDELAYEDEXPANSION
- call ver
- set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
Expand All @@ -38,7 +58,7 @@ build_script:
test_script:
- cd src/testdir
# Testing with MSVC gvim
- path C:\Python311-x64;%PATH%
- path C:\Python38-x64;%PATH%
- nmake -f Make_mvc.mak VIMPROG=..\gvim
- nmake -f Make_mvc.mak clean
# Testing with MSVC console version
Expand Down
2 changes: 1 addition & 1 deletion ci/appveyor.bat
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ if "%FEATURE%" == "HUGE" (
nmake -f Make_mvc.mak CPU=AMD64 ^
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no POSTSCRIPT=yes ^
PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 ^
PYTHON3_VER=311 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python311-x64 ^
PYTHON3_VER=38 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python38-x64 ^
FEATURES=%FEATURE%
) ELSE (
nmake -f Make_mvc.mak CPU=AMD64 ^
Expand Down
52 changes: 34 additions & 18 deletions src/INSTALLpc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,26 +42,30 @@ Contents:


The currently recommended way (that means it has been verified to work) is
using the "Visual Studio Community 2015" installation. This doesn't include
the SDK for older Windows versions (95, 98), see "OLDER VERSIONS" below for
that.
using the "Visual Studio 2022 Community Edition" installation. This doesn't
include the SDK for older Windows versions (95 - XP), see "OLDER VERSIONS"
below for that.


1. Microsoft Visual C++
=======================

We do not provide download links, since Microsoft keeps changing them. You
can search for "Visual Studio Community 2015", for example. You will need to
create a Microsoft account (it's free). You need to download the "DVD", and
execute the installer from it.
can search for "Visual Studio 2022 Community Edition", for example. You will
need to create a Microsoft account (it's free). You need to download the
"DVD", and execute the installer from it.

When installing "Visual Studio 2022 Community Edition" or "Build Tools for
Visual Studio 2022" make sure to select "custom" and check all checkboxes
under "Universal Windows App Development Tools". Or whatever they are called
now.

When installing "Visual Studio Community 2015 with Update 3" or "Visual C++
Build Tools for Visual Studio 2015 with Update 3" make sure to
select "custom" and check all checkboxes under "Universal Windows App
Development Tools". Or whatever they are called now.
(If you still want to target Windows XP, check also "Windows XP Support for
C++". Note that with the current source code this is no longer supported, you
will have to check out an older version).
Note: Vim source code no longer supports Windows XP since Patch 9.0.0496.
Also, Visual Studio 2017 was the last version to support a Windows XP target.
If you still want to target Windows XP, you can check out an older version of
vim source code and install Visual Studio 2017 or 2015 - making sure to check
the checkbox for "Windows XP Support for C++". Additional build instructions
for Windows XP are provided below. |new-msvc-windows-xp|


Visual Studio
Expand All @@ -70,6 +74,18 @@ Visual Studio
Building with Visual Studio (VS2015, VS2017, VS2019 and VS2022) is
straightforward. Older versions probably don't work.

Vim versions built with VS2015 and VS2017 are systematically tested and known
to work well on Windows versions 7, 8 and 8.1.

Vim versions built with VS2015 and VS2017 are also known to work well on all
early versions of Windows 10. However, Vim versions built with VS2015 and
VS2017 may run into a known issue on the latest versions of Windows 10 and 11.
Building Vim with VS2019 or VS2022 resolves the issue.

Vim versions built with VS2019 and VS2022 are systematically tested and
known to work on Windows versions 7, 8, 8.1, 10, 11 and all respective server
variants.

Visual Studio installed a batch file called vcvarsall.bat, which you must
run to set up paths for nmake and MSVC. We provide a batch file
"msvc2015.bat" for this. You may need to edit it if you didn't install Visual
Expand Down Expand Up @@ -100,8 +116,8 @@ These files have been supplied by George V. Reilly, Ben Singer, Ken Scott and
Ron Aaron; they have been tested. But several things changed after that...


Targeting Windows XP with MSVC 2015 and later *new-msvc-windows-xp*
---------------------------------------------
Targeting Windows XP with MSVC 2015 or 2017 *new-msvc-windows-xp*
-------------------------------------------

(The support for pre-Vista was removed in patch 9.0.0496. If you want to
target Windows XP, use the source code before that.)
Expand Down Expand Up @@ -155,9 +171,9 @@ The ARM64 support was provided by Leendert van Doorn.

OLDER VERSIONS

The minimal supported version is Windows 7. Building with compilers
older than 2015 most likely doesn't work. Since MSVC 2015 can be obtained for
free there is no point in supporting older versions.
The minimal supported version is Windows 7. Building with compilers older than
2015 most likely doesn't work. Since MSVC 2022 can be obtained for free there
is no point in supporting older versions.

If you need the executable to run on Windows 98 or ME, use the 2005 one
|msvc-2005-express|, and use the source code before 8.0.0029. See the
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -695,6 +695,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1190,
/**/
1189,
/**/
Expand Down

0 comments on commit 60908c4

Please sign in to comment.