annotate src/INSTALL @ 23725:f98692ae09a0 v8.2.2404

patch 8.2.2404: Vim9: profiling try/catch not correct Commit: https://github.com/vim/vim/commit/107e9cecf72928b4aaaf08b73bf2d191924ab695 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jan 24 20:52:00 2021 +0100 patch 8.2.2404: Vim9: profiling try/catch not correct Problem: Vim9: profiling try/catch not correct. Solution: Add profile instructions. Fix that "entry" did not rethrow an excpetion.
author Bram Moolenaar <Bram@vim.org>
date Sun, 24 Jan 2021 21:00:04 +0100
parents bb3f60b0aca0
children 4284b0a2b901
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 INSTALL - Installation of Vim on different machines.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 This file contains instructions for compiling Vim. If you already have an
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 executable version of Vim, you don't need this.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 Contents:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 1. Generic
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 2. Unix
2834
107b03fdf1ad updated for version 7.3.191
Bram Moolenaar <bram@vim.org>
parents: 2278
diff changeset
9 3. OS/2 (with EMX 0.9b)
107b03fdf1ad updated for version 7.3.191
Bram Moolenaar <bram@vim.org>
parents: 2278
diff changeset
10 4. Atari MiNT
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11
1268
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
12 See INSTALLami.txt for Amiga
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
13 See INSTALLmac.txt for Macintosh
15034
6e4e0d43b20b patch 8.1.0528: various typos in comments
Bram Moolenaar <Bram@vim.org>
parents: 10375
diff changeset
14 See INSTALLpc.txt for PC (Windows XP/Vista/7/8/10)
1268
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
15 See INSTALLvms.txt for VMS
1622
149d8b46404c updated for version 7.2a
vimboss
parents: 1268
diff changeset
16 See INSTALLx.txt for cross-compiling on Unix
15034
6e4e0d43b20b patch 8.1.0528: various typos in comments
Bram Moolenaar <Bram@vim.org>
parents: 10375
diff changeset
17 See ../READMEdir/README_390.txt for z/OS and OS/390 Unix
19526
22f0dda71638 patch 8.2.0320: no Haiku support
Bram Moolenaar <Bram@vim.org>
parents: 15034
diff changeset
18 See ../runtime/doc/os_haiku.txt for Haiku
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 1. Generic
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 ==========
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 If you compile Vim without specifying anything, you will get the default
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 behaviour as is documented, which should be fine for most people.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 For features that you can't enable/disable in another way, you can edit the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 file "feature.h" to match your preferences.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 2. Unix
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 =======
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 Summary:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 1. make run configure, compile and link
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 2. make install installation in /usr/local
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 This will include the GUI and X11 libraries, if you have them. If you want a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 version of Vim that is small and starts up quickly, see the Makefile for how
1268
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
39 to disable the GUI and X11. If you don't have GUI libraries and/or X11, these
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 features will be disabled automatically.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 See the start of Makefile for more detailed instructions about how to compile
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 If you need extra compiler and/or linker arguments, set $CFLAGS and/or $LIBS
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 before starting configure. Example:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 env CFLAGS=-I/usr/local/include LIBS=-lm make
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 This is only needed for things that configure doesn't offer a specific argument
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 for or figures out by itself. First try running configure without extra
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 arguments.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 GNU Autoconf and a few other tools have been used to make Vim work on many
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 different Unix systems. The advantage of this is that Vim should compile
2278
0b3be97064e5 Various small fixes from Dominique Pelle.
Bram Moolenaar <bram@vim.org>
parents: 2247
diff changeset
56 on most systems without any adjustments. The disadvantage is that when
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 adjustments are required, it takes some time to understand what is happening.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 If configure finds all library files and then complains when linking that some
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 of them can't be found, your linker doesn't return an error code for missing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 libraries. Vim should be linked fine anyway, mostly you can just ignore these
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 errors.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 If you run configure by hand (not using the Makefile), remember that any
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 changes in the Makefile have no influence on configure. This may be what you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 want, but maybe not!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 The advantage of running configure separately, is that you can write a script
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 to build Vim, without changing the Makefile or feature.h. Example (using sh):
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 CFLAGS=-DCOMPILER_FLAG ./configure --enable-gui=motif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 One thing to watch out for: If the configure script itself changes, running
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 "make" will execute it again, but without your arguments. Do "make clean" and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 run configure again.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 If you are compiling Vim for several machines, for each machine:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 a. make shadow
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 b. mv shadow machine_name
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 c. cd machine_name
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 d. make; make install
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 [Don't use a path for machine_name, just a directory name, otherwise the links
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 that "make shadow" creates won't work.]
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 Unix: COMPILING WITH/WITHOUT GUI
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88
1268
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
89 NOTE: This is incomplete, look in Makefile for more info.
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
90
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 These configure arguments can be used to select which GUI to use:
1268
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
92 --enable-gui=gtk or: gtk2, motif, athena or auto
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 --disable-gtk-check
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 --disable-motif-check
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 --disable-athena-check
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 --enable-gui defaults to "auto", so it will automatically look for a GUI (in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 the order of GTK, Motif, then Athena). If one is found, then is uses it and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 does not proceed to check any of the remaining ones. Otherwise, it moves on
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 to the next one.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101
1268
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
102 --enable-{gtk,gtk2,kde,motif,athena}-check all default to "yes", such that if
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 --enable-gui is "auto" (which it is by default), GTK, Motif, and Athena will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 be checked for. If you want to *exclude* a certain check, then you use
1268
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
105 --disable-{gtk,gtk2,kde,motif,athena}-check.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 For example, if --enable-gui is set to "auto", but you don't want it look for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 Motif, you then also specify --disable-motif-check. This results in only
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 checking for GTK and Athena.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 Lastly, if you know which one you want to use, then you can just do
1268
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
112 --enable-gui={gtk,gtk2,kde,motif,athena}. So if you wanted to only use Motif,
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
113 then you'd specify --enable-gui=motif. Once you specify what you want, the
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
114 --enable-{gtk,gtk2,kde,motif,athena}-check options are ignored.
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
115
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
116 On Linux you usually need GUI "-devel" packages. You may already have GTK
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
117 libraries installed, but that doesn't mean you can compile Vim with GTK, you
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
118 also need the header files.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 For compiling with the GTK+ GUI, you need a recent version of glib and gtk+.
1268
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
121 Configure checks for at least version 1.1.16. An older version is not selected
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
122 automatically. If you want to use it anyway, run configure with
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
123 "--disable-gtktest".
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 GTK requires an ANSI C compiler. If you fail to compile Vim with GTK+ (it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 is the preferred choice), try selecting another one in the Makefile.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 If you are sure you have GTK installed, but for some reason configure says you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 do not, you may have left-over header files and/or library files from an older
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 (and incompatible) version of GTK. if this is the case, please check
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 auto/config.log for any error messages that may give you a hint as to what's
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 happening.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131
1268
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
132 There used to be a KDE version of Vim, using Qt libraries, but since it didn't
c91e60e1c695 updated for version 7.1
vimboss
parents: 11
diff changeset
133 work very well and there was no maintainer it was dropped.
11
4424b47a0797 updated for version 7.0003
vimboss
parents: 7
diff changeset
134
4424b47a0797 updated for version 7.0003
vimboss
parents: 7
diff changeset
135
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 Unix: COMPILING WITH MULTI-BYTE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 When you want to compile with the multi-byte features enabled, make sure you
2278
0b3be97064e5 Various small fixes from Dominique Pelle.
Bram Moolenaar <bram@vim.org>
parents: 2247
diff changeset
139 compile on a machine where the locale settings actually work, otherwise the
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 configure tests may fail. You need to compile with "big" features:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 ./configure --with-features=big
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 Unix: COMPILING ON LINUX
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 On Linux, when using -g to compile (which is default for gcc), the executable
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 will probably be statically linked. If you don't want this, remove the -g
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 option from CFLAGS.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 Unix: PUTTING vimrc IN /etc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 Some Linux distributions prefer to put the global vimrc file in /etc, and the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 Vim runtime files in /usr. This can be done with:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 ./configure --prefix=/usr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim MAKE="make -e"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 Unix: COMPILING ON NeXT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 Add the "-posix" argument to the compiler by using one of these commands:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160 setenv CC 'cc -posix' (csh)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161 export CC='cc -posix' (sh)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162 And run configure with "--disable-motif-check".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163
1668
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1622
diff changeset
164 Unix: LOCAL HEADERS AND LIBRARIES NOT IN /usr/local
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1622
diff changeset
165
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1622
diff changeset
166 Sometimes it is necessary to search different path than /usr/local for locally
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1622
diff changeset
167 installed headers (/usr/local/include) and libraries (/usr/local/lib).
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1622
diff changeset
168 To search /stranger/include and /stranger/lib for locally installed
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1622
diff changeset
169 headers and libraries, use:
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1622
diff changeset
170 ./configure --with-local-dir=/stranger
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1622
diff changeset
171 And to not search for locally installed headers and libraries at all, use:
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1622
diff changeset
172 ./configure --without-local-dir
0b796e045c42 updated for version 7.2b-000
vimboss
parents: 1622
diff changeset
173
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174
2834
107b03fdf1ad updated for version 7.3.191
Bram Moolenaar <bram@vim.org>
parents: 2278
diff changeset
175 3. OS/2
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 =======
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177
7408
1886f2863437 commit https://github.com/vim/vim/commit/e7fedb6ebe72d9a475aa65109b77d5ed4667067a
Christian Brabandt <cb@256bit.org>
parents: 6448
diff changeset
178 OS/2 support was removed in patch 7.4.1008
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180
2834
107b03fdf1ad updated for version 7.3.191
Bram Moolenaar <bram@vim.org>
parents: 2278
diff changeset
181 4. Atari MiNT
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182 =============
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183
21329
bb3f60b0aca0 patch 8.2.1215: Atari MiNT support is outdated
Bram Moolenaar <Bram@vim.org>
parents: 20758
diff changeset
184 Atari MiNT support was removed in patch 8.2.1215.