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:
|
1619
|
158 http://www.microsoft.com/express/vc/Default.aspx
|
|
159 This includes the IDE and the debugger.
|
1569
|
160
|
1619
|
161 To set the environment execute the msvc2008.bat script. You can then build
|
|
162 Vim with Make_mvc.mak.
|
1608
|
163
|
|
164
|
714
|
165 2. MinGW
|
|
166 ========
|
|
167
|
|
168 (written by Ron Aaron: <ronaharon@yahoo.com>)
|
|
169
|
|
170 This is about how to produce a Win32 binary of gvim with MinGW.
|
|
171
|
|
172 First, you need to get the 'mingw32' compiler, which is free for the download
|
|
173 at:
|
|
174
|
|
175 http://www.mingw.org/
|
|
176
|
|
177 Once you have downloaded the compiler binaries, unpack them on your hard disk
|
|
178 somewhere, and put them on your PATH. If you are on Win95/98 you can edit
|
|
179 your AUTOEXEC.BAT file with a line like:
|
|
180
|
|
181 set PATH=C:\GCC-2.95.2\BIN;%PATH%
|
|
182
|
|
183 or on NT/2000/XP, go to the Control Panel, (Performance and Maintenance),
|
|
184 System, Advanced, and edit the environment from there.
|
|
185
|
|
186 Test if gcc is on your path. From a CMD (or COMMAND on '95/98) window:
|
|
187
|
|
188 C:\> gcc --version
|
|
189 2.95.2
|
|
190
|
|
191 C:\> make --version
|
|
192 GNU Make version 3.77 (...etc...)
|
|
193
|
|
194 Now you are ready to rock 'n' roll. Unpack the vim sources (look on
|
|
195 www.vim.org for exactly which version of the vim files you need).
|
|
196
|
|
197 Change directory to 'vim\src':
|
|
198
|
|
199 C:\> cd vim\src
|
|
200 C:\VIM\SRC>
|
|
201
|
|
202 and you type:
|
|
203
|
|
204 make -f Make_ming.mak gvim.exe
|
|
205
|
|
206 After churning for a while, you will end up with 'gvim.exe' in the 'vim\src'
|
|
207 directory.
|
|
208
|
|
209 You should not need to do *any* editing of any files to get vim compiled this
|
|
210 way. If, for some reason, you want the console-mode-only version of vim (this
|
|
211 is NOT recommended on Win32, especially on '95/'98!!!), you need only change
|
|
212 the 'gvim.exe' to 'vim.exe' in the 'make' commands given above.
|
|
213
|
|
214 If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
|
|
215 (also free!) and compress the file (typical compression is 50%). UPX can be
|
|
216 found at
|
|
217 http://www.upx.org/
|
|
218
|
|
219 ADDITION: NLS support with MinGW
|
|
220
|
|
221 (by Eduardo F. Amatria <eferna1@platea.pntic.mec.es>)
|
|
222
|
|
223 If you want National Language Support, read the file src/po/README_mingw.txt.
|
|
224 You need to uncomment lines in Make_ming.mak to have NLS defined.
|
|
225
|
|
226
|
|
227 3. Cygwin
|
|
228 =========
|
|
229
|
|
230 Use Make_cyg.mak with Cygwin's GCC. See
|
|
231 http://users.skynet.be/antoine.mechelynck/vim/compile.htm
|
|
232
|
|
233 The Cygnus one many not fully work yet.
|
|
234 With Cygnus gcc you can use the Unix Makefile instead (you need to get the
|
|
235 Unix archive then). Then you get a Cygwin application (feels like Vim is
|
|
236 runnin on Unix), while with Make_cyg.mak you get a Windows application (like
|
|
237 with the other makefiles).
|
|
238
|
|
239
|
|
240 4. Borland
|
|
241 ===========
|
|
242
|
|
243 Use Make_bc5.mak with Borland C++ 5.x. See
|
|
244 http://users.skynet.be/antoine.mechelynck/vim/compile.htm
|
|
245
|
|
246
|
|
247 5. Cross compiling for Win32 from a Linux machine
|
|
248 =================================================
|
|
249
|
|
250 [Update of 1) needs to be verified]
|
|
251
|
|
252 If you like, you can compile the 'mingw' Win32 version from the comfort of
|
|
253 your Linux (or other unix) box. To do this, you need to follow a few steps:
|
|
254 1) Install the mingw32 cross-compiler. See
|
856
|
255 http://www.libsdl.org/extras/win32/cross/README.txt
|
1619
|
256 2) Get and unpack both the Unix sources and the extra archive
|
|
257 3) in 'Make_ming.mak', set 'CROSS' to 'yes' instead of 'no'.
|
|
258 Make further changes to 'Make_ming.mak' as you wish.
|
714
|
259 4) make -f Make_ming.mak gvim.exe
|
|
260
|
|
261 Now you have created the Windows binary from your Linux box! Have fun...
|
|
262
|
|
263
|
|
264 6. Building with Python support
|
|
265 ===============================
|
|
266
|
|
267 (written by Ron Aaron: <ronaharon@yahoo.com>)
|
|
268
|
|
269 This has been tested with the mingw32 compiler, and the ActiveState
|
|
270 ActivePython:
|
|
271 http://www.ActiveState.com/Products/ActivePython/
|
|
272
|
|
273 After installing the ActivePython, you will have to create a 'mingw32'
|
|
274 'libpython20.a' to link with:
|
|
275 cd $PYTHON/libs
|
|
276 pexports python20.dll > python20.def
|
|
277 dlltool -d python20.def -l libpython20.a
|
|
278
|
|
279 Once that is done, edit the 'Make_ming.mak' so the PYTHON variable points to
|
|
280 the root of the Python installation (C:\Python20, for example). If you are
|
|
281 cross-compiling on Linux with the mingw32 setup, you need to also convert all
|
|
282 the 'Include' files to *unix* line-endings. This bash command will do it
|
|
283 easily:
|
|
284 for fil in *.h ; do vim -e -c 'set ff=unix|w|q' $fil
|
|
285
|
|
286 Now just do:
|
|
287 make -f Make_ming.mak gvim.exe
|
|
288
|
|
289 and you will end up with a Python-enabled, Win32 version. Enjoy!
|
|
290
|
|
291
|
|
292 7. Building with MzScheme support
|
|
293 =================================
|
|
294
|
|
295 (written by Sergey Khorev <sergey.khorev@gmail.com>)
|
|
296
|
|
297 Vim with MzScheme (http://www.plt-scheme.org/software/mzscheme) support can
|
|
298 be built with either MSVC, or MinGW, or Cygwin. Supported versions are 205 and
|
|
299 above (including 299 and 30x series).
|
|
300
|
|
301 The MSVC build is quite straightforward. Simply invoke (in one line)
|
|
302 nmake -fMake_mvc.mak MZSCHEME=<Path-to-MzScheme>
|
|
303 [MZSCHEME_VER=<MzScheme-version>] [DYNAMIC_MZSCHEME=<yes or no>]
|
|
304 where <MzScheme-version> is the last seven characters from MzScheme dll name
|
|
305 (libmzschXXXXXXX.dll).
|
|
306 If DYNAMIC_MZSCHEME=yes, resulting executable will not depend on MzScheme
|
|
307 DLL's, but will load them in runtime on demand.
|
|
308
|
|
309 Building dynamic MzScheme support on MinGW and Cygwin is similar. Take into
|
|
310 account that <Path-to-MzScheme> should contain slashes rather than backslashes
|
|
311 (e.g. d:/Develop/MzScheme)
|
|
312
|
|
313 "Static" MzScheme support (Vim executable will depend on MzScheme DLLs
|
|
314 explicitly) on MinGW and Cygwin requires additional step.
|
|
315
|
|
316 libmzschXXXXXXX.dll and libmzgcXXXXXXX.dll should be copied from
|
|
317 %WINDOWS%\System32 to other location (either build directory, some temporary
|
|
318 dir or even MzScheme home).
|
|
319
|
|
320 Pass that path as MZSCHEME_DLLS parameter for Make. E.g.,
|
|
321 make -f Make_cyg.mak MZSCHEME=d:/Develop/MzScheme MZSCHEME_VER=209_000
|
|
322 MZSCHEME_DLLS=c:/Temp DYNAMIC_MZSCHEME=no
|
|
323
|
|
324 After a successful build, these dlls can be freely removed, leaving them in
|
|
325 %WINDOWS%\System32 only.
|
|
326
|
|
327
|
|
328 8. Windows 3.1x
|
|
329 ===============
|
|
330
|
856
|
331 make -f Make_w16.mak 16 bit, Borland C++ 5.0
|
714
|
332
|
|
333 Warning: Be sure to use the right make.exe. It should be Borland make.
|
|
334
|
|
335 You will almost certainly have to change the paths for libs and include files
|
|
336 in the Makefile. Look for "D:\BC5" and "ctl3dv2". You will get a number of
|
|
337 warnings which can be ignored ( _chmod, precompiled header files, and
|
|
338 "possibly incorrect assignment").
|
|
339
|
|
340 The makefile should also work for BC++ 4.0 and 4.5, but may need tweaking to
|
|
341 remove unsupported compiler & liker options.
|
|
342
|
|
343 For making the Win32s version, you need Microsoft Visual C++ 4.1 OR EARLIER.
|
|
344 In MSVC 4.2 support for Win32s was dropped! Use this command:
|
|
345 nmake -f Make_mvc.mak GUI=yes
|
|
346
|
|
347
|
|
348 9. MS-DOS
|
7
|
349 =========
|
|
350
|
|
351 Summary:
|
714
|
352 ren Make_bc3.mak Makefile; make 16 bit, Borland C++ and Turbo C++
|
|
353 ren Make_tcc.mak Makefile; make 16 bit, Turbo C
|
856
|
354 make -f Make_djg.mak 32 bit, DJGPP 2.0
|
|
355 make -f Make_bc5.mak 32 bit, Borland C++ 5.x (edit it to
|
|
356 define DOS)
|
7
|
357
|
|
358 Warning: Be sure to use the right make.exe. Microsoft C make doesn't work;
|
|
359 Borland make only works with Make_bc3.mak, Make_bc5.mak and Make_tcc.mak;
|
|
360 DJGPP/GNU make must be used for Make_djg.mak.
|
|
361
|
|
362 The Borland C++ compiler has been used to generate the MS-DOS executable; it
|
|
363 should work without problems. You will probably have to change the paths for
|
|
364 LIBPATH and INCLUDEPATH in the start of the Makefile. You will get two
|
|
365 warnings which can be ignored (one about _chmod and one about precompiled
|
|
366 header files).
|
|
367
|
|
368 The "spawno" library by Ralf Brown was used in order to free memory when Vim
|
|
369 starts a shell or other external command. Only about 200 bytes are taken from
|
|
370 conventional memory. When recompiling get the spawno library from Simtel,
|
|
371 directory "msdos/c". It is called something like "spwno413.zip". Or follow
|
|
372 the instructions in the Makefile to remove the library.
|
|
373
|
|
374 The Turbo C Makefile has not been tested much lately. It is included for those
|
|
375 that don't have C++. You may need to make a few changes to get it to work.
|
|
376
|
|
377 DJGPP needs to be installed properly to compile Vim; you need a lot of things
|
|
378 before it works. When your setup is OK, Vim should compile with just one
|
|
379 warning (about an argument to signal()).
|
|
380
|
|
381 Make_bc5.mak is for those that have Borland C++ 5.0 or later. At the top of
|
|
382 the file, there are some variables you can change to make either a 32-bit
|
|
383 Windows exe (GUI or console mode), or a 16-bit MS-DOS version.
|
39
|
384 NOTE: multi-byte support is broken in the Borland libraries, not everything
|
|
385 will work properly! Esp. handling multi-byte file names.
|
7
|
386
|
39
|
387 If you get all kinds of strange error messages when compiling, try adding
|
|
388 changing the file format from "unix" to "dos".
|