Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 523 lines (424 sloc) 24.679 kB
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
1 ++++++++++++++
2 INSTALLING ZSH
3 ++++++++++++++
4
03027f0 22804: Mikael Magnusson: allow zero-length narrow-to-region range
Peter Stephenson authored
5 This file is divided into two parts: making and installing the shell, a
6 note on the script run to set up the environment for new users, and
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
7 a description of various additional configuration options. You should
03027f0 22804: Mikael Magnusson: allow zero-length narrow-to-region range
Peter Stephenson authored
8 have a look at the items in the second and third parts before following the
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
9 instructions in the first.
10
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
11
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
12 =====================
13 MAKING AND INSTALLING
14 =====================
c175751 Initial revision
Tanaka Akira authored
15
16 Check MACHINES File
17 -------------------
18
8784bbe 20126: tidy up before 4.2.1
Peter Stephenson authored
19 Check the file MACHINES in the top directory to see the architectures
c175751 Initial revision
Tanaka Akira authored
20 that zsh is known to compile on, as well as any special instructions
21 for your particular architecture. Most architectures will not require any
22 special instructions.
23
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
24 Pre-configuration
25 -----------------
26
27 If you are using a normal source release, skip this section.
28
29 If the `configure' script does not already exist -- e.g., if you've got
30 a snapshot of the bare sources just checked out from a CVS repository
31 -- some things need to be built before the configuration can proceed.
32 Run the script `./Util/preconfig' to do this.
33
c175751 Initial revision
Tanaka Akira authored
34 Configuring Zsh
35 ---------------
36
37 To configure zsh, from the top level directory, do the command:
38 ./configure
39
40 Configure accepts several options (explained below). To display
41 currently available options, do the command:
42 ./configure --help
43
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
44 Many of the interesting configuration options can be added after running
c175751 Initial revision
Tanaka Akira authored
45 configure by editing the user configuration section of config.h and the
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
46 top level Makefile. However, see the end of this file for a list of
47 features configurable on the command line.
c175751 Initial revision
Tanaka Akira authored
48
49 Dynamic loading
50 ---------------
51
7ea08d1 14557: remove obsolete version number
Andrey Borzenkov authored
52 Zsh has support for dynamically loadable modules. This is now enabled
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
53 by default; to disable it, run configure with the --disable-dynamic option.
54 Note that dynamic loading does not work on all systems. On these systems
55 this option will have no effect. When dynamic loading is enabled, major
56 parts of zsh (including the Zsh Line Editor) are compiled into modules and
57 not included into the main zsh binary. Zsh autoloads these modules when
58 they are required. This means that you have to execute make
59 install.modules before you try the newly compiled zsh executable, and hence
60 also the install paths must be correct. The installation path for modules
61 is EPREFIX/lib/zsh/<zsh-version-number>, where EPREFIX defaults to PREFIX
62 unless given explicitly, and PREFIX defaults to /usr/local. See the end of
63 this file for options to configure to change these.
64
65 Adding and removing modules
66 ---------------------------
c175751 Initial revision
Tanaka Akira authored
67
68 The zsh distribution contains several modules, in the Src/Builtins,
69 Src/Modules and Src/Zle directories. If you have any additional zsh
70 modules that you wish to compile for this version of zsh, create another
71 subdirectory of the Src directory and put them there. You can create
49a1ad7 13194: change in module configuration system
Peter Stephenson authored
72 as many extra subdirectories as you need, but currently configure will only
73 search in immediate subdirectories of Src. The subdirectories must be
74 actual directories; symbolic links will not work. You will then need to
75 rerun configure; the easiest way is to run `config.status --recheck' from
76 the top-level build directory which retains the existing configuration as
77 much as possible.
78
79 The key to the module system is the file config.modules, created in the
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
80 configuration process. In the normal case that dynamic loading is
81 available, all modules relevant to your configuration will be compiled and
82 installed as separate files, so unless you want the modules to be loaded by
83 default you don't need to do anything. For a non-dynamic zsh, the default
84 is to compile the complete, compctl, zle, computil, complist, sched,
85 parameter, zleparameter and rlimits modules into the shell, and you will
86 need to edit config.modules to make any other modules available.
87
88 If you wish to change the configuration, here is how config.modules works.
89 Each module has a line in the file. Be careful to retain the (strict)
90 format for lines in the file:
49a1ad7 13194: change in module configuration system
Peter Stephenson authored
91 link - `dynamic', if the module is to be dynamically linked -- meaningless
92 if this is not available on your system.
93 `static' if the module is to be linked directly into the executable.
94 `no' if the module is not to be linked at all. In this case it will
95 not even be compiled.
96 load - `yes' if the module is to be visible to the user. This will make
97 builtins, parameters etc. visible to the user without any need
98 to use the zmodload builtin.
99 `no' if an explicit zmodload command is to be required to load the
100 utilities in the module. Note that this applies both to
101 statically and dynamically linked modules.
102 auto - `yes' if the entry is to be regenerated whenever configure is run.
103 `no' if you wish to retain your hand-edited version.
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
104 Do not edit the entry for the pseudo-module zsh/main (apart from the
105 `functions=' part) as this is the main shell. After you have edited this
106 file, run `make prep' in the Src subdirectory.
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
107
108 Note that the modules depending on zle or complete (e.g.: complist and
109 deltochar) cannot be loaded dynamically on systems which do not allow symbols
110 in one dynamically loaded library to be visible from another; this is true,
111 for example, of version 4 of SunOS. The most convenient workaround is to
49a1ad7 13194: change in module configuration system
Peter Stephenson authored
112 compile zle and complete into the base executable by setting their `link'
113 entries in config.modules to `static' as described above.
c175751 Initial revision
Tanaka Akira authored
114
115 Compiler Options or Using a Different Compiler
116 ----------------------------------------------
117
118 By default, configure will use the "gcc" compiler if found. You can use a
119 different compiler, or add unusual options for compiling or linking that
120 the "configure" script does not know about, by either editing the user
121 configuration section of the top level Makefile (after running configure)
122 or giving "configure" initial values for these variables by setting them
123 in the environment. Using a Bourne-compatible shell (such as sh,ksh,zsh),
124 you can do that on the command line like this:
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
125 CC=c89 ./configure --enable-cflags=-O2 --enable-libs=-lposix
126 This is almost equivalent to
c175751 Initial revision
Tanaka Akira authored
127 CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
128 but has the advantage that the CFLAGS and LIBS variables are remembered if
129 the configuration is recreated by means of `config.status --recheck' (this
130 happens automatically if certain configuration files change). You can
131 set the make variables CFLAGS, CPPFLAGS, LDFLAGS and LIBS in this way,
132 however CC must appear as shown. If you are configuring from a csh-derived
133 shell, you may need to use the "env" program:
134 env CC=c89 ./configure --enable-cflags=-O2 --enable-libs=-lposix.
135
136 You can override the variables directly when running `make':
137 make CFLAGS=-g
138 However, these will not be passed down via `config.status --recheck'.
7102a46 12598: configure takes --enable-cflags=... etc. arguments
Peter Stephenson authored
139
c175751 Initial revision
Tanaka Akira authored
140 Check Generated Files
141 ---------------------
142
143 Configure will probe your system and create a "config.h" header file.
144 You should check the user configuration section at the beginning of
145 this include file. You should also examine the values (determined by
146 configure) of HOSTTYPE, OSTYPE, MACHTYPE, and VENDOR to make sure they
147 are correct. The value of these #defines's is used only to initialize
148 the corresponding default shell parameters. Since these shell parameters
149 are only for informational purposes, you can change them to whatever
150 you feel is appropriate.
151
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
152 Also, configure will create a Makefile in the top level directory as well
c175751 Initial revision
Tanaka Akira authored
153 as in the various subdirectories. You should check the user configuration
154 section of the top level Makefile.
155
156 Compiling Zsh
157 -------------
158
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
159 After configuring, to build zsh, execute the command:
c175751 Initial revision
Tanaka Akira authored
160 make
161
e4d828b Document "make check".
Bart Schaefer authored
162 It's then a good idea to check that your build is working properly:
163 make check
164
165 If you have trouble with a particular test, you can run it separately:
166 make TESTNUM=C02 check
167
168 The TESTNUM value can be a single test number, as above, or a letter to
169 run an entire category of tests:
170 make TESTNUM=Y check
171
172 See Test/README for a list of test categories.
173
c175751 Initial revision
Tanaka Akira authored
174 Installing Zsh
175 --------------
176
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
177 If no make/compilation errors occur, then execute the command
178 make install
179 to install all the necessary files except for the info files.
c175751 Initial revision
Tanaka Akira authored
180
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
181 Alternatively, you can install the various parts in separate stages. To
182 install the zsh binary, execute the command:
183 make install.bin
c175751 Initial revision
Tanaka Akira authored
184 Any previous copy of zsh will be renamed "zsh.old"
f6797d6 18433: package documentation for 4.1.1
Peter Stephenson authored
185
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
186 To install the dynamically-loadable modules, execute the command:
c175751 Initial revision
Tanaka Akira authored
187 make install.modules
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
188 Note that this is required for the shell to operate properly if dynamic
189 loading is enabled.
c175751 Initial revision
Tanaka Akira authored
190
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
191 To install the zsh man page, execute the command:
c175751 Initial revision
Tanaka Akira authored
192 make install.man
193
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
194 To install all the shell functions which come with the distribution,
195 execute the command:
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
196 make install.fns
c175751 Initial revision
Tanaka Akira authored
197
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
198 To install the zsh info files (this must be done separately), execute the
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
199 command:
200 make install.info
201 If the programme install-info is available, "make install.info" will
202 insert an entry in the file "dir" in the same directory as the info
203 files. Otherwise you will have to edit the topmost node of the info
204 tree "dir" manually in order to have the zsh info files available to
205 your info reader.
c175751 Initial revision
Tanaka Akira authored
206
207 Building Zsh On Additional Architectures
208 ----------------------------------------
209
210 To build zsh on additional architectures, you can do a "make distclean".
211 This should restore the zsh source distribution back to its original
212 state. You can then configure zsh as above on other architectures in
213 which you wish to build zsh. Or alternatively, you can use a different
214 build directory for each architecture.
215
216 Using A Different Build Directory
217 ---------------------------------
218
219 You can compile the zsh in a different directory from the one containing
220 the source code. Doing so allows you to compile it on more than one
221 architecture at the same time. To do this, you must use a version of
222 "make" that supports the "VPATH" variable, such as GNU "make". "cd" to
223 the directory where you want the object files and executables to go and
224 run the "configure" script. "configure" automatically checks for the
225 source code in the directory that "configure" is in. For example,
226
227 cd /usr/local/SunOS/zsh
228 /usr/local/src/zsh-3.0/configure
229 make
230
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
231 Note that this is mutually exclusive with using the source directories
232 as make can become confused by build files created in the source directories.
233
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
234
325a7c0 22013: initial go at a working zsh-newuser-install
Peter Stephenson authored
235 ================================
236 AUTOMATIC NEW USER CONFIGURATION
237 ================================
238
239 In the default configuration, the shell comes with a system based around
240 the zsh/newuser add-on module that detects when a user first starts the
241 shell interactively and has no initialisation files (.zshenv, .zshrc,
242 .zprofile or .zlogin). The shell then executes code in the file
243 scripts/newuser in the shared library area (by default
244 /usr/local/share/zsh/<VERSION>/scripts/newuser). This feature can be
245 turned off simply by removing this script. The module can be removed
246 entirely from the configured shell by editing the line starting
5dfd592 22018: minor newuser tweaks
Peter Stephenson authored
247 "name=zsh/newuser" in the config.modules file, which is generated in the
325a7c0 22013: initial go at a working zsh-newuser-install
Peter Stephenson authored
248 top level distribution directory during configuration: change the line to
249 include "link=no auto=no".
250
251 The supplied script executes the function supplied as
252 Functions/Newuser/zsh-newuser-install. This function is currently under
253 development. It is probably preferable for administrators who wish to
254 customize the system their own way to edit the newuser script in
255 scripts/newuser. Also, as there is currently no internationalization
256 support, administrators of sites with users who mostly do not speak English
257 may wish not to install the zsh/newuser module.
258
259
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
260 =====================
261 CONFIGURATION OPTIONS
262 =====================
263
3fd42c4 21790: initial attempt at documenting 4.3 release
Peter Stephenson authored
264 Multibyte Character Support
265 ---------------------------
266
267 Support for multibyte character sets that extend ASCII, such as UTF-8, is
f5f90da 22587: update some distribution docs
Peter Stephenson authored
268 now reasonably close to complete, except that combining characters are not
269 handled properly (some assistance with this problem would be appreciated).
270 The configuration script should turn on multibyte support on all systems
271 where it can be compiled successfully.
3fd42c4 21790: initial attempt at documenting 4.3 release
Peter Stephenson authored
272
9471bbc 22934, modified, see 22937: add HIST_SUBST_PATTERN option
Peter Stephenson authored
273 The support can be explicitly enabled or disabled with --enable-multibyte or
f5f90da 22587: update some distribution docs
Peter Stephenson authored
274 --disable-multibyte. The developers are not aware of any need to use
b5a83cc users/9788: add (oN) glob qualifier for no sorting
Peter Stephenson authored
275 --disable-multibyte and this should be reported as a bug. Currently
f5f90da 22587: update some distribution docs
Peter Stephenson authored
276 multibyte mode is believed to work on at least the following:
b5a83cc users/9788: add (oN) glob qualifier for no sorting
Peter Stephenson authored
277
278 - All(?) current GNU/Linux distributions
f3100e8 22095: more multibyte notes.
Peter Stephenson authored
279 - OS X 10.4.3 (problems have been reported with multibyte characters
280 in HFS file names)
281 - NetBSD 2.0.2
32f03e3 4.3.0-dev-3
Peter Stephenson authored
282 - Solaris 8+ (inputting multibyte characters from the keyboard doesn't
283 work in some installations).
f5f90da 22587: update some distribution docs
Peter Stephenson authored
284 - Cygwin (though use of multibyte characters is somewhat non-standard).
285
286 The corresponding shell option MULTIBYTE is now on by default in all
287 emulation modes when multibyte support is enabled. Turning it off is not
288 recommended unless there is a particular need to examine single bytes
289 regardless of the locale. As the line editor bases its behaviour on the
290 locale regardless of the option (in order to correspond to the displayed
291 character set), the option should be left on during the execution of
292 user-defined editor and completion widgets so that the behaviour
293 corresponds to that of builtin widgets.
3fd42c4 21790: initial attempt at documenting 4.3 release
Peter Stephenson authored
294
b5a83cc users/9788: add (oN) glob qualifier for no sorting
Peter Stephenson authored
295 See chapter 5 in the FAQ for some notes on multibyte input.
296
c175751 Initial revision
Tanaka Akira authored
297 Memory Routines
298 ---------------
299
300 Included in this release are alternate malloc and associated functions
301 which reduce memory usage on some systems. To use these, add the option
302 --enable-zsh-mem
303 when invoking "configure".
304
8784bbe 20126: tidy up before 4.2.1
Peter Stephenson authored
305 You should check MACHINES to see if there are specific recommendations
c175751 Initial revision
Tanaka Akira authored
306 about using the zsh malloc routines on your particular architecture.
307
308 Debugging Routines
309 ------------------
310
311 You can turn on various debugging options when invoking "configure".
312
313 To turn on some extra checking in the memory management routines, you
314 can use the following options when invoking "configure".
315 --enable-zsh-mem-warning # turn on warnings of memory allocation errors
316 --enable-zsh-secure-free # turn on memory checking of free()
317
318 If you are using zsh's memory allocation routines (--enable-zsh-mem), you
319 can turn on debugging of this code. This enables the builtin "mem".
320 --enable-zsh-mem-debug # debug zsh's memory allocators
321
322 You can turn on some debugging information of zsh's internal hash tables.
323 This enables the builtin "hashinfo".
324 --enable-zsh-hash-debug # turn on debugging of internal hash tables
325
326 To add some sanity checks and generate debugging information for debuggers
327 you can use the following option. This also disables optimization.
328 --enable-zsh-debug # use it if you want to debug zsh
af8a88e 23248: Completion listing problem with lines nearly screen width
Peter Stephenson authored
329 In this mode, zsh may output extra information about internal errors
330 to stderr. The shell variable ZSH_DEBUG_LOG may be set to another file
331 to which errors will be appended.
c175751 Initial revision
Tanaka Akira authored
332
333 Startup/shutdown files
334 ----------------------
335
336 Zsh has several startup/shutdown files which are in /etc by default. This
337 can be overriden using one of the options below when invoking "configure".
338
339 --enable-etcdir=directory # default directory for global zsh scripts
340 --enable-zshenv=pathname # the full pathname of the global zshenv script
341 --enable-zshrc=pathname # the full pathname of the global zshrc script
342 --enable-zlogin=pathname # the full pathname of the global zlogin script
343 --enable-zprofile=pathname # the full pathname of the global zprofile script
344 --enable-zlogout=pathname # the full pathname of the global zlogout script
345
346 Any startup/shutdown script can be disabled by giving the
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
347 --disable-SCRIPTNAME option to "configure". The --disable-etcdir option
f18221f spelling corrections (13610)
Oliver Kiddle authored
348 disables all startup/shutdown files which are not explicitly enabled.
c175751 Initial revision
Tanaka Akira authored
349
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
350 Shell functions
351 ---------------
352
353 By default, the shell functions which are installed with `make install' or
354 `make install.fns' go into the directory ${datadir}/zsh/functions, which
355 unless you have specified --datadir is the same as
356 ${prefix}/share/zsh/$ZSH_VERSION/functions ($prefix itself defaults to
357 /usr/local, as described below). This directory will also be compiled into
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
358 the shell as the default directory for the parameters $fpath and
359 $FPATH. You can override it with --enable-fndir=directory; --disable-fndir
360 or --enable-fndir=no will turn off both installation of functions and the
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
361 setting of a default value for $fpath/$FPATH. Note the presence of
362 $ZSH_VERSION (e.g. `3.1.7') to avoid clashes between versions of zsh.
363 If you only run one version of zsh at once, installing into a common
caa994e installfns bits
Peter Stephenson authored
364 directory such as /usr/local/share/zsh/functions is fine --- note, however,
365 that uninstallation is more likely to create problems in this case.
366
367 The functions to be installed are controlled by config.modules. These
368 appear at the end of the line after `functions=': note that the rest of the
369 line is taken verbatim as shell command line text, i.e. no quoting is used
370 around the value as a whole and unquoted wildcards will be expanded. To
371 prevent any functions from being installed, either remove the `functions='
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
372 entry or delete the rest of the line after it.
caa994e installfns bits
Peter Stephenson authored
373
374 Functions not specific to a particular module are listed on the zsh/main
375 line. None of these are crucial to shell operation, so you may choose not
376 to install them. For other modules, the functions will be installed if and
377 only if the module itself is installed. This will usually be what you
378 want; in particular, the zsh/complete and zsh/zftp modules are of much less
379 use without the associated functions. The functions listed with zsh/zle
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
380 are not used by the editor unless you explicitly load them, however.
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
381
382 You can also use the configure option --enable-function-subdirs to allow
383 shell functions to be installed into subdirectories of the function
3d7263f after-move cleanup
Sven Wischnowsky authored
384 directory, i.e. `Base/*' files will be installed into `FNDIR/Base, and so
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
385 on. This also initialises $fpath/$FPATH appropriately.
386
387 The option --enable-site-fndir controls whether to create and initialise
388 $fpath to include a directory for site-specific functions. By default this
389 is created in the location ${datadir}/zsh/site-functions, i.e. parallel to
390 the version-specific functions directory, and inserted at the start of the
391 $fpath array on shell startup. This directory will not be affected by
392 `make uninstall' or `make uninstall.fns', although the version-specific
393 directory and its contents will be deleted.
394
ab899b7 20222: turn on max function depth
Peter Stephenson authored
395 Function depth
396 --------------
397
398 Shell functions may be called recursively. In order to detect infinite
399 recursion the shell has a limit on the depth to which functions may be
400 called: note that this is a single limit for all functions, not a limit
401 for each function called recursively. The default for the limit is 4096.
402 The limit may be altered to the value MAX by passing the option
403 --enable-max-function-depth=MAX to configure. Alternatively, the limit may
404 be disabled with --disable-max-function-depth. However, this is not
405 recommended as it is likely to cause the shell to crash on an infinite
406 recursion.
407
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
408 Support for large files and integers
409 ------------------------------------
410
411 Some 32-bit systems allow special compilation modes to get around the 2GB
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
412 file size barrier. This is enabled by default; use --disable-lfs to turn
413 it off. Not all systems recognize the test used by zsh (via the getconf
414 command), so flags may need to be set by hand. On HP-UX 10.20, zsh has
415 been successfully compiled with large file support by configuring with
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
416 CC="cc -Ae" CPPFLAGS="-D_LARGEFILE_SOURCE -D_FILE64" configure \
417 --enable-lfs ...
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
418 You can also specify --enable-lfs together with a value, which will be
419 interpreted as the name of a 64-bit integer type, for example
420 --enable-lfs="long long" (although this type is checked for anyway).
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
421
422 Furthermore, use of --enable-lfs will also enable 64-bit arithmetic for
423 shell parameters, and anywhere they are used such as in mathematical
424 formulae. This depends only on the shell finding a suitable 64-bit integer
425 type; it does not require that support for large files is actually
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
426 enabled. Hence --enable-lfs is useful on many 32-bit systems
78526bb 12596: Update INSTALL for module aliasing changes.
Bart Schaefer authored
427 with a suitable compiler such as gcc.
428
429 Also note that if `configure' finds out that either of the types off_t or
430 ino_t are 64-bit quantities, but that long integers are only 32 bits, all
431 the above will be enabled automatically. This is necessary to ensure
432 correct handling of these types.
433
434 None of this is relevant for 64-bit systems; zsh should compile and run
435 without problems if (sizeof(long) == 8).
c175751 Initial revision
Tanaka Akira authored
436
8cba498 19535: Add --enable-cap
Peter Stephenson authored
437 Searching for additional features
438 ---------------------------------
439
440 Various additional features are turned off by default to avoid
441 compatibility problems.
442
443 --enable-pcre:
5138a42 19512: --enable-pcre option
Peter Stephenson authored
444
445 Zsh has a module which allows the pcre regular expression library to be
446 used via shell builtins. Compiling this library into the shell with
447 dynamic loading (the default where available) produces a dependency on the
448 library libpcre.so. This is a problem on systems where zsh needs to be
8cba498 19535: Add --enable-cap
Peter Stephenson authored
449 available at boot before the directory containing libpcre.so (for example
450 /usr/lib or /usr/local/lib) is mounted. For this reason, pcre support will
451 only be searched for if the option --enable-pcre is passed to configure.
5138a42 19512: --enable-pcre option
Peter Stephenson authored
452
453 (Future versions of the shell may have a better fix for this problem.)
454
8cba498 19535: Add --enable-cap
Peter Stephenson authored
455 --enable-cap:
456
457 This searches for POSIX capabilities; if found, the `cap' library
458 is available and the shell will use these to determine if the
459 shell is running in some privileged mode. This is turned off by
460 default as on some systems non-standard headers (in particular AIX) are
461 required. A direct fix for that problem would be appreciated.
462
a9c6ca4 20026: INSTALL nitpick.
Peter Stephenson authored
463 A test for the function tcsetpgrp is turned on by default. The test
464 needs to run the function to determine if the implementation is
465 usable. However, this can cause problems when configure is run without
466 a controlling terminal (eg. from cron). To avoid this, use
467 --with-tcsetpgrp or --without-tcsetpgrp to tell configure whether the
468 function should be used.
2173c12 20025: --with-tcsetpgrp from Philippe Troin
Peter Stephenson authored
469
c175751 Initial revision
Tanaka Akira authored
470 Options For Configure
471 ---------------------
472
473 The `configure' program accepts many options, not all of which are useful
474 or relevant to zsh. To get the complete list of configure options, run
475 "./configure --help". The following list should contain most of the
476 options of interest for configuring zsh.
477
478 Configuration:
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
479 --cache-file=FILE # cache test results in FILE
480 --help # print a help message
481 --version # print the version of autoconf that create configure
482 --quiet, --silent # do not print `checking...' messages
483 --no-create # do not create output files
c175751 Initial revision
Tanaka Akira authored
484
485 Directories:
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
486 --prefix=PREFIX # install host independent files in PREFIX [/usr/local]
487 --exec-prefix=EPREFIX # install host dependent files in EPREFIX [PREFIX]
488 --bindir=DIR # install user executables in DIR [EPREFIX/bin]
489 --infodir=DIR # install info documentation in DIR [PREFIX/info]
490 --mandir=DIR # install man documentation in DIR [PREFIX/man]
491 --srcdir=DIR # find the sources in DIR [configure dir or ..]
492 --datadir=DATADIR # install shared files in DATADIR [PREFIX/share]
c175751 Initial revision
Tanaka Akira authored
493
494 Features:
99beeb5 Doc changes for 4.0.1
Peter Stephenson authored
495 --enable-FEATURE # enable use of this feature
496 --disable-FEATURE # disable use of this feature
497
498 Here is the list of FEATURES currently supported. Defaults are shown in
499 brackets, though a value shown as `yes' (equivalent to --enable-FEATURE)
500 will be ignored if your OS doesn't support that feature.
501
502 zsh-debug # compile debugging features into zsh [no]
503 zsh-mem # use zsh's memory allocators [no]
504 zsh-mem-debug # debug zsh's memory allocators [no]
505 zsh-mem-warning # turn on warnings of memory allocation errors [no]
506 zsh-secure-free # turn on memory checking of free() [no]
507 zsh-hash-debug # turn on debugging of internal hash tables [no]
508 etcdir=directory # default directory for global zsh scripts [/etc]
509 zshenv=pathname # the path to the global zshenv script [/etc/zshenv]
510 zshrc=pathname # the path to the global zshrc script [/etc/zshrc]
511 zlogin=pathname # the path to the global zlogin script [/etc/zlogin]
512 zprofile=pathname # the path to the global zprofile script [/etc/zprofile]
513 zlogout=pathname # the path to the global zlogout script [/etc/zlogout]
514 fndir=directory # the directory where shell functions will go
515 # [DATADIR/zsh/VERSION/functions]
516 site-fndir=directory # the directory where site-specific functions can go
517 # [DATADIR/zsh/site-functions]
518 function-subdirs # if functions will be installed into subdirectories [no]
519 dynamic # allow dynamically loaded binary modules [yes]
520 lfs # allow configure check for large files [yes]
521 locale # allow use of locale library [yes]
522
Something went wrong with that request. Please try again.