fix getsup (HH)
[luatex.git] / source / README.5configure
blob6b4b00a45d08871c115f41ba5bf4996a8a0a317f
1 (This file was generated by makeinfo and splitinfo.gawk.)
2 (Released under the old-style GNU documentation license;
3  see sources or other output files for full text.)
5 7 Configure options
6 *******************
8 Corresponding to the large number of program and library modules there
9 are a large number 'configure' options, most of which are described
10 here.  The command
11    'configure --help'
12 at the top level gives an exhaustive list of all global options and a
13 few important module-specific ones, whereas, e.g.,
14    'texk/lcdf-typetools/configure --help'
15 also displays the 'lcdf-typetools' specific options, which are not shown
16 at the top-level.
18    The help text also mentions several influential environment
19 variables, but for TeX Live it is better to specify them as assigments
20 on the command line.
22    The './Build' script used to make the binaries shipped with TeX Live
23 invokes the top-level 'configure' with a few additional options (*note
24 Building::).  The defaults discussed below are those for the actual
25 'configure' script; invoking 'configure' via './Build' may yield
26 different results.
28    Defaults for most options are set at the top level and propagated
29 explicitly to all subdirectories.  Options specified on the command line
30 are checked for consistency but never modified.
32 7.1 Global configure options
33 ============================
35 Here are the global configure options.
37 7.1.1 '--disable-native-texlive-build'
38 --------------------------------------
40 If enabled (the default), build for a TL binary distribution as shipped
41 by the TeX user groups.  This requires GNU 'make' and implies
42 '--enable-multiplatform' and '--enable-cxx-runtime-hack' (unless they
43 are explicitly disabled), and enforces '--disable-shared'.
45    If building TL for a GNU/Linux or other distribution, this should be
46 disabled and system versions of most libraries would be used (*note
47 Distro builds::).  This may fail without GNU 'make', but will be tried
48 regardless.
50    A related option, '--enable-texlive-build', is automatically passed
51 to all subdirectories (and cannot be disabled).  Subdirectories that can
52 also be built independently from the TL tree (such as 'utils/xindy' and
53 'texk/dvipng') can use this option, e.g., to choose TL-specific
54 installation paths.
56 7.1.2 '--prefix', '--bindir', ...
57 ---------------------------------
59 These standard Autoconf options specify various installation directories
60 as usual.  For the complete list, *note Installation directories::.
62    Also as usual, all values are prefixed by the value of 'DESTDIR', if
63 set, on the 'make' command line (*note Installation in a temporary
64 location: (automake)Staged Installs.).
66 7.1.3 '--disable-largefile'
67 ---------------------------
69 Omit large file support (LFS), needed on most 32-bit Unix systems for
70 files with 2GB or more.  Regardless of this, the size of 'DVI' and 'GF'
71 files must always be <2GB, due to the file format specifications.
73    With LFS, there is no fixed limit on the size of PDF files created by
74 'pdftex' or PostScript files created by 'dvips'.  The size of PDF images
75 included by 'pdftex' or 'luatex' must, however, be <2GB when using
76 'poppler' version 0.22 or before (even on 64-bit systems with LFS).
78 7.1.4 '--disable-missing'
79 -------------------------
81 Immediately terminate the build process if a requested program or
82 feature must be disabled, e.g., due to missing libraries.  This can help
83 when figuring out a specific (sub)set of modules to enable.
85 7.1.5 '--enable-compiler-warnings='LEVEL
86 ----------------------------------------
88 Enable various levels of compiler warnings for (Objective) C and C++:
89 the LEVEL value can be one of: 'no min yes max all'.  The default is
90 'yes' in 'maintainer-mode' (see below) and 'min' otherwise.  This option
91 defines 'WARNING_[OBJ]C[XX]FLAGS' but these flags are not used in all
92 library and program modules.  Using them should help to resolve
93 portability problems.
95    At present, these warning flags are only defined for the GNU
96 compilers but flags for other compilers could be added when needed.
98 7.1.6 '--enable-cxx-runtime-hack'
99 ---------------------------------
101 If enabled (as it is for the native TL build) and when using 'g++', try
102 to statically link with 'libstdc++', somewhat improving portability of
103 the resulting binary.  *Note Macros for compilers::.
105 7.1.7 '--enable-maintainer-mode'
106 --------------------------------
108 Enable 'make' rules and dependencies not useful (and sometimes
109 confusing) to the casual user.  This requires current versions of the
110 GNU build tools (*note Build system tools::), as it automatically
111 rebuilds infrastructure files as needed.  *Note 'missing' and
112 'AM_MAINTAINER_MODE': (automake)maintainer-mode.
114 7.1.8 '--enable-multiplatform'
115 ------------------------------
117 If enabled and '--bindir=DIR' or '--libdir=DIR' are not specified,
118 install executables and libraries in per-platform subdirectories of
119 'EPREFIX/bin' and 'EPREFIX/lib' where EPREFIX is the value given or
120 implied for 'exec_prefix'.  In any case, the values for 'bindir' and
121 'libdir' are automatically propagated to all subdirectories.
123 7.1.9 '--enable-shared'
124 -----------------------
126 Build shared versions of the TeX-specific libraries such as
127 'libkpathsea'.  This is not allowed for a native TL build (i.e.,
128 '--disable-native-texlive-build' must also be specified).
130 7.1.10 '--enable-silent-rules'
131 ------------------------------
133 Enable the use of less verbose build rules.  When using GNU 'make' (or
134 another 'make' implementation supporting nested variable expansions),
135 you can specify 'V=1' on the 'make' command line to get more verbosity,
136 or 'V=0' to get less, regardless of this option.
138 7.1.11 '--without-ln-s'
139 -----------------------
141 Required when using a system without a working 'ln -s' to build binaries
142 for a Unix-like system.  However, 'make install' will not create
143 anything useful and might even fail.
145 7.1.12 '--without-x'
146 --------------------
148 Disable all programs using the X Window System.
150 7.2 Program-specific configure options
151 ======================================
153 Here are (some of) the program-specific 'configure' options.
155 7.2.1 '--enable-PROG', '--disable-PROG'
156 ---------------------------------------
158 Do or do not build and install the program(s) of the module 'PROG'.
160 7.2.2 '--disable-all-pkgs'
161 --------------------------
163 Do not build any program modules by default--only those explicitly
164 enabled.  This is useful when one wants to work on only a single
165 program, which is specified with an additional '--enable' option, e.g.,
166 '--enable-dvipdfm-x'.  It's still simplest to check out and configure
167 the whole source tree, but at least only the program you are interested
168 in, and its dependencies, are built.  The 'configure' will generally
169 take less than a minute with everything disabled.  (It is a good idea to
170 run 'make check' after doing this, and after making any changes, to
171 ensure that whatever tests have been written still pass.)
173    Without this option, all modules are built except those that are
174 explicitly disabled or specify 'disable' in their 'ac/withenable.ac'
175 fragment.
177 7.2.3 Configure options for 'texk/web2c'
178 ----------------------------------------
180 '--with-banner-add=STR'
181 Add 'STR' to the default version string ('TeX Live YEAR' or 'Web2C
182 YEAR') appended to banner lines.  This is ignored for a native TL build,
183 but distro builds should specify, e.g., '/SOMEDISTRO'.
185 '--with-editor=CMD'
186 Specify the command 'CMD' to invoke from the 'e' option of TeX-like
187 engines, replacing the default 'vi +%d '%s'' for Unix or 'texworks
188 --position=%d "%s"' for Windows.
190 '--with-fontconfig-includes=DIR', '--with-fontconfig-libdir=DIR'
191 Building XeTeX on non-Mac systems requires the 'fontconfig' library
192 headers and code.  If one or both of these options are given, the
193 required flags are derived from them; otherwise, they are determined via
194 'pkg-config' (if present).
196 '--with-mf-x-toolkit'
197 Use the X toolkit ('libXt') for Metafont (the default is to use the
198 lowest-level 'Xlib' support; it seems this has the best chance of
199 working across X installations nowadays).
201 '--disable-dump-share'
202 Make the 'fmt'/'base' dump files architecture dependent (somewhat faster
203 on LittleEndian architectures).
205 '--disable-ipc'
206 Disable TeX's '--ipc' option.
208 '--disable-mf-nowin'
209 Do not build a separate non-graphically-capable Metafont ('mf-nowin').
211 '--disable-tex', '--enable-etex', ...
212 Do not or do build the various TeX, Metafont, and MetaPost engines
213 (defaults are defined in the fragment 'texk/web2c/ac/web2c.ac').
215 '--disable-web-progs'
216 Do not build the core WEB programs 'bibtex', ..., 'weave'.  Useful if,
217 e.g., you only want to (re)build some engines.
219 '--enable-auto-core'
220 This option causes TeX and Metafont to produce a core dump when a
221 particular hacky filename is encountered, for use in creating preloaded
222 binaries.  This is rarely done nowadays.
224 '--enable-libtool-hack'
225 If enabled (which is the default for all platforms), prevents 'libtool'
226 from linking explicitly with dependencies of 'libfontconfig' such as
227 'libexpat'.
229 '--enable-*win'
230 Include various types of other window support for Metafont (EPSF output,
231 'mftalk', old terminals, ...).
233 '--enable-tex-synctex', '--disable-etex-synctex', ...
234 Build the TeX engines with or without 'SyncTeX' support; ignored for a
235 native TeX Live build, defaults are again defined in
236 'texk/web2c/ac/web2c.ac'.
238 '--disable-synctex'
239 Do not build the 'SyncTeX' library and tool.
241 7.2.4 Configure options for 'texk/bibtex-x'
242 -------------------------------------------
244 The programs 'bibtex8' and 'bibtexu' have been merged into the module
245 'bibtex-x' (extended BibTeX).
247 '--disable-bibtex8'
248 Do not build the 'bibtex8' program.
250 '--disable-bibtexu'
251 Do not build the 'bibtexu' program (building 'bibtexu' requires 'ICU'
252 libraries).
254 7.2.5 Configure options for 'texk/dvipdfm-x'
255 --------------------------------------------
257 The former modules 'dvipdfmx' (extended DVI to PDF converter) and
258 'xdvipdfmx' (the same, as used by XeTeX) have been merged into
259 'dvipdfm-x' at the source level.  Two separate binaries are still
260 created by default.  In addition, 'dvipdfm' is created as a symlink to
261 'dvipdfmx', with backward-compatible (very slightly different) behavior.
263 '--disable-dvipdfmx'
264 Do not build the 'dvipdfmx' program with the 'dvipdfm' symlink.
266 '--disable-xdvipdfmx'
267 Do not build the 'xdvipdfmx' program.
269 7.2.6 Configure options for 'texk/dvisvgm'
270 ------------------------------------------
272 '--with-system-libgs'
273 Build 'dvisvgm' using installed Ghostscript ('gs') headers and library
274 (not allowed for a native TL build).  The default is to load the 'gs'
275 library at runtime if possible, or otherwise disable support for
276 PostScript specials.
278 '--without-libgs'
279 Build 'dvisvgm' without PostScript support at all.  Because the dynamic
280 loading just mentioned defeats all attempts at static linking, the
281 result can crash due to library incompatibilities, e.g., on CentOS 5.
283 '--with-libgs-includes=DIR', '--with-libgs-libdir=DIR'
284 Specify non-standard locations of the Ghostscript headers and library.
286 7.2.7 Configure options for 'texk/texlive'
287 ------------------------------------------
289 '--disable-linked-scripts'
290 Do not install the "linked scripts" (*note Linked scripts::), except for
291 the TL scripts required to run 'texlinks'.
293 7.2.8 Configure options for 'texk/xdvik'
294 ----------------------------------------
296 '--with-gs=FILENAME'
297 Hardwire the location of Ghostscript ('gs').
299 '--with-xdvi-x-toolkit=KIT'
300 Use toolkit 'KIT' for 'xdvik', one of: 'motif xaw xaw3d neXtaw'.  The
301 default is 'motif' if available, else 'xaw'.
303 '--enable-xi2-scrolling'
304 Use XInput 2.1 "smooth scrolling" if available.  (default: yes, except
305 for a native TL build).
307 7.2.9 Configure options for 'utils/xindy'
308 -----------------------------------------
310 '--enable-xindy-rules'
311 Build and install 'xindy' rules (default: yes, except for a native TL
312 build).
314 '--enable-xindy-docs'
315 Build and install 'xindy' documentation (default: yes, except for a
316 native TL build).
318 '--with-clisp-runtime=FILENAME'
319 Specifies the Full path for the CLISP runtime file ('lisp.run' or
320 'lisp.exe') to be installed.  When specified as 'default' (the default
321 for a native TL build) the path is determined by the CLISP executable;
322 the value 'system' (not allowed for a native TL build, but the default
323 for a non-native one) indicates that 'xindy' will use the installed
324 version of 'clisp' (which must be identical to the one used to build
325 'xindy').
327 7.3 Library-specific configure options
328 ======================================
330 Here are (some of) the library-specific 'configure' options, starting
331 with this generic one:
333 '--with-system-LIB'
335    Use an installed (system) version of the library 'LIB'; this option
336 exists for most libraries, but is not allowed for a native TL build.
337 Using a system version implies also using the system versions of all
338 libraries (if any) that LIB depends on.
340    For many libraries '--with-LIB-includes=DIR' and
341 '--with-LIB-libdir=DIR' can specify non-standard search locations;
342 others use 'pkg-config' or similar to determine the required flags.
344    The top-level 'configure' script performs a consistency check for all
345 required system libraries and bails out if tests fail.
347 7.3.1 Configure options for 'kpathsea'
348 --------------------------------------
350 '--enable-CMD-default', '--disable-CMD-default'
351 Determine the compile time default whether or not to run CMD, one of:
352 'mkocp'
353      (Omega compiled translation process file)
354 'mkofm'
355      (Omega font metrics file)
356 'mktexfmt'
357      (format/base dump file)
358 'mktexmf'
359      (Metafont source)
360 'mktexpk'
361      (PK bitmap font)
362 'mktextex'
363      (TeX source)
364 'mktextfm'
365      (TFM file)
367 to generate the specified type of file dynamically.  The default can be
368 overridden by the user in any case.
370 7.3.2 Configure options for system 'poppler'
371 --------------------------------------------
373 Building LuaTeX (or LuaJITTeX) and XeTeX requires 'poppler', either from
374 the TL tree or system headers and library.  Building pdfTeX requires
375 either 'xpdf' from the TeX Live tree or system 'poppler' headers and
376 library.
378 '--with-system-poppler'
379 Use a system version (0.18 or newer) of 'poppler' for LuaTeX (or
380 LuaJITTeX) and XeTeX, and use 'pkg-config' to obtain the required flags.
382 '--with-system-xpdf'
383 Use a system version (0.12 or better) of 'poppler' (and 'pkg-config')
384 for pdfTeX instead of 'xpdf' from the TL tree.  *Note
385 --disable-largefile::.
387 7.4 Variables for configure
388 ===========================
390 The values for these variables can be specified as 'configure' arguments
391 of the form 'VAR=VALUE'.  They can also be defined in the environment,
392 but that might not work for cross compilations.
394 'CC'
395 'CXX'
396 'CPPFLAGS'
397      And plenty more.  As usual with Autoconf, these variables specify
398      the name (or full path) of compilers, preprocessor flags, and
399      similar.  *Note autoconf: (GNU Autoconf)Preset Output Variables.
401 'CLISP'
402      Name (or full path) of the 'clisp' executable, used to build
403      'xindy'.
405 'FT2_CONFIG'
406 'ICU_CONFIG'
407 'PKG_CONFIG'
408      These specify the name (or path) for the 'freetype-config',
409      'icu-config', and 'pkg-config' commands used to determine the flags
410      required for system versions of 'libfreetype', the ICU libraries,
411      or many other libraries.
413 'KPSEWHICH'
414      Name (or path) of an installed 'kpsewhich' binary, used by 'make
415      check' to determine the location of, e.g., 'cmbx10.tfm'.
417 'MAKE'
418 'SED'
419      And more.  Name (or path) of the 'make', 'sed', and similar
420      programs; used at the top level and propagated to all
421      subdirectories.
423 'PERL'
424 'LATEX'
425 'PDFLATEX'
426      Name (or full path) for the 'perl', 'latex', and 'pdflatex'
427      commands used, e.g., to build the 'xindy' documentation.