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
|
714
|
6 More information can be found here: (Very stale now.)
|
7
|
7
|
714
|
8 http://mywebpage.netscape.com/sharppeople/vim/howto/
|
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
|
714
|
14 With the exception of the last two sections (Windows 3.1 and MS-DOS),
|
|
15 this document assumes that you are building Vim for Win32
|
|
16 (Windows NT/2000/XP/2003/Vista and Windows 95/98/Me)
|
|
17
|
7
|
18
|
|
19 Contents:
|
714
|
20 1. Microsoft Visual C++
|
|
21 2. Using MinGW
|
|
22 3. Cygwin
|
|
23 4. Borland
|
|
24 5. Cross compiling for Win32 from a Linux machine
|
|
25 6. Building with Python support
|
|
26 7. Building with MzScheme support
|
|
27 8. Windows 3.1
|
|
28 9. MS-DOS
|
|
29
|
|
30 The currently preferred method is using the free Visual C++ Toolkit 2003.
|
|
31
|
|
32
|
|
33 1. Microsoft Visual C++
|
|
34 =======================
|
|
35
|
|
36 Visual Studio
|
|
37 -------------
|
|
38
|
1608
|
39 Building with Visual Studio (VS 98, VS .NET, VS .NET 2003, VS 2005, and VS 2008)
|
714
|
40 is straightforward. (These instructions should also work for VS 4 and VS 5.)
|
|
41
|
|
42 To build Vim from the command line with MSVC, use Make_mvc.mak.
|
|
43 Visual Studio installed a batch file called vcvars32.bat, which you must
|
|
44 run to set up paths for nmake and MSVC.
|
|
45
|
856
|
46 nmake -f Make_mvc.mak console Win32 SDK or Microsoft Visual C++
|
|
47 nmake -f Make_mvc.mak GUI=yes GUI Microsoft Visual C++
|
|
48 nmake -f Make_mvc.mak OLE=yes OLE Microsoft Visual C++
|
714
|
49 nmake -f Make_mvc.mak PERL=C:\Perl PYTHON=C:\Python etc.
|
856
|
50 Perl, Python, etc.
|
714
|
51
|
|
52 Make_mvc.mak allows a Vim to be built with various different features and
|
|
53 debug support. Debugging with MS Devstudio is provided by Make_dvc.mak.
|
|
54 For a description of the use of Make_dvc.mak, look in Make_mvc.mak.
|
|
55
|
|
56 For compiling Gvim with IME support on far-east Windows, add IME=yes
|
|
57 to the parameters you pass to Make_mvc.mak.
|
|
58
|
|
59 To build Vim from within the Visual Studio IDE, open the Make_ivc.mak project.
|
|
60 (Note: Make_ivc.mak is not as rich as Make_mvc.mak, which allows for
|
|
61 far more configuration.) Make_ivc.mak can also be built with nmake.
|
|
62
|
|
63 nmake -f Make_ivc.mak CFG="Vim - Win32 Release gvim"
|
856
|
64 GUI Microsoft Visual C++ 4.x or later
|
714
|
65 nmake -f Make_ivc.mak CFG="Vim - Win32 Release gvim OLE"
|
856
|
66 OLE Microsoft Visual C++ 4.x or later
|
714
|
67
|
|
68 See the specific files for comments and options.
|
|
69
|
|
70 These files have been supplied by George V. Reilly, Ben Singer, Ken Scott and
|
|
71 Ron Aaron; they have been tested.
|
|
72
|
|
73
|
|
74 Visual C++ Toolkit 2003
|
|
75 -----------------------
|
|
76
|
|
77 You can download the Microsoft Visual C++ Toolkit 2003 from
|
|
78 http://msdn.microsoft.com/visualc/vctoolkit2003/
|
|
79 This contains the command-line tools (compiler, linker, CRT headers,
|
|
80 and libraries) for Visual Studio .NET 2003, but not the Visual Studio IDE.
|
|
81 To compile and debug Vim with the VC2003 Toolkit, you will also need
|
|
82 |ms-platform-sdk|, |dotnet-1.1-redist|, |dotnet-1.1-sdk|,
|
|
83 and |windbg-download|.
|
|
84
|
1569
|
85 It's easier to download Visual C++ 2008 Express Edition, |msvc-2008-express|,
|
|
86 which is freely available in perpetuity.
|
714
|
87
|
|
88 The free Code::Blocks IDE works with the VC2003 Toolkit, as described at
|
|
89 http://wiki.codeblocks.org/index.php?title=Integrating_Microsoft_Visual_Toolkit_2003_with_Code::Blocks_IDE
|
|
90 (This site also takes you through configuring a number of other
|
|
91 free C compilers for Win32.)
|
|
92
|
|
93 To compile Vim using the VC2003 Toolkit and Make_mvc.mak, you must first
|
|
94 execute the following commands in a cmd.exe window (the msvcsetup.bat batch
|
|
95 file can be used):
|
856
|
96
|
714
|
97 set PATH=%SystemRoot%\Microsoft.NET\Framework\v1.1.4322;%PATH%
|
|
98 call "%VCToolkitInstallDir%vcvars32.bat"
|
|
99 set MSVCVer=7.1
|
|
100 call "%ProgramFiles%\Microsoft Platform SDK\SetEnv.Cmd"
|
|
101 set LIB=%ProgramFiles%\Microsoft Visual Studio .NET 2003\Vc7\lib;%LIB%
|
|
102
|
|
103 Now you can build Vim with Make_mvc.mak.
|
|
104
|
|
105
|
856
|
106 Getting the Windows Platform SDK *ms-platform-sdk*
|
714
|
107
|
|
108 You will also need a copy of the Windows Platform SDK from
|
|
109 http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
|
|
110 Specifically, you need the Windows Core SDK subset of the Platform SDK,
|
|
111 which contains the Windows headers and libraries.
|
|
112
|
|
113
|
|
114 Getting the .NET Framework 1.1 Runtime *dotnet-1.1-redist*
|
|
115
|
|
116 You need the .NET Framework 1.1 Redistributable Package from
|
|
117 http://www.microsoft.com/downloads/details.aspx?familyid=262d25e3-f589-4842-8157-034d1e7cf3a3
|
|
118 or from Windows Update:
|
|
119 http://windowsupdate.microsoft.com/
|
|
120 This is needed to install |dotnet-1.1-sdk|. It also contains cvtres.exe,
|
|
121 which is needed to link Vim.
|
|
122
|
|
123
|
856
|
124 Getting the .NET Framework 1.1 SDK *dotnet-1.1-sdk*
|
714
|
125
|
|
126 You need the .NET Framework 1.1 SDK from
|
|
127 http://www.microsoft.com/downloads/details.aspx?familyid=9b3a2ca6-3647-4070-9f41-a333c6b9181d
|
|
128 This contains some additional libraries needed to compile Vim,
|
|
129 such as msvcrt.lib. You must install |dotnet-1.1-redist| before
|
|
130 installing the .NET 1.1 SDK.
|
|
131
|
|
132
|
856
|
133 Getting the WinDbg debugger *windbg-download*
|
714
|
134
|
|
135 The Debugging Tools for Windows can be downloaded from
|
|
136 http://www.microsoft.com/whdc/devtools/debugging/default.mspx
|
|
137 This includes the WinDbg debugger, which you will want if you ever need
|
|
138 to debug Vim itself. An earlier version of the Debugging Tools
|
|
139 is also available through the Platform SDK, |ms-platform-sdk|.
|
|
140
|
|
141
|
1608
|
142 Visual C++ 2005 Express Edition *msvc-2005-express*
|
714
|
143 -------------------------------
|
|
144
|
838
|
145 Visual C++ 2005 Express Edition can be downloaded for free from:
|
714
|
146 http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
|
|
147 This includes the IDE and the debugger. You will also need
|
|
148 |ms-platform-sdk|. You can build Vim with Make_mvc.mak.
|
|
149
|
|
150 Instructions for integrating the Platform SDK into VC Express:
|
|
151 http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx
|
7
|
152
|
|
153
|
1569
|
154 Visual C++ 2008 Express Edition *msvc-2008-express*
|
|
155 -------------------------------
|
|
156
|
|
157 Visual C++ 2008 Express Edition can be downloaded for free from:
|
|
158 http://msdn2.microsoft.com/en-us/express/default.aspx
|
|
159 This includes the IDE and the debugger. You can build Vim with Make_mvc.mak.
|
|
160
|
|
161
|
1608
|
162 Visual C++ 2008 Express Edition *msvc-2008-express*
|
|
163 -------------------------------
|
|
164
|
|
165 Visual C++ 2008 Express Edition can be downloaded for free from:
|
|
166 http://msdn2.microsoft.com/en-us/express/default.aspx
|
|
167 This includes the IDE and the debugger. You can build Vim with Make_mvc.mak.
|
|
168
|
|
169
|
714
|
170 2. MinGW
|
|
171 ========
|
|
172
|
|
173 (written by Ron Aaron: <ronaharon@yahoo.com>)
|
|
174
|
|
175 This is about how to produce a Win32 binary of gvim with MinGW.
|
|
176
|
|
177 First, you need to get the 'mingw32' compiler, which is free for the download
|
|
178 at:
|
|
179
|
|
180 http://www.mingw.org/
|
|
181
|
|
182 Once you have downloaded the compiler binaries, unpack them on your hard disk
|
|
183 somewhere, and put them on your PATH. If you are on Win95/98 you can edit
|
|
184 your AUTOEXEC.BAT file with a line like:
|
|
185
|
|
186 set PATH=C:\GCC-2.95.2\BIN;%PATH%
|
|
187
|
|
188 or on NT/2000/XP, go to the Control Panel, (Performance and Maintenance),
|
|
189 System, Advanced, and edit the environment from there.
|
|
190
|
|
191 Test if gcc is on your path. From a CMD (or COMMAND on '95/98) window:
|
|
192
|
|
193 C:\> gcc --version
|
|
194 2.95.2
|
|
195
|
|
196 C:\> make --version
|
|
197 GNU Make version 3.77 (...etc...)
|
|
198
|
|
199 Now you are ready to rock 'n' roll. Unpack the vim sources (look on
|
|
200 www.vim.org for exactly which version of the vim files you need).
|
|
201
|
|
202 Change directory to 'vim\src':
|
|
203
|
|
204 C:\> cd vim\src
|
|
205 C:\VIM\SRC>
|
|
206
|
|
207 and you type:
|
|
208
|
|
209 make -f Make_ming.mak gvim.exe
|
|
210
|
|
211 After churning for a while, you will end up with 'gvim.exe' in the 'vim\src'
|
|
212 directory.
|
|
213
|
|
214 You should not need to do *any* editing of any files to get vim compiled this
|
|
215 way. If, for some reason, you want the console-mode-only version of vim (this
|
|
216 is NOT recommended on Win32, especially on '95/'98!!!), you need only change
|
|
217 the 'gvim.exe' to 'vim.exe' in the 'make' commands given above.
|
|
218
|
|
219 If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
|
|
220 (also free!) and compress the file (typical compression is 50%). UPX can be
|
|
221 found at
|
|
222 http://www.upx.org/
|
|
223
|
|
224 ADDITION: NLS support with MinGW
|
|
225
|
|
226 (by Eduardo F. Amatria <eferna1@platea.pntic.mec.es>)
|
|
227
|
|
228 If you want National Language Support, read the file src/po/README_mingw.txt.
|
|
229 You need to uncomment lines in Make_ming.mak to have NLS defined.
|
|
230
|
|
231
|
|
232 3. Cygwin
|
|
233 =========
|
|
234
|
|
235 Use Make_cyg.mak with Cygwin's GCC. See
|
|
236 http://users.skynet.be/antoine.mechelynck/vim/compile.htm
|
|
237
|
|
238 The Cygnus one many not fully work yet.
|
|
239 With Cygnus gcc you can use the Unix Makefile instead (you need to get the
|
|
240 Unix archive then). Then you get a Cygwin application (feels like Vim is
|
|
241 runnin on Unix), while with Make_cyg.mak you get a Windows application (like
|
|
242 with the other makefiles).
|
|
243
|
|
244
|
|
245 4. Borland
|
|
246 ===========
|
|
247
|
|
248 Use Make_bc5.mak with Borland C++ 5.x. See
|
|
249 http://users.skynet.be/antoine.mechelynck/vim/compile.htm
|
|
250
|
|
251
|
|
252 5. Cross compiling for Win32 from a Linux machine
|
|
253 =================================================
|
|
254
|
|
255 [Update of 1) needs to be verified]
|
|
256
|
|
257 If you like, you can compile the 'mingw' Win32 version from the comfort of
|
|
258 your Linux (or other unix) box. To do this, you need to follow a few steps:
|
|
259 1) Install the mingw32 cross-compiler. See
|
856
|
260 http://www.libsdl.org/extras/win32/cross/README.txt
|
714
|
261 2) get the *unix* version of the vim sources
|
|
262 3) in 'Make_ming.mak', set 'CROSS' to '1' instead of '0'.
|
|
263 4) make -f Make_ming.mak gvim.exe
|
|
264
|
|
265 Now you have created the Windows binary from your Linux box! Have fun...
|
|
266
|
|
267
|
|
268 6. Building with Python support
|
|
269 ===============================
|
|
270
|
|
271 (written by Ron Aaron: <ronaharon@yahoo.com>)
|
|
272
|
|
273 This has been tested with the mingw32 compiler, and the ActiveState
|
|
274 ActivePython:
|
|
275 http://www.ActiveState.com/Products/ActivePython/
|
|
276
|
|
277 After installing the ActivePython, you will have to create a 'mingw32'
|
|
278 'libpython20.a' to link with:
|
|
279 cd $PYTHON/libs
|
|
280 pexports python20.dll > python20.def
|
|
281 dlltool -d python20.def -l libpython20.a
|
|
282
|
|
283 Once that is done, edit the 'Make_ming.mak' so the PYTHON variable points to
|
|
284 the root of the Python installation (C:\Python20, for example). If you are
|
|
285 cross-compiling on Linux with the mingw32 setup, you need to also convert all
|
|
286 the 'Include' files to *unix* line-endings. This bash command will do it
|
|
287 easily:
|
|
288 for fil in *.h ; do vim -e -c 'set ff=unix|w|q' $fil
|
|
289
|
|
290 Now just do:
|
|
291 make -f Make_ming.mak gvim.exe
|
|
292
|
|
293 and you will end up with a Python-enabled, Win32 version. Enjoy!
|
|
294
|
|
295
|
|
296 7. Building with MzScheme support
|
|
297 =================================
|
|
298
|
|
299 (written by Sergey Khorev <sergey.khorev@gmail.com>)
|
|
300
|
|
301 Vim with MzScheme (http://www.plt-scheme.org/software/mzscheme) support can
|
|
302 be built with either MSVC, or MinGW, or Cygwin. Supported versions are 205 and
|
|
303 above (including 299 and 30x series).
|
|
304
|
|
305 The MSVC build is quite straightforward. Simply invoke (in one line)
|
|
306 nmake -fMake_mvc.mak MZSCHEME=<Path-to-MzScheme>
|
|
307 [MZSCHEME_VER=<MzScheme-version>] [DYNAMIC_MZSCHEME=<yes or no>]
|
|
308 where <MzScheme-version> is the last seven characters from MzScheme dll name
|
|
309 (libmzschXXXXXXX.dll).
|
|
310 If DYNAMIC_MZSCHEME=yes, resulting executable will not depend on MzScheme
|
|
311 DLL's, but will load them in runtime on demand.
|
|
312
|
|
313 Building dynamic MzScheme support on MinGW and Cygwin is similar. Take into
|
|
314 account that <Path-to-MzScheme> should contain slashes rather than backslashes
|
|
315 (e.g. d:/Develop/MzScheme)
|
|
316
|
|
317 "Static" MzScheme support (Vim executable will depend on MzScheme DLLs
|
|
318 explicitly) on MinGW and Cygwin requires additional step.
|
|
319
|
|
320 libmzschXXXXXXX.dll and libmzgcXXXXXXX.dll should be copied from
|
|
321 %WINDOWS%\System32 to other location (either build directory, some temporary
|
|
322 dir or even MzScheme home).
|
|
323
|
|
324 Pass that path as MZSCHEME_DLLS parameter for Make. E.g.,
|
|
325 make -f Make_cyg.mak MZSCHEME=d:/Develop/MzScheme MZSCHEME_VER=209_000
|
|
326 MZSCHEME_DLLS=c:/Temp DYNAMIC_MZSCHEME=no
|
|
327
|
|
328 After a successful build, these dlls can be freely removed, leaving them in
|
|
329 %WINDOWS%\System32 only.
|
|
330
|
|
331
|
|
332 8. Windows 3.1x
|
|
333 ===============
|
|
334
|
856
|
335 make -f Make_w16.mak 16 bit, Borland C++ 5.0
|
714
|
336
|
|
337 Warning: Be sure to use the right make.exe. It should be Borland make.
|
|
338
|
|
339 You will almost certainly have to change the paths for libs and include files
|
|
340 in the Makefile. Look for "D:\BC5" and "ctl3dv2". You will get a number of
|
|
341 warnings which can be ignored ( _chmod, precompiled header files, and
|
|
342 "possibly incorrect assignment").
|
|
343
|
|
344 The makefile should also work for BC++ 4.0 and 4.5, but may need tweaking to
|
|
345 remove unsupported compiler & liker options.
|
|
346
|
|
347 For making the Win32s version, you need Microsoft Visual C++ 4.1 OR EARLIER.
|
|
348 In MSVC 4.2 support for Win32s was dropped! Use this command:
|
|
349 nmake -f Make_mvc.mak GUI=yes
|
|
350
|
|
351
|
|
352 9. MS-DOS
|
7
|
353 =========
|
|
354
|
|
355 Summary:
|
714
|
356 ren Make_bc3.mak Makefile; make 16 bit, Borland C++ and Turbo C++
|
|
357 ren Make_tcc.mak Makefile; make 16 bit, Turbo C
|
856
|
358 make -f Make_djg.mak 32 bit, DJGPP 2.0
|
|
359 make -f Make_bc5.mak 32 bit, Borland C++ 5.x (edit it to
|
|
360 define DOS)
|
7
|
361
|
|
362 Warning: Be sure to use the right make.exe. Microsoft C make doesn't work;
|
|
363 Borland make only works with Make_bc3.mak, Make_bc5.mak and Make_tcc.mak;
|
|
364 DJGPP/GNU make must be used for Make_djg.mak.
|
|
365
|
|
366 The Borland C++ compiler has been used to generate the MS-DOS executable; it
|
|
367 should work without problems. You will probably have to change the paths for
|
|
368 LIBPATH and INCLUDEPATH in the start of the Makefile. You will get two
|
|
369 warnings which can be ignored (one about _chmod and one about precompiled
|
|
370 header files).
|
|
371
|
|
372 The "spawno" library by Ralf Brown was used in order to free memory when Vim
|
|
373 starts a shell or other external command. Only about 200 bytes are taken from
|
|
374 conventional memory. When recompiling get the spawno library from Simtel,
|
|
375 directory "msdos/c". It is called something like "spwno413.zip". Or follow
|
|
376 the instructions in the Makefile to remove the library.
|
|
377
|
|
378 The Turbo C Makefile has not been tested much lately. It is included for those
|
|
379 that don't have C++. You may need to make a few changes to get it to work.
|
|
380
|
|
381 DJGPP needs to be installed properly to compile Vim; you need a lot of things
|
|
382 before it works. When your setup is OK, Vim should compile with just one
|
|
383 warning (about an argument to signal()).
|
|
384
|
|
385 Make_bc5.mak is for those that have Borland C++ 5.0 or later. At the top of
|
|
386 the file, there are some variables you can change to make either a 32-bit
|
|
387 Windows exe (GUI or console mode), or a 16-bit MS-DOS version.
|
39
|
388 NOTE: multi-byte support is broken in the Borland libraries, not everything
|
|
389 will work properly! Esp. handling multi-byte file names.
|
7
|
390
|
39
|
391 If you get all kinds of strange error messages when compiling, try adding
|
|
392 changing the file format from "unix" to "dos".
|