blob: b5a3dbfc68905fc51278d502631d418433ba2b1b [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001INSTALLpc.txt - Installation of Vim on PC
2
3This file contains instructions for compiling Vim. If you already have an
4executable version of Vim, you don't need this.
5
Bram Moolenaar18cfa942017-10-08 17:58:44 +02006You can find the lastest here: https://github.com/vim/vim-win32-installer
7This page also has links to install support for interfaces such as Perl,
8Python, Lua, etc.
Bram Moolenaar071d4272004-06-13 20:20:40 +00009
10The file "feature.h" can be edited to match your preferences. You can skip
11this, then you will get the default behavior as is documented, which should
12be fine for most people.
13
Bram Moolenaar02cfac82016-04-21 14:34:58 +020014This document assumes that you are building Vim for Win32 or later (Windows
15XP/2003/Vista/7/8/10). There are also instructions for pre-XP systems, but
16they might no longer work.
Bram Moolenaar362e1a32006-03-06 23:29:24 +000017
Bram Moolenaar18cfa942017-10-08 17:58:44 +020018The recommended way is to build a 32 bit Vim, also on 64 bit systems. You can
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +010019build a 64 bit Vim if you like, the executable will be bigger and Vim won't be
Bram Moolenaar18cfa942017-10-08 17:58:44 +020020any faster, but you can edit files larger than 2 Gbyte.
21
Bram Moolenaar071d4272004-06-13 20:20:40 +000022
23Contents:
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000241. Microsoft Visual C++
252. Using MinGW
263. Cygwin
274. Borland
285. Cross compiling for Win32 from a Linux machine
296. Building with Python support
Bram Moolenaar30a89472016-01-10 14:35:58 +0100307. Building with Python3 support
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200318. Building with Racket or MzScheme support
Bram Moolenaar30a89472016-01-10 14:35:58 +0100329. Building with Lua support
3310. Building with Perl support
3411. Building with Ruby support
3512. Building with Tcl support
Bram Moolenaar8f84c3a2017-07-22 16:14:44 +02003613. Building with Terminal support
3714. Windows 3.1
3815. MS-DOS
Bram Moolenaar362e1a32006-03-06 23:29:24 +000039
Bram Moolenaar8f84c3a2017-07-22 16:14:44 +02004016. Installing after building from sources
Bram Moolenaar734d9982011-07-15 13:52:04 +020041
42
Bram Moolenaar18cfa942017-10-08 17:58:44 +020043The currently recommended way (that means it has been verified to work) is
44using the "Visual Studio Community 2015" installation. This includes the SDK
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +010045needed to target Windows XP. But not older Windows versions (95, 98), see
Bram Moolenaar18cfa942017-10-08 17:58:44 +020046|msvc-2008-express| below for that
Bram Moolenaar071d4272004-06-13 20:20:40 +000047
48
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000491. Microsoft Visual C++
50=======================
51
Bram Moolenaar73f44392017-10-07 18:38:43 +020052We do not provide download links, since Microsoft keeps changing them. You
Bram Moolenaar18cfa942017-10-08 17:58:44 +020053can search for "Visual Studio Community 2015", for example. You will need to
Bram Moolenaar73f44392017-10-07 18:38:43 +020054create a Microsoft account (it's free).
55
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +010056When installing "Visual Studio Community 2015 with Update 3" make sure to
57select "custom" and check "Windows XP Support for C++" and all checkboxes
58under "Universal Windows App Development Tools"
59
Bram Moolenaar73f44392017-10-07 18:38:43 +020060
Bram Moolenaar362e1a32006-03-06 23:29:24 +000061Visual Studio
62-------------
63
Bram Moolenaar30a89472016-01-10 14:35:58 +010064Building with Visual Studio (VS 98, VS .NET, VS .NET 2003, VS 2005, VS 2008,
65VS2010, VS2012, VS2013 and VS2015) is straightforward. (These instructions
66should also work for VS 4 and VS 5.)
Bram Moolenaar362e1a32006-03-06 23:29:24 +000067
Bram Moolenaar73f44392017-10-07 18:38:43 +020068Using VS C++ 2008 Express is recommended if you need the binary to run on
69Windows 95 or 97, see |msvc-2008-express| below.
Bram Moolenaar97cc2382012-10-03 21:46:54 +020070
Bram Moolenaar362e1a32006-03-06 23:29:24 +000071To build Vim from the command line with MSVC, use Make_mvc.mak.
72Visual Studio installed a batch file called vcvars32.bat, which you must
73run to set up paths for nmake and MSVC.
74
Bram Moolenaarc9b4b052006-04-30 18:54:39 +000075nmake -f Make_mvc.mak console Win32 SDK or Microsoft Visual C++
76nmake -f Make_mvc.mak GUI=yes GUI Microsoft Visual C++
77nmake -f Make_mvc.mak OLE=yes OLE Microsoft Visual C++
Bram Moolenaar362e1a32006-03-06 23:29:24 +000078nmake -f Make_mvc.mak PERL=C:\Perl PYTHON=C:\Python etc.
Bram Moolenaarc9b4b052006-04-30 18:54:39 +000079 Perl, Python, etc.
Bram Moolenaar362e1a32006-03-06 23:29:24 +000080
81Make_mvc.mak allows a Vim to be built with various different features and
82debug support. Debugging with MS Devstudio is provided by Make_dvc.mak.
83For a description of the use of Make_dvc.mak, look in Make_mvc.mak.
84
85For compiling Gvim with IME support on far-east Windows, add IME=yes
86to the parameters you pass to Make_mvc.mak.
87
88To build Vim from within the Visual Studio IDE, open the Make_ivc.mak project.
89(Note: Make_ivc.mak is not as rich as Make_mvc.mak, which allows for
90far more configuration.) Make_ivc.mak can also be built with nmake.
91
92nmake -f Make_ivc.mak CFG="Vim - Win32 Release gvim"
Bram Moolenaarc9b4b052006-04-30 18:54:39 +000093 GUI Microsoft Visual C++ 4.x or later
Bram Moolenaar362e1a32006-03-06 23:29:24 +000094nmake -f Make_ivc.mak CFG="Vim - Win32 Release gvim OLE"
Bram Moolenaarc9b4b052006-04-30 18:54:39 +000095 OLE Microsoft Visual C++ 4.x or later
Bram Moolenaar362e1a32006-03-06 23:29:24 +000096
97See the specific files for comments and options.
98
99These files have been supplied by George V. Reilly, Ben Singer, Ken Scott and
100Ron Aaron; they have been tested.
101
102
Bram Moolenaar02cfac82016-04-21 14:34:58 +0200103Visual C++ 2008 Express Edition *msvc-2008-express*
104-------------------------------
105
106Visual C++ 2008 Express Edition can be downloaded for free from:
107 http://www.microsoft.com/express/downloads/
108This includes the IDE and the debugger.
109
110To set the environment execute the msvc2008.bat script. You can then build
111Vim with Make_mvc.mak.
112
113For building 64 bit binaries you also need to install the SDK:
114"Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1"
115You don't need the examples and documentation.
116
117If you get an error that Win32.mak can't be found, you have to set the
118variable SDK_INCLUDE_DIR. For example, on Windows 10, installation of MSVC
119puts include files in the following directory:
120 set SDK_INCLUDE_DIR=C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
121
122
123Visual C++ 2010 Express Edition *msvc-2010-express*
124-------------------------------
125
126Visual C++ 2010 Express Edition can be downloaded for free from:
127 http://www.microsoft.com/express/vc/Default.aspx
128This includes the IDE and the debugger.
129
130To set the environment execute the msvc2010.bat script. You can then build
131Vim with Make_mvc.mak.
132
133
Bram Moolenaar73f44392017-10-07 18:38:43 +0200134Targeting Windows XP with MSVC 2012 and later *new-msvc-windows-xp*
135---------------------------------------------
Bram Moolenaar02cfac82016-04-21 14:34:58 +0200136
137Beginning with Visual C++ 2012, Microsoft changed the behavior of LINK.EXE
138so that it targets Windows 6.0 (Vista) by default. In order to override
139this, the target Windows version number needs to be passed to LINK like
140follows:
141 LINK ... /subsystem:console,5.01
142
143Make_mvc.mak now supports a macro SUBSYSTEM_VER to pass the Windows version.
Bram Moolenaar73f44392017-10-07 18:38:43 +0200144Use lines like follows to target Windows XP x86 (assuming using Visual C++
1452012 under 64-bit Windows):
Bram Moolenaar02cfac82016-04-21 14:34:58 +0200146 set WinSdk71=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A
Bram Moolenaar02cfac82016-04-21 14:34:58 +0200147 set INCLUDE=%WinSdk71%\Include;%INCLUDE%
148 set LIB=%WinSdk71%\Lib;%LIB%
Bram Moolenaar02cfac82016-04-21 14:34:58 +0200149 set CL=/D_USING_V110_SDK71_
150 nmake -f Make_mvc.mak ... WINVER=0x0501 SUBSYSTEM_VER=5.01
151
Bram Moolenaar73f44392017-10-07 18:38:43 +0200152To target Windows XP x64 instead of x86, you need to change the settings of
153LIB and SUBSYSTEM_VER:
154 ...
155 set LIB=%WinSdk71%\Lib\x64;%LIB%
156 ...
157 nmake -f Make_mvc.mak ... WINVER=0x0501 SUBSYSTEM_VER=5.02
158
159If you use Visual C++ 2015 (either Express or Community Edition), executing
160msvc2015.bat will set them automatically. For x86 builds run this without
161options:
162 msvc2015
163For x64 builds run this with the "x86_amd64" option:
164 msvc2015 x86_amd64
165
Bram Moolenaar02cfac82016-04-21 14:34:58 +0200166The following Visual C++ team blog can serve as a reference page:
167 http://blogs.msdn.com/b/vcblog/archive/2012/10/08/windows-xp-targeting-with-c-in-visual-studio-2012.aspx
168
169
170OLDER VERSIONS
171
172The minimal supported version is Windows XP. Building with older compilers
173might still work, but these instructions might be outdated.
174
175If you need the executable to run on Windows 98 or ME, use the 2003 one
176|msvc-2003-toolkit|.
177
Bram Moolenaarc236c162008-07-13 17:41:49 +0000178Visual C++ Toolkit 2003 *msvc-2003-toolkit*
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000179-----------------------
180
Bram Moolenaarc236c162008-07-13 17:41:49 +0000181You could download the Microsoft Visual C++ Toolkit 2003 from
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000182 http://msdn.microsoft.com/visualc/vctoolkit2003/
Bram Moolenaarc236c162008-07-13 17:41:49 +0000183Unfortunately this URL is no longer valid. Inofficial downloads appear to be
184available from links mentioned on these pages (use at your own risk):
185 http://www.filewatcher.com/m/VCToolkitSetup.exe.32952488.0.0.html
186 http://feargame.net/wiki/index.php?title=Building_Source_with_the_VC2003_Toolkit
187
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000188This contains the command-line tools (compiler, linker, CRT headers,
189and libraries) for Visual Studio .NET 2003, but not the Visual Studio IDE.
190To compile and debug Vim with the VC2003 Toolkit, you will also need
191|ms-platform-sdk|, |dotnet-1.1-redist|, |dotnet-1.1-sdk|,
192and |windbg-download|.
193
Bram Moolenaar0fde2902008-03-16 13:54:13 +0000194It's easier to download Visual C++ 2008 Express Edition, |msvc-2008-express|,
195which is freely available in perpetuity.
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000196
197The free Code::Blocks IDE works with the VC2003 Toolkit, as described at
198 http://wiki.codeblocks.org/index.php?title=Integrating_Microsoft_Visual_Toolkit_2003_with_Code::Blocks_IDE
199(This site also takes you through configuring a number of other
200free C compilers for Win32.)
201
202To compile Vim using the VC2003 Toolkit and Make_mvc.mak, you must first
203execute the following commands in a cmd.exe window (the msvcsetup.bat batch
204file can be used):
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000205
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000206 set PATH=%SystemRoot%\Microsoft.NET\Framework\v1.1.4322;%PATH%
207 call "%VCToolkitInstallDir%vcvars32.bat"
208 set MSVCVer=7.1
209 call "%ProgramFiles%\Microsoft Platform SDK\SetEnv.Cmd"
210 set LIB=%ProgramFiles%\Microsoft Visual Studio .NET 2003\Vc7\lib;%LIB%
211
212Now you can build Vim with Make_mvc.mak.
213
214
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000215Getting the Windows Platform SDK *ms-platform-sdk*
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000216
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200217You will also need a copy of the Windows Platform SDK. Specifically, you need
218the Windows Core SDK subset of the Platform SDK, which contains the Windows
219headers and libraries. You need to search for it, Microsoft keeps changing
220the URL.
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000221
222
223Getting the .NET Framework 1.1 Runtime *dotnet-1.1-redist*
224
225You need the .NET Framework 1.1 Redistributable Package from
226 http://www.microsoft.com/downloads/details.aspx?familyid=262d25e3-f589-4842-8157-034d1e7cf3a3
227or from Windows Update:
228 http://windowsupdate.microsoft.com/
229This is needed to install |dotnet-1.1-sdk|. It also contains cvtres.exe,
230which is needed to link Vim.
231
232
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000233Getting the .NET Framework 1.1 SDK *dotnet-1.1-sdk*
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000234
235You need the .NET Framework 1.1 SDK from
236 http://www.microsoft.com/downloads/details.aspx?familyid=9b3a2ca6-3647-4070-9f41-a333c6b9181d
237This contains some additional libraries needed to compile Vim,
238such as msvcrt.lib. You must install |dotnet-1.1-redist| before
239installing the .NET 1.1 SDK.
240
241
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000242Getting the WinDbg debugger *windbg-download*
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000243
244The Debugging Tools for Windows can be downloaded from
245 http://www.microsoft.com/whdc/devtools/debugging/default.mspx
246This includes the WinDbg debugger, which you will want if you ever need
247to debug Vim itself. An earlier version of the Debugging Tools
248is also available through the Platform SDK, |ms-platform-sdk|.
249
250
Bram Moolenaar98385dc2008-06-20 14:52:32 +0000251Visual C++ 2005 Express Edition *msvc-2005-express*
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000252-------------------------------
253
Bram Moolenaarfc1421e2006-04-20 22:17:20 +0000254Visual C++ 2005 Express Edition can be downloaded for free from:
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000255 http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
256This includes the IDE and the debugger. You will also need
257|ms-platform-sdk|. You can build Vim with Make_mvc.mak.
258
259Instructions for integrating the Platform SDK into VC Express:
260 http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx
261
262
Bram Moolenaarce2f2e02014-08-22 18:12:57 +0200263
Bram Moolenaar362e1a32006-03-06 23:29:24 +00002642. MinGW
265========
266
267(written by Ron Aaron: <ronaharon@yahoo.com>)
268
269This is about how to produce a Win32 binary of gvim with MinGW.
270
271First, you need to get the 'mingw32' compiler, which is free for the download
272at:
273
274 http://www.mingw.org/
275
Bram Moolenaar4f7e8212014-11-05 13:53:32 +0100276or you can use 'MinGW-w64' compiler.
277
278 http://mingw-w64.sourceforge.net/
279
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100280Or a compiler provided on msys2:
281
282 https://msys2.github.io/
283
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000284Once you have downloaded the compiler binaries, unpack them on your hard disk
285somewhere, and put them on your PATH. If you are on Win95/98 you can edit
286your AUTOEXEC.BAT file with a line like:
287
Bram Moolenaar4f7e8212014-11-05 13:53:32 +0100288 set PATH=C:\MinGW\bin;%PATH%
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000289
290or on NT/2000/XP, go to the Control Panel, (Performance and Maintenance),
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100291System, Advanced, and edit the environment from there. If you use msys2
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100292compilers, set your installed paths (normally one of the following):
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100293
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100294 C:\msys32\mingw32\bin (32-bit msys2, targeting 32-bit builds)
295 C:\msys64\mingw32\bin (64-bit msys2, targeting 32-bit builds)
296 C:\msys64\mingw64\bin (64-bit msys2, targeting 64-bit builds)
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000297
298Test if gcc is on your path. From a CMD (or COMMAND on '95/98) window:
299
300 C:\> gcc --version
Bram Moolenaar4f7e8212014-11-05 13:53:32 +0100301 gcc (GCC) 4.8.1
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000302
Bram Moolenaar4f7e8212014-11-05 13:53:32 +0100303 C:\> mingw32-make --version
304 GNU Make 3.82.90 (...etc...)
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000305
306Now you are ready to rock 'n' roll. Unpack the vim sources (look on
307www.vim.org for exactly which version of the vim files you need).
308
309Change directory to 'vim\src':
310
311 C:\> cd vim\src
312 C:\VIM\SRC>
313
314and you type:
315
Bram Moolenaar4f7e8212014-11-05 13:53:32 +0100316 mingw32-make -f Make_ming.mak gvim.exe
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000317
318After churning for a while, you will end up with 'gvim.exe' in the 'vim\src'
319directory.
320
321You should not need to do *any* editing of any files to get vim compiled this
322way. If, for some reason, you want the console-mode-only version of vim (this
Bram Moolenaar5e3dae82010-03-02 16:19:40 +0100323is NOT recommended on Win32, especially on '95/'98!!!), you can use:
Bram Moolenaard8e21d32010-01-06 21:16:31 +0100324
Bram Moolenaar4f7e8212014-11-05 13:53:32 +0100325 mingw32-make -f Make_ming.mak GUI=no vim.exe
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000326
327If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
328(also free!) and compress the file (typical compression is 50%). UPX can be
329found at
330 http://www.upx.org/
331
Bram Moolenaar91856272012-02-29 16:56:39 +0100332As of 2011, UPX still does not support compressing 64-bit EXE's; if you have
333built a 64-bit vim then an alternative to UPX is 'MPRESS'. MPRESS can be found
334at:
335 http://www.matcode.com/mpress.htm
336
337
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000338ADDITION: NLS support with MinGW
339
340(by Eduardo F. Amatria <eferna1@platea.pntic.mec.es>)
341
342If you want National Language Support, read the file src/po/README_mingw.txt.
343You need to uncomment lines in Make_ming.mak to have NLS defined.
344
345
3463. Cygwin
347=========
348
349Use Make_cyg.mak with Cygwin's GCC. See
350 http://users.skynet.be/antoine.mechelynck/vim/compile.htm
351
Bram Moolenaar4f7e8212014-11-05 13:53:32 +0100352With Cygnus gcc you should use the Unix Makefile instead (you need to get the
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000353Unix archive then). Then you get a Cygwin application (feels like Vim is
Bram Moolenaar48f80c22010-02-24 15:08:27 +0100354running on Unix), while with Make_cyg.mak you get a Windows application (like
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000355with the other makefiles).
356
357
3584. Borland
359===========
360
361Use Make_bc5.mak with Borland C++ 5.x. See
362 http://users.skynet.be/antoine.mechelynck/vim/compile.htm
363
364
3655. Cross compiling for Win32 from a Linux machine
366=================================================
367
368[Update of 1) needs to be verified]
369
370If you like, you can compile the 'mingw' Win32 version from the comfort of
371your Linux (or other unix) box. To do this, you need to follow a few steps:
372 1) Install the mingw32 cross-compiler. See
Bram Moolenaard8e21d32010-01-06 21:16:31 +0100373 http://www.mingw.org/wiki/LinuxCrossMinGW
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000374 http://www.libsdl.org/extras/win32/cross/README.txt
Bram Moolenaara7241f52008-06-24 20:39:31 +0000375 2) Get and unpack both the Unix sources and the extra archive
Bram Moolenaar4f7e8212014-11-05 13:53:32 +0100376 3) in 'Make_cyg_ming.mak', set 'CROSS' to 'yes' instead of 'no'.
377 Make further changes to 'Make_cyg_ming.mak' and 'Make_ming.mak' as you
378 wish. If your cross-compiler prefix differs from the predefined value,
Bram Moolenaard8e21d32010-01-06 21:16:31 +0100379 set 'CROSS_COMPILE' corresponding.
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000380 4) make -f Make_ming.mak gvim.exe
381
382Now you have created the Windows binary from your Linux box! Have fun...
383
384
3856. Building with Python support
386===============================
387
Bram Moolenaar97cc2382012-10-03 21:46:54 +0200388For building with MSVC 2008 the "Windows Installer" from www.python.org
389works fine.
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000390
Bram Moolenaar30a89472016-01-10 14:35:58 +0100391When building, you need to set the following variables at least:
392
393 PYTHON: Where Python is installed. E.g. C:\Python27
394 DYNAMIC_PYTHON: Whether dynamic linking is used. Usually, set to yes.
395 PYTHON_VER: Python version. E.g. 27 for Python 2.7.X.
396
397E.g. When using MSVC (as one line):
398
399 nmake -f Make_mvc.mak
400 PYTHON=C:\Python27 DYNAMIC_PYTHON=yes PYTHON_VER=27
401
Bram Moolenaar97cc2382012-10-03 21:46:54 +0200402(rest written by Ron Aaron: <ronaharon@yahoo.com>)
403
404Building with the mingw32 compiler, and the ActiveState ActivePython:
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000405 http://www.ActiveState.com/Products/ActivePython/
406
407After installing the ActivePython, you will have to create a 'mingw32'
408'libpython20.a' to link with:
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100409 cd $PYTHON/libs
410 pexports python20.dll > python20.def
411 dlltool -d python20.def -l libpython20.a
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000412
413Once that is done, edit the 'Make_ming.mak' so the PYTHON variable points to
414the root of the Python installation (C:\Python20, for example). If you are
415cross-compiling on Linux with the mingw32 setup, you need to also convert all
416the 'Include' files to *unix* line-endings. This bash command will do it
417easily:
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100418 for fil in *.h ; do vim -e -c 'set ff=unix|w|q' $fil
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000419
420Now just do:
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100421 make -f Make_ming.mak gvim.exe
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000422
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100423And if you use msys2 to build python support (as one line):
424
425 mingw32-make -f Make_ming.mak PYTHON=c:/msys64/mingw64
426 PYTHON_HOME=c:/msys64/mingw64
427 PYTHONINC=-Ic:/msys64/mingw64/include/python2.7
428 DYNAMIC_PYTHON=yes
429 PYTHON_VER=27
430 DYNAMIC_PYTHON_DLL=libpython2.7.dll
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100431 STATIC_STDCPLUS=yes
432
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100433(This is for 64-bit builds. For 32-bit builds, replace mingw64 with mingw32.)
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100434You will end up with a Python-enabled, Win32 version. Enjoy!
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000435
436
Bram Moolenaar30a89472016-01-10 14:35:58 +01004377. Building with Python3 support
438================================
439
440For building with MSVC 2008 the "Windows Installer" from www.python.org
441works fine. Python 3.4 is recommended.
442
443When building, you need to set the following variables at least:
444
445 PYTHON3: Where Python3 is installed. E.g. C:\Python34
446 DYNAMIC_PYTHON3: Whether dynamic linking is used. Usually, set to yes.
447 PYTHON3_VER: Python3 version. E.g. 34 for Python 3.4.X.
448
449E.g. When using MSVC (as one line):
450
451 nmake -f Make_mvc.mak
452 PYTHON3=C:\Python34 DYNAMIC_PYTHON3=yes PYTHON3_VER=34
453
454
Bram Moolenaar18cfa942017-10-08 17:58:44 +02004558. Building with Racket or MzScheme support
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100456========================================
457
Bram Moolenaar18cfa942017-10-08 17:58:44 +02004581) Building with Racket support (newest)
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100459
460MzScheme and PLT Scheme names have been rebranded as Racket. Vim with Racket
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200461support can be built with either MSVC or MinGW (or Cygwin).
462Get it from https://download.racket-lang.org/
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100463
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200464Copy lib/libracket{version}.dll to your Windows system directory. The system
465directory depends on your Windows bitness and Vim bitness:
466 32-bit Vim on 32-bit Windows: C:\Windows\System32
467 32-bit Vim on 64-bit Windows: C:\Windows\SysWOW64
468 64-bit Vim on 64-bit Windows: C:\Windows\System32
469
470For building you need to set the following variables:
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100471
472 MZSCHEME: Where Racket is installed.
473 E.g. C:\Program Files (x86)\Racket
474 DYNAMIC_MZSCHEME: Whether dynamic linking is used. Usually, set to yes.
Bram Moolenaarf55e4c82017-08-01 20:44:53 +0200475 MZSCHEME_VER: Racket DLL version which is used for the file name.
Bram Moolenaar73f44392017-10-07 18:38:43 +0200476 See below for a list of MZSCHEME_VER.
Bram Moolenaarf55e4c82017-08-01 20:44:53 +0200477 The DLL can be found under the lib directory. E.g.
478 C:\Program Files (x86)\Racket\lib\libracket3m_XXXXXX.dll
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100479 MZSCHEME_COLLECTS: (Optional) Path of the collects directory used at
480 runtime. Default: $(MZSCHEME)\collects
481 User can override this with the PLTCOLLECTS environment
482 variable.
483
Bram Moolenaar73f44392017-10-07 18:38:43 +0200484List of MZSCHEME_VER (incomplete):
485
486 Racket ver. | MZSCHEME_VER
487 ==========================
488 6.3 | 3m_9z0ds0
489 6.6 | 3m_a0solc
490 6.8 | 3m_a1zjsw
491 6.10 | 3m_a36fs8
492
493
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100494E.g. When using MSVC (as one line):
495
496 nmake -f Make_mvc.mak
497 MZSCHEME="C:\Program Files (x86)\Racket" DYNAMIC_MZSCHEME=yes
498 MZSCHEME_VER=3m_9z0ds0
499
500Or when using MinGW (as one line):
501
502 mingw32-make -f Make_ming.mak
503 MZSCHEME='C:/Program\ Files\ (x86)/Racket' DYNAMIC_MZSCHEME=yes
504 MZSCHEME_VER=3m_9z0ds0
505
506 Spaces should be escaped with '\'.
507
508
Bram Moolenaar18cfa942017-10-08 17:58:44 +02005092) Building with MzScheme support (older)
510
511(written by Sergey Khorev <sergey.khorev@gmail.com>)
512
513Vim with MzScheme (http://www.plt-scheme.org/software/mzscheme) support can
514be built with either MSVC, or MinGW, or Cygwin. Supported versions are 205 and
515above (including 299 and 30x series).
516
517The MSVC build is quite straightforward. Simply invoke (in one line)
518nmake -fMake_mvc.mak MZSCHEME=<Path-to-MzScheme>
519 [MZSCHEME_VER=<MzScheme-version>] [DYNAMIC_MZSCHEME=<yes or no>]
520where <MzScheme-version> is the last seven characters from MzScheme dll name
521(libmzschXXXXXXX.dll).
522If DYNAMIC_MZSCHEME=yes, resulting executable will not depend on MzScheme
523DLL's, but will load them in runtime on demand.
524
525Building dynamic MzScheme support on MinGW and Cygwin is similar. Take into
526account that <Path-to-MzScheme> should contain slashes rather than backslashes
527(e.g. d:/Develop/MzScheme)
528
529"Static" MzScheme support (Vim executable will depend on MzScheme DLLs
530explicitly) on MinGW and Cygwin requires additional step.
531
532libmzschXXXXXXX.dll and libmzgcXXXXXXX.dll should be copied from
533%WINDOWS%\System32 to other location (either build directory, some temporary
534dir or even MzScheme home).
535
536Pass that path as MZSCHEME_DLLS parameter for Make. E.g.,
537make -f Make_cyg.mak MZSCHEME=d:/Develop/MzScheme MZSCHEME_VER=209_000
538 MZSCHEME_DLLS=c:/Temp DYNAMIC_MZSCHEME=no
539
540After a successful build, these dlls can be freely removed, leaving them in
541%WINDOWS%\System32 only.
542
543
544
Bram Moolenaar30a89472016-01-10 14:35:58 +01005459. Building with Lua support
546============================
547
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100548Vim with Lua support can be built with either MSVC or MinGW (or maybe Cygwin).
549You can use binaries from LuaBinaries: http://luabinaries.sourceforge.net/
550This also applies to when you get a Vim executable and don't build yourself,
551do the part up to "Build".
Bram Moolenaar30a89472016-01-10 14:35:58 +0100552
5531) Download and install LuaBinaries
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100554
Bram Moolenaar30a89472016-01-10 14:35:58 +0100555Go to the Download page of LuaBinaries:
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100556 http://luabinaries.sourceforge.net/download.html
Bram Moolenaar30a89472016-01-10 14:35:58 +0100557
558Download lua-X.Y.Z_Win32_dllw4_lib.zip for x86 or
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100559lua-X.Y.Z_Win64_dllw4_lib.zip for x64. You can use them both for MSVC and
Bram Moolenaar30a89472016-01-10 14:35:58 +0100560MinGW.
561
562Unpack it to a working directory. E.g. C:\projects\lua53.
563Lua's header files will be installed under the include directory.
564
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100565Copy luaXY.dll to your Windows system directory. The system directory depends
566on your Windows bitness and Vim bitness:
567 32-bit Vim on 32-bit Windows: C:\Windows\System32
568 32-bit Vim on 64-bit Windows: C:\Windows\SysWOW64
569 64-bit Vim on 64-bit Windows: C:\Windows\System32
570
571Or another option is copying luaXY.dll to the directory where gvim.exe
572(or vim.exe) is.
573
Bram Moolenaar30a89472016-01-10 14:35:58 +0100574
5752) Build
Bram Moolenaar30a89472016-01-10 14:35:58 +0100576
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100577You need to set LUA, DYNAMIC_LUA and LUA_VER.
578
579 LUA: Where Lua's header files are installed. E.g. C:\projects\lua53.
580 DYNAMIC_LUA: Whether dynamic linking is used. Set to yes.
581 LUA_VER: Lua version. E.g. 53 for Lua 5.3.X.
Bram Moolenaar30a89472016-01-10 14:35:58 +0100582
583E.g. When using MSVC (as one line):
584
585 nmake -f Make_mvc.mak
586 LUA=C:\projects\lua53 DYNAMIC_LUA=yes LUA_VER=53
587
588Or when using MinGW (as one line):
589
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200590 mingw32-make -f Make_ming.mak
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100591 LUA=C:/projects/lua53 DYNAMIC_LUA=yes LUA_VER=53
Bram Moolenaar30a89472016-01-10 14:35:58 +0100592
Bram Moolenaar4e640bd2016-01-16 16:20:38 +0100593
594Or when using Cygwin (as one line) (untested):
Bram Moolenaar30a89472016-01-10 14:35:58 +0100595
596 make -f Make_cyg.mak
597 LUA=/cygdrive/c/projects/lua53 DYNAMIC_LUA=yes LUA_VER=53
598
599
60010. Building with Perl support
601==============================
602
603Vim with Perl support can be built with either MSVC or MinGW (or Cygwin).
604You can use binaries from ActiveState (ActivePerl) or Strawberry Perl.
605
606 http://www.activestate.com/activeperl
607 http://strawberryperl.com/
608
609When building, you need to set the following variables:
610
611 PERL: Where perl is installed. E.g. C:\Perl, C:\Strawberry\perl
612 DYNAMIC_PERL: Whether dynamic linking is used. Usually, set to yes.
613 PERL_VER: Perl version. E.g. 522 for Perl 5.22.X.
614
615E.g. When using MSVC (as one line):
616
617 nmake -f Make_mvc.mak
618 PERL=C:\Perl DYNAMIC_PERL=yes PERL_VER=522
619
620Or when using MinGW (as one line):
621
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200622 mingw32-make -f Make_ming.mak
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100623 PERL=C:/Perl DYNAMIC_PERL=yes PERL_VER=522
Bram Moolenaar30a89472016-01-10 14:35:58 +0100624
625
62611. Building with Ruby support
627==============================
628
629Vim with Ruby support can be built with either MSVC or MinGW (or Cygwin).
630Ruby doesn't provide the official Windows binaries. The most widely used
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200631Windows binaries might be RubyInstaller. Currently Ruby 2.4 is recommended.
Bram Moolenaar30a89472016-01-10 14:35:58 +0100632
633 http://rubyinstaller.org/
634
635If you use MinGW you can easily build with RubyInstaller, but if you use MSVC
636you need some tricks described below.
637(Another binary distribution is ActiveScriptRuby:
638 http://www.artonx.org/data/asr/)
639
640When building, you need to set the following variables at least:
641
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200642 RUBY: Where ruby is installed. E.g. C:\Ruby24
Bram Moolenaar6384c5d2016-09-06 22:06:35 +0200643 DYNAMIC_RUBY: Whether dynamic linking is used. Usually, set to yes.
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200644 RUBY_VER: Ruby version. E.g. 24 for Ruby 2.4.X.
Bram Moolenaar6384c5d2016-09-06 22:06:35 +0200645 RUBY_API_VER_LONG: Ruby API version in a long format.
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200646 E.g. 2.4.0 for Ruby 2.4.X.
Bram Moolenaar30a89472016-01-10 14:35:58 +0100647
648Ruby version vs. Ruby API version:
649
650 Ruby ver. | Ruby API ver.
651 =========================
652 1.8.X | 1.8
653 1.9.[1-3] | 1.9.1
654 2.0.0 | 2.0.0
655 2.X.Y | 2.X.0
656
657(Ruby 1.9.0 is excluded from the table because it is an unstable version.)
658
659
660A) Using MSVC
661
662If you want to link with ruby, normally you must use the same compiler as
663which was used to build the ruby binary. RubyInstaller is built with MinGW,
664so normally you cannot use MSVC for building Vim if you want to link with
Bram Moolenaar02cfac82016-04-21 14:34:58 +0200665RubyInstaller. If you use a different compiler, there are mainly two problems:
Bram Moolenaar30a89472016-01-10 14:35:58 +0100666config.h and Ruby's DLL name. Here are the steps for working around them:
667
668 1) Download and Install RubyInstaller.
669 You can install RubyInstaller with the default options and directory.
670 E.g.:
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200671 C:\Ruby24 (32-bit) or C:\Ruby24-x64 (64-bit)
Bram Moolenaar30a89472016-01-10 14:35:58 +0100672
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200673 Ruby 2.4.X is used in this example.
Bram Moolenaar30a89472016-01-10 14:35:58 +0100674
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200675 2) Download Ruby 2.4.X's source code and generate config.h:
Bram Moolenaar30a89472016-01-10 14:35:58 +0100676
677 cd C:\projects
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200678 git clone https://github.com/ruby/ruby.git -b ruby_2_4
Bram Moolenaar30a89472016-01-10 14:35:58 +0100679 cd ruby
680 win32\configure.bat
681 nmake .config.h.time
682
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200683 Note that ruby_2_4 is the branch name for Ruby 2.4.X's source code.
Bram Moolenaar30a89472016-01-10 14:35:58 +0100684 There is no need to build whole Ruby, just config.h is needed.
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100685 If you use 32-bit MSVC 2015, the config.h is generated in the
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200686 .ext\include\i386-mswin32_140 directory.
Bram Moolenaar30a89472016-01-10 14:35:58 +0100687
688 3) Install the generated config.h.
689
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100690 xcopy /s .ext\include C:\Ruby24\include\ruby-2.4.0
Bram Moolenaar30a89472016-01-10 14:35:58 +0100691
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200692 Note that 2.4.0 is Ruby API version of Ruby 2.4.X.
693 You may need to close the console and reopen it to pick up the new $PATH.
Bram Moolenaar30a89472016-01-10 14:35:58 +0100694
695 4) Build Vim. Note that you need to adjust some variables (as one line):
696
697 nmake -f Make_mvc.mak
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200698 RUBY=C:\Ruby24 DYNAMIC_RUBY=yes RUBY_VER=24 RUBY_API_VER_LONG=2.4.0
Bram Moolenaar30a89472016-01-10 14:35:58 +0100699 RUBY_MSVCRT_NAME=msvcrt
Bram Moolenaar02cfac82016-04-21 14:34:58 +0200700 WINVER=0x501
Bram Moolenaar30a89472016-01-10 14:35:58 +0100701
Bram Moolenaar02cfac82016-04-21 14:34:58 +0200702 If you set WINVER explicitly, it must be set to >=0x500, when building
703 with Ruby 2.1 or later. (Default is 0x501.)
Bram Moolenaar30a89472016-01-10 14:35:58 +0100704 When using this trick, you also need to set RUBY_MSVCRT_NAME to msvcrt
705 which is used for the Ruby's DLL name.
706
707B) Using MinGW
708
709Using MinGW is easier than using MSVC when linking with RubyInstaller.
710After you install RubyInstaller, just type this (as one line):
711
712 mingw32-make -f Make_ming.mak
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100713 RUBY=C:/Ruby24 DYNAMIC_RUBY=yes RUBY_VER=24 RUBY_API_VER_LONG=2.4.0
Bram Moolenaar02cfac82016-04-21 14:34:58 +0200714 WINVER=0x501
Bram Moolenaar30a89472016-01-10 14:35:58 +0100715
Bram Moolenaar02cfac82016-04-21 14:34:58 +0200716If you set WINVER explicitly, it must be set to >=0x500, when building with
717Ruby 2.1 or later. (Default is 0x501.)
718
Bram Moolenaar30a89472016-01-10 14:35:58 +0100719
720
72112. Building with Tcl support
722=============================
723
724Vim with Tcl support can be built with either MSVC or MinGW (or Cygwin).
725You can use binaries from ActiveState (ActiveTcl).
726
727 http://www.activestate.com/activetcl
728
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200729For MSVC 2015 use version 8.6.6 or later.
Bram Moolenaar30a89472016-01-10 14:35:58 +0100730When building, you need to set the following variables:
731
732 TCL: Where tcl is installed. E.g. C:\Tcl86
733 DYNAMIC_TCL: Whether dynamic linking is used. Usually, set to yes.
734 TCL_VER: Tcl version in a short format. E.g. 86 for Tcl 8.6.X.
735 TCL_VER_LONG: Tcl version in a long format. E.g. 8.6 for Tcl 8.6.X.
736
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200737Sometimes the Tcl dll name changes. E.g. ActiveTcl 8.6.4 comes with tcl86.dll,
738but ActiveTcl 8.6.6 comes with tcl86t.dll. You can set the dll name by setting
739the TCL_DLL variable:
740 TCL_DLL=tcl86t.dll
741
Bram Moolenaar30a89472016-01-10 14:35:58 +0100742E.g. When using MSVC (as one line):
743
744 nmake -f Make_mvc.mak
745 TCL=C:\Tcl86 DYNAMIC_TCL=yes TCL_VER=86 TCL_VER_LONG=8.6
746
747Or when using MinGW (as one line):
748
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200749 mingw32-make -f Make_ming.mak
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100750 TCL=C:/Tcl86 DYNAMIC_TCL=yes TCL_VER=86 TCL_VER_LONG=8.6
Bram Moolenaar30a89472016-01-10 14:35:58 +0100751
752
Bram Moolenaar8f84c3a2017-07-22 16:14:44 +020075313. Building with Terminal support
754==================================
755
Bram Moolenaar8a773062017-07-24 22:29:21 +0200756Vim with Terminal support can be built with either MSVC, MinGW or Cygwin.
Bram Moolenaar2aeaf3f2017-07-23 17:11:15 +0200757This uses the included libvterm and winpty. No extra header files or
Bram Moolenaar8a773062017-07-24 22:29:21 +0200758libraries are needed for building. Just set TERMINAL to yes.
Bram Moolenaar2aeaf3f2017-07-23 17:11:15 +0200759
Bram Moolenaar8a773062017-07-24 22:29:21 +0200760E.g. When using MSVC:
Bram Moolenaar8f84c3a2017-07-22 16:14:44 +0200761
Bram Moolenaar8a773062017-07-24 22:29:21 +0200762 nmake -f Make_mvc.mak TERMINAL=yes
Bram Moolenaar8f84c3a2017-07-22 16:14:44 +0200763
Bram Moolenaar8a773062017-07-24 22:29:21 +0200764Or when using MinGW (as one line):
Bram Moolenaar8f84c3a2017-07-22 16:14:44 +0200765
Bram Moolenaar18cfa942017-10-08 17:58:44 +0200766 mingw32-make -f Make_ming.mak TERMINAL=yes
Bram Moolenaar8f84c3a2017-07-22 16:14:44 +0200767
768
76914. Windows 3.1x
Bram Moolenaar30a89472016-01-10 14:35:58 +0100770================
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000771
Bram Moolenaar6e722e22016-02-26 19:58:58 +0100772The Windows 3.1x support was removed in patch 7.4.1364.
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000773
774
Bram Moolenaar8f84c3a2017-07-22 16:14:44 +020077515. MS-DOS
Bram Moolenaar30a89472016-01-10 14:35:58 +0100776==========
Bram Moolenaar071d4272004-06-13 20:20:40 +0000777
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100778The MS-DOS support was removed in patch 7.4.1399. Only very old Vim versions
779work on MS-DOS because of the limited amount of memory available.
Bram Moolenaar734d9982011-07-15 13:52:04 +0200780
781
Bram Moolenaar8f84c3a2017-07-22 16:14:44 +020078216. Installing after building from sources
Bram Moolenaar734d9982011-07-15 13:52:04 +0200783==========================================
784
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100785[provided by Michael Soyka, updated by Ken Takata]
Bram Moolenaar734d9982011-07-15 13:52:04 +0200786
787After you've built the Vim binaries as described above, you're ready to
788install Vim on your system. However, if you've obtained the Vim sources
Bram Moolenaar30a89472016-01-10 14:35:58 +0100789using Git, Mercurial or by downloading them as a unix tar file, you must
Bram Moolenaarbbe917d2016-09-21 22:41:24 +0200790first create a "vim80" directory. If you instead downloaded the sources as
Bram Moolenaar734d9982011-07-15 13:52:04 +0200791zip files, you can skip this setup as the zip archives already have the
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100792correct directory structure.
Bram Moolenaar734d9982011-07-15 13:52:04 +0200793
Bram Moolenaarbbe917d2016-09-21 22:41:24 +0200794 A. Create a Vim "runtime" subdirectory named "vim80"
Bram Moolenaar734d9982011-07-15 13:52:04 +0200795 -----------------------------------------------------
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100796 If you obtained your Vim sources as zip files, you can skip this step.
Bram Moolenaar734d9982011-07-15 13:52:04 +0200797 Otherwise, continue reading.
798
799 Go to the directory that contains the Vim "src" and "runtime"
Bram Moolenaarbbe917d2016-09-21 22:41:24 +0200800 directories and create a new subdirectory named "vim80".
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100801
Bram Moolenaarbbe917d2016-09-21 22:41:24 +0200802 Copy the "runtime" files into "vim80":
803 copy runtime\* vim80
Bram Moolenaar734d9982011-07-15 13:52:04 +0200804
Bram Moolenaarbbe917d2016-09-21 22:41:24 +0200805 B. Copy the new binaries into the "vim80" directory
Bram Moolenaar734d9982011-07-15 13:52:04 +0200806 ----------------------------------------------------
807 Regardless of how you installed the Vim sources, you need to copy the
Bram Moolenaarbbe917d2016-09-21 22:41:24 +0200808 new binaries you created above into "vim80":
Bram Moolenaar734d9982011-07-15 13:52:04 +0200809
Bram Moolenaarbbe917d2016-09-21 22:41:24 +0200810 copy src\*.exe vim80
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100811 copy src\tee\tee.exe vim80
Bram Moolenaarbbe917d2016-09-21 22:41:24 +0200812 copy src\xxd\xxd.exe vim80
Bram Moolenaar734d9982011-07-15 13:52:04 +0200813
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100814 To install the "Edit with Vim" popup menu, you need both 32-bit and 64-bit
815 versions of gvimext.dll. They should be copied to "vim80\GvimExt32" and
816 "vim80\GvimExt64" respectively.
817 First, build the 32-bit version, then:
818
819 mkdir vim80\GvimExt32
820 copy src\GvimExt\gvimext.dll vim80\GvimExt32
821
822 Next, clean the 32-bit version and build the 64-bit version, then:
823
824 mkdir vim80\GvimExt64
825 copy src\GvimExt\gvimext.dll vim80\GvimExt64
826
827 C. Copy gettext and iconv DLLs into the "vim80" directory
828 ----------------------------------------------------------
829 Get gettext and iconv DLLs from the following site:
830 https://github.com/mlocati/gettext-iconv-windows/releases
831 Both 64- and 32-bit versions are needed.
832 Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
833 DLLs and place them as follows:
834
835 vim80\
836 | libintl-8.dll
837 | libiconv-2.dll
838 | libgcc_s_sjlj-1.dll (only for 32-bit)
839 |
840 + GvimExt32\
841 | libintl-8.dll
842 | libiconv-2.dll
843 | libgcc_s_sjlj-1.dll
844 |
845 ` GvimExt64\
846 libintl-8.dll
847 libiconv-2.dll
848
849 The DLLs in the "vim80" should be the same bitness with the (g)vim.exe.
850
851 D. Move the "vim80" directory into the Vim installation subdirectory
Bram Moolenaar734d9982011-07-15 13:52:04 +0200852 ---------------------------------------------------------------------
Bram Moolenaarbbe917d2016-09-21 22:41:24 +0200853 Move the "vim80" subdirectory into the subdirectory where you want Vim
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100854 to be installed. Typically, this subdirectory will be named "vim".
Bram Moolenaarbbe917d2016-09-21 22:41:24 +0200855 If you already have a "vim80" subdirectory in "vim", delete it first
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100856 by running its uninstal.exe program.
Bram Moolenaar734d9982011-07-15 13:52:04 +0200857
Bram Moolenaar3bf8c3c2017-11-05 16:04:43 +0100858 E. Install Vim
Bram Moolenaar734d9982011-07-15 13:52:04 +0200859 ---------------
Bram Moolenaarbbe917d2016-09-21 22:41:24 +0200860 "cd" to your Vim installation subdirectory "vim\vim80" and run the
Bram Moolenaar734d9982011-07-15 13:52:04 +0200861 "install.exe" program. It will ask you a number of questions about
862 how you would like to have your Vim setup. Among these are:
863 - You can tell it to write a "_vimrc" file with your preferences in the
864 parent directory.
865 - It can also install an "Edit with Vim" entry in the Windows Explorer
866 popup menu.
867 - You can have it create batch files, so that you can run Vim from the
868 console or in a shell. You can select one of the directories in your
Bram Moolenaar3c6f92e2016-01-02 20:26:36 +0100869 PATH or add the directory to PATH using the Windows Control Panel.
Bram Moolenaar734d9982011-07-15 13:52:04 +0200870 - Create entries for Vim on the desktop and in the Start menu.
871
872Happy Vimming!