summaryrefslogtreecommitdiff
path: root/Build/source/README.config
blob: b9e6a6a1c63f4c9170fcbed785dbfb451bd71650 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
Copyright (C) 2009 Peter Breitenlohner <tex-live@tug.org>
You may freely use, modify and/or distribute this file.

	Configure options for the  TeX Live (TL) build system
	=====================================================

The TL 2009 build system contains a collection of program packages,
i.e., subdirectories texk/PROG/ (where `PROG' is web2c, afm2pl, bibtex8,
etc.) and utils/UTIL/ (where `UTIL' is dialog, pdfopen, etc.) as well as
library packages, i.e., subdirectories texk/kpathsea/ and libs/LIB/
(where `LIB' is zlib, libpng, t1lib, etc.) for most of the libraries
required by the program packages.  Correspondingly there are plenty of
configure options, most of which are described below.

See 'configure --help' (at the top-level) for an exhaustive list of all
global options and a few important package specific ones or run, e.g.,
'texk/lcdf-typetools/configure --help' to also see lcdf-typetools
specific options not shown at the top level.

Note, however, that the ./Build script used to make the binaries shipped
with TeX Live invokes the top-level configure with a few additional
options.  Any defaults discussed below are those for the base configure
script; thus, invoking configure via ./Build yields different results.

Options specified on the command line will never be modified.


1. Global configure options
===========================

1.1. --disable-native-texlive-build
-----------------------------------
If enabled (by default) build for a TeX Live binary distribution as
shipped by the user groups; this implies '--enable-multiplatform' and
'--enable-cxx-runtime-hack' unless they are explicitly disabled and
enforces '--disable-shared'.

If building TL for a GNU/Linux or other distribution, this would be
disabled and system versions of most libraries would be used (see below).

A related option '--enable-texlive-build' is automatically passed to all
subdirectories (and can not be disabled).  Programs that could also be built
independent from the TL tree (such as utils/xindy/ or texk/dvipng/) use this
option, e.g., to choose TL specific installation directories.

1.2. --enable-multiplatform
---------------------------
If enabled, install executables and libraries in platform dependent
subdirectories of EPREFIX/bin and EPREFIX/lib (unless '--bindir=DIR' or
'--libdir=DIR' is specified), where EPREFIX is the exec-prefix.  This
option automatically propagates the values for bindir and libdir to all
subdirectories to be configured, and thus need not be used explicitly in
any program or library package.

1.3. --enable-cxx-runtime-hack
------------------------------
If enabled and when using g++, try to statically link with libstc++,
somewhat improving portability.

1.4. --enable-shared
---------------------
Build a shared Kpathsea library (not allowed for a TeX Live native build).

1.5. --disable-largefile
------------------------
Omit support for large files (>=2GB).

1.6. --without-x
----------------
Do not use the X Window System.

1.7. --enable-compiler-warnings=[no|min|yes|max|all]
----------------------------------------------------
Enable various degrees of compiler warnings for C and C++.  The default is
'yes' in maintainer-mode and 'min' otherwise.  This options defines
additional CFLAGS, CXXFLAGS, OBJCFLAGS, and OBJCXXFLAGS but these flags are
not yet used by all library and program packages.  Using these compiler
warnings should help to resolve portability problems.

At the moment these warning flags are only defined for the GNU compilers
but flags for other compilers could be added when needed.

1.8. --disable-missing
----------------------
Immediately terminate the build process if a requested program or feature
must be disabled, e.g., due to missing libraries.


2. Configure options for program packages
=========================================

2.1. --disable-PROG and --disable-UTIL
--------------------------------------
Do not build and install the program(s) of the package `PROG' or `UTIL'.

2.2. --disable-all-pkgs
-----------------------
Do not build any program packages, except those explicitly enabled.
Without this option, all packages are built except those explicitly
disabled and except for utils/xindy/ (which is disabled by default due to
its requirement for clisp et al.).

2.3. Configure options for texk/web2c/
--------------------------------------
2.3.1. --with-tex-banner=STR
Specify the version string STR appended to banner lines, replacing the
default `Web2C YYYY'; the string STR must contain the current Web2C
version, that is, the YYYY.

The Build script for a TL native build currently specifies
`--with-tex-banner="TeX Live 2009"', whereas a distro build should alter
this to, e.g., `--with-tex-banner="TeX Live 2009/Debian"'.

2.3.1. --with-editor=CMD
Specify the command CMD to invoke from the `e' option, replacing the default
`vi +%d %s'.

2.3.3. --enable-auto-core
This option causes TeX & MF to produce a core dump when a particular
filename is encountered.

2.3.4. --disable-dump-share
Make the fmt/base/mem dump files architecture dependent (somewhat faster
on little-endian architectures).

2.3.5. --disable-ipc
If enabled (by default) allow TeX's '--ipc' option.

2.3.6. --disable-tex, --enable-etex, --disable-aleph, --disable-pdftex,
       --disable-luatex, --disable-xetex, --disable-mf, --disable-mp
Do or do not build the various TeX, METAFONT, and MetaPost engines.

2.3.7. --with-mf-x-toolkit
Use the X toolkit (libXt) for METAFONT (default is yes).

2.3.8. --enable-*win
Include various types of other window support for METAFONT.

2.3.9. --disable-mf-nowin
Do not build a separate non-graphically-capable METAFONT.

2.3.10. --disable-web-progs
Do not build the WEB programs bibtex ... weave, e.g., if you just
want to rebuild engines.

2.3.11. --disable-omfonts
Build the Web versions of the omega font utilies (ofm2opl, opl2ofm,
ovf2ovp, and ovp2ovf) instead of the C version, omfonts.  The Web
versions are needed in Japanese environments; the C versions fix some
(unknown) bugs.  We hope the situation will be resolved.

2.4. Configure options for texk/xdvik/
--------------------------------------
2.4.1. --with-gs=PATH
Hardwire the location of GhostScript (gs).

2.4.2. --with-xdvi-x-toolkit=KIT
Use toolkit KIT (motif/xaw/xaw3d/neXtaw) for xdvi, default: Motif if
available, else Xaw.


3. Configure options for libraries
==================================

3.1. --with-system-LIB
----------------------
Use an installed (system) version of the library `LIB'; this option exists
for most but not all libraries (not allowed for a TeX Live native build).

For many libraries there are in addition '--with-LIB-includes=DIR' and
'--with-LIB-libdir=DIR' to indicate that the library is installed in an
unusual location.

The top-level configure script performs a consistency check for all
required system libraries and bails out early if one these tests fails.

3.2. Configure options for libfontconfig
----------------------------------------
Building XeTeX and xdvipdfmx on non-Mac systems requires libfontconfig.

3.2.1. --with-fontconfig-includes=DIR, --with-fontconfig-libdir=DIR
If one or both of these options are given, the flags are derived from them. 
Otherwise, the flags are determined via pkg-config (if present).

3.3. Configure options for system libfreetype
---------------------------------------------
The flags for a system freetype library are determined via freetype-config.

3.4. Configure options for libpoppler
-------------------------------------
3.4.1. --with-system-xpdf
Use libpoppler instead of xpdf (and pkg-config to obtain the required flags).

3.5. Configure options for the icu libraries
--------------------------------------------
3.5.1. --with-system-icu
Use installed icu headers and libraries for bibtexu (and icu-config to
obtain the required flags).  However, XeTeX, still requires the (modified)
icu headers and libraries from the TL tree.

4. Interesting and/or important VAR=value configure arguments
=============================================================
Used instead of searching for programs in PATH.

4.1. FT2_CONFIG=/path/to/freetype-config
----------------------------------------
For system freetype2 library.

4.2. ICU_CONFIG=/path/to/icu-config
----------------------------------------
For system icu libraries.

4.3. PKG_CONFIG=/path/to/pkg-config
-----------------------------------
For fontconfig and system xpdf (poppler) libraries.

4.4. CLISP=/path/to/clisp
-------------------------
For xindy.

4.5. PERL=/path/to/perl, LATEX=/path/to/latex, PDFLATEX=/path/to/pdflatex
-------------------------------------------------------------------------
To build xindy docs.

4.6. KPSEWHICH=/path/to/kpsewhich
---------------------------------
For `make check'.


Happy building.  Please use the tlbuild list for questions or
discussion: http://lists.tug.org/tlbuild.