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