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