1 This is tlbuild.info, produced by makeinfo version 5.2 from
4 This file documents the TeX Live build system and more.
6 Copyright (C) 2016 Karl Berry.
7 Copyright (C) 2013, 2014, 2015 Karl Berry & Peter Breitenlohner.
9 Permission is granted to make and distribute verbatim copies of this
10 manual provided the copyright notice and this permission notice are
11 preserved on all copies.
13 Permission is granted to copy and distribute modified versions of
14 this manual under the conditions for verbatim copying, provided that the
15 entire resulting derived work is distributed under the terms of a
16 permission notice identical to this one.
18 Permission is granted to copy and distribute translations of this
19 manual into another language, under the above conditions for modified
20 versions, except that this permission notice may be stated in a
21 translation approved by the TeX Users Group.
24 * TLbuild: (tlbuild). TeX Live configuration and development.
28 File: tlbuild.info, Node: Top, Next: Introduction, Up: (dir)
30 Building TeX Live (2016)
31 ************************
33 For an overview of this manual, *note Introduction::.
37 * Introduction:: About this manual.
38 * Overview of build system:: The TeX Live build system.
39 * Prerequisites:: Requirements for building TeX Live.
40 * Building:: The overall build process.
41 * Installing:: How and where installation happens (or not).
42 * Layout and infrastructure:: Autoconf macros, etc., in detail.
43 * Configure options:: List of all configure options.
44 * Cross compilation:: Building on host X for target Y.
45 * Coding conventions:: Conventions to follow.
46 * install-tl:: The TeX Live installer.
47 * tlmgr:: The native TeX Live package manager.
48 * Index:: General index.
51 File: tlbuild.info, Node: Introduction, Next: Overview of build system, Prev: Top, Up: Top
56 This manual (dated February 2016) corresponds to the TeX Live 2016
59 This manual is aimed at system installers and programmers, and
60 focuses on how to configure, build, and develop the TeX Live (TL)
61 sources. It is also available as plain text files in the source tree:
64 The 'source/README' file in the TL source tree provides the
65 maximally-terse information for doing a build, and portability
66 information for different systems, along with
67 'source/doc/README.solaris'.
69 For information on acquiring the TL sources, see
70 <http://tug.org/texlive/svn>.
72 This manual does not duplicate the (primarily user-level) information
73 found in other TL documentation resources, such as:
75 * The TeX Live web pages: <http://tug.org/texlive>.
77 * The web page with an overview of how to build the binaries which
78 are distributed with TeX Live: <http://tug.org/texlive/build.html>.
80 * The TeX Live user manual: <http://tug.org/texlive/doc.html>, or run
83 * Other TeX-related Texinfo manuals (*note (web2c)::, *note
84 (kpathsea)::, etc.): <http://tug.org/texinfohtml/>, or check the
85 'TeX' category in the GNU Info system.
87 * Package documentation:
88 <http://tug.org/texlive/Contents/live/doc.html>, or the 'doc.html'
89 file at the top level of the installed TL.
91 As an exception, the full documentation for 'install-tl' and 'tlmgr'
92 is included here, just because it is convenient to do so. The same text
93 is available online (linked from <http://tug.org/texlive/doc.html>, or
94 by invoking the program with '--help' (or look at the end of the source
98 File: tlbuild.info, Node: Overview of build system, Next: Prerequisites, Prev: Introduction, Up: Top
100 2 Overview of build system
101 **************************
103 The TeX Live build system was redesigned in 2009, consistently using
104 Autoconf, Automake, and Libtool. Thus
105 'configure && make && make check && make install'
106 or the basically-equivalent top-level 'Build' script suffice to build
107 and install the TL programs. The 'make check' clause performs various
108 tests of the generated programs--not strictly required but strongly
109 recommended. Running 'configure --help' will display a comprehensive
110 list of all 'configure' options.
112 The main components of the TL build system are:
118 TeX-specific libraries in subdirectories, notably LIB='kpathsea'.
119 (The other one is 'texk/ptexenc'.)
122 TeX-specific programs (that use Kpathsea).
125 Other programs (that don't use Kpathsea).
127 The primary design goal of the build system is modularity. Each
128 program and library module (or package) specifies its own requirements
129 and properties, such as required libraries, whether an installed
130 (system) version of a library can be used, 'configure' options to be
131 seen at the top-level, and more. An explicit list of all available
132 modules is kept in only one, central, place ('m4/kpse-pkgs.m4').
134 A second, related goal is to configure and build each library before
135 configuring any other (program or library) module which uses that
136 library. This allows checking for properties and features of a library
137 built as part of the TL tree in much the same way as for a system
138 version of that library.
140 All generic libraries and several programs are maintained
141 independently. The corresponding modules use (most of) the distributed
142 source tree and document any modifications of that source.
144 All this is for the sake of simplifying both upgrading of modules
145 maintained independently and integrating new modules into the TL build
146 system. (Not to say that either task is trivial.)
149 File: tlbuild.info, Node: Prerequisites, Next: Building, Prev: Overview of build system, Up: Top
154 Overall, building the TeX Live programs, when using all libraries from
155 the TL source tree, requires only C and C++ compilers and GNU 'make'.
156 (If 'make' from your 'PATH' is not GNU make, you can set 'MAKE' in the
157 environment to whatever is necessary.)
159 Indeed, GNU 'make' is required only because of some third-party
160 libraries, notably FreeType; all the TL-maintained directories (and
161 Automake/Autoconf output in general) should work with any reasonable
164 However, a few programs in the tree have additional requirements:
167 requires 'perl' for some tests run by 'make check'.
171 require X11 headers and libraries, often in "development" packages
172 that are not installed by default.
175 requires 'fontconfig' (again both headers and library).
178 requires GNU 'clisp' and in addition 'perl', 'latex', and
179 'pdflatex' to build the rules and/or documentation.
181 Lacking the required tools, building these programs must avoided, e.g.,
182 'configure --without-x --disable-xetex --disable-xindy'
184 Modifying source files induces more requirements, as one might
187 * Modification of any '.y' or '.l' source files requires 'bison' or
188 'flex' to updatete the corresponding C sources.
190 * Modification of the sources for '.info' files requires 'makeinfo'.
192 * Modification of any part of the build system (M4 macros,
193 'configure.ac', 'Makefile.am', or their fragments) requires GNU M4,
194 GNU Autoconf, GNU Automake, and GNU Libtool to update the generated
195 files. *Note Build system tools::.
197 If you haven't modified any source files, and infrastructure tools
198 such as 'autoconf' or 'makeinfo' are still being run, check your
199 timestamps--notably, 'use-commit-times' must be set to 'yes' in your
200 Subversion configuration (*note Build system tools::). Barring buggy
201 commits, no infrastructure tools are needed to do a normal build.
204 File: tlbuild.info, Node: Building, Next: Installing, Prev: Prerequisites, Up: Top
209 The top-level 'Build' script is intended to simplify building the
210 binaries distributed with TeX Live itself--we call this the "native" TL
211 build. It configures and makes everything in a subdirectory of the main
212 build tree (default 'Work/'), installs everything in an other
213 subdirectory (default 'inst/'), and finally runs 'make check'. The
214 exact directory and command names can be specified via environment
215 variables and a few leading options. All remaining arguments
216 (assignments or options) are passed to the 'configure' script. Please
217 take a look at the script itself for more information; it is not
220 An alternative, and the one we will mainly discuss here, is to run
221 'configure' and 'make' oneself in a suitable empty subdirectory.
222 Building in the source directory itself is not supported (sorry).
226 * Build iteration:: What 'configure' and 'make' do.
227 * Build problems:: If the build fails.
228 * Build in parallel:: Simultaneous 'make' processes.
229 * Build distribution:: Making a distribution tarball.
230 * Build one package:: Example of working on just one program.
233 File: tlbuild.info, Node: Build iteration, Next: Build problems, Up: Building
238 Running the top-level 'configure' script configures the top level and
239 the subdirectories 'libs', 'utils', and 'texk'. Running 'make' at the
240 top-level first iterates over all TeX-specific libraries, and then runs
241 'make' in 'libs', 'utils', and 'texk' to iterate over all generic
242 libraries, utility programs, and TeX-specific programs. These
243 iterations consist of two steps:
245 1. For each library or program module not yet configured, run
246 'configure', adding the configure option '--disable-build' if the
247 module need not be built, otherwise running 'make all'.
249 2. For each library or program module that must be built, run 'make'
250 for the selected target(s): 'default' or 'all' to (re-)build,
251 'check' to run tests, 'install', etc.
253 Running the top-level 'make' a second time iterates again over all
254 the library and program modules, but finds (should find) nothing to be
255 done unless some source files have been modified.
258 File: tlbuild.info, Node: Build problems, Next: Build in parallel, Prev: Build iteration, Up: Building
263 If configuring or building a module fails, you should first find and fix
264 the problem, then perhaps remove the subdirectory for that module from
265 the build tree, and finally rerun the top-level 'make' (or 'Build' with
266 '--no-clean' as its first argument).
269 File: tlbuild.info, Node: Build in parallel, Next: Build distribution, Prev: Build problems, Up: Building
271 4.3 Build in parallel
272 =====================
274 The TL build system carefully formulates dependencies as well as 'make'
275 rules when a tool (such as 'tangle', 'ctangle', or 'convert') creates
276 several output files. This allows for parallel builds ('make -j N' with
277 N>1 or even 'make -j') that can considerably speed up the TL build.
279 Incidentally, a noticeable speed-up can also be (independently)
280 gained by using a configure cache file, i.e., with the option '-C'
284 File: tlbuild.info, Node: Build distribution, Next: Build one package, Prev: Build in parallel, Up: Building
286 4.4 Build distribution
287 ======================
289 Running 'make dist' at the top-level creates a tarball
290 'tex-live-YYYY-MM-DD.tar.xz' from the TL source tree. Running 'make
291 distcheck' also verifies that this tarball suffices to build and install
294 This is useful for checking consistency of the source tree and
295 Makefiles, but the result is not a complete or even usable TeX system,
296 since all the support files are lacking; *note Installing::.
299 File: tlbuild.info, Node: Build one package, Prev: Build distribution, Up: Building
301 4.5 Build one package
302 =====================
304 To build one package, the basic idea is to use the 'configure' option
305 '--disable-all-pkgs' (*note '--disable-all-pkgs'::). Then all program
306 and library modules are configured but none are made. However, the
307 'Makefile's still contain all build rules and dependencies and can be
308 invoked to build an individual program or library and causes to first
309 build any required libraries.
311 This "build-on-demand" procedure is used, e.g., in the 'luatex'
312 repository to build LuaTeX, essentially from a subset of the complete
313 TeX Live tree. Similarly, when, e.g., building the original e-TeX has
314 been disabled (as it is by default), one can run 'make etex' (or 'make
315 etex.exe') in 'texk/web2c/' to build e-TeX (although there is no
316 comparably simple way to install e-TeX).
318 If you want to work on a single program within the TL sources, this
319 is the recommended way to do it. Here is an example from start to
320 finish for working on 'dvipdfm-x'.
322 mkdir mydir && cd mydir # new working directory
324 # Get sources (<http://tug.org/texlive/svn>)
325 rsync -a --delete --exclude=.svn --exclude=Work \
326 tug.org::tldevsrc/Build/source/ .
328 # Create build directory:
329 mkdir Work && cd Work
332 ../configure --disable-all-pkgs --enable-dvipdfm-x \
333 -C CFLAGS=-g CXXFLAGS=-g >&outc
342 Then you modify source files in 'mydir/texk/dvipdfm-x' and rerun
343 'make' in 'mydir/Work/texk/dvipdfm-x' to rebuild.
345 The second line of the 'configure' invocation shows examples of extra
346 things you likely want to specify if you intend to hack the sources (and
347 not just build binaries): the '-C' speeds up 'configure', and the
348 'CFLAGS' and 'CXXFLAGS' settings eliminate compiler optimization for
351 Of course, one should actually look at the output and check that
352 things are working. There are many 'configure' options you can tweak as
353 desired; check the output from 'configure --help'.
355 Finally, the above retrieves the entire TL source tree (some 300mb).
356 It is natural to ask if this is really necessary. Strictly speaking,
357 the answer is no, but it is vastly more convenient to do so. If you cut
358 down the source tree, you must also give additional 'configure' flags to
359 individually disable using system versions of libraries, or the
360 intricacies of the dependencies (such as 'teckit' requiring 'zlib') will
361 have undesired side effects. For an example, see the 'build-pdftex.sh'
362 script in the 'pdftex' development sources (<http://pdftex.org>), which
363 are indeed a cut-down TL source tree.
366 File: tlbuild.info, Node: Installing, Next: Layout and infrastructure, Prev: Building, Up: Top
371 This section discusses the results of 'make install' in the source tree.
373 The main consideration is that 'make install' is not enough to make a
374 usable TeX installation. Beyond the compiled binaries, (thousands of)
375 support files are needed; just as a first example 'plain.tex' is not in
378 These support files are maintained completely independently and are
379 not present in the source tree. The best basis for dealing with them is
380 the TeX Live (plain text) database in 'Master/tlpkg/texlive.tlpdb',
381 and/or the TeX Live installer, 'install-tl'. More information is under
382 'Master/tlpkg' and at <http://tug.org/texlive/distro.html>.
386 * Installation directories:: The prefix, 'bindir', etc., directories.
387 * Linked scripts:: Scripts not maintained in the sources.
388 * Distro builds:: Configuring and building for OS distributions.
391 File: tlbuild.info, Node: Installation directories, Next: Linked scripts, Up: Installing
393 5.1 Installation directories
394 ============================
396 Running 'make install' (or 'make install-strip') installs executables in
397 'BINDIR', libraries in 'LIBDIR', headers in 'INCLUDEDIR', general data
398 (including "linked scripts", *note Linked scripts::) in
399 'DATAROOTDIR/texmf-dist', man pages in 'MANDIR', and Info files in
402 The values of these directories are determined by 'configure' and can
403 be specified explictly as options such as '--prefix=PREFIX' or
404 '--bindir=BINDIR'; otherwise, they are given by their usual Autoconf
409 BINDIR EXEC_PREFIX/bin
410 LIBDIR EXEC_PREFIX/lib
411 INCLUDEDIR PREFIX/include
412 DATAROOTDIR PREFIX/share
413 MANDIR DATAROOTDIR/man
414 INFODIR DATAROOTDIR/info
416 except possibly modified as follows:
418 * If the option '--enable-multiplatform' is given, '/PLATFORM' (i.e.,
419 the canonical platform name) is appended to 'BINDIR' and 'LIBDIR'.
420 This is implied for a native TL build.
422 * In a native TL build, 'DATAROOTDIR' is set to 'PREFIX', 'INFODIR'
423 is set to 'PREFIX/texmf-dist/doc/info', and 'MANDIR' to
424 'PREFIX/texmf-dist/doc/man', corresponding to the directories used
425 in the TL distribution.
427 The top-level 'configure' script displays all these installation paths.
429 For the native TL build, the 'Build' script leaves the binaries in
430 './inst/bin/STD-PLATFORM-NAME'. The new binaries are not directly
431 usable from that location; they need to be copied to
432 'Master/bin/TL-PLATFORM'. The other files and directories that end up
433 in './inst/' are ignored.
436 File: tlbuild.info, Node: Linked scripts, Next: Distro builds, Prev: Installation directories, Up: Installing
441 Quite a few executables are architecture-independent shell, Perl, or
442 other interpreted scripts, rather than compiled binaries. A few are
443 maintained as part of the TL source tree, but most are maintained
444 elsewhere with copies under 'texk/texlive/linked_scripts'.
446 These so-called "linked scripts" are installed under
447 'DATAROOTDIR/texmf-dist/scripts'; for Unix-like systems a symbolic link
448 is made in 'BINDIR'. For example, a symlink points from 'BINDIR/ps2eps'
449 to 'DATAROOTDIR/texmf-dist/scripts/ps2eps/ps2eps.pl'. For Windows, a
450 standard wrapper binary (e.g., 'BINDIR/ps2eps.exe') serves the same
451 purpose. (The source for the wrapper is in 'texk/texlive/w32_wrapper'.)
453 One reason for this is to avoid having many copies of the same
454 script; a more important reason is that it guarantees the scripts will
455 stay in sync across the different supported operating systems.
457 Most important of all, we want the 'BINDIR' resulting from the build
458 to be as close as possible to what is in the TL distribution. At
459 present, there are a few exceptions--Asymptote, Biber, Xindy--and each
460 one creates considerable extra work. We don't want to add more. (See
461 <http://tug.org/texlive/build.html> for information about building those
462 exceptions, as well as the 'xz' and 'wget' programs that are used in the
466 File: tlbuild.info, Node: Distro builds, Prev: Linked scripts, Up: Installing
471 Although they use the same code base, building for the native TL
472 distribution as shipped by the TeX user groups is typically quite
473 different from a "distro" build needed by, e.g., a full GNU/Linux or BSD
474 operating system distribution.
476 The native TL distribution uses shared libraries only when absolutely
477 necessary ('libc', 'libm', X11 libraries, and 'libfontconfig').
478 However, a distro typically wants to use as many shared libraries as
479 possible from elsewhere on the system, including TeX-specific libraries
480 such as 'libkpathsea' (even though Kpathsea has never officially been
481 released as a shared library, but we digress). In addition, the
482 installation paths will, in general, be completely different.
484 Here are the 'configure' options that distro builds are likely to
487 '--disable-native-texlive-build'
488 This must be specified to avoid interference from the many tweaks
489 we do for the native TL build.
491 '--with-banner-add=/SOMEDISTRO'
492 This isn't technically required, but is strongly recommended, so
493 your build and your distro can be distinguished from others.
496 Build shared versions of the TeX-specific libraries (uses
500 Do not build the static versions of the TeX-specific libraries.
503 Use system versions for as many libraries LIB as possible.
504 'configure --help' will give you the list of possibilities.
506 '--with-LIB-includes=DIR'
507 '--with-LIB-libdir=DIR'
508 If needed, allows you to specify where the headers/code are for the
512 '--prefix=/opt/TeXLive'
513 Or whatever your convention is. The default is '/usr/local' and
514 you shouldn't install there for a distro.
516 '--libdir=\${exec_prefix}/lib64'
517 May be needed for 64-bit bi-architecture (GNU/Linux) systems.
519 You will need to take care of the support files mentioned above
520 (*note Installing::), and many other issues, such as font maps,
521 languages, and formats, independently of the build. Norbert Preining
522 has written a detailed article on adapting TL for distros:
523 <http://tug.org/TUGboat/tb34-3/tb108preining-distro.pdf>. (If the
524 article needs updating in the future, perhaps we will merge it into this
528 File: tlbuild.info, Node: Layout and infrastructure, Next: Configure options, Prev: Installing, Up: Top
530 6 Layout and infrastructure
531 ***************************
533 The TeX Live source tree is the subtree rooted at 'Build/source' of the
534 complete TL distribution and contains the sources for all executables
535 distributed by TL, as well as 'configure' scripts and 'make' rules to
536 build and install them together with some of their support files.
540 * Build system tools:: If modifying infrastructure files.
541 * Top-level directories::
542 * Autoconf macros:: TL-specific Autoconf macros.
543 * Library modules:: Details on some specific libraries,
544 * Program modules:: and on some programs.
545 * Extending TeX Live:: Adding a new module.
548 File: tlbuild.info, Node: Build system tools, Next: Top-level directories, Up: Layout and infrastructure
550 6.1 Build system tools
551 ======================
553 As mentioned above (*note Prerequisites::), a normal build requires very
554 little. On the other hand, if you want to modify the TeX Live
555 infrastructure sources, such as 'configure.ac' or 'Makefile.am' files,
556 you will need to have several additional tools installed.
558 In general, the TL build system uses the latest released versions of
559 the GNU build tools, installed directly from the original GNU releases
560 (e.g., by building them with 'configure --prefix=/usr/local/gnu' and
561 having 'PATH' start with '/usr/local/gnu/bin'). We have found that
562 trying to use the versions of these tools packaged for distros causes
563 many extra hassles, so don't do that, tempting as it may be.
565 Currently the versions we use are:
567 autoconf (GNU Autoconf) 2.69
568 automake (GNU automake) 1.15
569 bison (GNU Bison) 3.0.4
571 ltmain.sh (GNU libtool) 2.4.6
573 makeinfo (GNU texinfo) 6.1
575 These versions should be used to update the generated files (e.g.,
576 'configure' or 'Makefile.in') in all or parts of the TL tree after their
577 dependencies have been changed. This can be done explicitly with the
578 top-level 'reautoconf' script or implicitly by using the configure
579 option '--enable-maintainer-mode'.
581 The files in the Subversion repository (see
582 <http://tug.org/texlive/svn>) are all up to date, but unfortunately this
583 may not be reflected by their timestamps. (For starters, be sure to set
584 'use-commit-times=yes' in '~/.subversion/config' or the equivalent.)
586 To avoid unnecessary runs of 'bison', 'flex', or 'makeinfo' it may be
587 necessary to 'touch' the generated ('.c', '.h', or '.info') files. With
588 '--enable-maintainer-mode' it may also be necessary to 'touch' first
589 'aclocal.m4', then 'configure' and 'config.h.in' (or 'c-auto.in'), and
590 finally all 'Makefile.in' files. Perhaps 'make -t' will help.
593 File: tlbuild.info, Node: Top-level directories, Next: Autoconf macros, Prev: Build system tools, Up: Layout and infrastructure
595 6.2 Top-level directories
596 =========================
598 Here is a brief description of the top-level directories in the TeX Live
601 As mentioned at the beginning of *note Overview of build system::,
602 the main source directories are 'texk/' (TeX-specific programs and
603 libraries), 'utils/' (additional programs), and 'libs/' (generic
606 The top-level directories 'am/' and 'm4/' contain 'Makefile.am'
607 fragments and Autoconf macros, respectively, used in many places.
608 Specifically, the file 'm4/kpse-pkgs.m4' contains lists of all program
609 and library modules; missing modules are silently ignored. (This helps
610 in creating cut-down source trees.)
612 Each module contributes fragments (in separate files) defining its
613 capabilities and requirements to the 'configure.ac' scripts at the
614 top-level and in the subdirectories 'libs', 'utils', and 'texk'. The
615 fragments from program modules supply 'configure' options to disable or
616 enable building them; those from library modules specify if an installed
617 (system) version of that library can be used. This ultimately
618 determines which modules need to be built--although all modules must be
619 configured for the benefit of 'make' targets such as 'dist' or
622 The top-level 'build-aux/' directory contains the common files
623 'compile', 'config.guess', 'config.sub', 'depcomp', etc. for most
624 packages, pulled from the GNU Gnulib sources
625 (<http://www.gnu.org/software/gnulib>), which in turn synchronizes with
626 the appropriate ultimate upstream repository. There are, however,
627 independent copies in, e.g., 'libs/freetype2/freetype-*/builds/unix/',
628 and similar places. The 'reautoconf' script does not touch those, but a
629 TL cron job keeps them in sync (nightly).
631 The directory 'extra/' contains things which are not part of the TL
632 build, but are present just for (someone's) convenience, e.g.,
633 'epstopdf' which is developed here.
636 File: tlbuild.info, Node: Autoconf macros, Next: Library modules, Prev: Top-level directories, Up: Layout and infrastructure
641 Here we describe some of the Autoconf macros used in several modules-not
642 a complete list, by any means. These general macros are supplemented by
643 module-specific macros in directories such as 'texk/dvipng/m4/'; some of
644 those are described in *note Library modules:: and *note Program
649 * Setup: General setup macros.
650 * Programs: Macros for programs.
651 * Compilers: Macros for compilers.
652 * Libraries: Macros for libraries.
653 * Flags: Macros for library and header flags.
654 * Windows: Macros for Windows.
657 File: tlbuild.info, Node: General setup macros, Next: Macros for programs, Up: Autoconf macros
659 6.3.1 General setup macros
660 --------------------------
662 The TL sources use two general setup macros:
664 -- Macro: KPSE_BASIC (NAME, [MORE-OPTIONS])
665 Initialize the basic TL infrastructure for module NAME:
666 'AM_INIT_AUTOMAKE([foreign MORE-OPTIONS])'
668 'KPSE_COMPILER_WARNINGS'
669 and make sure the C compiler understands function prototypes. This
670 is used for all generic library and program modules.
672 -- Macro: KPSE_COMMON (NAME, [MORE-OPTIONS])
673 Like 'KPSE_BASIC' but add:
675 'LT_INIT([win32-dll])'
678 and check for frequently used functions, headers, types, and
679 structures. This is used for TeX-specific modules.
682 File: tlbuild.info, Node: Macros for programs, Next: Macros for compilers, Prev: General setup macros, Up: Autoconf macros
684 6.3.2 Macros for programs
685 -------------------------
687 Macros for program checks:
689 -- Macro: KPSE_CHECK_LATEX
690 Set 'LATEX' to the name of the first of 'latex', 'elatex', or
691 'lambda' which exists in 'PATH', or to 'no' if none of them exists.
692 Call 'AC_SUBST' for 'LATEX'. The result of this test can be
693 overridden by setting the 'LATEX' environment variable or the cache
694 variable 'ac_cv_prog_LATEX'.
696 -- Macro: KPSE_CHECK_PDFLATEX
697 Check for 'pdflatex' in 'PATH' and set 'PDFLATEX'.
699 -- Macro: KPSE_CHECK_PERL
700 Check for 'perl' or 'perl5' in 'PATH' and set 'PERL'.
702 -- Macro: KPSE_PROG_LEX
703 Call 'AC_PROG_LEX' and add the flag '-l' for 'flex'.
706 File: tlbuild.info, Node: Macros for compilers, Next: Macros for libraries, Prev: Macros for programs, Up: Autoconf macros
708 6.3.3 Macros for compilers
709 --------------------------
711 Macros for compiler-related checks:
713 -- Macro: KPSE_COMPILER_WARNINGS
714 When using the (Objective) C/C++ compiler, set
715 'WARNING_[OBJ]C[XX]FLAGS' to suitable warning flags (depending on
716 the value given to or implied for '--enable-compiler-warnings').
717 Call 'AC_SUBST' for them. At the moment this only works for GNU
718 compilers, but could be extended to others if necessary.
720 This macro caches its results in the 'kpse_cv_warning_cflags', ...
723 -- Macro: KPSE_COMPILER_VISIBILITY
724 When using the C or C++ compiler, try to set
725 'VISIBILITY_C[XX]FLAGS' to flags to hide external symbols. Call
726 'AC_SUBST' for this variable. At the moment this only tests for
727 the compiler option '-fvisibility=hidden', but that could be
728 extended with more checks if necessary.
730 This macro caches its results in the 'kpse_cv_visibility_cflags' or
731 'kpse_cv_visibility_cxxflags' variable.
733 -- Macro: KPSE_CXX_HACK
734 Provide the configure option '--enable-cxx-runtime-hack'. If
735 enabled and when using 'g++', try to statically link with
736 'libstdc++', somewhat improving portability of the resulting
739 This macro caches its result in the 'kpse_cv_cxx_hack' variable.
742 File: tlbuild.info, Node: Macros for libraries, Next: Macros for library and header flags, Prev: Macros for compilers, Up: Autoconf macros
744 6.3.4 Macros for libraries
745 --------------------------
747 One macro for a library check:
749 -- Macro: KPSE_LARGEFILE (VARIABLE, [EXTRA-DEFINE])
750 Call 'AC_SYS_LARGEFILE' and 'AC_FUNC_FSEEKO' and append suitable
751 '-D' flags (optionally including '-DEXTRA-DEFINE') to VARIABLE.
754 File: tlbuild.info, Node: Macros for library and header flags, Next: Macros for Windows, Prev: Macros for libraries, Up: Autoconf macros
756 6.3.5 Macros for library and header flags
757 -----------------------------------------
759 Each library module 'libs/LIB' or 'texk/LIB' is supplemented by a macro
760 'KPSE_LIB_FLAGS' (all uppercase) that provides make variables for that
761 library. E.g., for 'libs/libpng':
763 -- Macro: KPSE_LIBPNG_FLAGS
764 Provide the configure option '--with-system-libpng'. Set and
765 'AC_SUBST' 'make' variables for modules using this library (either
766 an installed version or from the TeX Live tree): 'LIBPNG_INCLUDES'
767 for use in 'CPPFLAGS', 'LIBPNG_LIBS' for use in 'LDADD',
768 'LIBPNG_DEPEND' for use as dependency, and 'LIBPNG_RULE' defining
769 'make' rules to rebuild the library.
771 -- Macro: KPSE_ADD_FLAGS (NAME)
772 Temporarily extend 'CPPFLAGS' and 'LIBS' with the values required
773 for the library module 'NAME'.
775 -- Macro: KPSE_RESTORE_FLAGS
776 Restore 'CPPFLAGS' and 'LIBS' to their original values.
778 As an example, the 'configure.ac' file for a hypothetical program
779 'utils/foo' using 'libpng', and hence 'zlib', would contain
783 and its 'Makefile.am' would be along these lines:
785 AM_CPPFLAGS = ${LIBPNG_INCLUDES} ${ZLIB_INCLUDES}
786 foo_LDADD = ${LIBPNG_LIBS} ${ZLIB_LIBS}
787 foo_DEPENDENCIES = ${ZLIB_DEPEND} ${LIBPNG_DEPEND}
793 If it was necessary to examine whether certain 'zlib' or 'libpng'
794 features were available, 'configure.ac' should be continued this way:
795 KPSE_ADD_FLAGS([zlib])
796 ... # tests for 'zlib' features, if any
797 KPSE_ADD_FLAGS([libpng])
798 ... # tests for 'libpng' features
799 KPSE_RESTORE_FLAGS # restore 'CPPFLAGS' and 'LIBS'
802 File: tlbuild.info, Node: Macros for Windows, Prev: Macros for library and header flags, Up: Autoconf macros
804 6.3.6 Macros for Windows
805 ------------------------
807 Windows differs in several aspects from Unix-like systems, many of them
808 due to the lack of symbolic links.
810 -- Macro: KPSE_CHECK_WIN32
811 Check if compiling for a Windows system. The result is 'no' for
812 Unix-like systems (including Cygwin), 'mingw32' for Windows with
813 GCC, or 'native' for Windows with MSVC. The result is cached in the
814 'kpse_cv_have_win32' variable.
816 -- Macro: KPSE_COND_WIN32
817 Call 'KPSE_CHECK_WIN32' and define the Automake conditional 'WIN32'
818 ('true' if the value of 'kpse_cv_have_win32' is not 'no').
820 -- Macro: KPSE_COND_MINGW32
821 Call 'KPSE_COND_WIN32' and define the Automake conditional
822 'MINGW32' ('true' if the value of 'kpse_cv_have_win32' is
825 -- Macro: KPSE_COND_WIN32_WRAP
826 Call 'KPSE_COND_WIN32' and define the Automake conditional
827 'WIN32_WRAP' ('true' if the standard Windows wrapper
828 ('texk/texlive/w32_wrapper/runscript.exe') exists. This wrapper is
829 used on Windows instead of symlinks for the "linked scripts" (*note
832 -- Macro: KPSE_WIN32_CALL
833 Call 'KPSE_COND_WIN32', check if the file
834 'texk/texlive/w32_wrapper/callexe.c' exists; if it does, create a
835 symlink in the build tree. Compiling 'callexe.c' with
836 '-DEXEPROG='"FOO.exe"'' and installing 'callexe.exe' as 'BAR.exe'
837 is used on Windows instead of a symlink 'BAR->FOO' for Unix-like
841 File: tlbuild.info, Node: Library modules, Next: Program modules, Prev: Autoconf macros, Up: Layout and infrastructure
846 Here we discuss some specifics for a few of the libraries in TL, both
847 for the details themselves, and as a way of illuminating the general
848 structure and variation.
852 * 'png' library:: 'libs/libpng'
853 * 'zlib' library:: 'libs/zlib'
854 * 'freetype' library:: 'libs/freetype2'
855 * 'kpathsea' library:: 'texk/kpathsea'
858 File: tlbuild.info, Node: 'png' library, Next: 'zlib' library, Up: Library modules
860 6.4.1 The 'png' library in 'libs/libpng'
861 ----------------------------------------
863 This generic library uses the source tree in, e.g., the subdirectory
864 'libpng-1.6.16' with all modifications for TL recorded in
865 'libpng-1.6.16-PATCHES/*'. The 'configure.ac' fragment
866 'ac/withenable.ac' contains
868 KPSE_WITH_LIB([libpng], [zlib])
870 specifying the module name, and indicating the dependency on 'zlib'. A
871 third literal argument 'tree' would specify that the library from the
872 TeX Live tree cannot be replaced by a system version. That not being
873 the case here, a second fragment 'ac/libpng.ac' contains
875 KPSE_TRY_LIB([libpng],
877 [png_structp png; png_voidp io; png_rw_ptr fn;
878 png_set_read_fn(png, io, fn);])
880 thus providing the simple C code
884 { png_structp png; png_voidp io; png_rw_ptr fn;
885 png_set_read_fn(png, io, fn);
888 which Autoconf uses to verify the usability of a system version with C
889 code. The analogous macro 'KPSE_TRY_LIBXX' would check using C++ code.
890 These fragments are included by 'configure.ac' at the top level.
892 For this library, among many other modules, a proxy build system for
893 TL is used ('configure.ac', 'Makefile.am', and 'include/Makefile.am'),
894 ignoring the distributed one. Consequently, a few generated files and
895 auxiliary scripts are removed from the distributed source tree. The
896 public headers 'png.h', 'pngconf.h', and 'pnglibconf.h' are "installed"
897 (as symlinks) under 'include/' in the build tree exactly as they are for
898 a system version under, e.g., '/usr/include/'.
900 The module is supplemented by the file 'm4/kpse-libpng-flags.m4' that
901 defines the M4 macro 'KPSE_LIBPNG_FLAGS' used by all modules depending
902 on this library in their 'configure.ac' to generate the 'make' variables
903 'LIBPNG_INCLUDES' for use in 'CPPFLAGS', 'LIBPNG_LIBS' for use in
904 'LDADD', 'LIBPNG_DEPEND' for use as dependencies, and 'LIBPNG_RULE'
905 defining 'make' rules to rebuild the library.
907 'm4/kpse-libpng-flags.m4' also supplies the configure option
908 '--with-system-libpng' and uses 'pkg-config' to determine the flags
909 required for the system library.
912 File: tlbuild.info, Node: 'zlib' library, Next: 'freetype' library, Prev: 'png' library, Up: Library modules
914 6.4.2 The 'zlib' library in 'libs/zlib'
915 ---------------------------------------
917 This generic library is very much analogous to 'libpng', but without the
918 dependency on any other library. The file 'm4/kpse-zlib-flags.m4'
919 supplies the configure option '--with-system-zlib', as well as
920 '--with-zlib-includes' and '--with-zlib-libdir' to specify non-standard
921 locations of the 'zlib' headers and/or library.
924 File: tlbuild.info, Node: 'freetype' library, Next: 'kpathsea' library, Prev: 'zlib' library, Up: Library modules
926 6.4.3 The 'freetype' library in 'libs/freetype2'
927 ------------------------------------------------
929 This module uses a wrapper build system with an almost trivial
930 'configure.ac' and with a 'Makefile.am' that invokes 'configure' and
931 'make' for the distributed source, followed by 'make install' with the
932 build tree as destination. The flags required for the system library
933 are obtained through 'freetype-config'.
936 File: tlbuild.info, Node: 'kpathsea' library, Prev: 'freetype' library, Up: Library modules
938 6.4.4 The 'kpathsea' library in 'texk/kpathsea'
939 -----------------------------------------------
941 This is one of the TeX-specific libraries that are maintained as part of
942 TeX Live (*note (kpathsea)::). Despite being a core part of the TeX
943 system, it is not a terribly special case in the infrastructure. The
944 TeX libraries are Libtool libraries (static and/or shared) and are
945 installed by 'make install' together with the programs. They are,
946 however, not part of the TL DVD as distributed by TeX user groups, and
947 have never been officially released for standalone use.
949 It is possible, and perhaps even useful for distro builds (*note
950 Distro builds::), to specify the configure option
951 '--with-system-kpathsea' in order to use a system version of the
952 library. Programs outside the TL tree should use 'pkg-config' for the
955 In addition to 'ac/withenable.ac' and 'ac/kpathsea.ac' there is a
956 third fragment 'ac/mktex.ac' included by both 'ac/withenable.ac' and
957 'configure.ac' that supplies configure options such as
958 '--enable-mktextfm-default', which determine the compile time default of
959 whether or not to run 'mktextfm' to generate a missing '.tfm' file. In
960 any case, however, the command line options '-mktex=tfm' or
961 '-no-mktex=tfm' for the TeX-like engines override this default.
964 File: tlbuild.info, Node: Program modules, Next: Extending TeX Live, Prev: Library modules, Up: Layout and infrastructure
969 As with libraries (*note Library modules::), here we discuss the details
970 for a few of the programs in TL.
974 * 't1utils' package:: 'utils/t1utils'
975 * 'xindy' package:: 'utils/xindy'
976 * 'xdvik' package:: 'texk/xdvik'
977 * 'asymptote':: 'utils/asymptote'
980 File: tlbuild.info, Node: 't1utils' package, Next: 'xindy' package, Up: Program modules
982 6.5.1 The 't1utils' package in 'utils/t1utils'
983 ----------------------------------------------
985 Once again we use the distributed source tree 't1utils-1.39' with
986 modifications documented in 't1utils-1.39-PATCHES/*' and a proxy build
987 system consisting of 'configure.ac' and 'Makefile.am'. The fragment
988 'ac/withenable.ac' contains
990 KPSE_ENABLE_PROG([t1utils])
992 specifying the module name without any dependencies, and supplies the
993 configure option '--disable-t1utils'.
996 File: tlbuild.info, Node: 'xindy' package, Next: 'xdvik' package, Prev: 't1utils' package, Up: Program modules
998 6.5.2 The 'xindy' package in 'utils/xindy'
999 ------------------------------------------
1001 This module uses the distributed source tree 'xindy-2.5.1' with
1002 modifications documented in 'xindy-2.5.1-PATCHES/*', a proxy
1003 'configure.ac', and a wrapper 'Makefile.am' that descends into
1004 'xindy-2.5.1'. The 'xindy' build requires that the distributed
1005 'Makefile's allow a 'VPATH' build, can handle all targets, and do not
1006 refer to '${top_srcdir}' or '${top_builddir}'. The fragment
1007 'ac/withenable.ac' contains
1009 KPSE_ENABLE_PROG([xindy], , [disable native])
1010 m4_include(kpse_TL[utils/xindy/ac/xindy.ac])
1011 m4_include(kpse_TL[utils/xindy/ac/clisp.ac])
1013 where 'disable' in the third argument indicates that 'xindy' is only
1014 built if explicitly enabled by the user with 'configure --enable-xindy'
1015 (the need for 'clisp' is too painful to require by default), and
1016 'native' disallows cross compilation. The additional fragments
1017 'ac/xindy.ac' and 'ac/clisp.ac' specify more 'configure' options to be
1018 seen at the top level with 'ac/xindy.ac' also included by
1022 File: tlbuild.info, Node: 'xdvik' package, Next: 'asymptote', Prev: 'xindy' package, Up: Program modules
1024 6.5.3 The 'xdvik' package in 'texk/xdvik'
1025 -----------------------------------------
1027 This package is maintained as part of the TeX Live tree with sources in
1028 its top level directory and the subdirectory 'gui'. The fragment
1029 'ac/withenable.ac' contains
1031 dnl extra_dirs = texk/xdvik/squeeze
1032 KPSE_ENABLE_PROG([xdvik], [kpathsea freetype2], [x])
1033 m4_include(kpse_TL[texk/xdvik/ac/xdvik.ac])
1035 thus specifying the dependency on the 'kpathsea', 'freetype', and X11
1036 libraries. The M4 comment (following 'dnl') signals the subsidiary
1037 'squeeze/configure.ac'. This is needed because the main executable
1038 'xdvi-bin' (to be installed as, e.g., 'xdvi-xaw') is for the 'host'
1039 system whereas the auxiliary program 'squeeze/squeeze' has to run on the
1040 'build' system and in a cross compilation they differ.
1042 The additional fragment 'ac/xdvik.ac' is also included by
1043 'configure.ac' and supplies the configure option '--with-xdvi-x-toolkit'
1044 also seen at the top-level.
1047 File: tlbuild.info, Node: 'asymptote', Prev: 'xdvik' package, Up: Program modules
1049 6.5.4 The subdirectory 'utils/asymptote'
1050 ----------------------------------------
1052 This subdirectory contains the sources for 'asy' and 'xasy' but due to
1053 its complexity and prerequisites (e.g., OpenGL) it is not part of the TL
1054 build system. These programs must be built and installed independently,
1055 but are included on the TL DVD together with their support files.
1058 File: tlbuild.info, Node: Extending TeX Live, Prev: Program modules, Up: Layout and infrastructure
1060 6.6 Extending TeX Live
1061 ======================
1063 This section outlines the basic process for adding new packages to the
1068 * Adding a new program module::
1069 * Adding a new generic library module::
1070 * Adding a new TeX-specific library module::
1073 File: tlbuild.info, Node: Adding a new program module, Next: Adding a new generic library module, Up: Extending TeX Live
1075 6.6.1 Adding a new program module
1076 ---------------------------------
1078 A TeX-specific program module in a subdirectory 'texk/PROG' may use the
1079 TeX-specific libraries and is included by adding its name 'PROG' to the
1080 M4 list 'kpse_texk_pkgs' defined in 'm4/kpse-pkgs.m4'.
1082 A generic program module in a subdirectory 'utils/PROG' must not use
1083 the TeX-specific libraries and is included by adding its name 'PROG' to
1084 the M4 list 'kpse_utils_pkgs' in 'm4/kpse-pkgs.m4'.
1086 In either case, apart from the program sources and build system
1087 ('configure.ac' and 'Makefile.am'), the subdirectory 'texk/PROG' or
1088 'utils/PROG' must provide a fragment 'ac/withenable.ac' that contains
1089 the M4 macro 'KPSE_ENABLE_PROG' defined in 'm4/kpse-setup.m4' with
1090 'PROG' as the mandatory first argument and three optional arguments:
1092 1. a list of required libraries from the TL tree;
1094 2. a list of options ('disable' if this module is not to be built
1095 without the configure option '--enable-PROG', 'native' if cross
1096 compilation is not possible, 'x' if the program requires X11
1099 3. and a comment added to the help text for the 'configure' option
1100 '--enable-PROG' or '--disable-PROG'.
1102 If the module requires specific configure options to be seen at the
1103 top-level, they should be defined in an additional fragment 'ac/PROG.ac'
1104 included from 'ac/withenable.ac' and 'configure.ac'.
1107 File: tlbuild.info, Node: Adding a new generic library module, Next: Adding a new TeX-specific library module, Prev: Adding a new program module, Up: Extending TeX Live
1109 6.6.2 Adding a new generic library module
1110 -----------------------------------------
1112 A generic library module in a subdirectory 'libs/LIB' must not depend on
1113 TeX-specific libraries, by definition. It is included by adding its
1114 name 'LIB' to the M4 list 'kpse_libs_pkgs' in 'm4/kpse-pkgs.m4'--before
1115 any other libraries from the TeX Live tree on which it depends.
1117 As with program modules, the subdirectory 'libs/LIB' must contain the
1118 sources and build system for the library (and any installable support
1119 programs) and a fragment 'ac/withenable.ac' that contains the M4 macro
1120 'KPSE_WITH_LIB' defined in 'm4/kpse-setup.m4' with 'LIB' as the
1121 mandatory first argument and two optional arguments: a list of required
1122 libraries from the TL tree, and a list of options (currently there is
1123 only one: specify 'tree' if this library cannot be replaced by a system
1126 If a system version can be used, a second fragment 'ac/LIB.ac' is
1127 needed, containing the M4 macro 'KPSE_TRY_LIB' (or 'KPSE_TRY_LIBXX')
1128 with 'LIB' as the mandatory first argument and two additional arguments
1129 for the Autoconf macro 'AC_LANG_PROGRAM' used to compile and link a
1130 small C (or C++) program as sanity check for using the system library.
1132 In addition a file 'm4/kpse-LIB-flags' (at the top level) must define
1133 the M4 macro 'KPSE_LIB_FLAGS' (all uppercase) setting up the 'make'
1134 variables 'LIB_INCLUDES', 'LIB_LIBS', 'LIB_DEPEND', and 'LIB_RULE' with
1135 the values required for 'CPPFLAGS', 'LDADD', dependencies, and a
1136 (multi-line) 'make' rule to rebuild the library when necessary. All of
1137 that is needed for the library from the TL tree and, if supported, for a
1140 If a system library is allowed, 'KPSE_LIB_FLAGS' also provides the
1141 configure option '--with-system-LIB' and uses the additional M4 macro
1142 'KPSE_LIB_SYSTEM_FLAGS' to generate the 'make' variables for a system
1143 library. Furthermore the definition of the M4 macro
1144 'KPSE_ALL_SYSTEM_FLAGS' in 'm4/kpse-pkgs.m4' must be extended by the
1146 'AC_REQUIRE([KPSE_LIB_SYSTEM_FLAGS])'
1149 File: tlbuild.info, Node: Adding a new TeX-specific library module, Prev: Adding a new generic library module, Up: Extending TeX Live
1151 6.6.3 Adding a new TeX-specific library module
1152 ----------------------------------------------
1154 A TeX-specific library module in a subdirectory 'texk/LIB' may depend on
1155 other TeX-specific libraries but must not depend on any generic library
1156 from the TL tree. It is included in the same general ways as a generic
1157 library (see the previous section), with these modifications:
1159 * The library name 'LIB' is added to the M4 list 'kpse_texlibs_pkgs'
1160 also in 'm4/kpse-pkgs.m4'.
1162 * The fragment 'ac/withenable.ac' must use 'KPSE_WITH_TEXLIB'.
1165 File: tlbuild.info, Node: Configure options, Next: Cross compilation, Prev: Layout and infrastructure, Up: Top
1170 Corresponding to the large number of program and library modules there
1171 are a large number 'configure' options, most of which are described
1174 at the top level gives an exhaustive list of all global options and a
1175 few important module-specific ones, whereas, e.g.,
1176 'texk/lcdf-typetools/configure --help'
1177 also displays the 'lcdf-typetools' specific options, which are not shown
1180 The help text also mentions several influential environment
1181 variables, but for TeX Live it is better to specify them as assigments
1182 on the command line.
1184 The './Build' script used to make the binaries shipped with TeX Live
1185 invokes the top-level 'configure' with a few additional options (*note
1186 Building::). The defaults discussed below are those for the actual
1187 'configure' script; invoking 'configure' via './Build' may yield
1190 Defaults for most options are set at the top level and propagated
1191 explicitly to all subdirectories. Options specified on the command line
1192 are checked for consistency but never modified.
1196 * Global configure options::
1197 * Program-specific configure options::
1198 * Library-specific configure options::
1199 * Variables for configure::
1202 File: tlbuild.info, Node: Global configure options, Next: Program-specific configure options, Up: Configure options
1204 7.1 Global configure options
1205 ============================
1207 Here are the global configure options.
1211 * '--disable-native-texlive-build'::
1212 * '--prefix' '--bindir' ...::
1213 * '--disable-largefile'::
1214 * '--disable-missing'::
1215 * '--enable-compiler-warnings='LEVEL::
1216 * '--enable-cxx-runtime-hack'::
1217 * '--enable-maintainer-mode'::
1218 * '--enable-multiplatform'::
1219 * '--enable-shared'::
1220 * '--enable-silent-rules'::
1221 * '--without-ln-s'::
1225 File: tlbuild.info, Node: '--disable-native-texlive-build', Next: '--prefix' '--bindir' ..., Up: Global configure options
1227 7.1.1 '--disable-native-texlive-build'
1228 --------------------------------------
1230 If enabled (the default), build for a TL binary distribution as shipped
1231 by the TeX user groups. This requires GNU 'make' and implies
1232 '--enable-multiplatform' and '--enable-cxx-runtime-hack' (unless they
1233 are explicitly disabled), and enforces '--disable-shared'.
1235 If building TL for a GNU/Linux or other distribution, this should be
1236 disabled and system versions of most libraries would be used (*note
1237 Distro builds::). This may fail without GNU 'make', but will be tried
1240 A related option, '--enable-texlive-build', is automatically passed
1241 to all subdirectories (and cannot be disabled). Subdirectories that can
1242 also be built independently from the TL tree (such as 'utils/xindy' and
1243 'texk/dvipng') can use this option, e.g., to choose TL-specific
1247 File: tlbuild.info, Node: '--prefix' '--bindir' ..., Next: '--disable-largefile', Prev: '--disable-native-texlive-build', Up: Global configure options
1249 7.1.2 '--prefix', '--bindir', ...
1250 ---------------------------------
1252 These standard Autoconf options specify various installation directories
1253 as usual. For the complete list, *note Installation directories::.
1255 Also as usual, all values are prefixed by the value of 'DESTDIR', if
1256 set, on the 'make' command line (*note Installation in a temporary
1257 location: (automake)Staged Installs.).
1260 File: tlbuild.info, Node: '--disable-largefile', Next: '--disable-missing', Prev: '--prefix' '--bindir' ..., Up: Global configure options
1262 7.1.3 '--disable-largefile'
1263 ---------------------------
1265 Omit large file support (LFS), needed on most 32-bit Unix systems for
1266 files with 2GB or more. Regardless of this, the size of 'DVI' and 'GF'
1267 files must always be <2GB, due to the file format specifications.
1269 With LFS, there is no fixed limit on the size of PDF files created by
1270 'pdftex' or PostScript files created by 'dvips'. The size of PDF images
1271 included by 'pdftex' or 'luatex' must, however, be <2GB when using
1272 'poppler' version 0.22 or before (even on 64-bit systems with LFS).
1275 File: tlbuild.info, Node: '--disable-missing', Next: '--enable-compiler-warnings='LEVEL, Prev: '--disable-largefile', Up: Global configure options
1277 7.1.4 '--disable-missing'
1278 -------------------------
1280 Immediately terminate the build process if a requested program or
1281 feature must be disabled, e.g., due to missing libraries. This can help
1282 when figuring out a specific (sub)set of modules to enable.
1285 File: tlbuild.info, Node: '--enable-compiler-warnings='LEVEL, Next: '--enable-cxx-runtime-hack', Prev: '--disable-missing', Up: Global configure options
1287 7.1.5 '--enable-compiler-warnings='LEVEL
1288 ----------------------------------------
1290 Enable various levels of compiler warnings for (Objective) C and C++:
1291 the LEVEL value can be one of: 'no min yes max all'. The default is
1292 'yes' in 'maintainer-mode' (see below) and 'min' otherwise. This option
1293 defines 'WARNING_[OBJ]C[XX]FLAGS' but these flags are not used in all
1294 library and program modules. Using them should help to resolve
1295 portability problems.
1297 At present, these warning flags are only defined for the GNU
1298 compilers but flags for other compilers could be added when needed.
1301 File: tlbuild.info, Node: '--enable-cxx-runtime-hack', Next: '--enable-maintainer-mode', Prev: '--enable-compiler-warnings='LEVEL, Up: Global configure options
1303 7.1.6 '--enable-cxx-runtime-hack'
1304 ---------------------------------
1306 If enabled (as it is for the native TL build) and when using 'g++', try
1307 to statically link with 'libstdc++', somewhat improving portability of
1308 the resulting binary. *Note Macros for compilers::.
1311 File: tlbuild.info, Node: '--enable-maintainer-mode', Next: '--enable-multiplatform', Prev: '--enable-cxx-runtime-hack', Up: Global configure options
1313 7.1.7 '--enable-maintainer-mode'
1314 --------------------------------
1316 Enable 'make' rules and dependencies not useful (and sometimes
1317 confusing) to the casual user. This requires current versions of the
1318 GNU build tools (*note Build system tools::), as it automatically
1319 rebuilds infrastructure files as needed. *Note 'missing' and
1320 'AM_MAINTAINER_MODE': (automake)maintainer-mode.
1323 File: tlbuild.info, Node: '--enable-multiplatform', Next: '--enable-shared', Prev: '--enable-maintainer-mode', Up: Global configure options
1325 7.1.8 '--enable-multiplatform'
1326 ------------------------------
1328 If enabled and '--bindir=DIR' or '--libdir=DIR' are not specified,
1329 install executables and libraries in per-platform subdirectories of
1330 'EPREFIX/bin' and 'EPREFIX/lib' where EPREFIX is the value given or
1331 implied for 'exec_prefix'. In any case, the values for 'bindir' and
1332 'libdir' are automatically propagated to all subdirectories.
1335 File: tlbuild.info, Node: '--enable-shared', Next: '--enable-silent-rules', Prev: '--enable-multiplatform', Up: Global configure options
1337 7.1.9 '--enable-shared'
1338 -----------------------
1340 Build shared versions of the TeX-specific libraries such as
1341 'libkpathsea'. This is not allowed for a native TL build (i.e.,
1342 '--disable-native-texlive-build' must also be specified).
1345 File: tlbuild.info, Node: '--enable-silent-rules', Next: '--without-ln-s', Prev: '--enable-shared', Up: Global configure options
1347 7.1.10 '--enable-silent-rules'
1348 ------------------------------
1350 Enable the use of less verbose build rules. When using GNU 'make' (or
1351 another 'make' implementation supporting nested variable expansions),
1352 you can specify 'V=1' on the 'make' command line to get more verbosity,
1353 or 'V=0' to get less, regardless of this option.
1356 File: tlbuild.info, Node: '--without-ln-s', Next: '--without-x', Prev: '--enable-silent-rules', Up: Global configure options
1358 7.1.11 '--without-ln-s'
1359 -----------------------
1361 Required when using a system without a working 'ln -s' to build binaries
1362 for a Unix-like system. However, 'make install' will not create
1363 anything useful and might even fail.
1366 File: tlbuild.info, Node: '--without-x', Prev: '--without-ln-s', Up: Global configure options
1368 7.1.12 '--without-x'
1369 --------------------
1371 Disable all programs using the X Window System.
1374 File: tlbuild.info, Node: Program-specific configure options, Next: Library-specific configure options, Prev: Global configure options, Up: Configure options
1376 7.2 Program-specific configure options
1377 ======================================
1379 Here are (some of) the program-specific 'configure' options.
1383 * '--enable-PROG' '--disable-PROG'::
1384 * '--disable-all-pkgs'::
1385 * Configure options for 'texk/web2c'::
1386 * Configure options for 'texk/bibtex-x'::
1387 * Configure options for 'texk/dvipdfm-x'::
1388 * Configure options for 'texk/dvisvgm'::
1389 * Configure options for 'texk/texlive'::
1390 * Configure options for 'texk/xdvik'::
1391 * Configure options for 'utils/xindy'::
1394 File: tlbuild.info, Node: '--enable-PROG' '--disable-PROG', Next: '--disable-all-pkgs', Up: Program-specific configure options
1396 7.2.1 '--enable-PROG', '--disable-PROG'
1397 ---------------------------------------
1399 Do or do not build and install the program(s) of the module 'PROG'.
1402 File: tlbuild.info, Node: '--disable-all-pkgs', Next: Configure options for 'texk/web2c', Prev: '--enable-PROG' '--disable-PROG', Up: Program-specific configure options
1404 7.2.2 '--disable-all-pkgs'
1405 --------------------------
1407 Do not build any program modules by default--only those explicitly
1408 enabled. This is useful when one wants to work on only a single
1409 program, which is specified with an additional '--enable' option, e.g.,
1410 '--enable-dvipdfm-x'. It's still simplest to check out and configure
1411 the whole source tree, but at least only the program you are interested
1412 in, and its dependencies, are built. The 'configure' will generally
1413 take less than a minute with everything disabled. (It is a good idea to
1414 run 'make check' after doing this, and after making any changes, to
1415 ensure that whatever tests have been written still pass.)
1417 Without this option, all modules are built except those that are
1418 explicitly disabled or specify 'disable' in their 'ac/withenable.ac'
1422 File: tlbuild.info, Node: Configure options for 'texk/web2c', Next: Configure options for 'texk/bibtex-x', Prev: '--disable-all-pkgs', Up: Program-specific configure options
1424 7.2.3 Configure options for 'texk/web2c'
1425 ----------------------------------------
1427 '--with-banner-add=STR'
1428 Add 'STR' to the default version string ('TeX Live YEAR' or 'Web2C
1429 YEAR') appended to banner lines. This is ignored for a native TL build,
1430 but distro builds should specify, e.g., '/SOMEDISTRO'.
1433 Specify the command 'CMD' to invoke from the 'e' option of TeX-like
1434 engines, replacing the default 'vi +%d '%s'' for Unix or 'texworks
1435 --position=%d "%s"' for Windows.
1437 '--with-fontconfig-includes=DIR', '--with-fontconfig-libdir=DIR'
1438 Building XeTeX on non-Mac systems requires the 'fontconfig' library
1439 headers and code. If one or both of these options are given, the
1440 required flags are derived from them; otherwise, they are determined via
1441 'pkg-config' (if present).
1443 '--with-mf-x-toolkit'
1444 Use the X toolkit ('libXt') for Metafont (the default is to use the
1445 lowest-level 'Xlib' support; it seems this has the best chance of
1446 working across X installations nowadays).
1448 '--disable-dump-share'
1449 Make the 'fmt'/'base' dump files architecture dependent (somewhat faster
1450 on LittleEndian architectures).
1453 Disable TeX's '--ipc' option.
1455 '--disable-mf-nowin'
1456 Do not build a separate non-graphically-capable Metafont ('mf-nowin').
1458 '--disable-tex', '--enable-etex', ...
1459 Do not or do build the various TeX, Metafont, and MetaPost engines
1460 (defaults are defined in the fragment 'texk/web2c/ac/web2c.ac').
1462 '--disable-web-progs'
1463 Do not build the core WEB programs 'bibtex', ..., 'weave'. Useful if,
1464 e.g., you only want to (re)build some engines.
1466 '--enable-auto-core'
1467 This option causes TeX and Metafont to produce a core dump when a
1468 particular hacky filename is encountered, for use in creating preloaded
1469 binaries. This is rarely done nowadays.
1471 '--enable-libtool-hack'
1472 If enabled (which is the default for all platforms), prevents 'libtool'
1473 from linking explicitly with dependencies of 'libfontconfig' such as
1477 Include various types of other window support for Metafont (EPSF output,
1478 'mftalk', old terminals, ...).
1480 '--enable-tex-synctex', '--disable-etex-synctex', ...
1481 Build the TeX engines with or without 'SyncTeX' support; ignored for a
1482 native TeX Live build, defaults are again defined in
1483 'texk/web2c/ac/web2c.ac'.
1486 Do not build the 'SyncTeX' library and tool.
1489 File: tlbuild.info, Node: Configure options for 'texk/bibtex-x', Next: Configure options for 'texk/dvipdfm-x', Prev: Configure options for 'texk/web2c', Up: Program-specific configure options
1491 7.2.4 Configure options for 'texk/bibtex-x'
1492 -------------------------------------------
1494 The programs 'bibtex8' and 'bibtexu' have been merged into the module
1495 'bibtex-x' (extended BibTeX).
1498 Do not build the 'bibtex8' program.
1501 Do not build the 'bibtexu' program (building 'bibtexu' requires 'ICU'
1505 File: tlbuild.info, Node: Configure options for 'texk/dvipdfm-x', Next: Configure options for 'texk/dvisvgm', Prev: Configure options for 'texk/bibtex-x', Up: Program-specific configure options
1507 7.2.5 Configure options for 'texk/dvipdfm-x'
1508 --------------------------------------------
1510 The former modules 'dvipdfmx' (extended DVI to PDF converter) and
1511 'xdvipdfmx' (the same, as used by XeTeX) have been merged into
1512 'dvipdfm-x' at the source level. Two separate binaries are still
1513 created by default. In addition, 'dvipdfm' is created as a symlink to
1514 'dvipdfmx', with backward-compatible (very slightly different) behavior.
1516 '--disable-dvipdfmx'
1517 Do not build the 'dvipdfmx' program with the 'dvipdfm' symlink.
1519 '--disable-xdvipdfmx'
1520 Do not build the 'xdvipdfmx' program.
1523 File: tlbuild.info, Node: Configure options for 'texk/dvisvgm', Next: Configure options for 'texk/texlive', Prev: Configure options for 'texk/dvipdfm-x', Up: Program-specific configure options
1525 7.2.6 Configure options for 'texk/dvisvgm'
1526 ------------------------------------------
1528 '--with-system-libgs'
1529 Build 'dvisvgm' using installed Ghostscript ('gs') headers and library
1530 (not allowed for a native TL build). The default is to load the 'gs'
1531 library at runtime if possible, or otherwise disable support for
1532 PostScript specials.
1535 Build 'dvisvgm' without PostScript support at all. Because the dynamic
1536 loading just mentioned defeats all attempts at static linking, the
1537 result can crash due to library incompatibilities, e.g., on CentOS 5.
1539 '--with-libgs-includes=DIR', '--with-libgs-libdir=DIR'
1540 Specify non-standard locations of the Ghostscript headers and library.
1543 File: tlbuild.info, Node: Configure options for 'texk/texlive', Next: Configure options for 'texk/xdvik', Prev: Configure options for 'texk/dvisvgm', Up: Program-specific configure options
1545 7.2.7 Configure options for 'texk/texlive'
1546 ------------------------------------------
1548 '--disable-linked-scripts'
1549 Do not install the "linked scripts" (*note Linked scripts::), except for
1550 the TL scripts required to run 'texlinks'.
1553 File: tlbuild.info, Node: Configure options for 'texk/xdvik', Next: Configure options for 'utils/xindy', Prev: Configure options for 'texk/texlive', Up: Program-specific configure options
1555 7.2.8 Configure options for 'texk/xdvik'
1556 ----------------------------------------
1558 '--with-gs=FILENAME'
1559 Hardwire the location of Ghostscript ('gs').
1561 '--with-xdvi-x-toolkit=KIT'
1562 Use toolkit 'KIT' for 'xdvik', one of: 'motif xaw xaw3d neXtaw'. The
1563 default is 'motif' if available, else 'xaw'.
1565 '--enable-xi2-scrolling'
1566 Use XInput 2.1 "smooth scrolling" if available. (default: yes, except
1567 for a native TL build).
1570 File: tlbuild.info, Node: Configure options for 'utils/xindy', Prev: Configure options for 'texk/xdvik', Up: Program-specific configure options
1572 7.2.9 Configure options for 'utils/xindy'
1573 -----------------------------------------
1575 '--enable-xindy-rules'
1576 Build and install 'xindy' rules (default: yes, except for a native TL
1579 '--enable-xindy-docs'
1580 Build and install 'xindy' documentation (default: yes, except for a
1583 '--with-clisp-runtime=FILENAME'
1584 Specifies the Full path for the CLISP runtime file ('lisp.run' or
1585 'lisp.exe') to be installed. When specified as 'default' (the default
1586 for a native TL build) the path is determined by the CLISP executable;
1587 the value 'system' (not allowed for a native TL build, but the default
1588 for a non-native one) indicates that 'xindy' will use the installed
1589 version of 'clisp' (which must be identical to the one used to build
1593 File: tlbuild.info, Node: Library-specific configure options, Next: Variables for configure, Prev: Program-specific configure options, Up: Configure options
1595 7.3 Library-specific configure options
1596 ======================================
1598 Here are (some of) the library-specific 'configure' options, starting
1599 with this generic one:
1603 Use an installed (system) version of the library 'LIB'; this option
1604 exists for most libraries, but is not allowed for a native TL build.
1605 Using a system version implies also using the system versions of all
1606 libraries (if any) that LIB depends on.
1608 For many libraries '--with-LIB-includes=DIR' and
1609 '--with-LIB-libdir=DIR' can specify non-standard search locations;
1610 others use 'pkg-config' or similar to determine the required flags.
1612 The top-level 'configure' script performs a consistency check for all
1613 required system libraries and bails out if tests fail.
1617 * Configure options for 'kpathsea'::
1618 * Configure options for system 'poppler'::
1621 File: tlbuild.info, Node: Configure options for 'kpathsea', Next: Configure options for system 'poppler', Up: Library-specific configure options
1623 7.3.1 Configure options for 'kpathsea'
1624 --------------------------------------
1626 '--enable-CMD-default', '--disable-CMD-default'
1627 Determine the compile time default whether or not to run CMD, one of:
1629 (Omega compiled translation process file)
1631 (Omega font metrics file)
1633 (format/base dump file)
1643 to generate the specified type of file dynamically. The default can be
1644 overridden by the user in any case.
1647 File: tlbuild.info, Node: Configure options for system 'poppler', Prev: Configure options for 'kpathsea', Up: Library-specific configure options
1649 7.3.2 Configure options for system 'poppler'
1650 --------------------------------------------
1652 Building LuaTeX (or LuaJITTeX) and XeTeX requires 'poppler', either from
1653 the TL tree or system headers and library. Building pdfTeX requires
1654 either 'xpdf' from the TeX Live tree or system 'poppler' headers and
1657 '--with-system-poppler'
1658 Use a system version (0.18 or newer) of 'poppler' for LuaTeX (or
1659 LuaJITTeX) and XeTeX, and use 'pkg-config' to obtain the required flags.
1661 '--with-system-xpdf'
1662 Use a system version (0.12 or better) of 'poppler' (and 'pkg-config')
1663 for pdfTeX instead of 'xpdf' from the TL tree. *Note
1664 '--disable-largefile'::.
1667 File: tlbuild.info, Node: Variables for configure, Prev: Library-specific configure options, Up: Configure options
1669 7.4 Variables for configure
1670 ===========================
1672 The values for these variables can be specified as 'configure' arguments
1673 of the form 'VAR=VALUE'. They can also be defined in the environment,
1674 but that might not work for cross compilations.
1679 And plenty more. As usual with Autoconf, these variables specify
1680 the name (or full path) of compilers, preprocessor flags, and
1681 similar. *Note autoconf: (GNU Autoconf)Preset Output Variables.
1684 Name (or full path) of the 'clisp' executable, used to build
1690 These specify the name (or path) for the 'freetype-config',
1691 'icu-config', and 'pkg-config' commands used to determine the flags
1692 required for system versions of 'libfreetype', the ICU libraries,
1693 or many other libraries.
1696 Name (or path) of an installed 'kpsewhich' binary, used by 'make
1697 check' to determine the location of, e.g., 'cmbx10.tfm'.
1701 And more. Name (or path) of the 'make', 'sed', and similar
1702 programs; used at the top level and propagated to all
1708 Name (or full path) for the 'perl', 'latex', and 'pdflatex'
1709 commands used, e.g., to build the 'xindy' documentation.
1712 File: tlbuild.info, Node: Cross compilation, Next: Coding conventions, Prev: Configure options, Up: Top
1717 In a cross compilation a "build" system is used to create binaries to be
1718 executed on a "host" system with different hardware and/or operating
1721 In simple cases, the build system can execute binaries for the host
1722 system. This typically occurs for bi-arch systems where, e.g.,
1723 'i386-linux' binaries can run on 'x86_64-linux' systems and 'win32'
1724 binaries can run on 'win64' systems. Although sometimes called "native
1725 cross", technically this is not cross compilation at all. In most such
1726 cases it suffices to specify suitable compiler flags. It might be
1727 useful to add the configure option '--build=HOST' to get the correct
1728 canonical host name, but note that this should _not_ be '--host=HOST'
1729 (*note (autoconf)Hosts and Cross-Compilation::).
1731 In order to build, e.g., 32-bit binaries with 'clang' on a 64-bit
1732 MacOSX system one could use:
1734 TL_BUILD_ENV="CC='clang -arch i386' \
1735 CXX='clang++ -arch i386' \
1736 OBJCXX='clang++ -arch i386'" \
1737 ./Build --build=i386-apple-darwin
1741 * Cross configuring:: Configuring for cross compilation.
1742 * Cross problems:: Cross compilation problems.
1745 File: tlbuild.info, Node: Cross configuring, Next: Cross problems, Up: Cross compilation
1747 8.1 Cross configuring
1748 =====================
1750 In a standard cross compilation, binaries for the host system cannot
1751 execute on the build system and it is necessary to specify the configure
1752 options '--host=HOST' and '--build=BUILD' with two different values.
1754 Building binaries requires suitable "cross" tools, e.g., compiler,
1755 linker, and archiver, and perhaps a "cross" version of 'pkg-config' and
1756 similar to locate host system libraries. Autoconf expects that these
1757 cross tools are given by their usual variables or found under their
1758 usual name prefixed with 'HOST-'. Here a list of such tools and
1759 corresponding variables:
1762 freetype-config FT2_CONFIG
1765 icu-config ICU_CONFIG
1767 pkg-config PKG_CONFIG
1771 In order to, e.g., build 'mingw32' binaries on 'x86_64-linux' with a
1772 cross compiler found as 'i386-pc-mingw32-gcc' one would specify
1774 --host=i386-pc-mingw32 --build=x86_64-linux-gnu
1778 --host=mingw32 --build=x86_64-linux CC=i386-pc-mingw32-gcc
1780 but this latter, especially, might require adding 'CXX' and others.
1782 Configure arguments such as 'CFLAGS=...' refer to the cross compiler.
1783 If necessary, you can specify compilers and flags for the few auxiliary
1784 C and C++ programs required for the build process as configure arguments
1794 File: tlbuild.info, Node: Cross problems, Prev: Cross configuring, Up: Cross compilation
1799 The fact that binaries for the host system cannot be executed on the
1800 build system causes some problems.
1802 One problem is that configure tests using 'AC_RUN_IFELSE' can compile
1803 and link the test program but cannot execute it. Such tests should be
1804 avoided if possible and otherwise must supply a pessimistic test result.
1806 Another problem arises if the build process must execute some
1807 (auxiliary or installable) programs. Auxiliary programs can be placed
1808 into a subdirectory that is configured natively as is done for
1809 'texk/web2c/web2c', 'texk/dvipsk/squeeze', and 'texk/xdvik/squeeze'.
1810 The module 'libs/freetype2' uses the value of 'CC_BUILD', 'BUILD-gcc',
1811 'gcc', or 'cc' as the compiler for the auxiliary program.
1813 The situation for installable programs needed by the build process is
1814 somewhat different. A rather expensive possibility, chosen for the ICU
1815 libraries in module 'libs/icu', is to first compile natively for the
1816 build system and in a second step to use these (uninstalled) programs
1817 during the cross compilation.
1819 This approach would also be possible for the tools such as 'tangle'
1820 used in the module 'texk/web2c' to build the WEB programs, but that
1821 would require first building a native 'kpathsea' library. To avoid this
1822 complication, cross compilation of the WEB or CWEB programs requires
1823 sufficiently recent installed versions of 'tangle', 'ctangle',
1824 'otangle', and 'tie'.
1826 Building 'xindy' requires running the host system 'clisp' binary,
1827 thus cross compilation is not possible.
1830 File: tlbuild.info, Node: Coding conventions, Next: install-tl, Prev: Cross compilation, Up: Top
1832 9 Coding conventions
1833 ********************
1835 Ideally, building all of TeX Live with '--enable-compiler-warnings=max'
1836 should produce no (GCC) compiler warnings at all. In spite of
1837 considerable efforts into that direction we are still far from that goal
1838 and there are reasons that we may never fully reach it. Below are some
1839 rules about declarations of functions or variables and the use of
1840 'const'. These rules should be applied to all parts of the TeX Live
1841 tree, except some of those maintained independently.
1845 * Declarations and definitions::
1849 File: tlbuild.info, Node: Declarations and definitions, Next: Const, Up: Coding conventions
1851 9.1 Declarations and definitions
1852 ================================
1857 The TeX Live build system no longer supports pre-ANSI C compilers. Thus
1858 all function prototypes and definitions must conform to the ANSI C
1859 standard (including 'void' in the declaration of C functions with no
1860 parameters). On the other hand, TL is built for a wide variety of
1861 systems, not all of which support the C99 standard. Therefore using C99
1862 features should be avoided if that can easily be done. In particular C
1863 code must not contain declarations after statements or C++-style
1866 If some C99 (or later) constructs must be used, the module should
1867 verify that they are available and otherwise provide an alternative.
1868 For example, the module 'texk/chktex' uses the C99 function 'stpcpy()'
1869 that may or may not be available on a particular system. It uses
1870 'AC_CHECK_DECLS([stpcpy])' in 'configure.ac' to test this, and provides
1871 the perhaps slightly less efficient alternative
1873 #if !(defined HAVE_DECL_STPCPY && HAVE_DECL_STPCPY)
1874 static inline char *stpcpy(char *dest, const char *src)
1876 return strcpy(dest, src) + strlen(src);
1880 in the file 'Utility.h'.
1885 Functions used in only one file should be declared 'static'; they
1886 require no prototype except as forward declaration.
1891 Functions not declared 'static', usually because they are used in
1892 several files, require an ('extern') prototype in exactly one header
1893 file, which is included in the file defining the function and in all
1894 files using that function--this is the only way to guarantee consistency
1895 between definition and use. There should be no 'extern' declarations
1896 sprinkled throughout the C code (with or without comments as to where
1897 that function is defined).
1899 Variable declarations
1900 .....................
1902 The declaration of global variables follows analogous rules: they are
1903 either declared 'static' if used in only one file or declared 'extern'
1904 in exactly one header and instantiated in exactly one file.
1907 File: tlbuild.info, Node: Const, Prev: Declarations and definitions, Up: Coding conventions
1912 The 'const' feature of C is valuable, but easy to mis-use.
1917 Ideally, a function parameter not modified by the function should be
1918 declared as 'const'. This is important in particular for strings
1919 ('char*') because the actual arguments are often string literals. It is
1920 perfectly legitimate and safe to use a type 'char*' value for a type
1921 'const char*' variable (in an assignment, as initializer, as function
1922 argument, or as return value). It is equally safe to use a type
1923 'char**' value for a type 'const char*const*' variable, but not for a
1924 type 'const char**' variable since that might cause modification of a
1925 quantity supposed to be constant.
1927 Getting all 'const' qualifiers right can get quite involved but can
1928 almost always be done. There are only a couple notable exceptions: the
1929 X11 headers are full of declarations that ought to use 'const' but do
1930 not, and the same is true to some extent for 'libfreetype' (but,
1931 thankfully, not for 'zlib' nowadays).
1933 What must be avoided with 'const'
1934 .................................
1936 The GCC compiler warnings "assignment discards qualifiers..." and
1937 analogous warnings for "initialization", "passing arg", or "return" must
1938 be strenously avoided in our own code. The only exception is when they
1939 are caused by X11 headers or macros or other third party code.
1941 What should be avoided with 'const'
1942 ...................................
1944 A type cast, e.g., from 'const char*' to 'char*' does not solve any
1945 problems; depending on warning options, it may only hide them.
1946 Therefore such casts should be avoided whenever possible and otherwise
1947 must be carefully analyzed to make sure that they cannot cause the
1948 modification of quantities supposed to be constant.
1951 File: tlbuild.info, Node: install-tl, Next: tlmgr, Prev: Coding conventions, Up: Top
1953 Appendix A install-tl
1954 *********************
1959 * install-tl SYNOPSIS::
1960 * install-tl DESCRIPTION::
1961 * install-tl REFERENCES::
1962 * install-tl OPTIONS::
1963 * install-tl ENVIRONMENT VARIABLES::
1964 * install-tl AUTHORS AND COPYRIGHT::
1967 File: tlbuild.info, Node: install-tl NAME, Next: install-tl SYNOPSIS, Up: install-tl
1972 install-tl - TeX Live cross-platform installer
1975 File: tlbuild.info, Node: install-tl SYNOPSIS, Next: install-tl DESCRIPTION, Prev: install-tl NAME, Up: install-tl
1980 install-tl [_option_]...
1982 install-tl.bat [_option_]...
1985 File: tlbuild.info, Node: install-tl DESCRIPTION, Next: install-tl REFERENCES, Prev: install-tl SYNOPSIS, Up: install-tl
1990 This installer creates a runnable TeX Live installation from various
1991 media, including over the network. The installer works across all
1992 platforms supported by TeX Live. For information on initially
1993 downloading the TeX Live, see <http://tug.org/texlive/acquire.html>.
1995 The basic idea of TeX Live installation is to choose one of the
1996 top-level _schemes_, each of which is defined as a different set of
1997 _collections_ and _packages_, where a collection is a set of packages,
1998 and a package is what contains actual files.
2000 Within the installer, you can choose a scheme, and further customize
2001 the set of collections to install, but not the set of the packages. To
2002 do that, use 'tlmgr' (reference below) after the initial installation is
2005 The default is 'scheme-full', to install everything, and this is
2009 File: tlbuild.info, Node: install-tl REFERENCES, Next: install-tl OPTIONS, Prev: install-tl DESCRIPTION, Up: install-tl
2014 Post-installation configuration, package updates, and much more, are
2015 handled through *tlmgr*(1), the TeX Live Manager
2016 (<http://tug.org/texlive/tlmgr.html>).
2018 The most up-to-date version of this documentation is on the Internet
2019 at <http://tug.org/texlive/doc/install-tl.html>.
2021 For the full documentation of TeX Live, see
2022 <http://tug.org/texlive/doc>.
2025 File: tlbuild.info, Node: install-tl OPTIONS, Next: install-tl ENVIRONMENT VARIABLES, Prev: install-tl REFERENCES, Up: install-tl
2030 As usual, all options can be specified in any order, and with either a
2031 leading '-' or '--'. An argument value can be separated from its option
2032 by either a space or '='.
2034 *-gui* [[=]_module_]
2036 If no _module_ is given starts the 'perltk' (see below) GUI
2039 If _module_ is given loads the given installer module. Currently
2040 the following modules are supported:
2044 The text mode user interface (default on Unix systems). Same
2045 as the '-no-gui' option.
2049 The wizard mode user interface (default on Windows), asking
2050 only minimal questions before installing all of TeX Live.
2054 The expert GUI installer, providing access to more options.
2055 Can also be invoked on Windows by running
2056 'install-tl-advanced.bat'.
2058 The 'perltk' and 'wizard' modules, and thus also when calling with
2059 a bare '-gui' (without _module_), requires the Perl/Tk module
2060 (<http://tug.org/texlive/distro.html#perltk>); if Perl/Tk is not
2061 available, installation continues in text mode.
2065 Use the text mode installer (default except on Windows).
2069 By default, the GUI tries to deduce your language from the
2070 environment (on Windows via the registry, on Unix via
2071 'LC_MESSAGES'). If that fails you can select a different language
2072 by giving this option with a language code (based on ISO 639-1).
2073 Currently supported (but not necessarily completely translated)
2074 are: English (en, default), Czech (cs), German (de), French (fr),
2075 Italian (it), Japanese (ja), Dutch (nl), Polish (pl), Brazilian
2076 Portuguese (pt_BR), Russian (ru), Slovak (sk), Slovenian (sl),
2077 Serbian (sr), Ukrainian (uk), Vietnamese (vi), simplified Chinese
2078 (zh_CN), and traditional Chinese (zh_TW).
2080 *-repository* _url|path_
2082 Specify the package repository to be used as the source of the
2083 installation, either a local directory via '/path/to/directory' or
2084 a 'file:/' url, or a network location via a 'http://' or 'ftp://'
2085 url. (No other protocols are supported.)
2087 The default is to pick a mirror automatically, using
2088 <http://mirror.ctan.org/systems/texlive/tlnet>; the chosen mirror
2089 is used for the entire download. You can use the special argument
2090 'ctan' as an abbreviation for this. See <http://ctan.org> for more
2091 about CTAN and its mirrors.
2093 If the repository is on the network, trailing '/' characters and/or
2094 trailing '/tlpkg' and '/archive' components are ignored. For
2095 example, you could choose a particular CTAN mirror with something
2098 -repository http://ctan.example.org/its/ctan/dir/systems/texlive/tlnet
2100 Of course a real hostname and its particular top-level CTAN path
2101 have to be specified. The list of CTAN mirrors is available at
2102 <http://ctan.org/mirrors>.
2104 If the repository is local, the installation type (compressed or
2105 live) is automatically determined, by checking for the presence of
2106 a 'archive' directory relative to the root. Compressed is
2107 preferred if both are available, since it is faster. Here's an
2108 example of using a local directory:
2110 -repository /local/TL/repository
2112 After installation is complete, you can use that installation as
2113 the repository for another installation. If you chose to install
2114 less than the full scheme containing all packages, the list of
2115 available schemes will be adjusted accordingly.
2117 For backward compatibility and convenience, '--location' and
2118 '--repo' are accepted as aliases for this option.
2120 *-select-repository*
2122 This option allows manual selection of a mirror from the current
2123 list of active CTAN mirrors. This option is supported in all
2124 installer modes (text, wizard, perltk), and will also offer to
2125 install from local media if available, or from a repository
2126 specified on the command line (see above). It's useful when the
2127 (default) automatic redirection does not choose a good host for
2132 Normally options not relevant to the current platform are not shown
2133 (i.e., when running on Unix, Windows-specific options are omitted).
2134 Giving this command line option allows configuring settings in the
2135 final 'texlive.tlpdb' that do not have any immediate effect.
2137 *-custom-bin* _path_
2139 If you have built your own set of TeX Live binaries (perhaps
2140 because your platform was not supported by TeX Live out of the
2141 box), this option allows you to specify the _path_ to a directory
2142 where the binaries for the current system are present. The
2143 installation will continue as usual, but at the end all files from
2144 _path_ are copied over to 'bin/custom/' under your installation
2145 directory and this 'bin/custom/' directory is what will be added to
2146 the path for the post-install actions. (By the way, for
2147 information on building TeX Live, see
2148 <http://tug.org/texlive/build.html>).
2150 *-debug-translation*
2152 In GUI mode, this switch makes 'tlmgr' report any missing, or more
2153 likely untranslated, messages to standard error. Helpful for
2154 translators to see what remains to be done.
2156 *-force-platform* _platform_
2158 Instead of auto-detecting the current platform, use _platform_.
2159 Binaries for this platform must be present and they must actually
2160 be runnable, or installation will fail. '-force-arch' is a
2163 *-help*, *-help*, *-?*
2165 Display this help and exit (on the web via
2166 <http://tug.org/texlive/doc/install-tl.html>). Sometimes the
2167 'perldoc' and/or 'PAGER' programs on the system have problems,
2168 possibly resulting in control characters being literally output.
2169 This can't always be detected, but you can set the 'NOPERLDOC'
2170 environment variable and 'perldoc' will not be used.
2174 This is a quick-and-dirty installation option in case you already
2175 have an rsync or svn checkout of TeX Live. It will use the
2176 checkout as-is and will just do the necessary post-install. Be
2177 warned that the file 'tlpkg/texlive.tlpdb' may be rewritten, that
2178 removal has to be done manually, and that the only realistic way to
2179 maintain this installation is to redo it from time to time. This
2180 option is not available via the installer interfaces. USE AT YOUR
2185 Write both all messages (informational, debugging, warnings) to
2186 _file_, in addition to standard output or standard error.
2188 If this option is not given, the installer will create a log file
2189 in the root of the writable installation tree, for example,
2190 '/usr/local/texlive/YYYY/install-tl.log' for the _YYYY_ release.
2194 (only for text mode installer) do not clear the screen when
2195 entering a new menu (for debugging purposes).
2199 For Windows only: configure for the current user, not for all
2202 *-persistent-downloads*
2204 *-no-persistent-downloads*
2206 For network installs, activating this option makes the installer
2207 try to set up a persistent connection using the 'Net::LWP' Perl
2208 module. This opens only one connection between your computer and
2209 the server per session and reuses it, instead of initiating a new
2210 download for each package, which typically yields a significant
2213 This option is turned on by default, and the installation program
2214 will fall back to using 'wget' if this is not possible. To disable
2215 usage of LWP and persistent connections, use
2216 '--no-persistent-downloads'.
2220 Install for portable use, e.g., on a USB stick. Also selectable
2221 from within the perltk and text installers.
2225 Print the TeX Live identifier for the detected platform
2226 (hardware/operating system) combination to standard output, and
2227 exit. '-print-arch' is a synonym.
2229 *-profile* _profile_
2231 Load the file _profile_ and do the installation with no user
2232 interaction, that is, a batch (unattended) install.
2234 A _profile_ file contains all the values needed to perform an
2235 installation. After a normal installation has finished, a profile
2236 for that exact installation is written to the file
2237 DEST/tlpkg/texlive.profile. That file can be given as the argument
2238 to '-profile' to redo the exact same installation on a different
2239 system, for example. Alternatively, you can use a custom profile,
2240 most easily created by starting from a generated one and changing
2241 values, or an empty file, which will take all the defaults.
2243 Normally a profile has to specify the value '1' for each collection
2244 to be installed, even if the scheme is specified. This follows
2245 from the logic of the installer in that you can first select a
2246 scheme and then change the collections being installed. But for
2247 convenience there is an exception to this within profiles: If the
2248 profile contains a variable for 'selected_scheme' and _no_
2249 collection variables at all are defined in the profile, then the
2250 collections which the specified scheme requires are installed.
2252 Thus, a line 'selected_scheme scheme-medium' together with the
2253 definitions of the installation directories ('TEXDIR', 'TEXMFHOME',
2254 'TEXMFLOCAL', 'TEXMFSYSCONFIG', 'TEXMFSYSVAR') suffices to install
2255 the medium scheme with all default options.
2259 Omit normal informational messages.
2263 Schemes are the highest level of package grouping in TeX Live; the
2264 default is to use the 'full' scheme, which includes everything.
2265 This option overrides that default. You can change the scheme
2266 again before the actual installation with the usual menu. The
2267 _scheme_ argument may optionally have a prefix 'scheme-'. The list
2268 of supported scheme names depends on what your package repository
2269 provides; see the interactive menu list.
2273 Include verbose debugging messages; repeat for maximum debugging,
2274 as in '-v -v'. (Further repeats are accepted but ignored.)
2276 *-version*, *-version*
2278 Output version information and exit. If '-v' has also been given
2279 the revisions of the used modules are reported, too.
2282 File: tlbuild.info, Node: install-tl ENVIRONMENT VARIABLES, Next: install-tl AUTHORS AND COPYRIGHT, Prev: install-tl OPTIONS, Up: install-tl
2284 A.6 ENVIRONMENT VARIABLES
2285 =========================
2287 For ease in scripting and debugging, 'install-tl' will look for the
2288 following environment variables. They are not of interest in normal
2291 'TEXLIVE_INSTALL_ENV_NOCHECK'
2293 Omit the check for environment variables containing the string
2294 'tex'. People developing TeX-related software are likely to have
2295 many such variables.
2297 'TEXLIVE_INSTALL_NO_CONTEXT_CACHE'
2299 Omit creating the ConTeXt cache. This is useful for
2302 'TEXLIVE_INSTALL_PREFIX'
2304 'TEXLIVE_INSTALL_TEXMFCONFIG'
2306 'TEXLIVE_INSTALL_TEXMFHOME'
2308 'TEXLIVE_INSTALL_TEXMFLOCAL'
2310 'TEXLIVE_INSTALL_TEXMFSYSCONFIG'
2312 'TEXLIVE_INSTALL_TEXMFSYSVAR'
2314 'TEXLIVE_INSTALL_TEXMFVAR'
2316 Specify the respective directories.
2320 Don't try to run the '--help' message through 'perldoc'.
2323 File: tlbuild.info, Node: install-tl AUTHORS AND COPYRIGHT, Prev: install-tl ENVIRONMENT VARIABLES, Up: install-tl
2325 A.7 AUTHORS AND COPYRIGHT
2326 =========================
2328 This script and its documentation were written for the TeX Live
2329 distribution (<http://tug.org/texlive>) and both are licensed under the
2330 GNU General Public License Version 2 or later.
2333 File: tlbuild.info, Node: tlmgr, Next: Index, Prev: install-tl, Up: Top
2342 * tlmgr DESCRIPTION::
2347 * tlmgr CONFIGURATION FILE FOR TLMGR::
2348 * tlmgr TAXONOMIES::
2349 * tlmgr MULTIPLE REPOSITORIES::
2350 * tlmgr GUI FOR TLMGR::
2351 * tlmgr MACHINE-READABLE OUTPUT::
2352 * tlmgr AUTHORS AND COPYRIGHT::
2355 File: tlbuild.info, Node: tlmgr NAME, Next: tlmgr SYNOPSIS, Up: tlmgr
2360 tlmgr - the TeX Live Manager
2363 File: tlbuild.info, Node: tlmgr SYNOPSIS, Next: tlmgr DESCRIPTION, Prev: tlmgr NAME, Up: tlmgr
2368 tlmgr [_option_]... _action_ [_option_]... [_operand_]...
2371 File: tlbuild.info, Node: tlmgr DESCRIPTION, Next: tlmgr EXAMPLES, Prev: tlmgr SYNOPSIS, Up: tlmgr
2376 *tlmgr* manages an existing TeX Live installation, both packages and
2377 configuration options. For information on initially downloading and
2378 installing TeX Live, see <http://tug.org/texlive/acquire.html>.
2380 The most up-to-date version of this documentation (updated nightly
2381 from the development sources) is available at
2382 <http://tug.org/texlive/tlmgr.html>, along with procedures for updating
2383 'tlmgr' itself and information about test versions.
2385 TeX Live is organized into a few top-level _schemes_, each of which
2386 is specified as a different set of _collections_ and _packages_, where a
2387 collection is a set of packages, and a package is what contains actual
2388 files. Schemes typically contain a mix of collections and packages, but
2389 each package is included in exactly one collection, no more and no less.
2390 A TeX Live installation can be customized and managed at any level.
2392 See <http://tug.org/texlive/doc> for all the TeX Live documentation
2396 File: tlbuild.info, Node: tlmgr EXAMPLES, Next: tlmgr OPTIONS, Prev: tlmgr DESCRIPTION, Up: tlmgr
2401 After successfully installing TeX Live, here are a few common operations
2404 'tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet'
2406 Tell 'tlmgr' to use a nearby CTAN mirror for future updates; useful
2407 if you installed TeX Live from the DVD image and want continuing
2410 'tlmgr update --list'
2412 Report what would be updated without actually updating anything.
2414 'tlmgr update --all'
2416 Make your local TeX installation correspond to what is in the
2417 package repository (typically useful when updating from CTAN).
2421 Display detailed information about _pkg_, such as the installation
2422 status and description.
2424 For all the capabilities and details of 'tlmgr', please read the
2425 following voluminous information.
2428 File: tlbuild.info, Node: tlmgr OPTIONS, Next: tlmgr ACTIONS, Prev: tlmgr EXAMPLES, Up: tlmgr
2433 The following options to 'tlmgr' are global options, not specific to any
2434 action. All options, whether global or action-specific, can be given
2435 anywhere on the command line, and in any order. The first non-option
2436 argument will be the main action. In all cases, '--'_option_ and
2437 '-'_option_ are equivalent, and an '=' is optional between an option
2440 *-repository* _url|path_
2442 Specifies the package repository from which packages should be
2443 installed or updated, overriding the default package repository
2444 found in the installation's TeX Live Package Database (a.k.a. the
2445 TLPDB, defined entirely in the file 'tlpkg/texlive.tlpdb'). The
2446 documentation for 'install-tl' has more details about this
2447 (<http://tug.org/texlive/doc/install-tl.html>).
2449 '--repository' changes the repository location only for the current
2450 run; to make a permanent change, use 'option repository' (see the
2451 *note option: tlmgr option. action).
2453 For backward compatibility and convenience, '--location' and
2454 '--repo' are accepted as aliases for this option.
2458 'tlmgr' has a graphical interface as well as the command line
2459 interface. You can give this option, '--gui', together with an
2460 action to be brought directly into the respective screen of the
2461 GUI. For example, running
2465 starts you directly at the update screen. If no action is given,
2466 the GUI will be started at the main screen.
2468 *-gui-lang* _llcode_
2470 By default, the GUI tries to deduce your language from the
2471 environment (on Windows via the registry, on Unix via
2472 'LC_MESSAGES'). If that fails you can select a different language
2473 by giving this option with a language code (based on ISO 639-1).
2474 Currently supported (but not necessarily completely translated)
2475 are: English (en, default), Czech (cs), German (de), French (fr),
2476 Italian (it), Japanese (ja), Dutch (nl), Polish (pl), Brazilian
2477 Portuguese (pt_BR), Russian (ru), Slovak (sk), Slovenian (sl),
2478 Serbian (sr), Ukrainian (uk), Vietnamese (vi), simplified Chinese
2479 (zh_CN), and traditional Chinese (zh_TW).
2481 *-debug-translation*
2483 In GUI mode, this switch tells 'tlmgr' to report any untranslated
2484 (or missing) messages to standard error. This can help translators
2485 to see what remains to be done.
2489 Instead of the normal output intended for human consumption, write
2490 (to standard output) a fixed format more suitable for machine
2491 parsing. See the *note MACHINE-READABLE OUTPUT: tlmgr
2492 MACHINE-READABLE OUTPUT. section below.
2494 *-no-execute-actions*
2496 Suppress the execution of the execute actions as defined in the
2497 tlpsrc files. Documented only for completeness, as this is only
2498 useful in debugging.
2500 *-package-logfile* _file_
2502 'tlmgr' logs all package actions (install, remove, update, failed
2503 updates, failed restores) to a separate log file, by default
2504 'TEXMFSYSVAR/web2c/tlmgr.log'. This option allows you to specific
2505 a different file for the log.
2509 This option makes 'tlmgr' wait for user input before exiting.
2510 Useful on Windows to avoid disappearing command windows.
2512 *-persistent-downloads*
2514 *-no-persistent-downloads*
2516 For network-based installations, this option (on by default) makes
2517 'tlmgr' try to set up a persistent connection (using the 'LWP' Perl
2518 module). The idea is to open and reuse only one connection per
2519 session between your computer and the server, instead of initiating
2520 a new download for each package.
2522 If this is not possible, 'tlmgr' will fall back to using 'wget'.
2523 To disable these persistent connections, use
2524 '--no-persistent-downloads'.
2528 Change the pinning file location from
2529 'TEXMFLOCAL/tlpkg/pinning.txt' (see *note Pinning: tlmgr Pinning.
2530 below). Documented only for completeness, as this is only useful
2535 Activates user mode for this run of 'tlmgr'; see *note USER MODE:
2536 tlmgr USER MODE. below.
2540 Uses _dir_ for the tree in user mode; see *note USER MODE: tlmgr
2543 The standard options for TeX Live programs are also accepted:
2544 '--help/-h/-?', '--version', '-q' (no informational messages), '-v'
2545 (debugging messages, can be repeated). For the details about these, see
2546 the 'TeXLive::TLUtils' documentation.
2548 The '--version' option shows version information about the TeX Live
2549 release and about the 'tlmgr' script itself. If '-v' is also given,
2550 revision number for the loaded TeX Live Perl modules are shown, too.
2553 File: tlbuild.info, Node: tlmgr ACTIONS, Next: tlmgr USER MODE, Prev: tlmgr OPTIONS, Up: tlmgr
2562 * tlmgr backup [--clean[=_N_]] [--backupdir _dir_] [--all | _pkg_]...::
2563 * tlmgr candidates _pkg_::
2564 * tlmgr check [_option_]... [files|depends|executes|runfiles|all]::
2565 * tlmgr conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]::
2566 * tlmgr dump-tlpdb [--local|--remote]::
2567 * tlmgr generate [_option_]... _what_::
2569 * tlmgr info [_option_...] [collections|schemes|_pkg_...]::
2570 * tlmgr init-usertree::
2571 * tlmgr install [_option_]... _pkg_...::
2574 * tlmgr path [--w32mode=user|admin] [add|remove]::
2576 * tlmgr platform list|add|remove _platform_...::
2577 * tlmgr platform set _platform_::
2578 * tlmgr platform set auto::
2579 * tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [_pkg_]...::
2580 * tlmgr print-platform::
2581 * tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]]::
2582 * tlmgr remove [_option_]... _pkg_...::
2583 * tlmgr repository::
2584 * tlmgr search [_option_...] _what_::
2586 * tlmgr update [_option_]... [_pkg_]...::
2589 File: tlbuild.info, Node: tlmgr help, Next: tlmgr version, Up: tlmgr ACTIONS
2594 Display this help information and exit (same as '--help', and on the web
2595 at <http://tug.org/texlive/doc/tlmgr.html>). Sometimes the 'perldoc'
2596 and/or 'PAGER' programs on the system have problems, resulting in
2597 control characters being literally output. This can't always be
2598 detected, but you can set the 'NOPERLDOC' environment variable and
2599 'perldoc' will not be used.
2602 File: tlbuild.info, Node: tlmgr version, Next: tlmgr backup [--clean[=_N_]] [--backupdir _dir_] [--all | _pkg_]..., Prev: tlmgr help, Up: tlmgr ACTIONS
2607 Gives version information (same as '--version').
2609 If '-v' has been given the revisions of the used modules are
2613 File: tlbuild.info, Node: tlmgr backup [--clean[=_N_]] [--backupdir _dir_] [--all | _pkg_]..., Next: tlmgr candidates _pkg_, Prev: tlmgr version, Up: tlmgr ACTIONS
2615 B.6.3 backup [-clean[=_N_]] [-backupdir _dir_] [-all | _pkg_]...
2616 ----------------------------------------------------------------
2618 If the '--clean' option is not specified, this action makes a backup of
2619 the given packages, or all packages given '--all'. These backups are
2620 saved to the value of the '--backupdir' option, if that is an existing
2621 and writable directory. If '--backupdir' is not given, the 'backupdir'
2622 option setting in the TLPDB is used, if present. If both are missing,
2623 no backups are made.
2625 If the '--clean' option is specified, backups are pruned (removed)
2626 instead of saved. The optional integer value _N_ may be specified to
2627 set the number of backups that will be retained when cleaning. If 'N'
2628 is not given, the value of the 'autobackup' option is used. If both are
2629 missing, an error is issued. For more details of backup pruning, see
2630 the 'option' action.
2634 *-backupdir* _directory_
2636 Overrides the 'backupdir' option setting in the TLPDB. The
2637 _directory_ argument is required and must specify an existing,
2638 writable directory where backups are to be placed.
2642 If '--clean' is not specified, make a backup of all packages in the
2643 TeX Live installation; this will take quite a lot of space and
2644 time. If '--clean' is specified, all packages are pruned.
2648 Instead of making backups, prune the backup directory of old
2649 backups, as explained above. The optional integer argument _N_
2650 overrides the 'autobackup' option set in the TLPDB. You must use
2651 '--all' or a list of packages together with this option, as
2656 Nothing is actually backed up or removed; instead, the actions to
2657 be performed are written to the terminal.
2660 File: tlbuild.info, Node: tlmgr candidates _pkg_, Next: tlmgr check [_option_]... [files|depends|executes|runfiles|all], Prev: tlmgr backup [--clean[=_N_]] [--backupdir _dir_] [--all | _pkg_]..., Up: tlmgr ACTIONS
2662 B.6.4 candidates _pkg_
2663 ----------------------
2667 Shows the available candidate repositories for package _pkg_. See
2668 *note MULTIPLE REPOSITORIES: tlmgr MULTIPLE REPOSITORIES. below.
2671 File: tlbuild.info, Node: tlmgr check [_option_]... [files|depends|executes|runfiles|all], Next: tlmgr conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]], Prev: tlmgr candidates _pkg_, Up: tlmgr ACTIONS
2673 B.6.5 check [_option_]... [files|depends|executes|runfiles|all]
2674 ---------------------------------------------------------------
2676 Executes one (or all) check(s) on the consistency of the installation.
2680 Checks that all files listed in the local TLPDB ('texlive.tlpdb')
2681 are actually present, and lists those missing.
2685 Lists those packages which occur as dependencies in an installed
2686 collections, but are themselves not installed, and those packages
2687 that are not contained in any collection.
2689 If you call 'tlmgr check collections' this test will be carried out
2690 instead since former versions for 'tlmgr' called it that way.
2694 Check that the files referred to by 'execute' directives in the TeX
2695 Live Database are present.
2699 List those filenames that are occurring more than one time in the
2706 Use the output of 'svn status' instead of listing the files; for
2707 checking the TL development repository.
2710 File: tlbuild.info, Node: tlmgr conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]], Next: tlmgr dump-tlpdb [--local|--remote], Prev: tlmgr check [_option_]... [files|depends|executes|runfiles|all], Up: tlmgr ACTIONS
2712 B.6.6 conf [texmf|tlmgr|updmap [-conffile _file_] [-delete] [_key_ [_value_]]]
2713 ------------------------------------------------------------------------------
2715 With only 'conf', show general configuration information for TeX Live,
2716 including active configuration files, path settings, and more. This is
2717 like the 'texconfig conf' call, but works on all supported platforms.
2719 With either 'conf texmf', 'conf tlmgr', or 'conf updmap' given in
2720 addition, shows all key/value pairs (i.e., all settings) as saved in
2721 'ROOT/texmf.cnf', the tlmgr configuration file (see below), or the first
2722 found (via kpsewhich) 'updmap.cfg' file, respectively.
2724 If _key_ is given in addition, shows the value of only that _key_ in
2725 the respective file. If option _-delete_ is also given, the
2726 configuration file - it is removed, not just commented out!
2728 If _value_ is given in addition, _key_ is set to _value_ in the
2729 respective file. _No error checking is done!_
2731 In all cases the file used can be explicitly specified via the option
2732 '--conffile _file_', in case one wants to operate on a different file.
2734 Practical application: if the execution of (some or all) system
2735 commands via '\write18' was left enabled during installation, you can
2736 disable it afterwards:
2738 tlmgr conf texmf shell_escape 0
2740 A more complicated example: the 'TEXMFHOME' tree (see the main TeX
2741 Live guide, <http://tug.org/texlive/doc.html>) can be set to multiple
2742 directories, but they must be enclosed in braces and separated by
2743 commas, so quoting the value to the shell is a good idea. Thus:
2745 tlmgr conf texmf TEXMFHOME "{~/texmf,~/texmfbis}"
2747 Warning: The general facility is here, but tinkering with settings in
2748 this way is very strongly discouraged. Again, no error checking on
2749 either keys or values is done, so any sort of breakage is possible.
2752 File: tlbuild.info, Node: tlmgr dump-tlpdb [--local|--remote], Next: tlmgr generate [_option_]... _what_, Prev: tlmgr conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]], Up: tlmgr ACTIONS
2754 B.6.7 dump-tlpdb [-local|-remote]
2755 ---------------------------------
2757 Dump complete local or remote TLPDB to standard output, as-is. The
2758 output is analogous to the '--machine-readable' output; see *note
2759 MACHINE-READABLE OUTPUT: tlmgr MACHINE-READABLE OUTPUT. section.
2765 Dump the local tlpdb.
2769 Dump the remote tlpdb.
2771 Exactly one of '--local' and '--remote' must be given.
2773 In either case, the first line of the output specifies the repository
2774 location, in this format:
2776 "location-url" "\t" location
2778 where 'location-url' is the literal field name, followed by a tab,
2779 and _location_ is the file or url to the repository.
2781 Line endings may be either LF or CRLF depending on the current
2785 File: tlbuild.info, Node: tlmgr generate [_option_]... _what_, Next: tlmgr gui, Prev: tlmgr dump-tlpdb [--local|--remote], Up: tlmgr ACTIONS
2787 B.6.8 generate [_option_]... _what_
2788 -----------------------------------
2792 *generate language.dat*
2794 *generate language.def*
2796 *generate language.dat.lua*
2800 The 'generate' action overwrites any manual changes made in the
2801 respective files: it recreates them from scratch based on the
2802 information of the installed packages, plus local adaptions. The TeX
2803 Live installer and 'tlmgr' routinely call 'generate' for all of these
2806 For managing your own fonts, please read the 'updmap --help'
2807 information and/or <http://tug.org/fonts/fontinstall.html>.
2809 In more detail: 'generate' remakes any of the configuration files
2810 'language.dat', 'language.def', 'language.dat.lua', and 'fmtutil.cnf',
2811 from the information present in the local TLPDB, plus locally-maintained
2814 The locally-maintained files are 'language-local.dat',
2815 'language-local.def', 'language-local.dat.lua', or 'fmtutil-local.cnf',
2816 searched for in 'TEXMFLOCAL' in the respective directories. If local
2817 additions are present, the final file is made by starting with the main
2818 file, omitting any entries that the local file specifies to be disabled,
2819 and finally appending the local file.
2821 (Historical note: The formerly supported 'updmap-local.cfg' is no
2822 longer read, since 'updmap' now supports multiple 'updmap.cfg' files.
2823 Thus, local additions can and should be put into an 'updmap.cfg' file in
2824 'TEXMFLOCAL'. The 'generate updmap' action no longer exists.)
2826 Local files specify entries to be disabled with a comment line,
2827 namely one of these:
2833 where 'fmtutil.cnf' uses '#', 'language.dat' and 'language.def' use
2834 '%', and 'language.dat.lua' use '--'. In all cases, the _name_ is the
2835 respective format name or hyphenation pattern identifier. Examples:
2841 (Of course, you're not likely to actually want to disable those
2842 particular items. They're just examples.)
2844 After such a disabling line, the local file can include another entry
2845 for the same item, if a different definition is desired. In general,
2846 except for the special disabling lines, the local files follow the same
2847 syntax as the master files.
2849 The form 'generate language' recreates all three files
2850 'language.dat', 'language.def', and 'language.dat.lua', while the forms
2851 with an extension recreates only that given language file.
2855 *-dest* _output_file_
2857 specifies the output file (defaults to the respective location in
2858 'TEXMFSYSVAR'). If '--dest' is given to 'generate language', it
2859 serves as a basename onto which '.dat' will be appended for the
2860 name of the 'language.dat' output file, '.def' will be appended to
2861 the value for the name of the 'language.def' output file, and
2862 '.dat.lua' to the name of the 'language.dat.lua' file. (This is
2863 just to avoid overwriting; if you want a specific name for each
2864 output file, we recommend invoking 'tlmgr' twice.)
2866 *-localcfg* _local_conf_file_
2868 specifies the (optional) local additions (defaults to the
2869 respective location in 'TEXMFLOCAL').
2873 tells tlmgr to run necessary programs after config files have been
2874 regenerated. These are: 'fmtutil-sys --all' after 'generate
2875 fmtutil', 'fmtutil-sys --byhyphen .../language.dat' after 'generate
2876 language.dat', and 'fmtutil-sys --byhyphen .../language.def' after
2877 'generate language.def'.
2879 These subsequent calls cause the newly-generated files to actually
2880 take effect. This is not done by default since those calls are
2881 lengthy processes and one might want to made several related
2882 changes in succession before invoking these programs.
2884 The respective locations are as follows:
2886 tex/generic/config/language.dat (and language-local.dat);
2887 tex/generic/config/language.def (and language-local.def);
2888 tex/generic/config/language.dat.lua (and language-local.dat.lua);
2889 web2c/fmtutil.cnf (and fmtutil-local.cnf);
2892 File: tlbuild.info, Node: tlmgr gui, Next: tlmgr info [_option_...] [collections|schemes|_pkg_...], Prev: tlmgr generate [_option_]... _what_, Up: tlmgr ACTIONS
2897 Start the graphical user interface. See *GUI* below.
2900 File: tlbuild.info, Node: tlmgr info [_option_...] [collections|schemes|_pkg_...], Next: tlmgr init-usertree, Prev: tlmgr gui, Up: tlmgr ACTIONS
2902 B.6.10 info [_option_...] [collections|schemes|_pkg_...]
2903 --------------------------------------------------------
2905 With no argument, lists all packages available at the package
2906 repository, prefixing those already installed with 'i'.
2908 With the single word 'collections' or 'schemes' as the argument,
2909 lists the request type instead of all packages.
2911 With any other arguments, display information about _pkg_: the name,
2912 category, short and long description, installation status, and TeX Live
2913 revision number. If _pkg_ is not locally installed, searches in the
2914 remote installation source.
2916 It also displays information taken from the TeX Catalogue, namely the
2917 package version, date, and license. Consider these, especially the
2918 package version, as approximations only, due to timing skew of the
2919 updates of the different pieces. By contrast, the 'revision' value
2920 comes directly from TL and is reliable.
2922 The former actions 'show' and 'list' are merged into this action, but
2923 are still supported for backward compatibility.
2929 If the option '--list' is given with a package, the list of
2930 contained files is also shown, including those for
2931 platform-specific dependencies. When given with schemes and
2932 collections, '--list' outputs their dependencies in a similar way.
2936 If this options is given, the installation source will not be used;
2937 only locally installed packages, collections, or schemes are
2938 listed. (Does not work for listing of packages for now)
2948 In addition to the normal data displayed, also display information
2949 for given packages from the corresponding taxonomy (or all of
2950 them). See *note TAXONOMIES: tlmgr TAXONOMIES. below for details.
2953 File: tlbuild.info, Node: tlmgr init-usertree, Next: tlmgr install [_option_]... _pkg_..., Prev: tlmgr info [_option_...] [collections|schemes|_pkg_...], Up: tlmgr ACTIONS
2955 B.6.11 init-usertree
2956 --------------------
2958 Sets up a texmf tree for so-called user mode management, either the
2959 default user tree ('TEXMFHOME'), or one specified on the command line
2960 with '--usertree'. See *note USER MODE: tlmgr USER MODE. below.
2963 File: tlbuild.info, Node: tlmgr install [_option_]... _pkg_..., Next: tlmgr option, Prev: tlmgr init-usertree, Up: tlmgr ACTIONS
2965 B.6.12 install [_option_]... _pkg_...
2966 -------------------------------------
2968 Install each _pkg_ given on the command line. By default this installs
2969 all packages on which the given _pkg_s are dependent, also. Options:
2973 Instead of fetching a package from the installation repository, use
2974 the package files given on the command line. These files must be
2975 standard TeX Live package files (with contained tlpobj file).
2979 Reinstall a package (including dependencies for collections) even
2980 if it already seems to be installed (i.e, is present in the TLPDB).
2981 This is useful to recover from accidental removal of files in the
2984 When re-installing, only dependencies on normal packages are
2985 followed (i.e., not those of category Scheme or Collection).
2989 Do not install dependencies. (By default, installing a package
2990 ensures that all dependencies of this package are fulfilled.)
2992 *-no-depends-at-all*
2994 Normally, when you install a package which ships binary files the
2995 respective binary package will also be installed. That is, for a
2996 package 'foo', the package 'foo.i386-linux' will also be installed
2997 on an 'i386-linux' system. This option suppresses this behavior,
2998 and also implies '--no-depends'. Don't use it unless you are sure
2999 of what you are doing.
3003 Nothing is actually installed; instead, the actions to be performed
3004 are written to the terminal.
3008 If updates to 'tlmgr' itself (or other parts of the basic
3009 infrastructure) are present, 'tlmgr' will bail out and not perform
3010 the installation unless this option is given. Not recommended.
3013 File: tlbuild.info, Node: tlmgr option, Next: tlmgr paper, Prev: tlmgr install [_option_]... _pkg_..., Up: tlmgr ACTIONS
3022 *option _key_ [_value_]*
3024 The first form shows the global TeX Live settings currently saved in
3025 the TLPDB with a short description and the 'key' used for changing it in
3028 The second form is similar, but also shows options which can be
3029 defined but are not currently set to any value.
3031 In the third form, if _value_ is not given, the setting for _key_ is
3032 displayed. If _value_ is present, _key_ is set to _value_.
3034 Possible values for _key_ are (run 'tlmgr option showall' for the
3037 repository (default package repository),
3038 formats (create formats at installation time),
3039 postcode (run postinst code blobs)
3040 docfiles (install documentation files),
3041 srcfiles (install source files),
3042 backupdir (default directory for backups),
3043 autobackup (number of backups to keep).
3044 sys_bin (directory to which executables are linked by the path action)
3045 sys_man (directory to which man pages are linked by the path action)
3046 sys_info (directory to which Info files are linked by the path action)
3047 desktop_integration (Windows-only: create Start menu shortcuts)
3048 fileassocs (Windows-only: change file associations)
3049 multiuser (Windows-only: install for all users)
3051 One common use of 'option' is to permanently change the installation
3052 to get further updates from the Internet, after originally installing
3053 from DVD. To do this, you can run
3055 tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet
3057 The 'install-tl' documentation has more information about the
3058 possible values for 'repository'. (For backward compatibility,
3059 'location' can be used as alternative name for 'repository'.)
3061 If 'formats' is set (this is the default), then formats are
3062 regenerated when either the engine or the format files have changed.
3063 Disable this only when you know what you are doing.
3065 The 'postcode' option controls execution of per-package
3066 postinstallation action code. It is set by default, and again disabling
3067 is not likely to be of interest except perhaps to developers.
3069 The 'docfiles' and 'srcfiles' options control the installation of
3070 their respective files of a package. By default both are enabled (1).
3071 This can be disabled (set to 0) if disk space is (very) limited.
3073 The options 'autobackup' and 'backupdir' determine the defaults for
3074 the actions 'update', 'backup' and 'restore'. These three actions need
3075 a directory in which to read or write the backups. If '--backupdir' is
3076 not specified on the command line, the 'backupdir' option value is used
3079 The 'autobackup' option (de)activates automatic generation of
3080 backups. Its value is an integer. If the 'autobackup' value is '-1',
3081 no backups are removed. If 'autobackup' is 0 or more, it specifies the
3082 number of backups to keep. Thus, backups are disabled if the value is
3083 0. In the '--clean' mode of the 'backup' action this option also
3084 specifies the number to be kept.
3086 To setup 'autobackup' to '-1' on the command line, use:
3088 tlmgr option -- autobackup -1
3090 The '--' avoids having the '-1' treated as an option. ('--' stops
3091 parsing for options at the point where it appears; this is a general
3092 feature across most Unix programs.)
3094 The 'sys_bin', 'sys_man', and 'sys_info' options are used on
3095 Unix-like systems to control the generation of links for executables,
3096 info files and man pages. See the 'path' action for details.
3098 The last three options control behaviour on Windows installations.
3099 If 'desktop_integration' is set, then some packages will install items
3100 in a sub-folder of the Start menu for 'tlmgr gui', documentation, etc.
3101 If 'fileassocs' is set, Windows file associations are made (see also the
3102 'postaction' action). Finally, if 'multiuser' is set, then adaptions to
3103 the registry and the menus are done for all users on the system instead
3104 of only the current user. All three options are on by default.
3107 File: tlbuild.info, Node: tlmgr paper, Next: tlmgr path [--w32mode=user|admin] [add|remove], Prev: tlmgr option, Up: tlmgr ACTIONS
3114 *[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|-list]*
3116 With no arguments ('tlmgr paper'), shows the default paper size
3117 setting for all known programs.
3119 With one argument (e.g., 'tlmgr paper a4'), sets the default for all
3120 known programs to that paper size.
3122 With a program given as the first argument and no paper size
3123 specified (e.g., 'tlmgr dvips paper'), shows the default paper size for
3126 With a program given as the first argument and a paper size as the
3127 last argument (e.g., 'tlmgr dvips paper a4'), set the default for that
3128 program to that paper size.
3130 With a program given as the first argument and '--list' given as the
3131 last argument (e.g., 'tlmgr dvips paper --list'), shows all valid paper
3132 sizes for that program. The first size shown is the default.
3134 Incidentally, this syntax of having a specific program name before
3135 the 'paper' keyword is unusual. It is inherited from the longstanding
3136 'texconfig' script, which supports other configuration settings for some
3137 programs, notably 'dvips'. 'tlmgr' does not support those extra
3141 File: tlbuild.info, Node: tlmgr path [--w32mode=user|admin] [add|remove], Next: tlmgr pinning, Prev: tlmgr paper, Up: tlmgr ACTIONS
3143 B.6.15 path [-w32mode=user|admin] [add|remove]
3144 ----------------------------------------------
3146 On Unix, merely adds or removes symlinks for binaries, man pages, and
3147 info pages in the system directories specified by the respective options
3148 (see the *note option: tlmgr option. description above). Does not
3149 change any initialization files, either system or personal.
3151 On Windows, the registry part where the binary directory is added or
3152 removed is determined in the following way:
3154 If the user has admin rights, and the option '--w32mode' is not
3155 given, the setting _w32_multi_user_ determines the location (i.e., if it
3156 is on then the system path, otherwise the user path is changed).
3158 If the user has admin rights, and the option '--w32mode' is given,
3159 this option determines the path to be adjusted.
3161 If the user does not have admin rights, and the option '--w32mode' is
3162 not given, and the setting _w32_multi_user_ is off, the user path is
3163 changed, while if the setting _w32_multi_user_ is on, a warning is
3164 issued that the caller does not have enough privileges.
3166 If the user does not have admin rights, and the option '--w32mode' is
3167 given, it must be *user* and the user path will be adjusted. If a user
3168 without admin rights uses the option '--w32mode admin' a warning is
3169 issued that the caller does not have enough privileges.
3172 File: tlbuild.info, Node: tlmgr pinning, Next: tlmgr platform list|add|remove _platform_..., Prev: tlmgr path [--w32mode=user|admin] [add|remove], Up: tlmgr ACTIONS
3177 The 'pinning' action manages the pinning file, see *note Pinning: tlmgr
3182 Shows the current pinning data.
3184 'pinning add' _repo_ _pkgglob_...
3186 Pins the packages matching the _pkgglob_(s) to the repository
3189 'pinning remove' _repo_ _pkgglob_...
3191 Any packages recorded in the pinning file matching the <pkgglob>s
3192 for the given repository _repo_ are removed.
3194 'pinning remove _repo_ --all'
3196 Remove all pinning data for repository _repo_.
3199 File: tlbuild.info, Node: tlmgr platform list|add|remove _platform_..., Next: tlmgr platform set _platform_, Prev: tlmgr pinning, Up: tlmgr ACTIONS
3201 B.6.17 platform list|add|remove _platform_...
3202 ---------------------------------------------
3205 File: tlbuild.info, Node: tlmgr platform set _platform_, Next: tlmgr platform set auto, Prev: tlmgr platform list|add|remove _platform_..., Up: tlmgr ACTIONS
3207 B.6.18 platform set _platform_
3208 ------------------------------
3211 File: tlbuild.info, Node: tlmgr platform set auto, Next: tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [_pkg_]..., Prev: tlmgr platform set _platform_, Up: tlmgr ACTIONS
3213 B.6.19 platform set auto
3214 ------------------------
3216 'platform list' lists the TeX Live names of all the platforms (a.k.a.
3217 architectures), ('i386-linux', ...) available at the package
3220 'platform add' _platform_... adds the executables for each given
3221 platform _platform_ to the installation from the repository.
3223 'platform remove' _platform_... removes the executables for each
3224 given platform _platform_ from the installation, but keeps the currently
3225 running platform in any case.
3227 'platform set' _platform_ switches TeX Live to always use the given
3228 platform instead of auto detection.
3230 'platform set auto' switches TeX Live to auto detection mode for
3233 Platform detection is needed to select the proper 'xz', 'xzdec' and
3234 'wget' binaries that are shipped with TeX Live.
3236 'arch' is a synonym for 'platform'.
3242 Nothing is actually installed; instead, the actions to be performed
3243 are written to the terminal.
3246 File: tlbuild.info, Node: tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [_pkg_]..., Next: tlmgr print-platform, Prev: tlmgr platform set auto, Up: tlmgr ACTIONS
3248 B.6.20 postaction [-w32mode=user|admin] [-fileassocmode=1|2] [-all] [install|remove] [shortcut|fileassoc|script] [_pkg_]...
3249 ---------------------------------------------------------------------------------------------------------------------------
3251 Carry out the postaction 'shortcut', 'fileassoc', or 'script' given as
3252 the second required argument in install or remove mode (which is the
3253 first required argument), for either the packages given on the command
3254 line, or for all if '--all' is given.
3256 If the option '--w32mode' is given the value 'user', all actions will
3257 only be carried out in the user-accessible parts of the
3258 registry/filesystem, while the value 'admin' selects the system-wide
3259 parts of the registry for the file associations. If you do not have
3260 enough permissions, using '--w32mode=admin' will not succeed.
3262 '--fileassocmode' specifies the action for file associations. If it
3263 is set to 1 (the default), only new associations are added; if it is set
3264 to 2, all associations are set to the TeX Live programs. (See also
3265 'option fileassocs'.)
3268 File: tlbuild.info, Node: tlmgr print-platform, Next: tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]], Prev: tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [_pkg_]..., Up: tlmgr ACTIONS
3270 B.6.21 print-platform
3271 ---------------------
3273 Print the TeX Live identifier for the detected platform
3274 (hardware/operating system) combination to standard output, and exit.
3275 '--print-arch' is a synonym.
3278 File: tlbuild.info, Node: tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]], Next: tlmgr remove [_option_]... _pkg_..., Prev: tlmgr print-platform, Up: tlmgr ACTIONS
3280 B.6.22 restore [-backupdir _dir_] [-all | _pkg_ [_rev_]]
3281 --------------------------------------------------------
3283 Restore a package from a previously-made backup.
3285 If '--all' is given, try to restore the latest revision of all
3286 package backups found in the backup directory.
3288 Otherwise, if neither _pkg_ nor _rev_ are given, list the available
3289 backup revisions for all packages.
3291 With _pkg_ given but no _rev_, list all available backup revisions of
3294 When listing available packages tlmgr shows the revision and in
3295 parenthesis the creation time if available (in format yyyy-mm-dd hh:mm).
3297 With both _pkg_ and _rev_, tries to restore the package from the
3304 Try to restore the latest revision of all package backups found in
3305 the backup directory. Additional non-option arguments (like _pkg_)
3308 *-backupdir* _directory_
3310 Specify the directory where the backups are to be found. If not
3311 given it will be taken from the configuration setting in the TLPDB.
3315 Nothing is actually restored; instead, the actions to be performed
3316 are written to the terminal.
3320 Don't ask questions.
3323 File: tlbuild.info, Node: tlmgr remove [_option_]... _pkg_..., Next: tlmgr repository, Prev: tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]], Up: tlmgr ACTIONS
3325 B.6.23 remove [_option_]... _pkg_...
3326 ------------------------------------
3328 Remove each _pkg_ specified. Removing a collection removes all package
3329 dependencies (unless '--no-depends' is specified), but not any
3330 collection dependencies of that collection. However, when removing a
3331 package, dependencies are never removed. Options:
3335 Do not remove dependent packages.
3337 *-no-depends-at-all*
3339 See above under *install* (and beware).
3343 By default, removal of a package or collection that is a dependency
3344 of another collection or scheme is not allowed. With this option,
3345 the package will be removed unconditionally. Use with care.
3347 A package that has been removed using the '--force' option because
3348 it is still listed in an installed collection or scheme will not be
3349 updated, and will be mentioned as *forcibly removed* in the output
3350 of *tlmgr update -list*.
3354 Nothing is actually removed; instead, the actions to be performed
3355 are written to the terminal.
3358 File: tlbuild.info, Node: tlmgr repository, Next: tlmgr search [_option_...] _what_, Prev: tlmgr remove [_option_]... _pkg_..., Up: tlmgr ACTIONS
3365 *repository list _path|tag_*
3367 *repository add _path_ [_tag_]*
3369 *repository remove _path|tag_*
3371 *repository set _path_[#_tag_] [_path_[#_tag_] ...]*
3373 This action manages the list of repositories. See *note MULTIPLE
3374 REPOSITORIES: tlmgr MULTIPLE REPOSITORIES. below for detailed
3377 The first form ('list') lists all configured repositories and the
3378 respective tags if set. If a path, url, or tag is given after the
3379 'list' keyword, it is interpreted as source from where to
3380 initialize a TeX Live Database and lists the contained packages.
3381 This can also be an up-to-now not used repository, both locally and
3382 remote. If one pass in addition '--with-platforms', for each
3383 package the available platforms (if any) are listed, too.
3385 The third form ('add') adds a repository (optionally attaching a
3386 tag) to the list of repositories. The forth form ('remove')
3387 removes a repository, either by full path/url, or by tag. The last
3388 form ('set') sets the list of repositories to the items given on
3389 the command line, not keeping previous settings
3391 In all cases, one of the repositories must be tagged as 'main';
3392 otherwise, all operations will fail!
3395 File: tlbuild.info, Node: tlmgr search [_option_...] _what_, Next: tlmgr uninstall, Prev: tlmgr repository, Up: tlmgr ACTIONS
3397 B.6.25 search [_option_...] _what_
3398 ----------------------------------
3402 * tlmgr search [_option_...] --file _what_::
3403 * tlmgr search [_option_...] --taxonomy _what_::
3404 * tlmgr search [_option_...] --keyword _what_::
3405 * tlmgr search [_option_...] --functionality _what_::
3406 * tlmgr search [_option_...] --characterization _what_::
3407 * tlmgr search [_option_...] --all _what_::
3410 File: tlbuild.info, Node: tlmgr search [_option_...] --file _what_, Next: tlmgr search [_option_...] --taxonomy _what_, Up: tlmgr search [_option_...] _what_
3412 B.6.25.1 search [_option_...] -file _what_
3413 ..........................................
3416 File: tlbuild.info, Node: tlmgr search [_option_...] --taxonomy _what_, Next: tlmgr search [_option_...] --keyword _what_, Prev: tlmgr search [_option_...] --file _what_, Up: tlmgr search [_option_...] _what_
3418 B.6.25.2 search [_option_...] -taxonomy _what_
3419 ..............................................
3422 File: tlbuild.info, Node: tlmgr search [_option_...] --keyword _what_, Next: tlmgr search [_option_...] --functionality _what_, Prev: tlmgr search [_option_...] --taxonomy _what_, Up: tlmgr search [_option_...] _what_
3424 B.6.25.3 search [_option_...] -keyword _what_
3425 .............................................
3428 File: tlbuild.info, Node: tlmgr search [_option_...] --functionality _what_, Next: tlmgr search [_option_...] --characterization _what_, Prev: tlmgr search [_option_...] --keyword _what_, Up: tlmgr search [_option_...] _what_
3430 B.6.25.4 search [_option_...] -functionality _what_
3431 ...................................................
3434 File: tlbuild.info, Node: tlmgr search [_option_...] --characterization _what_, Next: tlmgr search [_option_...] --all _what_, Prev: tlmgr search [_option_...] --functionality _what_, Up: tlmgr search [_option_...] _what_
3436 B.6.25.5 search [_option_...] -characterization _what_
3437 ......................................................
3440 File: tlbuild.info, Node: tlmgr search [_option_...] --all _what_, Prev: tlmgr search [_option_...] --characterization _what_, Up: tlmgr search [_option_...] _what_
3442 B.6.25.6 search [_option_...] -all _what_
3443 .........................................
3445 By default, search the names, short descriptions, and long descriptions
3446 of all locally installed packages for the argument _what_, interpreted
3447 as a regular expression.
3453 Search the TeX Live Database of the installation medium, instead of
3454 the local installation.
3458 Restrict the search to match only full words. For example,
3459 searching for 'table' with this option will not output packages
3460 containing the word 'tables' (unless they also contain the word
3461 'table' on its own).
3465 If a search for any (or all) taxonomies is done, by specifying one
3466 of the taxonomy options below, then instead of searching for
3467 packages, list the entire corresponding taxonomy (or all of them).
3468 See *note TAXONOMIES: tlmgr TAXONOMIES. below.
3470 Other search options are selected by specifying one of the following:
3474 List all filenames containing _what_.
3484 Search in the corresponding taxonomy (or all) instead of the
3485 package descriptions. See *note TAXONOMIES: tlmgr TAXONOMIES.
3490 Search for package names, descriptions, and taxonomies, but not
3494 File: tlbuild.info, Node: tlmgr uninstall, Next: tlmgr update [_option_]... [_pkg_]..., Prev: tlmgr search [_option_...] _what_, Up: tlmgr ACTIONS
3499 Uninstalls the entire TeX Live installation. Options:
3503 Do not ask for confirmation, remove immediately.
3506 File: tlbuild.info, Node: tlmgr update [_option_]... [_pkg_]..., Prev: tlmgr uninstall, Up: tlmgr ACTIONS
3508 B.6.27 update [_option_]... [_pkg_]...
3509 --------------------------------------
3511 Updates the packages given as arguments to the latest version available
3512 at the installation source. Either '--all' or at least one _pkg_ name
3513 must be specified. Options:
3517 Update all installed packages except for 'tlmgr' itself. Thus, if
3518 updates to 'tlmgr' itself are present, this will simply give an
3519 error, unless also the option '--force' or '--self' is given. (See
3522 In addition to updating the installed packages, during the update
3523 of a collection the local installation is (by default) synchronized
3524 to the status of the collection on the server, for both additions
3527 This means that if a package has been removed on the server (and
3528 thus has also been removed from the respective collection), 'tlmgr'
3529 will remove the package in the local installation. This is called
3530 "auto-remove" and is announced as such when using the option
3531 '--list'. This auto-removal can be suppressed using the option
3532 '--no-auto-remove' (not recommended, see option description).
3534 Analogously, if a package has been added to a collection on the
3535 server that is also installed locally, it will be added to the
3536 local installation. This is called "auto-install" and is announced
3537 as such when using the option '--list'. This auto-installation can
3538 be suppressed using the option '--no-auto-install'.
3540 An exception to the collection dependency checks (including the
3541 auto-installation of packages just mentioned) are those that have
3542 been "forcibly removed" by you, that is, you called 'tlmgr remove
3543 --force' on them. (See the 'remove' action documentation.) To
3544 reinstall any such forcibly removed packages use
3545 '--reinstall-forcibly-removed'.
3547 If you want to exclude some packages from the current update run
3548 (e.g., due to a slow link), see the '--exclude' option below.
3552 Update 'tlmgr' itself (that is, the infrastructure packages) if
3553 updates to it are present. On Windows this includes updates to the
3554 private Perl interpreter shipped inside TeX Live.
3556 If this option is given together with either '--all' or a list of
3557 packages, then 'tlmgr' will be updated first and, if this update
3558 succeeds, the new version will be restarted to complete the rest of
3563 tlmgr update --self # update infrastructure only
3564 tlmgr update --self --all # update infrastructure and all packages
3565 tlmgr update --force --all # update all packages but *not* infrastructure
3566 # ... this last at your own risk, not recommended!
3570 Nothing is actually installed; instead, the actions to be performed
3571 are written to the terminal. This is a more detailed report than
3576 Concisely list the packages which would be updated, newly
3577 installed, or removed, without actually changing anything. If
3578 '--all' is also given, all available updates are listed. If
3579 '--self' is given, but not '--all', only updates to the critical
3580 packages (tlmgr, texlive infrastructure, perl on Windows, etc.)
3581 are listed. If neither '--all' nor '--self' is given, and in
3582 addition no _pkg_ is given, then '--all' is assumed (thus, 'tlmgr
3583 update --list' is the same as 'tlmgr update --list --all'). If
3584 neither '--all' nor '--self' is given, but specific package names
3585 are given, those packages are checked for updates.
3589 Exclude _pkg_ from the update process. If this option is given
3590 more than once, its arguments accumulate.
3592 An argument _pkg_ excludes both the package _pkg_ itself and all
3593 its related platform-specific packages _pkg.ARCH_. For example,
3595 tlmgr update --all --exclude a2ping
3597 will not update 'a2ping', 'a2ping.i386-linux', or any other
3598 'a2ping.'_ARCH_ package.
3600 If this option specifies a package that would otherwise be a
3601 candidate for auto-installation, auto-removal, or reinstallation of
3602 a forcibly removed package, 'tlmgr' quits with an error message.
3603 Excludes are not supported in these circumstances.
3605 *-no-auto-remove* [_pkg_]...
3607 By default, 'tlmgr' tries to remove packages which have disappeared
3608 on the server, as described above under '--all'. This option
3609 prevents such removals, either for all packages (with '--all'), or
3610 for just the given _pkg_ names. This can lead to an inconsistent
3611 TeX installation, since packages are not infrequently renamed or
3612 replaced by their authors. Therefore this is not recommend.
3614 *-no-auto-install* [_pkg_]...
3616 Under normal circumstances 'tlmgr' will install packages which are
3617 new on the server, as described above under '--all'. This option
3618 prevents any such automatic installation, either for all packages
3619 (with '--all'), or the given _pkg_ names.
3621 Furthermore, after the 'tlmgr' run using this has finished, the
3622 packages that would have been auto-installed _will be considered as
3623 forcibly removed_. So, if 'foobar' is the only new package on the
3626 tlmgr update --all --no-auto-install
3631 tlmgr remove --force foobar
3633 *-reinstall-forcibly-removed*
3635 Under normal circumstances 'tlmgr' will not install packages that
3636 have been forcibly removed by the user; that is, removed with
3637 'remove --force', or whose installation was prohibited by
3638 '--no-auto-install' during an earlier update.
3640 This option makes 'tlmgr' ignore the forcible removals and
3641 re-install all such packages. This can be used to completely
3642 synchronize an installation with the server's idea of what is
3645 tlmgr update --reinstall-forcibly-removed --all
3647 *-backup* and *-backupdir* _directory_
3649 These two options control the creation of backups of packages
3650 _before_ updating; that is, backup of packages as currently
3651 installed. If neither of these options are given, no backup
3652 package will be saved. If '--backupdir' is given and specifies a
3653 writable directory then a backup will be made in that location. If
3654 only '--backup' is given, then a backup will be made to the
3655 directory previously set via the 'option' action (see below). If
3656 both are given then a backup will be made to the specified
3659 You can set options via the 'option' action to automatically create
3660 backups for all packages, and/or keep only a certain number of
3661 backups. Please see the 'option' action for details.
3663 'tlmgr' always makes a temporary backup when updating packages, in
3664 case of download or other failure during an update. In contrast,
3665 the purpose of this '--backup' option is to allow you to save a
3666 persistent backup in case the actual _content_ of the update causes
3667 problems, e.g., introduces an incompatibility.
3669 The 'restore' action explains how to restore from a backup.
3673 If you call for updating a package normally all depending packages
3674 will also be checked for updates and updated if necessary. This
3675 switch suppresses this behavior.
3677 *-no-depends-at-all*
3679 See above under *install* (and beware).
3683 Force update of normal packages, without updating 'tlmgr' itself
3684 (unless the '--self' option is also given). Not recommended.
3686 Also, 'update --list' is still performed regardless of this option.
3688 If the package on the server is older than the package already
3689 installed (e.g., if the selected mirror is out of date), 'tlmgr' does
3690 not downgrade. Also, packages for uninstalled platforms are not
3694 File: tlbuild.info, Node: tlmgr USER MODE, Next: tlmgr CONFIGURATION FILE FOR TLMGR, Prev: tlmgr ACTIONS, Up: tlmgr
3699 'tlmgr' provides a restricted way, called "user mode", to manage
3700 arbitrary texmf trees in the same way as the main installation. For
3701 example, this allows people without write permissions on the
3702 installation location to update/install packages into a tree of their
3705 'tlmgr' is switched into user mode with the command line option
3706 '--usermode'. It does not switch automatically, nor is there any
3707 configuration file setting for it. Thus, this option has to be
3708 explicitly given every time user mode is to be activated.
3710 This mode of 'tlmgr' works on a user tree, by default the value of
3711 the 'TEXMFHOME' variable. This can be overridden with the command line
3712 option '--usertree'. In the following when we speak of the user tree we
3713 mean either 'TEXMFHOME' or the one given on the command line.
3715 Not all actions are allowed in user mode; 'tlmgr' will warn you and
3716 not carry out any problematic actions. Currently not supported (and
3717 probably will never be) is the 'platform' action. The 'gui' action is
3718 currently not supported, but may be in a future release.
3720 Some 'tlmgr' actions don't need any write permissions and thus work
3721 the same in user mode and normal mode. Currently these are: 'check',
3722 'help', 'list', 'print-platform', 'search', 'show', 'version'.
3724 On the other hand, most of the actions dealing with package
3725 management do need write permissions, and thus behave differently in
3726 user mode, as described below: 'install', 'update', 'remove', 'option',
3727 'paper', 'generate', 'backup', 'restore', 'uninstall', 'symlinks'.
3729 Before using 'tlmgr' in user mode, you have to set up the user tree
3730 with the 'init-usertree' action. This creates _usertree_'/web2c' and
3731 _usertree_'/tlpkg/tlpobj', and a minimal
3732 _usertree_'/tlpkg/texlive.tlpdb'. At that point, you can tell 'tlmgr'
3733 to do the (supported) actions by adding the '--usermode' command line
3736 In user mode the file _usertree_'/tlpkg/texlive.tlpdb' contains only
3737 the packages that have been installed into the user tree using 'tlmgr',
3738 plus additional options from the "virtual" package
3739 '00texlive.installation' (similar to the main installation's
3742 All actions on packages in user mode can only be carried out on
3743 packages that are known as 'relocatable'. This excludes all packages
3744 containing executables and a few other core packages. Of the 2500 or so
3745 packages currently in TeX Live the vast majority are relocatable and can
3746 be installed into a user tree.
3748 Description of changes of actions in user mode:
3752 * tlmgr user mode install::
3753 * tlmgr user mode backup; restore; remove; update::
3754 * tlmgr user mode generate; option; paper::
3757 File: tlbuild.info, Node: tlmgr user mode install, Next: tlmgr user mode backup; restore; remove; update, Up: tlmgr USER MODE
3759 B.7.1 user mode install
3760 -----------------------
3762 In user mode, the 'install' action checks that the package and all
3763 dependencies are all either relocated or already installed in the system
3764 installation. If this is the case, it unpacks all containers to be
3765 installed into the user tree (to repeat, that's either 'TEXMFHOME' or
3766 the value of '--usertree') and add the respective packages to the user
3767 tree's 'texlive.tlpdb' (creating it if need be).
3769 Currently installing a collection in user mode installs all dependent
3770 packages, but in contrast to normal mode, does _not_ install dependent
3771 collections. For example, in normal mode 'tlmgr install
3772 collection-context' would install 'collection-basic' and other
3773 collections, while in user mode, _only_ the packages mentioned in
3774 'collection-context' are installed.
3777 File: tlbuild.info, Node: tlmgr user mode backup; restore; remove; update, Next: tlmgr user mode generate; option; paper, Prev: tlmgr user mode install, Up: tlmgr USER MODE
3779 B.7.2 user mode backup; restore; remove; update
3780 -----------------------------------------------
3782 In user mode, these actions check that all packages to be acted on are
3783 installed in the user tree before proceeding; otherwise, they behave
3784 just as in normal mode.
3787 File: tlbuild.info, Node: tlmgr user mode generate; option; paper, Prev: tlmgr user mode backup; restore; remove; update, Up: tlmgr USER MODE
3789 B.7.3 user mode generate; option; paper
3790 ---------------------------------------
3792 In user mode, these actions operate only on the user tree's
3793 configuration files and/or 'texlive.tlpdb'. creates configuration files
3797 File: tlbuild.info, Node: tlmgr CONFIGURATION FILE FOR TLMGR, Next: tlmgr TAXONOMIES, Prev: tlmgr USER MODE, Up: tlmgr
3799 B.8 CONFIGURATION FILE FOR TLMGR
3800 ================================
3802 A small subset of the command line options can be set in a config file
3803 for 'tlmgr' which resides in 'TEXMFCONFIG/tlmgr/config'. By default,
3804 the config file is in '~/.texliveYYYY/texmf-config/tlmgr/config'
3805 (replacing 'YYYY' with the year of your TeX Live installation). This is
3806 _not_ 'TEXMFSYSVAR', so that the file is specific to a single user.
3808 In this file, empty lines and lines starting with # are ignored. All
3809 other lines must look like
3813 where the allowed keys are 'gui-expertmode' (value 0 or 1),
3814 'persistent-downloads' (value 0 or 1), 'auto-remove' (value 0 or 1), and
3815 'gui-lang' (value like in the command line option).
3817 'persistent-downloads', 'gui-lang', and 'auto-remove' correspond to
3818 the respective command line options of the same name. 'gui-expertmode'
3819 switches between the full GUI and a simplified GUI with only the
3820 important and mostly used settings.
3823 File: tlbuild.info, Node: tlmgr TAXONOMIES, Next: tlmgr MULTIPLE REPOSITORIES, Prev: tlmgr CONFIGURATION FILE FOR TLMGR, Up: tlmgr
3828 tlmgr allows searching and listing of various categorizations, which we
3829 call _taxonomies_, as provided by an enhanced TeX Catalogue (available
3830 for testing at <http://az.ctan.org>). This is useful when, for example,
3831 you don't know a specific package name but have an idea of the
3832 functionality you need; or when you want to see all packages relating to
3835 There are three different taxonomies, specified by the following
3840 The keywords, as specified at <http://az.ctan.org/keyword>.
3844 The "by-topic" categorization created by J\"urgen Fenn, as
3845 specified at <http://az.ctan.org/characterization/by-function>.
3847 '--characterization'
3849 Both the primary and secondary functionalities, as specified at
3850 <http://az.ctan.org/characterization/choose_dimen>.
3854 Operate on all the taxonomies.
3856 The taxonomies are updated nightly and stored within TeX Live, so
3857 Internet access is not required to search them.
3861 tlmgr search --taxonomy exercise # check all taxonomies for "exercise"
3862 tlmgr search --taxonomy --word table # check for "table" on its own
3863 tlmgr search --list --keyword # dump entire keyword taxonomy
3864 tlmgr show --taxonomy pdftex # show pdftex package information,
3865 # including all taxonomy entries
3868 File: tlbuild.info, Node: tlmgr MULTIPLE REPOSITORIES, Next: tlmgr GUI FOR TLMGR, Prev: tlmgr TAXONOMIES, Up: tlmgr
3870 B.10 MULTIPLE REPOSITORIES
3871 ==========================
3873 The main TeX Live repository contains a vast array of packages.
3874 Nevertheless, additional local repositories can be useful to provide
3875 locally-installed resources, such as proprietary fonts and house styles.
3876 Also, alternative package repositories distribute packages that cannot
3877 or should not be included in TeX Live, for whatever reason.
3879 The simplest and most reliable method is to temporarily set the
3880 installation source to any repository (with the '-repository' or 'option
3881 repository' command line options), and perform your operations.
3883 When you are using multiple repositories over a sustained time,
3884 however, explicitly switching between them becomes inconvenient. Thus,
3885 it's possible to tell 'tlmgr' about additional repositories you want to
3886 use. The basic command is 'tlmgr repository add'. The rest of this
3887 section explains further.
3889 When using multiple repositories, one of them has to be set as the
3890 main repository, which distributes most of the installed packages. When
3891 you switch from a single repository installation to a multiple
3892 repository installation, the previous sole repository will be set as the
3895 By default, even if multiple repositories are configured, packages
3896 are _still_ _only_ installed from the main repository. Thus, simply
3897 adding a second repository does not actually enable installation of
3898 anything from there. You also have to specify which packages should be
3899 taken from the new repository, by specifying so-called "pinning" rules,
3907 File: tlbuild.info, Node: tlmgr Pinning, Up: tlmgr MULTIPLE REPOSITORIES
3912 When a package 'foo' is pinned to a repository, a package 'foo' in any
3913 other repository, even if it has a higher revision number, will not be
3914 considered an installable candidate.
3916 As mentioned above, by default everything is pinned to the main
3917 repository. Let's now go through an example of setting up a second
3918 repository and enabling updates of a package from it.
3920 First, check that we have support for multiple repositories, and have
3921 only one enabled (as is the case by default):
3923 $ tlmgr repository list
3924 List of repositories (with tags if set):
3925 /var/www/norbert/tlnet
3927 Ok. Let's add the 'tlcontrib' repository (this is a real repository,
3928 hosted at <http://tlcontrib.metatex.org>, maintained by Taco Hoekwater
3929 et al.), with the tag 'tlcontrib':
3931 $ tlmgr repository add http://tlcontrib.metatex.org/2012 tlcontrib
3933 Check the repository list again:
3935 $ tlmgr repository list
3936 List of repositories (with tags if set):
3937 http://tlcontrib.metatex.org/2012 (tlcontrib)
3938 /var/www/norbert/tlnet (main)
3940 Now we specify a pinning entry to get the package 'context' from
3943 $ tlmgr pinning add tlcontrib context
3945 Check that we can find 'context':
3947 $ tlmgr show context
3948 tlmgr: package repositories:
3951 repository: tlcontrib/26867
3954 - install 'context':
3956 $ tlmgr install context
3957 tlmgr: package repositories:
3959 [1/1, ??:??/??:??] install: context @tlcontrib [
3961 In the output here you can see that the 'context' package has been
3962 installed from the 'tlcontrib' repository ('@tlcontrib').
3964 Finally, 'tlmgr pinning' also supports removing certain or all
3965 packages from a given repository:
3967 $ tlmgr pinning remove tlcontrib context # remove just context
3968 $ tlmgr pinning remove tlcontrib --all # take nothing from tlcontrib
3970 A summary of the 'tlmgr pinning' actions is given above.
3973 File: tlbuild.info, Node: tlmgr GUI FOR TLMGR, Next: tlmgr MACHINE-READABLE OUTPUT, Prev: tlmgr MULTIPLE REPOSITORIES, Up: tlmgr
3978 The graphical user interface for 'tlmgr' needs Perl/Tk to be installed.
3979 For Windows the necessary modules are shipped within TeX Live, for all
3980 other (i.e., Unix-based) systems Perl/Tk (as well as Perl of course) has
3981 to be installed. <http://tug.org/texlive/distro.html#perltk> has a list
3982 of invocations for some distros.
3984 When started with 'tlmgr gui' the graphical user interface will be
3985 shown. The main window contains a menu bar, the main display, and a
3986 status area where messages normally shown on the console are displayed.
3988 Within the main display there are three main parts: the 'Display
3989 configuration' area, the list of packages, and the action buttons.
3991 Also, at the top right the currently loaded repository is shown; this
3992 also acts as a button and when clicked will try to load the default
3993 repository. To load a different repository, see the 'tlmgr' menu item.
3995 Finally, the status area at the bottom of the window gives additional
3996 information about what is going on.
4000 * tlmgr Main display::
4004 File: tlbuild.info, Node: tlmgr Main display, Next: tlmgr Menu bar, Up: tlmgr GUI FOR TLMGR
4011 * tlmgr Display configuration area::
4012 * tlmgr Package list area::
4013 * tlmgr Main display action buttons::
4016 File: tlbuild.info, Node: tlmgr Display configuration area, Next: tlmgr Package list area, Up: tlmgr Main display
4018 B.11.1.1 Display configuration area
4019 ...................................
4021 The first part of the main display allows you to specify (filter) which
4022 packages are shown. By default, all are shown. Changes here are
4023 reflected right away.
4027 Select whether to show all packages (the default), only those
4028 installed, only those _not_ installed, or only those with update
4033 Select which categories are shown: packages, collections, and/or
4034 schemes. These are briefly explained in the *note DESCRIPTION:
4035 tlmgr DESCRIPTION. section above.
4039 Select packages matching for a specific pattern. By default, this
4040 uses the same algorithm as 'tlmgr search', i.e., searches
4041 everything: descriptions, taxonomies, and/or filenames. You can
4042 also select any subset for searching.
4046 Select packages to those selected, those not selected, or all.
4047 Here, "selected" means that the checkbox in the beginning of the
4048 line of a package is ticked.
4050 Display configuration buttons
4052 To the right there are three buttons: select all packages, select
4053 none (a.k.a. deselect all), and reset all these filters to the
4054 defaults, i.e., show all available.
4057 File: tlbuild.info, Node: tlmgr Package list area, Next: tlmgr Main display action buttons, Prev: tlmgr Display configuration area, Up: tlmgr Main display
4059 B.11.1.2 Package list area
4060 ..........................
4062 The second are of the main display lists all installed packages. If a
4063 repository is loaded, those that are available but not installed are
4066 Double clicking on a package line pops up an informational window
4067 with further details: the long description, included files, etc.
4069 Each line of the package list consists of the following items:
4073 Used to select particular packages; some of the action buttons (see
4074 below) work only on the selected packages.
4078 The name (identifier) of the package as given in the database.
4080 local revision (and version)
4082 If the package is installed the TeX Live revision number for the
4083 installed package will be shown. If there is a catalogue version
4084 given in the database for this package, it will be shown in
4085 parentheses. However, the catalogue version, unlike the TL
4086 revision, is not guaranteed to reflect what is actually installed.
4088 remote revision (and version)
4090 If a repository has been loaded the revision of the package in the
4091 repository (if present) is shown. As with the local column, if a
4092 catalogue version is provided it will be displayed. And also as
4093 with the local column, the catalogue version may be stale.
4097 The short description of the package.
4100 File: tlbuild.info, Node: tlmgr Main display action buttons, Prev: tlmgr Package list area, Up: tlmgr Main display
4102 B.11.1.3 Main display action buttons
4103 ....................................
4105 Below the list of packages are several buttons:
4107 Update all installed
4109 This calls 'tlmgr update --all', i.e., tries to update all
4110 available packages. Below this button is a toggle to allow
4111 reinstallation of previously removed packages as part of this
4114 The other four buttons only work on the selected packages, i.e.,
4115 those where the checkbox at the beginning of the package line is
4120 Update only the selected packages.
4124 Install the selected packages; acts like 'tlmgr install', i.e.,
4125 also installs dependencies. Thus, installing a collection installs
4126 all its constituent packages.
4130 Removes the selected packages; acts like 'tlmgr remove', i.e., it
4131 will also remove dependencies of collections (but not dependencies
4132 of normal packages).
4136 Makes a backup of the selected packages; acts like 'tlmgr backup'.
4137 This action needs the option 'backupdir' set (see 'Options -'
4141 File: tlbuild.info, Node: tlmgr Menu bar, Prev: tlmgr Main display, Up: tlmgr GUI FOR TLMGR
4146 The following entries can be found in the menu bar:
4150 The items here load various repositories: the default as specified
4151 in the TeX Live database, the default network repository, the
4152 repository specified on the command line (if any), and an
4153 arbitrarily manually-entered one. Also has the so-necessary 'quit'
4158 Provides access to several groups of options: 'Paper'
4159 (configuration of default paper sizes), 'Platforms' (only on Unix,
4160 configuration of the supported/installed platforms), 'GUI Language'
4161 (select language used in the GUI interface), and 'General'
4164 Several toggles are also here. The first is 'Expert options',
4165 which is set by default. If you turn this off, the next time you
4166 start the GUI a simplified screen will be shown that display only
4167 the most important functionality. This setting is saved in the
4168 configuration file of 'tlmgr'; see *note CONFIGURATION FILE FOR
4169 TLMGR: tlmgr CONFIGURATION FILE FOR TLMGR. for details.
4171 The other toggles are all off by default: for debugging output, to
4172 disable the automatic installation of new packages, and to disable
4173 the automatic removal of packages deleted from the server. Playing
4174 with the choices of what is or isn't installed may lead to an
4175 inconsistent TeX Live installation; e.g., when a package is
4180 Provides access to several actions: update the filename database
4181 (aka 'ls-R', 'mktexlsr', 'texhash'), rebuild all formats
4182 ('fmtutil-sys --all'), update the font map database ('updmap-sys'),
4183 restore from a backup of a package, and use of symbolic links in
4184 system directories (not on Windows).
4186 The final action is to remove the entire TeX Live installation
4187 (also not on Windows).
4191 Provides access to the TeX Live manual (also on the web at
4192 <http://tug.org/texlive/doc.html>) and the usual "About" box.
4195 File: tlbuild.info, Node: tlmgr MACHINE-READABLE OUTPUT, Next: tlmgr AUTHORS AND COPYRIGHT, Prev: tlmgr GUI FOR TLMGR, Up: tlmgr
4197 B.12 MACHINE-READABLE OUTPUT
4198 ============================
4200 With the '--machine-readable' option, 'tlmgr' writes to stdout in the
4201 fixed line-oriented format described here, and the usual informational
4202 messages for human consumption are written to stderr (normally they are
4203 written to stdout). The idea is that a program can get all the
4204 information it needs by reading stdout.
4206 Currently this option only applies to the *note update: tlmgr update
4207 [_option_]... [_pkg_]..., *note install: tlmgr install [_option_]...
4208 _pkg_..., and *note option: tlmgr option. actions.
4212 * tlmgr Machine-readable 'update' and 'install' output::
4213 * tlmgr Machine-readable 'option' output::
4216 File: tlbuild.info, Node: tlmgr Machine-readable 'update' and 'install' output, Next: tlmgr Machine-readable 'option' output, Up: tlmgr MACHINE-READABLE OUTPUT
4218 B.12.1 Machine-readable 'update' and 'install' output
4219 -----------------------------------------------------
4221 The output format is as follows:
4223 fieldname "\t" value
4226 pkgname status localrev serverrev size runtime esttot
4229 other output from post actions, not in machine readable form
4231 The header section currently has two fields: 'location-url' (the
4232 repository source from which updates are being drawn), and 'total-bytes'
4233 (the total number of bytes to be downloaded).
4235 The _localrev_ and _serverrev_ fields for each package are the
4236 revision numbers in the local installation and server repository,
4237 respectively. The _size_ field is the number of bytes to be downloaded,
4238 i.e., the size of the compressed tar file for a network installation,
4239 not the unpacked size. The runtime and esttot fields are only present
4240 for updated and auto-install packages, and contain the currently passed
4241 time since start of installation/updates and the estimated total time.
4243 Line endings may be either LF or CRLF depending on the current
4246 'location-url' _location_
4248 The _location_ may be a url (including 'file:///foo/bar/...'), or a
4249 directory name ('/foo/bar'). It is the package repository from
4250 which the new package information was drawn.
4252 'total-bytes' _count_
4254 The _count_ is simply a decimal number, the sum of the sizes of all
4255 the packages that need updating or installing (which are listed
4258 Then comes a line with only the literal string 'end-of-header'.
4260 Each following line until a line with literal string 'end-of-updates'
4261 reports on one package. The fields on each line are separated by a tab.
4262 Here are the fields.
4266 The TeX Live package identifier, with a possible platform suffix
4267 for executables. For instance, 'pdftex' and 'pdftex.i386-linux'
4268 are given as two separate packages, one on each line.
4272 The status of the package update. One character, as follows:
4276 The package was removed on the server.
4280 The package was removed in the local installation, even though
4281 a collection depended on it. (E.g., the user ran 'tlmgr
4286 Normal update is needed.
4290 Reversed non-update: the locally-installed version is newer
4291 than the version on the server.
4295 Automatically-determined need for installation, the package is
4296 new on the server and is (most probably) part of an installed
4301 Package will be installed and isn't present in the local
4302 installation (action install).
4306 Package is already present but will be reinstalled (action
4311 The revision number of the installed package, or '-' if it is not
4316 The revision number of the package on the server, or '-' if it is
4317 not present on the server.
4321 The size in bytes of the package on the server. The sum of all the
4322 package sizes is given in the 'total-bytes' header field mentioned
4327 The run time since start of installations or updates.
4331 The estimated total time.
4334 File: tlbuild.info, Node: tlmgr Machine-readable 'option' output, Prev: tlmgr Machine-readable 'update' and 'install' output, Up: tlmgr MACHINE-READABLE OUTPUT
4336 B.12.2 Machine-readable 'option' output
4337 ---------------------------------------
4339 The output format is as follows:
4343 If a value is not saved in the database the string '(not set)' is
4346 If you are developing a program that uses this output, and find that
4347 changes would be helpful, do not hesitate to write the mailing list.
4350 File: tlbuild.info, Node: tlmgr AUTHORS AND COPYRIGHT, Prev: tlmgr MACHINE-READABLE OUTPUT, Up: tlmgr
4352 B.13 AUTHORS AND COPYRIGHT
4353 ==========================
4355 This script and its documentation were written for the TeX Live
4356 distribution (<http://tug.org/texlive>) and both are licensed under the
4357 GNU General Public License Version 2 or later.
4360 File: tlbuild.info, Node: Index, Prev: tlmgr, Up: Top
4368 * --bindir configure option: '--prefix' '--bindir' ....
4370 * --bindir configure option <1>: '--enable-multiplatform'.
4372 * --build=HOST: Cross configuring. (line 6)
4373 * --disable-all-packages configure option: Build one package. (line 6)
4374 * --disable-all-pkgs: '--disable-all-pkgs'. (line 6)
4375 * --disable-bibtex8: Configure options for 'texk/bibtex-x'.
4377 * --disable-bibtexu: Configure options for 'texk/bibtex-x'.
4379 * --disable-dump-share: Configure options for 'texk/web2c'.
4381 * --disable-dvipdfmx: Configure options for 'texk/dvipdfm-x'.
4383 * --disable-etex-synctex: Configure options for 'texk/web2c'.
4385 * --disable-ipc: Configure options for 'texk/web2c'.
4387 * --disable-largefile: '--disable-largefile'.
4389 * --disable-linked-scripts: Configure options for 'texk/texlive'.
4391 * --disable-mf-nowin: Configure options for 'texk/web2c'.
4393 * --disable-missing: '--disable-missing'. (line 6)
4394 * --disable-native-texlive-build: '--disable-native-texlive-build'.
4396 * --disable-PROG: '--enable-PROG' '--disable-PROG'.
4398 * --disable-synctex: Configure options for 'texk/web2c'.
4400 * --disable-tex: Configure options for 'texk/web2c'.
4402 * --disable-web-progs: Configure options for 'texk/web2c'.
4404 * --disable-xdvipdfmx: Configure options for 'texk/dvipdfm-x'.
4406 * --enable-*win for Metafont window support: Configure options for 'texk/web2c'.
4408 * --enable-auto-core: Configure options for 'texk/web2c'.
4410 * --enable-compiler-warnings=LEVEL: '--enable-compiler-warnings='LEVEL.
4412 * --enable-cxx-runtime-hack configure option: Macros for compilers.
4414 * --enable-etex: Configure options for 'texk/web2c'.
4416 * --enable-libtool-hack: Configure options for 'texk/web2c'.
4418 * --enable-maintainer-mode: '--enable-maintainer-mode'.
4420 * --enable-maintainer-mode configure option: Build system tools.
4422 * --enable-mktextfm-default: 'kpathsea' library. (line 20)
4423 * --enable-multiplatform: '--enable-multiplatform'.
4425 * --enable-PROG: '--enable-PROG' '--disable-PROG'.
4427 * --enable-shared: '--enable-shared'. (line 6)
4428 * --enable-silent-rules: '--enable-silent-rules'.
4430 * --enable-tex-synctex: Configure options for 'texk/web2c'.
4432 * --enable-texlive-build: '--disable-native-texlive-build'.
4434 * --enable-xi2-scrolling: Configure options for 'texk/xdvik'.
4436 * --enable-xindy-docs: Configure options for 'utils/xindy'.
4438 * --enable-xindy-rules: Configure options for 'utils/xindy'.
4440 * --host=HOST: Cross configuring. (line 6)
4441 * --libdir configure option: '--enable-multiplatform'.
4443 * --no-clean Build option: Build problems. (line 6)
4444 * --prefix configure option: '--prefix' '--bindir' ....
4446 * --with-banner-add=STR: Configure options for 'texk/web2c'.
4448 * --with-clisp-runtime=FILENAME: Configure options for 'utils/xindy'.
4450 * --with-editor=CMD: Configure options for 'texk/web2c'.
4452 * --with-fontconfig-includes=DIR: Configure options for 'texk/web2c'.
4454 * --with-fontconfig-libdir=DIR: Configure options for 'texk/web2c'.
4456 * --with-gs=FILENAME: Configure options for 'texk/xdvik'.
4458 * --with-LIB-includes=DIR, -libdir: Library-specific configure options.
4460 * --with-libgs-includes, -libdir: Configure options for 'texk/dvisvgm'.
4462 * --with-system-kpathsea: 'kpathsea' library. (line 14)
4463 * --with-system-LIB: Adding a new generic library module.
4465 * --with-system-LIB <1>: Library-specific configure options.
4467 * --with-system-libgs: Configure options for 'texk/dvisvgm'.
4469 * --with-system-poppler: Configure options for system 'poppler'.
4471 * --with-system-xpdf: Configure options for system 'poppler'.
4473 * --with-xdvi-x-toolkit: 'xdvik' package. (line 21)
4474 * --with-xdvi-x-toolkit=KIT: Configure options for 'texk/xdvik'.
4476 * --without-libgs: Configure options for 'texk/dvisvgm'.
4478 * --without-ln-s: '--without-ln-s'. (line 6)
4479 * --without-x: '--without-x'. (line 6)
4480 * -C configure option: Build in parallel. (line 11)
4481 * -j make option: Build in parallel. (line 6)
4482 * adapting TeX Live for distros: Distro builds. (line 54)
4483 * adding a new generic library: Adding a new generic library module.
4485 * adding a new program: Adding a new program module.
4487 * adding a new TeX-specific library: Adding a new TeX-specific library module.
4489 * adding to TeX Live: Extending TeX Live. (line 6)
4490 * 'am/' top-level directory: Top-level directories.
4492 * ANSI C: Declarations and definitions.
4494 * asymptote: Linked scripts. (line 22)
4495 * asymptote <1>: 'asymptote'. (line 6)
4496 * Autoconf: Overview of build system.
4498 * autoconf macros: Autoconf macros. (line 6)
4499 * Automake: Overview of build system.
4501 * biber: Linked scripts. (line 22)
4502 * bibtex-x: Configure options for 'texk/bibtex-x'.
4504 * bibtex8: Configure options for 'texk/bibtex-x'.
4506 * bibtexu: Configure options for 'texk/bibtex-x'.
4508 * BSD distro: Distro builds. (line 6)
4509 * build directory, required: Building. (line 17)
4510 * build iteration: Build iteration. (line 6)
4511 * build on demand: Build one package. (line 6)
4512 * build one package: Build one package. (line 6)
4513 * build problems: Build problems. (line 6)
4514 * Build script: Building. (line 6)
4515 * build system, design of: Overview of build system.
4517 * BUILDCC, BUILDCFLAGS, ...: Cross configuring. (line 42)
4518 * building: Building. (line 6)
4519 * building a distribution: Build distribution. (line 6)
4520 * building in parallel: Build in parallel. (line 6)
4521 * C, ANSI, required: Declarations and definitions.
4523 * C99, avoided: Declarations and definitions.
4525 * cache file, for 'configure': Build in parallel. (line 11)
4526 * cache for 'configure': Build in parallel. (line 6)
4527 * callexe.c: Macros for Windows. (line 32)
4528 * CC: Variables for configure.
4530 * CC_BUILD: Cross problems. (line 13)
4531 * chktex: Declarations and definitions.
4533 * clisp: Variables for configure.
4535 * CLISP: Variables for configure.
4537 * CLISP <1>: Configure options for 'utils/xindy'.
4539 * 'clisp', required by 'xindy': Prerequisites. (line 30)
4540 * coding conventions: Coding conventions. (line 6)
4541 * compilers, C and C++: Prerequisites. (line 6)
4542 * config.guess, config.sub: Top-level directories.
4544 * 'configure' options: Configure options. (line 6)
4545 * 'configure' options, for 'bibtex-x': Configure options for 'texk/bibtex-x'.
4547 * 'configure' options, for 'dvipdfm-x': Configure options for 'texk/dvipdfm-x'.
4549 * 'configure' options, for 'dvisvgm': Configure options for 'texk/dvisvgm'.
4551 * 'configure' options, for 'kpathsea': Configure options for 'kpathsea'.
4553 * 'configure' options, for system 'poppler': Configure options for system 'poppler'.
4555 * 'configure' options, for 'texk/texlive': Configure options for 'texk/texlive'.
4557 * 'configure' options, for 'web2c': Configure options for 'texk/web2c'.
4559 * 'configure' options, for 'xdvik': Configure options for 'texk/xdvik'.
4561 * 'configure' options, for 'xindy': Configure options for 'utils/xindy'.
4563 * 'configure' options, global: Global configure options.
4565 * 'configure' options, library-specific: Library-specific configure options.
4567 * 'configure' options, program-specific: Program-specific configure options.
4569 * 'configure' variables: Variables for configure.
4571 * configuring, for cross compilation: Cross configuring. (line 6)
4572 * 'const': Const. (line 6)
4573 * conventions, coding: Coding conventions. (line 6)
4574 * CPPFLAGS: Variables for configure.
4576 * cross compilation: Cross compilation. (line 6)
4577 * cross compilation configuring: Cross configuring. (line 6)
4578 * cross compilation problems: Cross problems. (line 6)
4579 * cross compilation, with host binary: 'xdvik' package. (line 14)
4580 * ctangle: Cross problems. (line 26)
4581 * CXX: Variables for configure.
4583 * declarations and definitions, in source code: Declarations and definitions.
4585 * dependencies, with several output files: Build in parallel. (line 6)
4586 * DESTDIR: '--prefix' '--bindir' ....
4588 * directories, for installation: Installation directories.
4590 * directories, top-level: Top-level directories.
4592 * discards qualifiers warning: Const. (line 30)
4593 * 'dist' and 'distcheck' targets for 'make': Build distribution.
4595 * distribution tarball, making: Build distribution. (line 6)
4596 * distro, building for: Distro builds. (line 6)
4597 * dvipdfmx: Configure options for 'texk/dvipdfm-x'.
4599 * dvisvgm: Configure options for 'texk/dvisvgm'.
4601 * environment variables, for 'configure': Configure options. (line 16)
4602 * exec_prefix: '--enable-multiplatform'.
4604 * extending TeX Live: Extending TeX Live. (line 6)
4605 * 'extern' functions: Declarations and definitions.
4607 * 'extra/' top-level directory: Top-level directories.
4609 * failure to build: Build problems. (line 6)
4610 * 'ffcall', required by 'xindy': Prerequisites. (line 30)
4611 * flags, macros for library and header: Macros for library and header flags.
4613 * 'fontconfig' library, required by 'xetex': Prerequisites. (line 27)
4614 * FreeType: Prerequisites. (line 11)
4615 * 'freetype' cross compiling: Cross problems. (line 13)
4616 * freetype library: 'freetype' library. (line 6)
4617 * freetype-config: 'freetype' library. (line 6)
4618 * freetype-config <1>: Variables for configure.
4620 * FT2_CONFIG: Variables for configure.
4622 * general setup macros: General setup macros. (line 6)
4623 * generic library module, adding: Adding a new generic library module.
4625 * global 'configure' options: Global configure options.
4627 * 'gmake', required: Prerequisites. (line 11)
4628 * GNU 'make', required: Prerequisites. (line 11)
4629 * GNU tools, needed for building: Build system tools. (line 6)
4630 * GNU/Linux distro: Distro builds. (line 6)
4631 * Gnulib, used for common files: Top-level directories.
4633 * ICU cross compiling: Cross problems. (line 20)
4634 * ICU libraries: Variables for configure.
4636 * icu-config: Variables for configure.
4638 * ICU_CONFIG: Variables for configure.
4640 * infrastructure, tools needed for: Build system tools. (line 6)
4641 * install-tl, TeX Live installer: Installing. (line 8)
4642 * installation directories: Installation directories.
4644 * installing: Installing. (line 6)
4645 * interprocess communication: Configure options for 'texk/web2c'.
4647 * introduction: Introduction. (line 6)
4648 * iteration through sources, by 'configure' and 'make': Build iteration.
4650 * kpathsea library: 'kpathsea' library. (line 6)
4651 * kpathsea.ac: 'kpathsea' library. (line 20)
4652 * kpse-libpng-flags.m4: 'png' library. (line 43)
4653 * kpse-pkgs.m4: Overview of build system.
4655 * kpse-zlib-flags.m4: 'zlib' library. (line 6)
4656 * kpsewhich: Variables for configure.
4658 * KPSEWHICH: Variables for configure.
4660 * KPSE_ADD_FLAGS: Macros for library and header flags.
4662 * KPSE_ALL_SYSTEM_FLAGS: Adding a new generic library module.
4664 * KPSE_BASIC: General setup macros. (line 8)
4665 * KPSE_CHECK_LATEX: Macros for programs. (line 8)
4666 * KPSE_CHECK_PDFLATEX: Macros for programs. (line 15)
4667 * KPSE_CHECK_PERL: Macros for programs. (line 18)
4668 * KPSE_CHECK_WIN32: Macros for Windows. (line 9)
4669 * KPSE_COMMON: General setup macros. (line 16)
4670 * KPSE_COMPILER_VISIBILITY: Macros for compilers. (line 18)
4671 * KPSE_COMPILER_WARNINGS: Macros for compilers. (line 8)
4672 * KPSE_COND_MINGW32: Macros for Windows. (line 19)
4673 * KPSE_COND_WIN32: Macros for Windows. (line 15)
4674 * KPSE_COND_WIN32_WRAP: Macros for Windows. (line 24)
4675 * kpse_cv_cxx_hack: Macros for compilers. (line 34)
4676 * kpse_cv_have_win32: Macros for Windows. (line 10)
4677 * kpse_cv_visibility_c[xx]flags: Macros for compilers. (line 25)
4678 * kpse_cv_warning_cflags: Macros for compilers. (line 15)
4679 * KPSE_CXX_HACK: Macros for compilers. (line 28)
4680 * KPSE_ENABLE_PROG: Adding a new program module.
4682 * KPSE_LARGEFILE: Macros for libraries. (line 8)
4683 * KPSE_LIBPNG_FLAGS: Macros for library and header flags.
4685 * KPSE_LIBPNG_FLAGS <1>: 'png' library. (line 43)
4686 * kpse_libs_pkgs: Adding a new generic library module.
4688 * KPSE_LIB_FLAGS: Macros for library and header flags.
4690 * KPSE_LIB_FLAGS <1>: Adding a new generic library module.
4692 * KPSE_LIB_SYSTEM_FLAGS: Adding a new generic library module.
4694 * KPSE_PROG_LEX: Macros for programs. (line 21)
4695 * KPSE_RESTORE_FLAGS: Macros for library and header flags.
4697 * kpse_texk_pkgs: Adding a new program module.
4699 * kpse_texlibs_pkgs: Adding a new TeX-specific library module.
4701 * KPSE_TRY_LIB: 'png' library. (line 18)
4702 * KPSE_TRY_LIB <1>: Adding a new generic library module.
4704 * KPSE_TRY_LIBXX: 'png' library. (line 31)
4705 * KPSE_TRY_LIBXX <1>: Adding a new generic library module.
4707 * kpse_utils_pkgs: Adding a new program module.
4709 * KPSE_WIN32_CALL: Macros for Windows. (line 31)
4710 * KPSE_WITH_LIB: Adding a new generic library module.
4712 * KPSE_WITH_TEXLIB: Adding a new TeX-specific library module.
4714 * large file support: '--disable-largefile'.
4716 * LATEX: Variables for configure.
4718 * layout of sources: Layout and infrastructure.
4720 * LFS (large file support): '--disable-largefile'.
4722 * libfreetype: Variables for configure.
4724 * 'libfreetype', and 'const': Const. (line 21)
4725 * libpng library: 'png' library. (line 6)
4726 * library module, generic, adding: Adding a new generic library module.
4728 * library module, TeX-specific, adding: Adding a new TeX-specific library module.
4730 * library modules: Library modules. (line 6)
4731 * library-specific 'configure' options: Library-specific configure options.
4733 * libstc++, statically linking: Macros for compilers. (line 29)
4734 * Libtool: Overview of build system.
4736 * libtool, hack for avoiding excessive linking: Configure options for 'texk/web2c'.
4738 * libXt: Configure options for 'texk/web2c'.
4740 * linked scripts: Linked scripts. (line 6)
4741 * linking C++ libraries statically: Macros for compilers. (line 29)
4742 * lisp.run, lisp.exe: Configure options for 'utils/xindy'.
4744 * LittleEndian architectures: Configure options for 'texk/web2c'.
4746 * 'm4/' top-level directory: Top-level directories.
4748 * macros, for compilers: Macros for compilers. (line 6)
4749 * macros, for libraries: Macros for libraries. (line 6)
4750 * macros, for library and header flags: Macros for library and header flags.
4752 * macros, for programs: Macros for programs. (line 6)
4753 * macros, for Windows: Macros for Windows. (line 6)
4754 * macros, general setup: General setup macros. (line 6)
4755 * MAKE: Variables for configure.
4757 * make -t: Build system tools. (line 39)
4758 * mf-nowin: Configure options for 'texk/web2c'.
4760 * 'mingw32': Cross configuring. (line 27)
4761 * MINGW32, Automake conditional: Macros for Windows. (line 20)
4762 * mktex.ac: 'kpathsea' library. (line 20)
4763 * mktextfm: 'kpathsea' library. (line 20)
4764 * modules, for libraries: Library modules. (line 6)
4765 * modules, for programs: Program modules. (line 6)
4766 * motif: Configure options for 'texk/xdvik'.
4768 * native cross compilation: Cross compilation. (line 10)
4769 * one package, building: Build one package. (line 6)
4770 * OpenGL, required for Asymptote: 'asymptote'. (line 6)
4771 * operating system distribution, building for: Distro builds. (line 6)
4772 * otangle: Cross problems. (line 26)
4773 * overall build process: Building. (line 6)
4774 * parallel build: Build in parallel. (line 6)
4775 * paths, for installation: Installation directories.
4777 * PDF files, size of: '--disable-largefile'.
4779 * PDFLATEX: Variables for configure.
4781 * PERL: Variables for configure.
4783 * 'perl', required by 'web2c', etc.: Prerequisites. (line 19)
4784 * PKG_CONFIG: Variables for configure.
4786 * plain.tex, not in source tree: Installing. (line 8)
4787 * png library: 'png' library. (line 6)
4788 * poppler: Configure options for system 'poppler'.
4790 * PostScript files, size of: '--disable-largefile'.
4792 * Preining, Norbert: Distro builds. (line 54)
4793 * preloaded binaries: Configure options for 'texk/web2c'.
4795 * prerequisites for building: Prerequisites. (line 6)
4796 * problems with build: Build problems. (line 6)
4797 * program module, adding: Adding a new program module.
4799 * program modules: Program modules. (line 6)
4800 * program-specific 'configure' options: Program-specific configure options.
4802 * reautoconf: Build system tools. (line 28)
4803 * requirements for building: Prerequisites. (line 6)
4804 * runscript.exe: Macros for Windows. (line 25)
4805 * scripts, linked and not maintained: Linked scripts. (line 6)
4806 * scrolling: Configure options for 'texk/xdvik'.
4808 * SED: Variables for configure.
4810 * setup macros, general: General setup macros. (line 6)
4811 * shared libraries, using vs. avoiding: Distro builds. (line 11)
4812 * size of PDF and PS files: '--disable-largefile'.
4814 * size of source tree: Build one package. (line 57)
4815 * source code declarations: Declarations and definitions.
4817 * source directory building, not supported: Building. (line 17)
4818 * source tree: Layout and infrastructure.
4820 * squeeze: Cross problems. (line 13)
4821 * squeeze/configure.ac: 'xdvik' package. (line 14)
4822 * 'static' functions: Declarations and definitions.
4824 * static linking for C++: Macros for compilers. (line 29)
4825 * stpcpy: Declarations and definitions.
4827 * Subversion repository: Build system tools. (line 34)
4828 * support files, separate from build: Installing. (line 8)
4829 * symlinks, used for scripts: Linked scripts. (line 6)
4830 * synctex: Configure options for 'texk/web2c'.
4832 * synctex <1>: Configure options for 'texk/web2c'.
4834 * system distribution, building for: Distro builds. (line 6)
4835 * t1utils package: 't1utils' package. (line 6)
4836 * tangle: Cross problems. (line 26)
4837 * tests, running: Overview of build system.
4839 * TeX-specific library module, adding: Adding a new TeX-specific library module.
4841 * texlive.tlpdb, TeX Live database: Installing. (line 8)
4842 * tie: Cross problems. (line 26)
4843 * timestamps, in repository: Build system tools. (line 34)
4844 * tools, for building: Build system tools. (line 6)
4845 * top-level directories: Top-level directories.
4847 * touching files to avoid rerunning: Build system tools. (line 39)
4848 * type cast, avoiding: Const. (line 38)
4849 * use-commit-times, Subversion: Build system tools. (line 34)
4850 * variable declarations, in source code: Declarations and definitions.
4852 * variables for 'configure': Variables for configure.
4854 * warning, discards qualifiers: Const. (line 30)
4855 * WARNING_C[XX]FLAGS: Macros for compilers. (line 9)
4856 * web2c program: Cross problems. (line 13)
4857 * web2c.ac: Configure options for 'texk/web2c'.
4859 * wget: Linked scripts. (line 22)
4860 * WIN32, Automake conditional: Macros for Windows. (line 16)
4861 * WIN32_WRAP, Automake conditional: Macros for Windows. (line 25)
4862 * Windows, invoking scripts on: Linked scripts. (line 6)
4863 * Windows, macros for: Macros for Windows. (line 6)
4864 * withenable.ac, for new modules: Adding a new program module.
4866 * wrapper binary for scripts on Windows: Linked scripts. (line 6)
4867 * X toolkit: Configure options for 'texk/web2c'.
4869 * X11 headers, and 'const': Const. (line 21)
4870 * X11, required by X clients: Prerequisites. (line 23)
4871 * xasy: 'asymptote'. (line 6)
4872 * xaw: Configure options for 'texk/xdvik'.
4874 * xdvik: 'xdvik' package. (line 6)
4875 * xdvik <1>: Configure options for 'texk/xdvik'.
4877 * xdvipdfmx: Configure options for 'texk/dvipdfm-x'.
4879 * xindy: Linked scripts. (line 22)
4880 * xindy <1>: 'xindy' package. (line 6)
4881 * xindy <2>: Configure options for 'utils/xindy'.
4883 * 'xindy' cross compiling impossible: Cross problems. (line 33)
4884 * XInput: Configure options for 'texk/xdvik'.
4886 * Xlib: Configure options for 'texk/web2c'.
4888 * xpdf as library: Configure options for system 'poppler'.
4890 * xz: Linked scripts. (line 22)
4891 * zlib library: 'zlib' library. (line 6)
4897 Node: Introduction
\x7f1948
4898 Node: Overview of build system
\x7f3708
4899 Node: Prerequisites
\x7f5772
4900 Node: Building
\x7f7834
4901 Node: Build iteration
\x7f9053
4902 Node: Build problems
\x7f10125
4903 Node: Build in parallel
\x7f10528
4904 Node: Build distribution
\x7f11120
4905 Node: Build one package
\x7f11691
4906 Node: Installing
\x7f14467
4907 Node: Installation directories
\x7f15482
4908 Node: Linked scripts
\x7f17298
4909 Node: Distro builds
\x7f18779
4910 Node: Layout and infrastructure
\x7f21169
4911 Node: Build system tools
\x7f21958
4912 Node: Top-level directories
\x7f23967
4913 Node: Autoconf macros
\x7f26008
4914 Node: General setup macros
\x7f26709
4915 Node: Macros for programs
\x7f27576
4916 Node: Macros for compilers
\x7f28388
4917 Node: Macros for libraries
\x7f29822
4918 Node: Macros for library and header flags
\x7f30248
4919 Node: Macros for Windows
\x7f32128
4920 Node: Library modules
\x7f33705
4921 Node: 'png' library
\x7f34202
4922 Node: 'zlib' library
\x7f36495
4923 Node: 'freetype' library
\x7f37016
4924 Node: 'kpathsea' library
\x7f37550
4925 Node: Program modules
\x7f38953
4926 Node: 't1utils' package
\x7f39389
4927 Node: 'xindy' package
\x7f39956
4928 Node: 'xdvik' package
\x7f41141
4929 Node: 'asymptote'
\x7f42220
4930 Node: Extending TeX Live
\x7f42675
4931 Node: Adding a new program module
\x7f43043
4932 Node: Adding a new generic library module
\x7f44562
4933 Node: Adding a new TeX-specific library module
\x7f46775
4934 Node: Configure options
\x7f47462
4935 Node: Global configure options
\x7f48844
4936 Node: '--disable-native-texlive-build'
\x7f49412
4937 Node: '--prefix' '--bindir' ...
\x7f50408
4938 Node: '--disable-largefile'
\x7f50956
4939 Node: '--disable-missing'
\x7f51649
4940 Node: '--enable-compiler-warnings='LEVEL
\x7f52056
4941 Node: '--enable-cxx-runtime-hack'
\x7f52801
4942 Node: '--enable-maintainer-mode'
\x7f53234
4943 Node: '--enable-multiplatform'
\x7f53769
4944 Node: '--enable-shared'
\x7f54313
4945 Node: '--enable-silent-rules'
\x7f54690
4946 Node: '--without-ln-s'
\x7f55152
4947 Node: '--without-x'
\x7f55509
4948 Node: Program-specific configure options
\x7f55701
4949 Node: '--enable-PROG' '--disable-PROG'
\x7f56364
4950 Node: '--disable-all-pkgs'
\x7f56647
4951 Node: Configure options for 'texk/web2c'
\x7f57641
4952 Node: Configure options for 'texk/bibtex-x'
\x7f60165
4953 Node: Configure options for 'texk/dvipdfm-x'
\x7f60714
4954 Node: Configure options for 'texk/dvisvgm'
\x7f61493
4955 Node: Configure options for 'texk/texlive'
\x7f62385
4956 Node: Configure options for 'texk/xdvik'
\x7f62812
4957 Node: Configure options for 'utils/xindy'
\x7f63422
4958 Node: Library-specific configure options
\x7f64327
4959 Node: Configure options for 'kpathsea'
\x7f65342
4960 Node: Configure options for system 'poppler'
\x7f66055
4961 Node: Variables for configure
\x7f66852
4962 Node: Cross compilation
\x7f68280
4963 Node: Cross configuring
\x7f69579
4964 Node: Cross problems
\x7f71252
4965 Node: Coding conventions
\x7f72899
4966 Node: Declarations and definitions
\x7f73568
4967 Node: Const
\x7f75750
4968 Node: install-tl
\x7f77613
4969 Node: install-tl NAME
\x7f77954
4970 Node: install-tl SYNOPSIS
\x7f78112
4971 Node: install-tl DESCRIPTION
\x7f78320
4972 Node: install-tl REFERENCES
\x7f79321
4973 Node: install-tl OPTIONS
\x7f79837
4974 Ref: install-tl *-gui* [[=]_module_]
\x7f80191
4975 Ref: install-tl 'text'
\x7f80400
4976 Ref: install-tl 'wizard'
\x7f80523
4977 Ref: install-tl 'perltk'
\x7f80677
4978 Ref: install-tl *-no-gui*
\x7f81111
4979 Ref: install-tl *-lang* _llcode_
\x7f81192
4980 Ref: install-tl *-repository* _url|path_
\x7f81879
4981 Ref: install-tl *-select-repository*
\x7f83690
4982 Ref: install-tl *-all-options*
\x7f84126
4983 Ref: install-tl *-custom-bin* _path_
\x7f84433
4984 Ref: install-tl *-debug-translation*
\x7f85088
4985 Ref: install-tl *-force-platform* _platform_
\x7f85307
4986 Ref: install-tl *-help*, *--help*, *-?*
\x7f85551
4987 Ref: install-tl *-in-place*
\x7f85944
4988 Ref: install-tl *-logfile* _file_
\x7f86471
4989 Ref: install-tl *-no-cls*
\x7f86822
4990 Ref: install-tl *-non-admin*
\x7f86953
4991 Ref: install-tl *--persistent-downloads*
\x7f87058
4992 Ref: install-tl *--no-persistent-downloads*
\x7f87086
4993 Ref: install-tl *-portable*
\x7f87694
4994 Ref: install-tl *-print-platform*
\x7f87833
4995 Ref: install-tl *-profile* _profile_
\x7f88026
4996 Ref: install-tl *-q*
\x7f89520
4997 Ref: install-tl *-scheme* _scheme_
\x7f89582
4998 Ref: install-tl *-v*
\x7f90056
4999 Ref: install-tl *-version*, *--version*
\x7f90217
5000 Node: install-tl ENVIRONMENT VARIABLES
\x7f90348
5001 Ref: install-tl 'TEXLIVE_INSTALL_ENV_NOCHECK'
\x7f90737
5002 Ref: install-tl 'TEXLIVE_INSTALL_NO_CONTEXT_CACHE'
\x7f90939
5003 Ref: install-tl 'TEXLIVE_INSTALL_PREFIX'
\x7f91045
5004 Ref: install-tl 'TEXLIVE_INSTALL_TEXMFCONFIG'
\x7f91076
5005 Ref: install-tl 'TEXLIVE_INSTALL_TEXMFHOME'
\x7f91105
5006 Ref: install-tl 'TEXLIVE_INSTALL_TEXMFLOCAL'
\x7f91135
5007 Ref: install-tl 'TEXLIVE_INSTALL_TEXMFSYSCONFIG'
\x7f91169
5008 Ref: install-tl 'TEXLIVE_INSTALL_TEXMFSYSVAR'
\x7f91200
5009 Ref: install-tl 'TEXLIVE_INSTALL_TEXMFVAR'
\x7f91228
5010 Ref: install-tl 'NOPERLDOC'
\x7f91283
5011 Node: install-tl AUTHORS AND COPYRIGHT
\x7f91347
5012 Node: tlmgr
\x7f91705
5013 Node: tlmgr NAME
\x7f92142
5014 Node: tlmgr SYNOPSIS
\x7f92267
5015 Node: tlmgr DESCRIPTION
\x7f92457
5016 Node: tlmgr EXAMPLES
\x7f93553
5017 Ref: tlmgr 'tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet'
\x7f93844
5018 Ref: tlmgr 'tlmgr update --list'
\x7f94025
5019 Ref: tlmgr 'tlmgr update --all'
\x7f94118
5020 Ref: tlmgr 'tlmgr info' _pkg_
\x7f94274
5021 Node: tlmgr OPTIONS
\x7f94480
5022 Ref: tlmgr *--repository* _url|path_
\x7f95000
5023 Ref: tlmgr *--gui* [_action_]
\x7f95725
5024 Ref: tlmgr *--gui-lang* _llcode_
\x7f96132
5025 Ref: tlmgr *--debug-translation*
\x7f96815
5026 Ref: tlmgr *--machine-readable*
\x7f97018
5027 Ref: tlmgr *--no-execute-actions*
\x7f97286
5028 Ref: tlmgr *--package-logfile* _file_
\x7f97479
5029 Ref: tlmgr *--pause*
\x7f97734
5030 Ref: tlmgr *--persistent-downloads*
\x7f97889
5031 Ref: tlmgr *--no-persistent-downloads*
\x7f97917
5032 Ref: tlmgr *--pin-file*
\x7f98411
5033 Ref: tlmgr *--usermode*
\x7f98629
5034 Ref: tlmgr *--usertree* _dir_
\x7f98749
5035 Node: tlmgr ACTIONS
\x7f99299
5036 Node: tlmgr help
\x7f100531
5037 Node: tlmgr version
\x7f101007
5038 Node: tlmgr backup [--clean[=_N_]] [--backupdir _dir_] [--all | _pkg_]...
\x7f101325
5039 Ref: tlmgr *--backupdir* _directory_
\x7f102419
5040 Ref: tlmgr *--all*
\x7f102616
5041 Ref: tlmgr *--clean*[=_N_]
\x7f102838
5042 Ref: tlmgr *--dry-run*
\x7f103135
5043 Node: tlmgr candidates _pkg_
\x7f103255
5044 Ref: tlmgr *candidates _pkg_* 1
\x7f103542
5045 Node: tlmgr check [_option_]... [files|depends|executes|runfiles|all]
\x7f103686
5046 Ref: tlmgr *files*
\x7f104129
5047 Ref: tlmgr *depends*
\x7f104264
5048 Ref: tlmgr *executes*
\x7f104606
5049 Ref: tlmgr *runfiles*
\x7f104724
5050 Ref: tlmgr *--use-svn*
\x7f104836
5051 Node: tlmgr conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]
\x7f104953
5052 Node: tlmgr dump-tlpdb [--local|--remote]
\x7f107025
5053 Ref: tlmgr *--local*
\x7f107535
5054 Ref: tlmgr *--remote*
\x7f107574
5055 Node: tlmgr generate [_option_]... _what_
\x7f107996
5056 Ref: tlmgr *generate language*
\x7f108237
5057 Ref: tlmgr *generate language.dat*
\x7f108262
5058 Ref: tlmgr *generate language.def*
\x7f108287
5059 Ref: tlmgr *generate language.dat.lua*
\x7f108316
5060 Ref: tlmgr *generate fmtutil*
\x7f108336
5061 Ref: tlmgr *--dest* _output_file_
\x7f110573
5062 Ref: tlmgr *--localcfg* _local_conf_file_
\x7f111149
5063 Ref: tlmgr *--rebuild-sys*
\x7f111272
5064 Node: tlmgr gui
\x7f112133
5065 Node: tlmgr info [_option_...] [collections|schemes|_pkg_...]
\x7f112377
5066 Ref: tlmgr *--list*
\x7f113582
5067 Ref: tlmgr *--only-installed*
\x7f113861
5068 Ref: tlmgr *--taxonomy*
\x7f114076
5069 Ref: tlmgr *--keyword*
\x7f114088
5070 Ref: tlmgr *--functionality*
\x7f114106
5071 Ref: tlmgr *--characterization*
\x7f114127
5072 Node: tlmgr init-usertree
\x7f114340
5073 Node: tlmgr install [_option_]... _pkg_...
\x7f114766
5074 Ref: tlmgr *--file*
\x7f115130
5075 Ref: tlmgr *--reinstall*
\x7f115356
5076 Ref: tlmgr *--no-depends*
\x7f115736
5077 Ref: tlmgr *--no-depends-at-all*
\x7f115895
5078 Ref: tlmgr *--dry-run* 1
\x7f116293
5079 Ref: tlmgr *--force*
\x7f116411
5080 Node: tlmgr option
\x7f116617
5081 Ref: tlmgr *option [show]*
\x7f116790
5082 Ref: tlmgr *option showall*
\x7f116808
5083 Ref: tlmgr *option _key_ [_value_]*
\x7f116834
5084 Node: tlmgr paper
\x7f120682
5085 Ref: tlmgr *paper [a4|letter]*
\x7f120867
5086 Ref: tlmgr *[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|--list]*
\x7f120941
5087 Node: tlmgr path [--w32mode=user|admin] [add|remove]
\x7f121968
5088 Node: tlmgr pinning
\x7f123451
5089 Ref: tlmgr 'pinning show'
\x7f123758
5090 Ref: tlmgr 'pinning add' _repo_ _pkgglob_...
\x7f123831
5091 Ref: tlmgr 'pinning remove' _repo_ _pkgglob_...
\x7f123950
5092 Ref: tlmgr 'pinning remove _repo_ --all'
\x7f124103
5093 Node: tlmgr platform list|add|remove _platform_...
\x7f124157
5094 Node: tlmgr platform set _platform_
\x7f124405
5095 Node: tlmgr platform set auto
\x7f124633
5096 Ref: tlmgr *--dry-run* 2
\x7f125750
5097 Node: tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] [install|remove] [shortcut|fileassoc|script] [_pkg_]...
\x7f125859
5098 Node: tlmgr print-platform
\x7f127161
5099 Node: tlmgr restore [--backupdir _dir_] [--all | _pkg_ [_rev_]]
\x7f127633
5100 Ref: tlmgr *--all* 1
\x7f128529
5101 Ref: tlmgr *--backupdir* _directory_ 1
\x7f128723
5102 Ref: tlmgr *--dry-run* 3
\x7f128879
5103 Ref: tlmgr *--force* 1
\x7f128996
5104 Node: tlmgr remove [_option_]... _pkg_...
\x7f129024
5105 Ref: tlmgr *--no-depends* 1
\x7f129547
5106 Ref: tlmgr *--no-depends-at-all* 1
\x7f129609
5107 Ref: tlmgr *--force* 2
\x7f129665
5108 Ref: tlmgr *--dry-run* 4
\x7f130137
5109 Node: tlmgr repository
\x7f130244
5110 Ref: tlmgr *repository list*
\x7f130452
5111 Ref: tlmgr *repository list _path|tag_*
\x7f130482
5112 Ref: tlmgr *repository add _path_ [_tag_]*
\x7f130515
5113 Ref: tlmgr *repository remove _path|tag_*
\x7f130547
5114 Ref: tlmgr *repository set _path_[#_tag_] [_path_[#_tag_] ...]*
\x7f130601
5115 Node: tlmgr search [_option_...] _what_
\x7f131685
5116 Node: tlmgr search [_option_...] --file _what_
\x7f132196
5117 Node: tlmgr search [_option_...] --taxonomy _what_
\x7f132447
5118 Node: tlmgr search [_option_...] --keyword _what_
\x7f132758
5119 Node: tlmgr search [_option_...] --functionality _what_
\x7f133076
5120 Node: tlmgr search [_option_...] --characterization _what_
\x7f133414
5121 Node: tlmgr search [_option_...] --all _what_
\x7f133754
5122 Ref: tlmgr *--global*
\x7f134202
5123 Ref: tlmgr *--word*
\x7f134314
5124 Ref: tlmgr *--list* 1
\x7f134553
5125 Ref: tlmgr *--file* 1
\x7f134899
5126 Ref: tlmgr *--taxonomy* 1
\x7f134956
5127 Ref: tlmgr *--keyword* 1
\x7f134968
5128 Ref: tlmgr *--functionality* 1
\x7f134986
5129 Ref: tlmgr *--characterization* 1
\x7f135007
5130 Ref: tlmgr *--all* 2
\x7f135162
5131 Node: tlmgr uninstall
\x7f135245
5132 Ref: tlmgr *--force* 3
\x7f135499
5133 Node: tlmgr update [_option_]... [_pkg_]...
\x7f135555
5134 Ref: tlmgr *--all* 3
\x7f135926
5135 Ref: tlmgr *--self*
\x7f137667
5136 Ref: tlmgr *--dry-run* 5
\x7f138431
5137 Ref: tlmgr *--list* [_pkg_]
\x7f138608
5138 Ref: tlmgr *--exclude* _pkg_
\x7f139297
5139 Ref: tlmgr *--no-auto-remove* [_pkg_]...
\x7f139990
5140 Ref: tlmgr *--no-auto-install* [_pkg_]...
\x7f140441
5141 Ref: tlmgr *--reinstall-forcibly-removed*
\x7f141097
5142 Ref: tlmgr *--backup* and *--backupdir* _directory_
\x7f141661
5143 Ref: tlmgr *--no-depends* 2
\x7f142842
5144 Ref: tlmgr *--no-depends-at-all* 2
\x7f143045
5145 Ref: tlmgr *--force* 4
\x7f143101
5146 Node: tlmgr USER MODE
\x7f143527
5147 Node: tlmgr user mode install
\x7f146338
5148 Node: tlmgr user mode backup; restore; remove; update
\x7f147285
5149 Node: tlmgr user mode generate; option; paper
\x7f147727
5150 Node: tlmgr CONFIGURATION FILE FOR TLMGR
\x7f148103
5151 Node: tlmgr TAXONOMIES
\x7f149194
5152 Ref: tlmgr '--keyword' 2
\x7f149820
5153 Ref: tlmgr '--functionality' 2
\x7f149905
5154 Ref: tlmgr '--characterization' 2
\x7f150061
5155 Ref: tlmgr '--taxonomy' 2
\x7f150202
5156 Node: tlmgr MULTIPLE REPOSITORIES
\x7f150743
5157 Node: tlmgr Pinning
\x7f152464
5158 Node: tlmgr GUI FOR TLMGR
\x7f154439
5159 Node: tlmgr Main display
\x7f155661
5160 Node: tlmgr Display configuration area
\x7f155913
5161 Ref: tlmgr Status
\x7f156274
5162 Ref: tlmgr Category
\x7f156438
5163 Ref: tlmgr Match
\x7f156624
5164 Ref: tlmgr Selection
\x7f156884
5165 Ref: tlmgr Display configuration buttons
\x7f157088
5166 Node: tlmgr Package list area
\x7f157271
5167 Ref: tlmgr a checkbox
\x7f157855
5168 Ref: tlmgr package name
\x7f157991
5169 Ref: tlmgr local revision (and version)
\x7f158090
5170 Ref: tlmgr remote revision (and version)
\x7f158465
5171 Ref: tlmgr short description
\x7f158762
5172 Node: tlmgr Main display action buttons
\x7f158807
5173 Ref: tlmgr Update all installed
\x7f159073
5174 Ref: tlmgr Update
\x7f159445
5175 Ref: tlmgr Install
\x7f159495
5176 Ref: tlmgr Remove
\x7f159681
5177 Ref: tlmgr Backup
\x7f159859
5178 Node: tlmgr Menu bar
\x7f160016
5179 Ref: tlmgr 'tlmgr' menu
\x7f160213
5180 Ref: tlmgr 'Options menu'
\x7f160521
5181 Ref: tlmgr 'Actions menu'
\x7f161604
5182 Ref: tlmgr 'Help menu'
\x7f162032
5183 Node: tlmgr MACHINE-READABLE OUTPUT
\x7f162165
5184 Node: tlmgr Machine-readable 'update' and 'install' output
\x7f162981
5185 Ref: tlmgr 'location-url' _location_
\x7f164263
5186 Ref: tlmgr 'total-bytes' _count_
\x7f164479
5187 Ref: tlmgr _pkgname_
\x7f164889
5188 Ref: tlmgr _status_
\x7f165099
5189 Ref: tlmgr 'd'
\x7f165177
5190 Ref: tlmgr 'f'
\x7f165237
5191 Ref: tlmgr 'u'
\x7f165416
5192 Ref: tlmgr 'r'
\x7f165462
5193 Ref: tlmgr 'a'
\x7f165585
5194 Ref: tlmgr 'i'
\x7f165763
5195 Ref: tlmgr 'I'
\x7f165882
5196 Ref: tlmgr _localrev_
\x7f165984
5197 Ref: tlmgr _serverrev_
\x7f166091
5198 Ref: tlmgr _size_
\x7f166203
5199 Ref: tlmgr _runtime_
\x7f166372
5200 Ref: tlmgr _esttot_
\x7f166442
5201 Node: tlmgr Machine-readable 'option' output
\x7f166475
5202 Node: tlmgr AUTHORS AND COPYRIGHT
\x7f166993
5203 Node: Index
\x7f167340