blob: 2760609e09b6850c50a53916e7d1da32113be0b1 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001This builds a one-click install for Vim for Win32 using the Nullsoft
Bram Moolenaar6199d432017-10-14 19:05:44 +02002Installation System (NSIS), available at http://nsis.sourceforge.net/
Bram Moolenaar071d4272004-06-13 20:20:40 +00003
4To build the installable .exe:
5
61. Unpack three archives:
7 PC sources
8 PC runtime
9 PC language files
10 You can generate these from the Unix sources and runtime plus the extra
11 archive (see the Makefile in the top directory).
12
132. Go to the src directory and build:
14 gvim.exe (the OLE version),
15 vimrun.exe,
16 install.exe,
Bram Moolenaar38f1eea2019-09-27 14:19:09 +020017 uninstall.exe,
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010018 tee/tee.exe,
Bram Moolenaar071d4272004-06-13 20:20:40 +000019 xxd/xxd.exe,
20
Bram Moolenaar6199d432017-10-14 19:05:44 +020021 Then execute tools/rename.bat to rename the executables. (mv command is
22 required.)
23
Bram Moolenaar071d4272004-06-13 20:20:40 +0000243. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
Bram Moolenaar6199d432017-10-14 19:05:44 +020025 archive). Both 64- and 32-bit versions are needed and should be placed
26 as follows:
27 64-bit: src/GvimExt/gvimext64.dll
28 32-bit: src/GvimExt/gvimext.dll
Bram Moolenaar071d4272004-06-13 20:20:40 +000029
304. Go to the VisVim directory and build VisVim.dll (or get it from a binary
31 archive).
32
Bram Moolenaard2ec51f2018-12-02 13:58:00 +0100335. Get a "diff.exe" program. If you skip this the built-in diff will always
34 be used (which is fine for most users). If you do have your own
Bram Moolenaar8024f932020-01-14 19:29:13 +010035 "diff.exe" put it in the "../.." directory (above the "vim82" directory,
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010036 it's the same for all Vim versions).
Bram Moolenaar071d4272004-06-13 20:20:40 +000037 You can find one in previous Vim versions or in this archive:
38 http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010039
Bram Moolenaar8024f932020-01-14 19:29:13 +0100406 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim82"
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010041 directory). This is required for the terminal window.
Bram Moolenaar071d4272004-06-13 20:20:40 +000042
437. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
44 to do this on Unix. Make sure the file is in DOS file format!
45
Bram Moolenaar6199d432017-10-14 19:05:44 +0200468. Get gettext and iconv DLLs from the following site:
47 https://github.com/mlocati/gettext-iconv-windows/releases
48 Both 64- and 32-bit versions are needed.
49 Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
50 DLLs and place them as follows:
51
52 <GETTEXT directory>
53 |
54 + gettext32/
55 | libintl-8.dll
56 | libiconv-2.dll
57 | libgcc_s_sjlj-1.dll
58 |
59 ` gettext64/
60 libintl-8.dll
61 libiconv-2.dll
62
63 The default <GETTEXT directory> is "..", however, you can change it by
64 passing /DGETTEXT=... option to the makensis command.
65
66
Bram Moolenaar071d4272004-06-13 20:20:40 +000067Install NSIS if you didn't do that already.
68Also install UPX, if you want a compressed file.
Bram Moolenaar4a228972021-05-01 22:41:39 +020069Download and include the ShellExecAsUser.dll Unicode version which can be
70sourced from: https://nsis.sourceforge.io/ShellExecAsUser_plug-in
71
Bram Moolenaar071d4272004-06-13 20:20:40 +000072
Bram Moolenaar24877cf2019-01-10 21:51:48 +010073Unpack the images:
74 cd nsis
75 unzip icons.zip
76
Bram Moolenaar4d8f4762021-06-27 15:18:56 +020077Then build gvim.exe:
Bram Moolenaar071d4272004-06-13 20:20:40 +000078
Bram Moolenaar24877cf2019-01-10 21:51:48 +010079 cd nsis
Bram Moolenaar071d4272004-06-13 20:20:40 +000080 makensis gvim.nsi