annotate src/INSTALLpc.txt @ 32730:078630443def v9.0.1685

patch 9.0.1685: silence Python 3.11 depreciations for gcc Commit: https://github.com/vim/vim/commit/422b9dcbfadcd5c1dfad982f9782563915398430 Author: Philip H <47042125+pheiduck@users.noreply.github.com> Date: Fri Aug 11 22:38:48 2023 +0200 patch 9.0.1685: silence Python 3.11 depreciations for gcc Problem: Python 3.11 interface throws deprecation warnings Solution: ignore those warnings for gcc and clang Python 3.11 deprecation warnings are already silenced for clang using the pragma ``` # pragma clang diagnostic ignored "-Wdeprecated-declarations" ``` However those warnings are also emitted when using gcc. To avoid them for both compilers, change use the __GNUC__ ifdef, which is defined for gcc as well as clang. Additionally, instead of using the "clang diagnostic ignored" pragma, let's make use of 'GCC diagnostic ignored' which is again supported by clang and GCC closes: #12610 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Philip H <47042125+pheiduck@users.noreply.github.com>
author Christian Brabandt <cb@256bit.org>
date Fri, 11 Aug 2023 23:00:03 +0200
parents 9dd5bc4f2783
children dc0efb0d30bd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 INSTALLpc.txt - Installation of Vim on PC
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 This file contains instructions for compiling Vim. If you already have an
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 executable version of Vim, you don't need this.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5
14792
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
6 You can find the latest here: https://github.com/vim/vim-win32-installer
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
7 This page also has links to install support for interfaces such as Perl,
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
8 Python, Lua, etc.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 The file "feature.h" can be edited to match your preferences. You can skip
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 this, then you will get the default behavior as is documented, which should
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 be fine for most people.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13
8960
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
14 This document assumes that you are building Vim for Win32 or later (Windows
30320
0763cb330a65 patch 9.0.0496: no good reason to keep supporting Windows-XP
Bram Moolenaar <Bram@vim.org>
parents: 29840
diff changeset
15 7/8/10/11). There are also instructions for pre-Vista and pre-XP systems, but
8960
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
16 they might no longer work.
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
17
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
18 The recommended way is to build a 32 bit Vim, also on 64 bit systems. You can
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
19 build a 64 bit Vim if you like, the executable will be bigger and Vim won't be
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
20 any faster, but you can edit files larger than 2 Gbyte.
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
21
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 Contents:
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
24 1. Microsoft Visual C++
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
25 2. Using MSYS2 with MinGW
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
26 3. Using MinGW
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
27 4. Cygwin
16606
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
28 5. Cross compiling for Win32 from a Linux machine
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
29 6. Building with Python support
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
30 7. Building with Python3 support
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
31 8. Building with Racket or MzScheme support
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
32 9. Building with Lua support
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
33 10. Building with Perl support
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
34 11. Building with Ruby support
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
35 12. Building with Tcl support
19116
9b7f90e56753 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18662
diff changeset
36 13. Building with DirectX (DirectWrite) support
27998
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
37 14. Building with libsodium support
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
38 15. Windows 3.1
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
39 16. MS-DOS
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
40
27998
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
41 17. Installing after building from sources
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
42
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
43
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
44 The currently recommended way (that means it has been verified to work) is
31716
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
45 using the "Visual Studio 2022 Community Edition" installation. This doesn't
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
46 include the SDK for older Windows versions (95 - XP), see "OLDER VERSIONS"
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
47 below for that.
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
48
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
49
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
50 1. Microsoft Visual C++
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
51 =======================
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
52
12600
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
53 We do not provide download links, since Microsoft keeps changing them. You
31716
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
54 can search for "Visual Studio 2022 Community Edition", for example. You will
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
55 need to create a Microsoft account (it's free). You need to download the
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
56 "DVD", and execute the installer from it.
12600
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
57
31716
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
58 When installing "Visual Studio 2022 Community Edition" or "Build Tools for
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
59 Visual Studio 2022" make sure to select "custom" and check all checkboxes
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
60 under "Universal Windows App Development Tools". Or whatever they are called
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
61 now.
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
62
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
63 Note: Vim source code no longer supports Windows XP since Patch 9.0.0496.
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
64 Also, Visual Studio 2017 was the last version to support a Windows XP target.
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
65 If you still want to target Windows XP, you can check out an older version of
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
66 vim source code and install Visual Studio 2017 or 2015 - making sure to check
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
67 the checkbox for "Windows XP Support for C++". Additional build instructions
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
68 for Windows XP are provided below. |new-msvc-windows-xp|
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
69
12600
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
70
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
71 Visual Studio
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
72 -------------
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
73
30377
c9d2c554f314 patch 9.0.0524: build instructions for MS-Windows are outdated
Bram Moolenaar <Bram@vim.org>
parents: 30320
diff changeset
74 Building with Visual Studio (VS2015, VS2017, VS2019 and VS2022) is
c9d2c554f314 patch 9.0.0524: build instructions for MS-Windows are outdated
Bram Moolenaar <Bram@vim.org>
parents: 30320
diff changeset
75 straightforward. Older versions probably don't work.
c9d2c554f314 patch 9.0.0524: build instructions for MS-Windows are outdated
Bram Moolenaar <Bram@vim.org>
parents: 30320
diff changeset
76
31716
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
77 Vim versions built with VS2015 and VS2017 are systematically tested and known
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
78 to work well on Windows versions 7, 8 and 8.1.
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
79
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
80 Vim versions built with VS2015 and VS2017 are also known to work well on all
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
81 early versions of Windows 10. However, Vim versions built with VS2015 and
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
82 VS2017 may run into a known issue on the latest versions of Windows 10 and 11.
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
83 Building Vim with VS2019 or VS2022 resolves the issue.
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
84
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
85 Vim versions built with VS2019 and VS2022 are systematically tested and
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
86 known to work on Windows versions 7, 8, 8.1, 10, 11 and all respective server
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
87 variants.
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
88
30385
54dda39c5bb3 patch 9.0.0528: MS-Windows: no batch files for more recent MSVC versions
Bram Moolenaar <Bram@vim.org>
parents: 30377
diff changeset
89 Visual Studio installed a batch file called vcvarsall.bat, which you must
30377
c9d2c554f314 patch 9.0.0524: build instructions for MS-Windows are outdated
Bram Moolenaar <Bram@vim.org>
parents: 30320
diff changeset
90 run to set up paths for nmake and MSVC. We provide a batch file
30986
360f286b5869 patch 9.0.0828: various typos
Bram Moolenaar <Bram@vim.org>
parents: 30882
diff changeset
91 "msvc2015.bat" for this. You may need to edit it if you didn't install Visual
30377
c9d2c554f314 patch 9.0.0524: build instructions for MS-Windows are outdated
Bram Moolenaar <Bram@vim.org>
parents: 30320
diff changeset
92 Studio in the standard location.
30385
54dda39c5bb3 patch 9.0.0528: MS-Windows: no batch files for more recent MSVC versions
Bram Moolenaar <Bram@vim.org>
parents: 30377
diff changeset
93 If you use VS2017 or later, you can use "msvc-latest.bat" (or "msvc2017.bat"
54dda39c5bb3 patch 9.0.0528: MS-Windows: no batch files for more recent MSVC versions
Bram Moolenaar <Bram@vim.org>
parents: 30377
diff changeset
94 and so on for the specific version). You must specify the architecture (e.g.
54dda39c5bb3 patch 9.0.0528: MS-Windows: no batch files for more recent MSVC versions
Bram Moolenaar <Bram@vim.org>
parents: 30377
diff changeset
95 "x86", "x64", etc.) as the first argument when you use this. If you use VS2017
54dda39c5bb3 patch 9.0.0528: MS-Windows: no batch files for more recent MSVC versions
Bram Moolenaar <Bram@vim.org>
parents: 30377
diff changeset
96 Express, you must use "x86_amd64" instead of "x64" for targeting the x64
54dda39c5bb3 patch 9.0.0528: MS-Windows: no batch files for more recent MSVC versions
Bram Moolenaar <Bram@vim.org>
parents: 30377
diff changeset
97 platform.
3847
1003f9b262d7 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3388
diff changeset
98
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
99 To build Vim from the command line with MSVC, use Make_mvc.mak.
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
100
856
8cd729851562 updated for version 7.0g
vimboss
parents: 838
diff changeset
101 nmake -f Make_mvc.mak console Win32 SDK or Microsoft Visual C++
8cd729851562 updated for version 7.0g
vimboss
parents: 838
diff changeset
102 nmake -f Make_mvc.mak GUI=yes GUI Microsoft Visual C++
8cd729851562 updated for version 7.0g
vimboss
parents: 838
diff changeset
103 nmake -f Make_mvc.mak OLE=yes OLE Microsoft Visual C++
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
104 nmake -f Make_mvc.mak PERL=C:\Perl PYTHON=C:\Python etc.
856
8cd729851562 updated for version 7.0g
vimboss
parents: 838
diff changeset
105 Perl, Python, etc.
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
106
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
107 Make_mvc.mak allows a Vim to be built with various different features and
16580
09f560dde6be patch 8.1.1293: MSVC files are no longer useful
Bram Moolenaar <Bram@vim.org>
parents: 16229
diff changeset
108 debug support.
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
109
18662
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
110 For compiling gVim with IME support on far-east Windows, add IME=yes
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
111 to the parameters you pass to Make_mvc.mak.
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
112
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
113 See the specific files for comments and options.
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
114
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
115 These files have been supplied by George V. Reilly, Ben Singer, Ken Scott and
30377
c9d2c554f314 patch 9.0.0524: build instructions for MS-Windows are outdated
Bram Moolenaar <Bram@vim.org>
parents: 30320
diff changeset
116 Ron Aaron; they have been tested. But several things changed after that...
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
117
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
118
31716
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
119 Targeting Windows XP with MSVC 2015 or 2017 *new-msvc-windows-xp*
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
120 -------------------------------------------
8960
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
121
30377
c9d2c554f314 patch 9.0.0524: build instructions for MS-Windows are outdated
Bram Moolenaar <Bram@vim.org>
parents: 30320
diff changeset
122 (The support for pre-Vista was removed in patch 9.0.0496. If you want to
30320
0763cb330a65 patch 9.0.0496: no good reason to keep supporting Windows-XP
Bram Moolenaar <Bram@vim.org>
parents: 29840
diff changeset
123 target Windows XP, use the source code before that.)
0763cb330a65 patch 9.0.0496: no good reason to keep supporting Windows-XP
Bram Moolenaar <Bram@vim.org>
parents: 29840
diff changeset
124
8960
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
125 Beginning with Visual C++ 2012, Microsoft changed the behavior of LINK.EXE
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
126 so that it targets Windows 6.0 (Vista) by default. In order to override
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
127 this, the target Windows version number needs to be passed to LINK like
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
128 follows:
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
129 LINK ... /subsystem:console,5.01
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
130
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
131 Make_mvc.mak now supports a macro SUBSYSTEM_VER to pass the Windows version.
12600
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
132 Use lines like follows to target Windows XP x86 (assuming using Visual C++
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
133 2012 under 64-bit Windows):
8960
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
134 set WinSdk71=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
135 set INCLUDE=%WinSdk71%\Include;%INCLUDE%
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
136 set LIB=%WinSdk71%\Lib;%LIB%
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
137 set CL=/D_USING_V110_SDK71_
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
138 nmake -f Make_mvc.mak ... WINVER=0x0501 SUBSYSTEM_VER=5.01
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
139
12600
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
140 To target Windows XP x64 instead of x86, you need to change the settings of
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
141 LIB and SUBSYSTEM_VER:
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
142 ...
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
143 set LIB=%WinSdk71%\Lib\x64;%LIB%
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
144 ...
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
145 nmake -f Make_mvc.mak ... WINVER=0x0501 SUBSYSTEM_VER=5.02
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
146
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
147 If you use Visual C++ 2015 (either Express or Community Edition), executing
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
148 msvc2015.bat will set them automatically. For x86 builds run this without
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
149 options:
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
150 msvc2015
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
151 For x64 builds run this with the "x86_amd64" option:
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
152 msvc2015 x86_amd64
14792
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
153 This enables x86_x64 cross compiler. This works on any editions including
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
154 Express edition.
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
155 If you use Community (or Professional) edition, you can enable the x64 native
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
156 compiler by using the "x64" option:
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
157 msvc2015 x64
12600
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
158
8960
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
159 The following Visual C++ team blog can serve as a reference page:
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
160 http://blogs.msdn.com/b/vcblog/archive/2012/10/08/windows-xp-targeting-with-c-in-visual-studio-2012.aspx
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
161
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
162
16229
081522b02c2d patch 8.1.1119: no support for Windows on ARM64.
Bram Moolenaar <Bram@vim.org>
parents: 15408
diff changeset
163 Cross compile support for Windows on ARM64
081522b02c2d patch 8.1.1119: no support for Windows on ARM64.
Bram Moolenaar <Bram@vim.org>
parents: 15408
diff changeset
164 ------------------------------------------
081522b02c2d patch 8.1.1119: no support for Windows on ARM64.
Bram Moolenaar <Bram@vim.org>
parents: 15408
diff changeset
165
081522b02c2d patch 8.1.1119: no support for Windows on ARM64.
Bram Moolenaar <Bram@vim.org>
parents: 15408
diff changeset
166 This depends on VS2017 with the optional ARM64 compiler and SDK
081522b02c2d patch 8.1.1119: no support for Windows on ARM64.
Bram Moolenaar <Bram@vim.org>
parents: 15408
diff changeset
167 installed. Use "vcvarsall.bat x64_arm64" as the build environment.
081522b02c2d patch 8.1.1119: no support for Windows on ARM64.
Bram Moolenaar <Bram@vim.org>
parents: 15408
diff changeset
168
081522b02c2d patch 8.1.1119: no support for Windows on ARM64.
Bram Moolenaar <Bram@vim.org>
parents: 15408
diff changeset
169 The ARM64 support was provided by Leendert van Doorn.
081522b02c2d patch 8.1.1119: no support for Windows on ARM64.
Bram Moolenaar <Bram@vim.org>
parents: 15408
diff changeset
170
081522b02c2d patch 8.1.1119: no support for Windows on ARM64.
Bram Moolenaar <Bram@vim.org>
parents: 15408
diff changeset
171
8960
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
172 OLDER VERSIONS
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
173
31716
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
174 The minimal supported version is Windows 7. Building with compilers older than
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
175 2015 most likely doesn't work. Since MSVC 2022 can be obtained for free there
9dd5bc4f2783 patch 9.0.1190: AppVeyor runs much slower with MSVC 2022
Bram Moolenaar <Bram@vim.org>
parents: 30986
diff changeset
176 is no point in supporting older versions.
8960
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
177
27370
584f91cc2508 patch 8.2.4213: too much code for supporting old MSVC versions
Bram Moolenaar <Bram@vim.org>
parents: 24970
diff changeset
178 If you need the executable to run on Windows 98 or ME, use the 2005 one
30377
c9d2c554f314 patch 9.0.0524: build instructions for MS-Windows are outdated
Bram Moolenaar <Bram@vim.org>
parents: 30320
diff changeset
179 |msvc-2005-express|, and use the source code before 8.0.0029. See the
c9d2c554f314 patch 9.0.0524: build instructions for MS-Windows are outdated
Bram Moolenaar <Bram@vim.org>
parents: 30320
diff changeset
180 src/INSTALLpc.txt file for instructions.
18662
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
181
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
182
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
183 2. MSYS2 with MinGW
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
184 ===================
6149
4c845a1600d2 updated for version 7.4.412
Bram Moolenaar <bram@vim.org>
parents: 3847
diff changeset
185
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
186 2.1. Setup the basic msys2 environment
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
187
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
188 Go to the official page of MSYS2: https://www.msys2.org
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
189 Download an installer:
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
190
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
191 * msys2-x86_64-YYYYMMDD.exe for 64-bit Windows
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
192 (Even if you want to build 32-bit Vim)
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
193 * msys2-i686-YYYYMMDD.exe for 32-bit Windows
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
194
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
195 Execute the installer and follow the instructions to update basic packages.
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
196 At the end keep the checkbox checked to run msys2 now. If needed, you can
14792
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
197 open the window from the start menu, MSYS2 64 bit / MSYS2 MSYS.
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
198
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
199 Execute:
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
200 $ pacman -Syu
14792
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
201
24911
fd37be6dc258 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 23047
diff changeset
202 And restart MSYS2 console (select "MSYS2 MSYS 32-Bit" icon from the Start
fd37be6dc258 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 23047
diff changeset
203 Menu for building 32 bit Vim, otherwise select "MSYS2 MinGW 64-Bit").
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
204 Then execute:
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
205 $ pacman -Su
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
206
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
207 If pacman complains that `catgets` and `libcatgets` conflict with another
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
208 package, select `y` to remove them.
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
209
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
210
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
211 2.2. Install additional packages for building Vim
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
212
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
213 The following package groups are required for building Vim:
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
214
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
215 * base-devel
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
216 * mingw-w64-i686-toolchain (for building 32-bit Vim)
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
217 * mingw-w64-x86_64-toolchain (for building 64-bit Vim)
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
218
14792
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
219 (These groups also include some useful packages which are not used by Vim.)
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
220 Use the following command to install them:
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
221
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
222 $ pacman -S base-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
223
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
224 Or you can use the `pacboy` command to avoid long package names:
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
225
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
226 $ pacboy -S base-devel: toolchain:m
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
227
14792
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
228 The suffix ":" means that it disables the package name translation.
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
229 The suffix ":m" means both i686 and x86_64. You can also use the ":i" suffix
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
230 to install only i686, and the ":x" suffix to install only x86_64.
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
231 (See `pacboy help` for the help.)
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
232
14792
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
233 See also the pacman page in ArchWiki for the general usage of pacman:
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
234 https://wiki.archlinux.org/index.php/pacman
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
235
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
236 MSYS2 has its own git package, and you can also install it via pacman:
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
237
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
238 $ pacman -S git
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
239
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
240
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
241 2.3. Keep the build environment up-to-date
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
242
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
243 After you have installed the build environment, you may want to keep it
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
244 up-to-date (E.g. always use the latest GCC).
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
245 In that case, you just need to execute the command:
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
246 $ pacman -Syu
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
247
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
248
14792
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
249 2.4. Build Vim
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
250
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
251 Select one of the following icon from the Start Menu:
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
252
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
253 * MSYS2 MinGW 32-bit (To build 32-bit versions of Vim)
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
254 * MSYS2 MinGW 64-bit (To build 64-bit versions of Vim)
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
255
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
256 Go to the source directory of Vim, then execute the make command. E.g.:
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
257
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
258 make -f Make_ming.mak
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
259 make -f Make_ming.mak GUI=no
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
260 make -f Make_ming.mak GUI=no DEBUG=yes
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
261
14792
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
262 NOTE: you can't execute vim.exe in the MSYS2 console, open a normal Windows
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
263 console for that. You need to set $PATH to be able to build there, e.g.:
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
264
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
265 set PATH=c:\msys64\mingw32\bin;c:\msys64\usr\bin;%PATH%
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
266
14792
8eb8200a55b2 patch 8.1.0408: MSVC: cannot use the "x64" native compiler option
Christian Brabandt <cb@256bit.org>
parents: 14222
diff changeset
267 This command is in msys32.bat. Or for the 64 bit compiler use msys64.bat:
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
268
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
269 set PATH=c:\msys64\mingw64\bin;c:\msys64\usr\bin;%PATH%
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
270
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
271 If you have msys64 in another location you will need to adjust the paths for
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
272 that.
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
273
29134
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
274 2.5. Build Vim with Clang
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
275
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
276 The following package group is required for building Vim with Clang:
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
277
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
278 * mingw-w64-clang-x86_64-clang
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
279
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
280 Use the following command to install it:
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
281
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
282 $ pacman -S mingw-w64-clang-x86_64-clang
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
283
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
284 Go to the source directory of Vim, then execute the make command. E.g.:
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
285
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
286 CC=clang
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
287 CXX=clang++
29163
9288c636ffa5 patch 8.2.5101: MS-Windows with MinGW: $CC may be "cc" instead of "gcc"
Bram Moolenaar <Bram@vim.org>
parents: 29134
diff changeset
288 # To build Vim without the GUI support
29134
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
289 make -f Make_ming.mak GUI=no
29163
9288c636ffa5 patch 8.2.5101: MS-Windows with MinGW: $CC may be "cc" instead of "gcc"
Bram Moolenaar <Bram@vim.org>
parents: 29134
diff changeset
290 # To build Vim with the GUI support
9288c636ffa5 patch 8.2.5101: MS-Windows with MinGW: $CC may be "cc" instead of "gcc"
Bram Moolenaar <Bram@vim.org>
parents: 29134
diff changeset
291 make -f Make_ming.mak GUI=yes XPM=no
29134
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
292
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
293 To build Vim with the address sanitizer (ASAN), execute the following command:
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
294
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
295 CC=clang
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
296 CXX=clang++
cc1f2ef46aaa patch 8.2.5087: cannot build with clang on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents: 27998
diff changeset
297 make -f Make_ming.mak DEBUG=yes ASAN=yes
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
298
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
299 3. MinGW
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
300 ========
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
301
18662
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
302 (written by Ron Aaron: <ronaharon@yahoo.com>, updated by Ken Takata, et al.)
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
303
18662
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
304 This is about how to produce a Win32 binary of gvim with MinGW from the normal
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
305 Command Prompt window. (To use MSYS2 console, see above.)
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
306
18662
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
307 First, you need to get the 'MinGW-w64' compiler, which is free for the
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
308 download at:
6326
112c80234ce3 updated for version 7.4.496
Bram Moolenaar <bram@vim.org>
parents: 6149
diff changeset
309
112c80234ce3 updated for version 7.4.496
Bram Moolenaar <bram@vim.org>
parents: 6149
diff changeset
310 http://mingw-w64.sourceforge.net/
112c80234ce3 updated for version 7.4.496
Bram Moolenaar <bram@vim.org>
parents: 6149
diff changeset
311
7456
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
312 Or a compiler provided on msys2:
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
313
18662
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
314 https://www.msys2.org/
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
315
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
316 The original 'mingw32' compiler is outdated, and may no longer work:
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
317
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
318 http://www.mingw.org/
7456
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
319
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
320 Once you have downloaded the compiler binaries, unpack them on your hard disk
18662
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
321 somewhere, and put them on your PATH. Go to the Control Panel, (Performance
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
322 and Maintenance), System, Advanced, and edit the environment from there. If
23047
29c5f168c6fd Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 22880
diff changeset
323 you use the standalone MinGW-w64 compiler, the path may depend on your
18662
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
324 installation. If you use msys2 compilers, set your installed paths (normally
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
325 one of the following):
7456
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
326
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
327 C:\msys32\mingw32\bin (32-bit msys2, targeting 32-bit builds)
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
328 C:\msys64\mingw32\bin (64-bit msys2, targeting 32-bit builds)
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
329 C:\msys64\mingw64\bin (64-bit msys2, targeting 64-bit builds)
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
330
18662
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
331 Test if gcc is on your path. From a Command Prompt window:
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
332
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
333 C:\> gcc --version
6326
112c80234ce3 updated for version 7.4.496
Bram Moolenaar <bram@vim.org>
parents: 6149
diff changeset
334 gcc (GCC) 4.8.1
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
335
6326
112c80234ce3 updated for version 7.4.496
Bram Moolenaar <bram@vim.org>
parents: 6149
diff changeset
336 C:\> mingw32-make --version
112c80234ce3 updated for version 7.4.496
Bram Moolenaar <bram@vim.org>
parents: 6149
diff changeset
337 GNU Make 3.82.90 (...etc...)
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
338
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
339 Now you are ready to rock 'n' roll. Unpack the vim sources (look on
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
340 www.vim.org for exactly which version of the vim files you need).
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
341
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
342 Change directory to 'vim\src':
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
343
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
344 C:\> cd vim\src
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
345 C:\VIM\SRC>
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
346
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
347 and you type:
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
348
6326
112c80234ce3 updated for version 7.4.496
Bram Moolenaar <bram@vim.org>
parents: 6149
diff changeset
349 mingw32-make -f Make_ming.mak gvim.exe
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
350
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
351 After churning for a while, you will end up with 'gvim.exe' in the 'vim\src'
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
352 directory.
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
353
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
354 You should not need to do *any* editing of any files to get vim compiled this
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
355 way. If, for some reason, you want the console-mode-only version of vim (this
2098
3259c3923c1e Updated runtime an documentation files.
Bram Moolenaar <bram@zimbu.org>
parents: 2088
diff changeset
356 is NOT recommended on Win32, especially on '95/'98!!!), you can use:
2035
ca7d02cd5e49 Minor text file updates.
Bram Moolenaar <bram@zimbu.org>
parents: 1668
diff changeset
357
6326
112c80234ce3 updated for version 7.4.496
Bram Moolenaar <bram@vim.org>
parents: 6149
diff changeset
358 mingw32-make -f Make_ming.mak GUI=no vim.exe
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
359
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
360 If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
361 (also free!) and compress the file (typical compression is 50%). UPX can be
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
362 found at
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
363 http://www.upx.org/
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
364
3388
981c7ad9dd48 updated for version 7.3.460
Bram Moolenaar <bram@vim.org>
parents: 2965
diff changeset
365 As of 2011, UPX still does not support compressing 64-bit EXE's; if you have
981c7ad9dd48 updated for version 7.3.460
Bram Moolenaar <bram@vim.org>
parents: 2965
diff changeset
366 built a 64-bit vim then an alternative to UPX is 'MPRESS'. MPRESS can be found
981c7ad9dd48 updated for version 7.3.460
Bram Moolenaar <bram@vim.org>
parents: 2965
diff changeset
367 at:
981c7ad9dd48 updated for version 7.3.460
Bram Moolenaar <bram@vim.org>
parents: 2965
diff changeset
368 http://www.matcode.com/mpress.htm
981c7ad9dd48 updated for version 7.3.460
Bram Moolenaar <bram@vim.org>
parents: 2965
diff changeset
369
981c7ad9dd48 updated for version 7.3.460
Bram Moolenaar <bram@vim.org>
parents: 2965
diff changeset
370
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
371 ADDITION: NLS support with MinGW
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
372
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
373 (by Eduardo F. Amatria <eferna1@platea.pntic.mec.es>)
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
374
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
375 If you want National Language Support, read the file src/po/README_mingw.txt.
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
376 You need to uncomment lines in Make_ming.mak to have NLS defined.
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
377
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
378
14222
78449866e9a9 patch 8.1.0128: building with MinGW does not work out-of-the-box
Christian Brabandt <cb@256bit.org>
parents: 13028
diff changeset
379 4. Cygwin
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
380 =========
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
381
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
382 Use Make_cyg.mak with Cygwin's GCC. See
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
383 http://users.skynet.be/antoine.mechelynck/vim/compile.htm
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
384
6326
112c80234ce3 updated for version 7.4.496
Bram Moolenaar <bram@vim.org>
parents: 6149
diff changeset
385 With Cygnus gcc you should use the Unix Makefile instead (you need to get the
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
386 Unix archive then). Then you get a Cygwin application (feels like Vim is
2088
4ec11bb387a5 updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents: 2035
diff changeset
387 running on Unix), while with Make_cyg.mak you get a Windows application (like
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
388 with the other makefiles).
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
389
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
390
16606
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
391 5. Cross compiling for Win32 from a Linux machine
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
392 =================================================
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
393
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
394 [Update of 1) needs to be verified]
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
395
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
396 If you like, you can compile the 'mingw' Win32 version from the comfort of
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
397 your Linux (or other unix) box. To do this, you need to follow a few steps:
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
398 1) Install the mingw32 cross-compiler. See
2035
ca7d02cd5e49 Minor text file updates.
Bram Moolenaar <bram@zimbu.org>
parents: 1668
diff changeset
399 http://www.mingw.org/wiki/LinuxCrossMinGW
856
8cd729851562 updated for version 7.0g
vimboss
parents: 838
diff changeset
400 http://www.libsdl.org/extras/win32/cross/README.txt
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1608
diff changeset
401 2) Get and unpack both the Unix sources and the extra archive
6326
112c80234ce3 updated for version 7.4.496
Bram Moolenaar <bram@vim.org>
parents: 6149
diff changeset
402 3) in 'Make_cyg_ming.mak', set 'CROSS' to 'yes' instead of 'no'.
112c80234ce3 updated for version 7.4.496
Bram Moolenaar <bram@vim.org>
parents: 6149
diff changeset
403 Make further changes to 'Make_cyg_ming.mak' and 'Make_ming.mak' as you
112c80234ce3 updated for version 7.4.496
Bram Moolenaar <bram@vim.org>
parents: 6149
diff changeset
404 wish. If your cross-compiler prefix differs from the predefined value,
2035
ca7d02cd5e49 Minor text file updates.
Bram Moolenaar <bram@zimbu.org>
parents: 1668
diff changeset
405 set 'CROSS_COMPILE' corresponding.
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
406 4) make -f Make_ming.mak gvim.exe
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
407
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
408 Now you have created the Windows binary from your Linux box! Have fun...
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
409
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
410
16606
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
411 6. Building with Python support
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
412 ===============================
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
413
18662
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
414 For building with MSVC the "Windows Installer" from www.python.org works fine.
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
415
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
416 When building, you need to set the following variables at least:
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
417
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
418 PYTHON: Where Python is installed. E.g. C:\Python27
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
419 DYNAMIC_PYTHON: Whether dynamic linking is used. Usually, set to yes.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
420 PYTHON_VER: Python version. E.g. 27 for Python 2.7.X.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
421
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
422 E.g. When using MSVC (as one line):
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
423
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
424 nmake -f Make_mvc.mak
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
425 PYTHON=C:\Python27 DYNAMIC_PYTHON=yes PYTHON_VER=27
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
426
15408
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
427 When using MinGW and link with the official Python (as one line):
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
428
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
429 mingw32-make -f Make_ming.mak
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
430 PYTHON=C:/Python27 DYNAMIC_PYTHON=yes PYTHON_VER=27
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
431
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
432 When using msys2 and link with Python2 bundled with msys2 (as one line):
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
433
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
434 mingw32-make -f Make_ming.mak PYTHON=c:/msys64/mingw64
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
435 PYTHON_HOME=c:/msys64/mingw64
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
436 PYTHONINC=-Ic:/msys64/mingw64/include/python2.7
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
437 DYNAMIC_PYTHON=yes
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
438 PYTHON_VER=27
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
439 DYNAMIC_PYTHON_DLL=libpython2.7.dll
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
440 STATIC_STDCPLUS=yes
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
441
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
442 (This is for 64-bit builds. For 32-bit builds, replace mingw64 with mingw32.)
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
443 (STATIC_STDCPLUS is optional. Set to yes if you don't want to require
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
444 libstdc++-6.dll.)
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
445
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
446
3847
1003f9b262d7 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3388
diff changeset
447 (rest written by Ron Aaron: <ronaharon@yahoo.com>)
1003f9b262d7 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3388
diff changeset
448
1003f9b262d7 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 3388
diff changeset
449 Building with the mingw32 compiler, and the ActiveState ActivePython:
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
450 http://www.ActiveState.com/Products/ActivePython/
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
451
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
452 After installing the ActivePython, you will have to create a 'mingw32'
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
453 'libpython20.a' to link with:
7456
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
454 cd $PYTHON/libs
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
455 pexports python20.dll > python20.def
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
456 dlltool -d python20.def -l libpython20.a
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
457
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
458 Once that is done, edit the 'Make_ming.mak' so the PYTHON variable points to
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
459 the root of the Python installation (C:\Python20, for example). If you are
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
460 cross-compiling on Linux with the mingw32 setup, you need to also convert all
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
461 the 'Include' files to *unix* line-endings. This bash command will do it
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
462 easily:
7456
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
463 for fil in *.h ; do vim -e -c 'set ff=unix|w|q' $fil
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
464
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
465 Now just do:
7456
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
466 make -f Make_ming.mak gvim.exe
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
467
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
468 You will end up with a Python-enabled, Win32 version. Enjoy!
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
469
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
470
16606
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
471 7. Building with Python3 support
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
472 ================================
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
473
18662
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
474 For building with MSVC the "Windows Installer" from www.python.org works fine.
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
475 Python 3.6 is recommended.
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
476
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
477 When building, you need to set the following variables at least:
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
478
13018
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
479 PYTHON3: Where Python3 is installed. E.g. C:\Python36
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
480 DYNAMIC_PYTHON3: Whether dynamic linking is used. Usually, set to yes.
13018
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
481 PYTHON3_VER: Python3 version. E.g. 36 for Python 3.6.X.
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
482
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
483 E.g. When using MSVC (as one line):
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
484
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
485 nmake -f Make_mvc.mak
13018
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
486 PYTHON3=C:\Python36 DYNAMIC_PYTHON3=yes PYTHON3_VER=36
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
487
15408
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
488 When using MinGW and link with the official Python3 (as one line):
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
489
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
490 mingw32-make -f Make_ming.mak
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
491 PYTHON3=C:/Python36 DYNAMIC_PYTHON3=yes PYTHON3_VER=36
13018
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
492
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
493 When using msys2 and link with Python3 bundled with msys2 (as one line):
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
494
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
495 mingw32-make -f Make_ming.mak PYTHON3=c:/msys64/mingw64
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
496 PYTHON3_HOME=c:/msys64/mingw64
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
497 PYTHON3INC=-Ic:/msys64/mingw64/include/python3.6m
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
498 DYNAMIC_PYTHON3=yes
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
499 PYTHON3_VER=36
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
500 DYNAMIC_PYTHON3_DLL=libpython3.6m.dll
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
501 STATIC_STDCPLUS=yes
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
502
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
503 (This is for 64-bit builds. For 32-bit builds, replace mingw64 with mingw32.)
15408
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
504 (STATIC_STDCPLUS is optional. Set to yes if you don't want to require
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
505 libstdc++-6.dll.)
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
506
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
507
16606
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
508 8. Building with Racket or MzScheme support
18662
652ac5edf8d0 patch 8.1.2323: Old MSVC version no longer tested.
Bram Moolenaar <Bram@vim.org>
parents: 18174
diff changeset
509 ===========================================
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
510
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
511 1) Building with Racket support (newest)
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
512
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
513 MzScheme and PLT Scheme names have been rebranded as Racket. Vim with Racket
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
514 support can be built with either MSVC or MinGW (or Cygwin).
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
515 Get it from https://download.racket-lang.org/
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
516
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
517 Copy lib/libracket{version}.dll to your Windows system directory. The system
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
518 directory depends on your Windows bitness and Vim bitness:
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
519 32-bit Vim on 32-bit Windows: C:\Windows\System32
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
520 32-bit Vim on 64-bit Windows: C:\Windows\SysWOW64
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
521 64-bit Vim on 64-bit Windows: C:\Windows\System32
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
522
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
523 For building you need to set the following variables:
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
524
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
525 MZSCHEME: Where Racket is installed.
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
526 E.g. C:\Program Files (x86)\Racket
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
527 DYNAMIC_MZSCHEME: Whether dynamic linking is used. Usually, set to yes.
11914
4f7081eb1e26 Updated runtime files
Christian Brabandt <cb@256bit.org>
parents: 11774
diff changeset
528 MZSCHEME_VER: Racket DLL version which is used for the file name.
12600
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
529 See below for a list of MZSCHEME_VER.
11914
4f7081eb1e26 Updated runtime files
Christian Brabandt <cb@256bit.org>
parents: 11774
diff changeset
530 The DLL can be found under the lib directory. E.g.
4f7081eb1e26 Updated runtime files
Christian Brabandt <cb@256bit.org>
parents: 11774
diff changeset
531 C:\Program Files (x86)\Racket\lib\libracket3m_XXXXXX.dll
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
532 MZSCHEME_COLLECTS: (Optional) Path of the collects directory used at
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
533 runtime. Default: $(MZSCHEME)\collects
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
534 User can override this with the PLTCOLLECTS environment
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
535 variable.
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
536
12600
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
537 List of MZSCHEME_VER (incomplete):
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
538
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
539 Racket ver. | MZSCHEME_VER
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
540 ==========================
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
541 6.3 | 3m_9z0ds0
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
542 6.6 | 3m_a0solc
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
543 6.8 | 3m_a1zjsw
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
544 6.10 | 3m_a36fs8
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
545
590424e87b65 patch 8.0.1178: using old compiler on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11914
diff changeset
546
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
547 E.g. When using MSVC (as one line):
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
548
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
549 nmake -f Make_mvc.mak
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
550 MZSCHEME="C:\Program Files (x86)\Racket" DYNAMIC_MZSCHEME=yes
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
551 MZSCHEME_VER=3m_9z0ds0
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
552
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
553 Or when using MinGW (as one line):
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
554
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
555 mingw32-make -f Make_ming.mak
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
556 MZSCHEME='C:/Program\ Files\ (x86)/Racket' DYNAMIC_MZSCHEME=yes
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
557 MZSCHEME_VER=3m_9z0ds0
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
558
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
559 Spaces should be escaped with '\'.
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
560
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
561
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
562 2) Building with MzScheme support (older)
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
563
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
564 (written by Sergey Khorev <sergey.khorev@gmail.com>)
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
565
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
566 Vim with MzScheme (http://www.plt-scheme.org/software/mzscheme) support can
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
567 be built with either MSVC, or MinGW, or Cygwin. Supported versions are 205 and
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
568 above (including 299 and 30x series).
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
569
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
570 The MSVC build is quite straightforward. Simply invoke (in one line)
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
571 nmake -fMake_mvc.mak MZSCHEME=<Path-to-MzScheme>
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
572 [MZSCHEME_VER=<MzScheme-version>] [DYNAMIC_MZSCHEME=<yes or no>]
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
573 where <MzScheme-version> is the last seven characters from MzScheme dll name
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
574 (libmzschXXXXXXX.dll).
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
575 If DYNAMIC_MZSCHEME=yes, resulting executable will not depend on MzScheme
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
576 DLL's, but will load them in runtime on demand.
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
577
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
578 Building dynamic MzScheme support on MinGW and Cygwin is similar. Take into
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
579 account that <Path-to-MzScheme> should contain slashes rather than backslashes
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
580 (e.g. d:/Develop/MzScheme)
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
581
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
582 "Static" MzScheme support (Vim executable will depend on MzScheme DLLs
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
583 explicitly) on MinGW and Cygwin requires additional step.
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
584
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
585 libmzschXXXXXXX.dll and libmzgcXXXXXXX.dll should be copied from
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
586 %WINDOWS%\System32 to other location (either build directory, some temporary
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
587 dir or even MzScheme home).
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
588
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
589 Pass that path as MZSCHEME_DLLS parameter for Make. E.g.,
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
590 make -f Make_cyg.mak MZSCHEME=d:/Develop/MzScheme MZSCHEME_VER=209_000
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
591 MZSCHEME_DLLS=c:/Temp DYNAMIC_MZSCHEME=no
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
592
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
593 After a successful build, these dlls can be freely removed, leaving them in
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
594 %WINDOWS%\System32 only.
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
595
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
596
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
597
16606
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
598 9. Building with Lua support
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
599 ============================
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
600
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
601 Vim with Lua support can be built with either MSVC or MinGW (or maybe Cygwin).
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
602 You can use binaries from LuaBinaries: http://luabinaries.sourceforge.net/
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
603 This also applies to when you get a Vim executable and don't build yourself,
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
604 do the part up to "Build".
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
605
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
606 1) Download and install LuaBinaries
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
607
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
608 Go to the Download page of LuaBinaries:
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
609 http://luabinaries.sourceforge.net/download.html
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
610
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
611 Download lua-X.Y.Z_Win32_dllw4_lib.zip for x86 or
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
612 lua-X.Y.Z_Win64_dllw4_lib.zip for x64. You can use them both for MSVC and
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
613 MinGW.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
614
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
615 Unpack it to a working directory. E.g. C:\projects\lua53.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
616 Lua's header files will be installed under the include directory.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
617
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
618 Copy luaXY.dll to your Windows system directory. The system directory depends
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
619 on your Windows bitness and Vim bitness:
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
620 32-bit Vim on 32-bit Windows: C:\Windows\System32
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
621 32-bit Vim on 64-bit Windows: C:\Windows\SysWOW64
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
622 64-bit Vim on 64-bit Windows: C:\Windows\System32
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
623
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
624 Or another option is copying luaXY.dll to the directory where gvim.exe
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
625 (or vim.exe) is.
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
626
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
627
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
628 2) Build
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
629
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
630 You need to set LUA, DYNAMIC_LUA and LUA_VER.
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
631
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
632 LUA: Where Lua's header files are installed. E.g. C:\projects\lua53.
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
633 DYNAMIC_LUA: Whether dynamic linking is used. Set to yes.
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
634 LUA_VER: Lua version. E.g. 53 for Lua 5.3.X.
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
635
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
636 E.g. When using MSVC (as one line):
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
637
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
638 nmake -f Make_mvc.mak
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
639 LUA=C:\projects\lua53 DYNAMIC_LUA=yes LUA_VER=53
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
640
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
641 Or when using MinGW (as one line):
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
642
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
643 mingw32-make -f Make_ming.mak
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
644 LUA=C:/projects/lua53 DYNAMIC_LUA=yes LUA_VER=53
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
645
7609
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
646
77a14f3bc18b commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents: 7553
diff changeset
647 Or when using Cygwin (as one line) (untested):
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
648
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
649 make -f Make_cyg.mak
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
650 LUA=/cygdrive/c/projects/lua53 DYNAMIC_LUA=yes LUA_VER=53
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
651
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
652
16606
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
653 10. Building with Perl support
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
654 ==============================
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
655
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
656 Vim with Perl support can be built with either MSVC or MinGW (or Cygwin).
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
657 You can use binaries from ActiveState (ActivePerl) or Strawberry Perl.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
658
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
659 http://www.activestate.com/activeperl
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
660 http://strawberryperl.com/
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
661
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
662 When building, you need to set the following variables:
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
663
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
664 PERL: Where perl is installed. E.g. C:\Perl, C:\Strawberry\perl
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
665 DYNAMIC_PERL: Whether dynamic linking is used. Usually, set to yes.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
666 PERL_VER: Perl version. E.g. 522 for Perl 5.22.X.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
667
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
668 E.g. When using MSVC (as one line):
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
669
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
670 nmake -f Make_mvc.mak
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
671 PERL=C:\Perl DYNAMIC_PERL=yes PERL_VER=522
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
672
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
673 Or when using MinGW (as one line):
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
674
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
675 mingw32-make -f Make_ming.mak
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
676 PERL=C:/Perl DYNAMIC_PERL=yes PERL_VER=522
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
677
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
678
16606
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
679 11. Building with Ruby support
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
680 ==============================
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
681
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
682 Vim with Ruby support can be built with either MSVC or MinGW (or Cygwin).
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
683 Ruby doesn't provide the official Windows binaries. The most widely used
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
684 Windows binaries might be RubyInstaller. Currently Ruby 2.4 is recommended.
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
685
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
686 http://rubyinstaller.org/
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
687
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
688 If you use MinGW you can easily build with RubyInstaller, but if you use MSVC
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
689 you need some tricks described below.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
690 (Another binary distribution is ActiveScriptRuby:
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
691 http://www.artonx.org/data/asr/)
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
692
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
693 When building, you need to set the following variables at least:
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
694
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
695 RUBY: Where ruby is installed. E.g. C:\Ruby24
10138
8bfcb960e6bd commit https://github.com/vim/vim/commit/6384c5db8dda70076c878d393ba19a1510695228
Christian Brabandt <cb@256bit.org>
parents: 9719
diff changeset
696 DYNAMIC_RUBY: Whether dynamic linking is used. Usually, set to yes.
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
697 RUBY_VER: Ruby version. E.g. 24 for Ruby 2.4.X.
10138
8bfcb960e6bd commit https://github.com/vim/vim/commit/6384c5db8dda70076c878d393ba19a1510695228
Christian Brabandt <cb@256bit.org>
parents: 9719
diff changeset
698 RUBY_API_VER_LONG: Ruby API version in a long format.
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
699 E.g. 2.4.0 for Ruby 2.4.X.
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
700
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
701 Ruby version vs. Ruby API version:
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
702
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
703 Ruby ver. | Ruby API ver.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
704 =========================
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
705 1.9.[1-3] | 1.9.1
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
706 2.0.0 | 2.0.0
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
707 2.X.Y | 2.X.0
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
708
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
709 (Ruby 1.9.0 is excluded from the table because it is an unstable version.)
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
710
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
711
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
712 A) Using MSVC
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
713
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
714 If you want to link with ruby, normally you must use the same compiler as
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
715 which was used to build the ruby binary. RubyInstaller is built with MinGW,
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
716 so normally you cannot use MSVC for building Vim if you want to link with
8960
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
717 RubyInstaller. If you use a different compiler, there are mainly two problems:
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
718 config.h and Ruby's DLL name. Here are the steps for working around them:
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
719
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
720 1) Download and Install RubyInstaller.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
721 You can install RubyInstaller with the default options and directory.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
722 E.g.:
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
723 C:\Ruby24 (32-bit) or C:\Ruby24-x64 (64-bit)
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
724
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
725 Ruby 2.4.X is used in this example.
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
726
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
727 2) Download Ruby 2.4.X's source code and generate config.h:
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
728
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
729 cd C:\projects
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
730 git clone https://github.com/ruby/ruby.git -b ruby_2_4
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
731 cd ruby
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
732 win32\configure.bat
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
733 nmake .config.h.time
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
734
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
735 Note that ruby_2_4 is the branch name for Ruby 2.4.X's source code.
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
736 There is no need to build whole Ruby, just config.h is needed.
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
737 If you use 32-bit MSVC 2015, the config.h is generated in the
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
738 .ext\include\i386-mswin32_140 directory.
13018
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
739 If you use 64-bit MSVC 2015, the config.h is generated in the
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
740 .ext\include\x64-mswin64_140 directory.
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
741
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
742 3) Install the generated config.h.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
743
13018
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
744 For 32-bit version:
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
745
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
746 xcopy /s .ext\include C:\Ruby24\include\ruby-2.4.0
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
747
13018
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
748 For 64-bit version:
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
749
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
750 xcopy /s .ext\include C:\Ruby24-x64\include\ruby-2.4.0
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
751
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
752 Note that 2.4.0 is Ruby API version of Ruby 2.4.X.
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
753 You may need to close the console and reopen it to pick up the new $PATH.
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
754
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
755 4) Build Vim. Note that you need to adjust some variables (as one line):
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
756
13018
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
757 For 32-bit version:
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
758
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
759 nmake -f Make_mvc.mak
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
760 RUBY=C:\Ruby24 DYNAMIC_RUBY=yes RUBY_VER=24 RUBY_API_VER_LONG=2.4.0
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
761 RUBY_MSVCRT_NAME=msvcrt
30320
0763cb330a65 patch 9.0.0496: no good reason to keep supporting Windows-XP
Bram Moolenaar <Bram@vim.org>
parents: 29840
diff changeset
762 WINVER=0x601
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
763
13018
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
764 For 64-bit version, replace RUBY=C:\Ruby24 with RUBY=C:\Ruby24-x64.
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
765
8960
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
766 If you set WINVER explicitly, it must be set to >=0x500, when building
30320
0763cb330a65 patch 9.0.0496: no good reason to keep supporting Windows-XP
Bram Moolenaar <Bram@vim.org>
parents: 29840
diff changeset
767 with Ruby 2.1 or later. (Default is 0x601.)
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
768 When using this trick, you also need to set RUBY_MSVCRT_NAME to msvcrt
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
769 which is used for the Ruby's DLL name.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
770
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
771 B) Using MinGW
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
772
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
773 Using MinGW is easier than using MSVC when linking with RubyInstaller.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
774 After you install RubyInstaller, just type this (as one line):
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
775
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
776 mingw32-make -f Make_ming.mak
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
777 RUBY=C:/Ruby24 DYNAMIC_RUBY=yes RUBY_VER=24 RUBY_API_VER_LONG=2.4.0
30320
0763cb330a65 patch 9.0.0496: no good reason to keep supporting Windows-XP
Bram Moolenaar <Bram@vim.org>
parents: 29840
diff changeset
778 WINVER=0x601
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
779
13018
8862bf5adf7b patch 8.0.1385: Python 3.5 is getting old
Christian Brabandt <cb@256bit.org>
parents: 12781
diff changeset
780 For 64-bit version, replace RUBY=C:/Ruby24 with RUBY=C:/Ruby24-x64.
8960
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
781 If you set WINVER explicitly, it must be set to >=0x500, when building with
30320
0763cb330a65 patch 9.0.0496: no good reason to keep supporting Windows-XP
Bram Moolenaar <Bram@vim.org>
parents: 29840
diff changeset
782 Ruby 2.1 or later. (Default is 0x601.)
8960
ea3eb5a815b5 commit https://github.com/vim/vim/commit/02cfac85b4e4b038bb2df6962699fa93a42c7eb1
Christian Brabandt <cb@256bit.org>
parents: 8265
diff changeset
783
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
784
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
785
16606
7e733046db1d patch 8.1.1306: Borland support is outdated and doesn't work
Bram Moolenaar <Bram@vim.org>
parents: 16580
diff changeset
786 12. Building with Tcl support
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
787 =============================
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
788
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
789 Vim with Tcl support can be built with either MSVC or MinGW (or Cygwin).
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
790 You can use binaries from ActiveState (ActiveTcl).
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
791
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
792 http://www.activestate.com/activetcl
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
793
15408
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
794 Alternatively, you can use the binaries provided by IronTcl from
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
795
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
796 https://www.irontcl.com/
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
797
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
798 They might lack behind the latest version a bit, but should provide 64bit
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
799 and 32bit versions even if ActiveTcl does not provide them anymore.
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
800
cd1b393ddb5f patch 8.1.0712: MS-Windows build instructions are a bit outdated
Bram Moolenaar <Bram@vim.org>
parents: 14792
diff changeset
801 For building with MSVC 2015 use version 8.6.6 or later.
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
802 When building, you need to set the following variables:
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
803
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
804 TCL: Where tcl is installed. E.g. C:\Tcl86
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
805 DYNAMIC_TCL: Whether dynamic linking is used. Usually, set to yes.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
806 TCL_VER: Tcl version in a short format. E.g. 86 for Tcl 8.6.X.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
807 TCL_VER_LONG: Tcl version in a long format. E.g. 8.6 for Tcl 8.6.X.
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
808
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
809 Sometimes the Tcl dll name changes. E.g. ActiveTcl 8.6.4 comes with tcl86.dll,
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
810 but ActiveTcl 8.6.6 comes with tcl86t.dll. You can set the dll name by setting
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
811 the TCL_DLL variable:
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
812 TCL_DLL=tcl86t.dll
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
813
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
814 E.g. When using MSVC (as one line):
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
815
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
816 nmake -f Make_mvc.mak
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
817 TCL=C:\Tcl86 DYNAMIC_TCL=yes TCL_VER=86 TCL_VER_LONG=8.6
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
818
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
819 Or when using MinGW (as one line):
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
820
12610
c6dc5d62cf5e patch 8.0.1183: MS-Windows build instructions are outdated
Christian Brabandt <cb@256bit.org>
parents: 12600
diff changeset
821 mingw32-make -f Make_ming.mak
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
822 TCL=C:/Tcl86 DYNAMIC_TCL=yes TCL_VER=86 TCL_VER_LONG=8.6
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
823
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
824
19116
9b7f90e56753 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 18662
diff changeset
825 13. Building with DirectX (DirectWrite) support
13028
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
826 ===============================================
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
827
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
828 Vim with DirectX (DirectWrite) support can be built with either MSVC or MinGW.
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
829 This requires dwrite_2.h and some other header files which come with Windows
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
830 SDK 8.1 or later (or MinGW-w64), if you want to enable color emoji support.
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
831 This also requires MBYTE=yes which is enabled by default.
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
832
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
833 A) Using MSVC
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
834
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
835 If you use MSVC 2013 or later, Windows SDK 8.1 or later is used by default.
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
836 You just need to specify DIRECTX=yes:
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
837
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
838 nmake -f Make_mvc.mak DIRECTX=yes
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
839
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
840 If you use MSVC 2012 or earlier, the required header files are not available
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
841 by default. However, you can use the header files from newer SDKs with older
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
842 compilers. E.g.:
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
843
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
844 set "INCLUDE=%INCLUDE%;C:\Program Files (x86)\Windows Kits\8.1\Include\um"
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
845 nmake -f Make_mvc.mak DIRECTX=yes
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
846
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
847 If you don't need color emoji support, only dwrite.h is required. You can use
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
848 older compilers (e.g. VC2010) without Windows SDK 8.1. E.g.:
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
849
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
850 nmake -f Make_mvc.mak DIRECTX=yes COLOR_EMOJI=no
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
851
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
852 B) Using MinGW-w64
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
853
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
854 Just set DIRECTX to yes:
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
855
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
856 mingw32-make -f Make_ming.mak DIRECTX=yes
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
857
cfce9ac1d1e8 patch 8.0.1390: DirectX scrolling can be slow, vertical positioning is off
Christian Brabandt <cb@256bit.org>
parents: 13018
diff changeset
858
27998
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
859 14. Building with libsodium support
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
860 ===================================
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
861
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
862 For better encryption support, you can build Vim with libsodium.
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
863
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
864 A) Using MSVC
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
865
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
866 You can download the latest libsodium library from here:
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
867 https://download.libsodium.org/libsodium/releases/
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
868
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
869 At this moment, libsodium-1.0.18-stable-msvc.zip is the latest package.
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
870 Unpack it to anywhere you like, and specify the path to the SODIUM option:
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
871
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
872 nmake -f Make_mvc.mak SODIUM=C:/path/to/libsodium
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
873 (libsodium.dll will be used as the libsodium DLL name.)
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
874
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
875 B) Using MinGW
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
876
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
877 If you use msys2, you can install the libsodium package by pacman (or pacboy):
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
878
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
879 $ pacman -S mingw-w64-x86_64-libsodium # for 64-bit Vim
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
880 $ pacman -S mingw-w64-i686-libsodium # for 32-bit Vim
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
881 $ pacboy -S libsodium:m # for both 32-bit and 64-bit Vim
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
882
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
883 Then set SODIUM to yes:
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
884
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
885 mingw32-make -f Make_ming.mak SODIUM=yes
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
886 (libsodium-23.dll will be used as the libsodium DLL name.)
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
887
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
888 Or you can set the path to libsodium explicitly:
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
889
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
890 mingw32-make -f Make_ming.mak SODIUM=C:/path/to/libsodium
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
891 (libsodium.dll will be used as the libsodium DLL name.)
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
892
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
893
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
894 15. Windows 3.1x
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
895 ================
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
896
8265
792bc43e69a7 commit https://github.com/vim/vim/commit/6e722e2f948bc51fcb92d98d6f2a089dac01e2bd
Christian Brabandt <cb@256bit.org>
parents: 7609
diff changeset
897 The Windows 3.1x support was removed in patch 7.4.1364.
714
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
898
0f9f4761ad9c updated for version 7.0216
vimboss
parents: 605
diff changeset
899
27998
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
900 16. MS-DOS
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
901 ==========
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
902
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
903 The MS-DOS support was removed in patch 7.4.1399. Only very old Vim versions
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
904 work on MS-DOS because of the limited amount of memory available.
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
905
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
906
27998
ef7d9789919d patch 8.2.4524: MS-Windows: cannot build with some sodium libraries
Bram Moolenaar <Bram@vim.org>
parents: 27370
diff changeset
907 17. Installing after building from sources
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
908 ==========================================
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
909
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
910 [provided by Michael Soyka, updated by Ken Takata]
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
911
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
912 After you've built the Vim binaries as described above, you're ready to
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
913 install Vim on your system. However, if you've obtained the Vim sources
7553
f0205ac9818f commit https://github.com/vim/vim/commit/30a89473ee64a276215a55e7fa99e008945022df
Christian Brabandt <cb@256bit.org>
parents: 7456
diff changeset
914 using Git, Mercurial or by downloading them as a unix tar file, you must
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
915 first create a "vim90" directory. If you instead downloaded the sources as
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
916 zip files, you can skip this setup as the zip archives already have the
7456
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
917 correct directory structure.
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
918
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
919 A. Create a Vim "runtime" subdirectory named "vim90"
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
920 -----------------------------------------------------
7456
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
921 If you obtained your Vim sources as zip files, you can skip this step.
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
922 Otherwise, continue reading.
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
923
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
924 Go to the directory that contains the Vim "src" and "runtime"
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
925 directories and create a new subdirectory named "vim90".
7456
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
926
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
927 Copy the "runtime" files into "vim90":
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
928 copy runtime\* vim90
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
929 xcopy /s runtime\* vim90
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
930
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
931 B. Copy the new binaries into the "vim90" directory
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
932 ----------------------------------------------------
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
933 Regardless of how you installed the Vim sources, you need to copy the
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
934 new binaries you created above into "vim90":
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
935
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
936 copy src\*.exe vim90
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
937 copy src\tee\tee.exe vim90
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
938 copy src\xxd\xxd.exe vim90
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
939
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
940 To install the "Edit with Vim" popup menu, you need both 32-bit and 64-bit
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
941 versions of gvimext.dll. They should be copied to "vim90\GvimExt32" and
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
942 "vim90\GvimExt64" respectively.
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
943 First, build the 32-bit version, then:
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
944
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
945 mkdir vim90\GvimExt32
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
946 copy src\GvimExt\gvimext.dll vim90\GvimExt32
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
947
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
948 Next, clean the 32-bit version and build the 64-bit version, then:
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
949
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
950 mkdir vim90\GvimExt64
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
951 copy src\GvimExt\gvimext.dll vim90\GvimExt64
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
952
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
953 C. Copy gettext and iconv DLLs into the "vim90" directory
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
954 ----------------------------------------------------------
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
955 Get gettext and iconv DLLs from the following site:
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
956 https://github.com/mlocati/gettext-iconv-windows/releases
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
957 Both 64- and 32-bit versions are needed.
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
958 Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
959 DLLs and place them as follows:
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
960
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
961 vim90\
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
962 | libintl-8.dll
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
963 | libiconv-2.dll
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
964 | libgcc_s_sjlj-1.dll (only for 32-bit)
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
965 |
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
966 + GvimExt32\
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
967 | libintl-8.dll
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
968 | libiconv-2.dll
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
969 | libgcc_s_sjlj-1.dll
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
970 |
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
971 ` GvimExt64\
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
972 libintl-8.dll
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
973 libiconv-2.dll
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
974
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
975 The DLLs in the "vim90" should be the same bitness with the (g)vim.exe.
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
976
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
977 D. Move the "vim90" directory into the Vim installation subdirectory
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
978 ---------------------------------------------------------------------
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
979 Move the "vim90" subdirectory into the subdirectory where you want Vim
7456
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
980 to be installed. Typically, this subdirectory will be named "vim".
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
981 If you already have a "vim90" subdirectory in "vim", delete it first
18174
1ec6539cef68 patch 8.1.2082: some files have a weird name to fit in 8.3 characters
Bram Moolenaar <Bram@vim.org>
parents: 16606
diff changeset
982 by running its uninstall.exe program.
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
983
12781
cd41d47e6033 patch 8.0.1268: PC install instructions are incomplete
Christian Brabandt <cb@256bit.org>
parents: 12610
diff changeset
984 E. Install Vim
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
985 ---------------
30882
7449da0e006b patch 9.0.0775: MS-Windows: mouse scrolling not supported in the console
Bram Moolenaar <Bram@vim.org>
parents: 30547
diff changeset
986 "cd" to your Vim installation subdirectory "vim\vim90" and run the
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
987 "install.exe" program. It will ask you a number of questions about
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
988 how you would like to have your Vim setup. Among these are:
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
989 - You can tell it to write a "_vimrc" file with your preferences in the
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
990 parent directory.
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
991 - It can also install an "Edit with Vim" entry in the Windows Explorer
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
992 popup menu.
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
993 - You can have it create batch files, so that you can run Vim from the
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
994 console or in a shell. You can select one of the directories in your
7456
2c5e813e8852 commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents: 6326
diff changeset
995 PATH or add the directory to PATH using the Windows Control Panel.
2951
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
996 - Create entries for Vim on the desktop and in the Start menu.
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
997
57a7998e0fa8 updated for version 7.3.248
Bram Moolenaar <bram@vim.org>
parents: 2871
diff changeset
998 Happy Vimming!