Mercurial > vim
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 |
rev | line source |
---|---|
7 | 1 INSTALLpc.txt - Installation of Vim on PC |
2 | |
3 This file contains instructions for compiling Vim. If you already have an | |
4 executable version of Vim, you don't need this. | |
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 | 9 |
10 The file "feature.h" can be edited to match your preferences. You can skip | |
11 this, then you will get the default behavior as is documented, which should | |
12 be fine for most people. | |
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 | 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 | 22 |
23 Contents: | |
714 | 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 | 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 | 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 | 42 |
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 | 48 |
49 | |
50 1. Microsoft Visual C++ | |
51 ======================= | |
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 | 71 Visual Studio |
72 ------------- | |
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 | 98 |
714 | 99 To build Vim from the command line with MSVC, use Make_mvc.mak. |
100 | |
856 | 101 nmake -f Make_mvc.mak console Win32 SDK or Microsoft Visual C++ |
102 nmake -f Make_mvc.mak GUI=yes GUI Microsoft Visual C++ | |
103 nmake -f Make_mvc.mak OLE=yes OLE Microsoft Visual C++ | |
714 | 104 nmake -f Make_mvc.mak PERL=C:\Perl PYTHON=C:\Python etc. |
856 | 105 Perl, Python, etc. |
714 | 106 |
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 | 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 | 111 to the parameters you pass to Make_mvc.mak. |
112 | |
113 See the specific files for comments and options. | |
114 | |
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 | 117 |
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 | 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 | 202 And restart MSYS2 console (select "MSYS2 MSYS 32-Bit" icon from the Start |
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 | 300 ======== |
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 | 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 | 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 | 309 |
310 http://mingw-w64.sourceforge.net/ | |
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 | 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 | 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 | 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 | 332 |
333 C:\> gcc --version | |
6326 | 334 gcc (GCC) 4.8.1 |
714 | 335 |
6326 | 336 C:\> mingw32-make --version |
337 GNU Make 3.82.90 (...etc...) | |
714 | 338 |
339 Now you are ready to rock 'n' roll. Unpack the vim sources (look on | |
340 www.vim.org for exactly which version of the vim files you need). | |
341 | |
342 Change directory to 'vim\src': | |
343 | |
344 C:\> cd vim\src | |
345 C:\VIM\SRC> | |
346 | |
347 and you type: | |
348 | |
6326 | 349 mingw32-make -f Make_ming.mak gvim.exe |
714 | 350 |
351 After churning for a while, you will end up with 'gvim.exe' in the 'vim\src' | |
352 directory. | |
353 | |
354 You should not need to do *any* editing of any files to get vim compiled this | |
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 | 357 |
6326 | 358 mingw32-make -f Make_ming.mak GUI=no vim.exe |
714 | 359 |
360 If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX' | |
361 (also free!) and compress the file (typical compression is 50%). UPX can be | |
362 found at | |
363 http://www.upx.org/ | |
364 | |
3388 | 365 As of 2011, UPX still does not support compressing 64-bit EXE's; if you have |
366 built a 64-bit vim then an alternative to UPX is 'MPRESS'. MPRESS can be found | |
367 at: | |
368 http://www.matcode.com/mpress.htm | |
369 | |
370 | |
714 | 371 ADDITION: NLS support with MinGW |
372 | |
373 (by Eduardo F. Amatria <eferna1@platea.pntic.mec.es>) | |
374 | |
375 If you want National Language Support, read the file src/po/README_mingw.txt. | |
376 You need to uncomment lines in Make_ming.mak to have NLS defined. | |
377 | |
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 | 380 ========= |
381 | |
382 Use Make_cyg.mak with Cygwin's GCC. See | |
383 http://users.skynet.be/antoine.mechelynck/vim/compile.htm | |
384 | |
6326 | 385 With Cygnus gcc you should use the Unix Makefile instead (you need to get the |
714 | 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 | 388 with the other makefiles). |
389 | |
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 | 392 ================================================= |
393 | |
394 [Update of 1) needs to be verified] | |
395 | |
396 If you like, you can compile the 'mingw' Win32 version from the comfort of | |
397 your Linux (or other unix) box. To do this, you need to follow a few steps: | |
398 1) Install the mingw32 cross-compiler. See | |
2035 | 399 http://www.mingw.org/wiki/LinuxCrossMinGW |
856 | 400 http://www.libsdl.org/extras/win32/cross/README.txt |
1619 | 401 2) Get and unpack both the Unix sources and the extra archive |
6326 | 402 3) in 'Make_cyg_ming.mak', set 'CROSS' to 'yes' instead of 'no'. |
403 Make further changes to 'Make_cyg_ming.mak' and 'Make_ming.mak' as you | |
404 wish. If your cross-compiler prefix differs from the predefined value, | |
2035 | 405 set 'CROSS_COMPILE' corresponding. |
714 | 406 4) make -f Make_ming.mak gvim.exe |
407 | |
408 Now you have created the Windows binary from your Linux box! Have fun... | |
409 | |
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 | 412 =============================== |
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 | 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 | 447 (rest written by Ron Aaron: <ronaharon@yahoo.com>) |
448 | |
449 Building with the mingw32 compiler, and the ActiveState ActivePython: | |
714 | 450 http://www.ActiveState.com/Products/ActivePython/ |
451 | |
452 After installing the ActivePython, you will have to create a 'mingw32' | |
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 | 457 |
458 Once that is done, edit the 'Make_ming.mak' so the PYTHON variable points to | |
459 the root of the Python installation (C:\Python20, for example). If you are | |
460 cross-compiling on Linux with the mingw32 setup, you need to also convert all | |
461 the 'Include' files to *unix* line-endings. This bash command will do it | |
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 | 464 |
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 | 469 |
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 | 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 | 530 The DLL can be found under the lib directory. E.g. |
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 | 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 | 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 | 898 |
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 | 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 | 905 |
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 | 908 ========================================== |
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 | 911 |
912 After you've built the Vim binaries as described above, you're ready to | |
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 | 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 | 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 | 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 | 922 Otherwise, continue reading. |
923 | |
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 | 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 | 932 ---------------------------------------------------- |
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 | 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 | 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 | 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 | 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 | 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 | 987 "install.exe" program. It will ask you a number of questions about |
988 how you would like to have your Vim setup. Among these are: | |
989 - You can tell it to write a "_vimrc" file with your preferences in the | |
990 parent directory. | |
991 - It can also install an "Edit with Vim" entry in the Windows Explorer | |
992 popup menu. | |
993 - You can have it create batch files, so that you can run Vim from the | |
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 | 996 - Create entries for Vim on the desktop and in the Start menu. |
997 | |
998 Happy Vimming! |