blob: a47201cc7546af7f1339d726981520bfe1e77bed [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
Martin Tournoij251c1e22022-10-08 17:15:28 +0100304. Get a "diff.exe" program. If you skip this the built-in diff will always
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010031 be used (which is fine for most users). If you do have your own
RestorerZ2680a072024-03-20 20:15:51 +010032 "diff.exe" put it in the "../.." directory (above the "vim91" directory,
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010033 it's the same for all Vim versions).
Bram Moolenaar071d4272004-06-13 20:20:40 +000034 You can find one in previous Vim versions or in this archive:
RestorerZ2680a072024-03-20 20:15:51 +010035 http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010036
RestorerZ2680a072024-03-20 20:15:51 +0100375. Also put "winpty32.dll" and "winpty-agent.exe" in "../.." (above the "vim91"
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010038 directory). This is required for the terminal window.
Bram Moolenaar071d4272004-06-13 20:20:40 +000039
RestorerZ2680a072024-03-20 20:15:51 +0100406. To use stronger encryption, add the Sodium library. You can get it here:
41 https://github.com/jedisct1/libsodium/releases/download/1.0.19-RELEASE/libsodium-1.0.19-msvc.zip
42 Unpack the archive. Put the "libsodium.dll" from
43 path/to/libsodium/Win32/Release/v143/dynamic for the 32‐bit version or
44 path/to/libsodium/X64/Release/v143/dynamic for the 64‐bit version in the
45 "../.." directory (above the "vim91" directory, where "diff.exe" and
46 "winpty32.dll").
47
487. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
Bram Moolenaar071d4272004-06-13 20:20:40 +000049 to do this on Unix. Make sure the file is in DOS file format!
50
RestorerZ2680a072024-03-20 20:15:51 +0100518. Get gettext and iconv DLLs from the following site:
Bram Moolenaar6199d432017-10-14 19:05:44 +020052 https://github.com/mlocati/gettext-iconv-windows/releases
53 Both 64- and 32-bit versions are needed.
54 Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
55 DLLs and place them as follows:
56
57 <GETTEXT directory>
58 |
59 + gettext32/
60 | libintl-8.dll
61 | libiconv-2.dll
62 | libgcc_s_sjlj-1.dll
63 |
64 ` gettext64/
65 libintl-8.dll
66 libiconv-2.dll
67
68 The default <GETTEXT directory> is "..", however, you can change it by
69 passing /DGETTEXT=... option to the makensis command.
70
71
Bram Moolenaar071d4272004-06-13 20:20:40 +000072Install NSIS if you didn't do that already.
73Also install UPX, if you want a compressed file.
Bram Moolenaar4a228972021-05-01 22:41:39 +020074Download and include the ShellExecAsUser.dll Unicode version which can be
75sourced from: https://nsis.sourceforge.io/ShellExecAsUser_plug-in
76
Bram Moolenaar071d4272004-06-13 20:20:40 +000077
Bram Moolenaar24877cf2019-01-10 21:51:48 +010078Unpack the images:
79 cd nsis
80 unzip icons.zip
81
Bram Moolenaar4d8f4762021-06-27 15:18:56 +020082Then build gvim.exe:
Bram Moolenaar071d4272004-06-13 20:20:40 +000083
Bram Moolenaar24877cf2019-01-10 21:51:48 +010084 cd nsis
Bram Moolenaar071d4272004-06-13 20:20:40 +000085 makensis gvim.nsi