summaryrefslogtreecommitdiff
path: root/Build/source/README.5configure
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
committerKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
commitad547a6b5986815fda458221149728d9d9ab1d87 (patch)
tree16296910eb3eca724371474ea9aea3994dc69614 /Build/source/README.5configure
parent947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff)
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/README.5configure')
-rw-r--r--Build/source/README.5configure421
1 files changed, 421 insertions, 0 deletions
diff --git a/Build/source/README.5configure b/Build/source/README.5configure
new file mode 100644
index 00000000000..b1e00daac07
--- /dev/null
+++ b/Build/source/README.5configure
@@ -0,0 +1,421 @@
+(This file was generated by makeinfo and splitinfo.gawk.)
+(Released under the old-style GNU documentation license;
+ see sources or other output files for full text.)
+
+7 Configure options
+*******************
+
+Corresponding to the large number of program and library modules there
+are a large number 'configure' options, most of which are described
+here. The command
+ 'configure --help'
+at the top level gives an exhaustive list of all global options and a
+few important module-specific ones, whereas, e.g.,
+ 'texk/lcdf-typetools/configure --help'
+also displays the 'lcdf-typetools' specific options, which are not shown
+at the top level.
+
+ The help text also mentions several influential environment
+variables, but for TeX Live it is better to specify them as assignments
+on the command line.
+
+ The './Build' script used to make the binaries shipped with TeX Live
+invokes the top-level 'configure' with a few additional options (*note
+Building::). The defaults discussed below are those for the actual
+'configure' script; invoking 'configure' via './Build' yields different
+results.
+
+ Defaults for most options are set at the top level and propagated
+explicitly to all subdirectories. Options specified on the command line
+are checked for consistency but never modified.
+
+7.1 Global configure options
+============================
+
+Here are the global configure options.
+
+7.1.1 '--disable-native-texlive-build'
+--------------------------------------
+
+If enabled (the default), build for a TL binary distribution as shipped
+by the TeX user groups. This requires GNU 'make' and implies
+'--enable-multiplatform' and '--enable-cxx-runtime-hack' (unless they
+are explicitly disabled), and enforces '--disable-shared'.
+
+ If building TL for a GNU/Linux or other distribution, this should be
+disabled and system versions of most libraries should be used (*note
+Distro builds::).
+
+ A related option, '--enable-texlive-build', is automatically passed
+to all subdirectories (and cannot be disabled). Subdirectories that can
+also be built independently from the TL tree (such as 'utils/xindy' and
+'texk/dvipng') but cooperate with TL can use this option to enable
+TL-specific adaptations, such as installation paths.
+
+7.1.2 '--prefix', '--bindir', ...
+---------------------------------
+
+These standard Autoconf options specify various installation directories
+as usual. For the complete list, *note Installation directories::.
+
+ Also as usual, all values are prefixed by the value of 'DESTDIR', if
+set, on the 'make' command line (*note Installation in a temporary
+location: (automake)Staged Installs.).
+
+7.1.3 '--disable-largefile'
+---------------------------
+
+Omit large file support (LFS), which is needed on most 32-bit Unix
+systems for files with 2GB or more. Regardless of this option, the size
+of 'DVI' and 'GF' files must always be <2GB, due to the file format
+specifications.
+
+ With LFS, there is no fixed limit on the size of PDF files created by
+'pdftex' or PostScript files created by 'dvips'. The size of PDF images
+included by 'pdftex' or 'luatex' must, however, be <2GB when using
+'poppler' version 0.22 or before (even on 64-bit systems with LFS).
+
+7.1.4 '--disable-missing'
+-------------------------
+
+Immediately terminate the build process if a requested program or
+feature must be disabled, e.g., due to missing libraries. This can help
+when figuring out a specific (sub)set of modules to enable.
+
+7.1.5 '--enable-compiler-warnings='LEVEL
+----------------------------------------
+
+Enable various levels of compiler warnings for C, C++, and/or
+Objective C: the LEVEL value can be one of: 'no min yes max all'. The
+default is 'yes' in 'maintainer-mode' (see below) and 'min' otherwise.
+This option defines the variables 'WARNING_[OBJ]C[XX]FLAGS', but these
+variables are not consistently used in all library and program modules.
+At present, these warning flags assume options from the GNU compilers.
+
+7.1.6 '--enable-cxx-runtime-hack'
+---------------------------------
+
+If enabled (as it is for the native TL build), when using 'g++', try to
+statically link with 'libstdc++', thus improving portability of the
+resulting binary. *Note Macros for compilers::.
+
+7.1.7 '--enable-maintainer-mode'
+--------------------------------
+
+Enable 'make' rules and dependencies not useful (and sometimes
+confusing) to the casual user. This requires current versions of the
+GNU build tools (*note Build system tools::), as it automatically
+rebuilds infrastructure files as needed. *Note 'missing' and
+'AM_MAINTAINER_MODE': (automake)maintainer-mode.
+
+7.1.8 '--enable-multiplatform'
+------------------------------
+
+If enabled (as it is for the native TL build) and '--bindir=DIR' or
+'--libdir=DIR' are not specified, install executables and libraries in
+per-platform subdirectories of 'EPREFIX/bin' and 'EPREFIX/lib' where
+EPREFIX is the value given or implied for 'exec_prefix'. In any case,
+the values for 'bindir' and 'libdir' are automatically propagated to all
+subdirectories.
+
+7.1.9 '--enable-shared'
+-----------------------
+
+Build shared versions of the TeX-specific libraries such as
+'libkpathsea'. This is not allowed for a native TL build (i.e.,
+'--disable-native-texlive-build' must also be specified).
+
+7.1.10 '--enable-silent-rules'
+------------------------------
+
+Enable the use of less verbose build rules. When using GNU 'make' (or
+any 'make' implementation supporting nested variable expansions), you
+can specify 'V=1' on the 'make' command line to get more verbosity, or
+'V=0' to get less, regardless of this option.
+
+7.1.11 '--without-ln-s'
+-----------------------
+
+Required when using a system without a working 'ln -s' to build binaries
+for a Unix-like system. However, 'make install' will not create
+anything useful, and might fail.
+
+7.1.12 '--without-x'
+--------------------
+
+Disable all programs using the X Window System.
+
+7.2 Program-specific configure options
+======================================
+
+Here are (some of) the program-specific 'configure' options.
+
+7.2.1 '--enable-PROG', '--disable-PROG'
+---------------------------------------
+
+Do or do not build and install the program(s) of module 'PROG'.
+
+7.2.2 '--disable-all-pkgs'
+--------------------------
+
+Do not build any program modules by default--only those explicitly
+enabled. This is useful when one wants to work on only a single
+program, which is specified with an additional '--enable' option, e.g.,
+'--enable-dvipdfm-x'. It's still simplest to check out and configure
+the whole source tree, but at least only the program you are interested
+in, and its dependencies, are built. *Note Build one package::.
+
+ Without this option, all modules are built except those that are
+explicitly disabled or specify 'disable' in their 'ac/withenable.ac'
+fragment.
+
+7.2.3 Configure options for 'texk/web2c'
+----------------------------------------
+
+'--with-banner-add=STR'
+Add 'STR' to the default version string (which is ''TeX Live YEAR'' or
+''Web2C YEAR'') appended to banner lines. This is ignored for a native
+TL build, but distro builds should specify, e.g., '/SOMEDISTRO'.
+
+'--with-editor=CMD'
+Specify the command 'CMD' to invoke from the 'e' option of TeX and
+friends, replacing the default 'vi +%d '%s'' for Unix or 'texworks
+--position=%d "%s"' for Windows.
+
+'--with-fontconfig-includes=DIR', '--with-fontconfig-libdir=DIR'
+Building XeTeX on non-Mac systems requires the 'fontconfig' library
+headers and code. If one or both of these options are given, the
+required flags are derived from them; otherwise, they are determined via
+'pkg-config' (if present).
+
+'--with-mf-x-toolkit'
+Use the X toolkit ('libXt') for Metafont (the default is to use the
+lowest-level 'Xlib' support; it seems this has the best chance of
+working across X installations nowadays).
+
+'--disable-dump-share'
+Make the 'fmt'/'base' dump files architecture dependent (somewhat faster
+on LittleEndian architectures).
+
+'--disable-ipc'
+Disable TeX's '--ipc' option.
+
+'--disable-mf-nowin'
+Do not build a separate non-graphically-capable Metafont ('mf-nowin').
+
+'--disable-tex', '--enable-etex', ...
+Do not or do build the various TeX, Metafont, and MetaPost engines
+(defaults are defined in the fragment 'texk/web2c/ac/web2c.ac').
+
+'--disable-web-progs'
+Do not build the original WEB programs 'bibtex', ..., 'weave'. Useful
+if, e.g., you only want to (re)build some engines.
+
+'--enable-auto-core'
+This option causes TeX and Metafont to produce a core dump when a
+particular hacky filename is encountered, for use in creating preloaded
+binaries. This is rarely done nowadays.
+
+'--enable-libtool-hack'
+If enabled (which is the default for all platforms), prevents 'libtool'
+from linking explicitly with dependencies of 'libfontconfig' such as
+'libexpat'.
+
+'--enable-*win'
+Include various types of non-X window support for Metafont (EPSF output,
+'mftalk', old graphics terminals, ...).
+
+'--enable-tex-synctex', '--disable-etex-synctex', ...
+Build the TeX engines with or without 'SyncTeX' support; ignored for a
+native TeX Live build. Defaults are defined in
+'texk/web2c/ac/web2c.ac'.
+
+'--disable-synctex'
+Do not build the 'SyncTeX' library and tool.
+
+7.2.4 Configure options for 'texk/bibtex-x'
+-------------------------------------------
+
+The programs 'bibtex8' and 'bibtexu' have been merged into the module
+'bibtex-x' (extended BibTeX).
+
+'--disable-bibtex8'
+Do not build the 'bibtex8' program.
+
+'--disable-bibtexu'
+Do not build the 'bibtexu' program (building 'bibtexu' requires 'ICU'
+libraries).
+
+7.2.5 Configure options for 'texk/dvipdfm-x'
+--------------------------------------------
+
+The former modules 'dvipdfmx' (extended DVI to PDF converter) and
+'xdvipdfmx' (the same, as used by XeTeX) have been merged into
+'dvipdfm-x' at the source level. Two separate binaries are still
+created by default. In addition, 'dvipdfm' is created as a symlink to
+'dvipdfmx', with backward-compatible (very slightly different) behavior.
+
+'--disable-dvipdfmx'
+Do not build the 'dvipdfmx' program or make the 'dvipdfm' symlink.
+
+'--disable-xdvipdfmx'
+Do not build the 'xdvipdfmx' program.
+
+7.2.6 Configure options for 'texk/dvisvgm'
+------------------------------------------
+
+'--with-system-libgs'
+Build 'dvisvgm' using installed Ghostscript ('gs') headers and library
+(not allowed for a native TL build). The default is to load the 'gs'
+library at runtime if possible, else to disable support for PostScript
+specials.
+
+'--without-libgs'
+Build 'dvisvgm' without PostScript support at all. Because the dynamic
+loading just mentioned defeats all attempts at static linking, the
+result can crash due to library incompatibilities, e.g., on CentOS 5.
+
+'--with-libgs-includes=DIR', '--with-libgs-libdir=DIR'
+Specify non-standard locations of the Ghostscript headers and library.
+
+7.2.7 Configure options for 'texk/texlive'
+------------------------------------------
+
+'--disable-linked-scripts'
+Do not install the "linked scripts" (*note Linked scripts::), except for
+the TL scripts required to run 'texlinks'.
+
+7.2.8 Configure options for 'texk/xdvik'
+----------------------------------------
+
+'--with-gs=FILENAME'
+Hardwire the location of Ghostscript ('gs') as called by Xdvik.
+
+'--with-xdvi-x-toolkit=KIT'
+Use toolkit 'KIT' for 'xdvik', one of: 'motif xaw xaw3d neXtaw'. The
+default is 'motif' if available, else 'xaw'.
+
+'--enable-xi2-scrolling'
+Use XInput 2.1 "smooth scrolling" if available (default: yes, except for
+a native TL build).
+
+7.2.9 Configure options for 'utils/xindy'
+-----------------------------------------
+
+'--enable-xindy-rules'
+Build and install 'xindy' rules (default: yes, except for a native TL
+build).
+
+'--enable-xindy-docs'
+Build and install 'xindy' documentation (default: yes, except for a
+native TL build).
+
+'--with-clisp-runtime=FILENAME'
+Specifies the full path for the Clisp runtime file ('lisp.run' or
+'lisp.exe') to be installed. When specified as 'default' (the default
+for a native TL build) the path is determined by the Clisp executable;
+the value 'system' (not allowed for a native TL build, but the default
+otherwise) indicates that 'xindy' will use the installed version of
+'clisp' (which must be identical to the one used to build 'xindy').
+
+7.3 Library-specific configure options
+======================================
+
+Here are (some of) the library-specific 'configure' options, starting
+with this generic one:
+
+'--with-system-LIB'
+
+ Use an installed (system) version of the library 'LIB'; this option
+exists for most libraries, but is not allowed for a native TL build.
+Using a system version implies also using the system versions of all
+libraries that LIB depends on.
+
+ For many libraries '--with-LIB-includes=DIR' and
+'--with-LIB-libdir=DIR' can specify non-standard search locations;
+others use 'pkg-config' or similar to determine the required flags.
+
+ The top-level 'configure' script performs a consistency check for all
+required system libraries and bails out if tests fail.
+
+7.3.1 Configure options for 'kpathsea'
+--------------------------------------
+
+'--enable-CMD-default', '--disable-CMD-default'
+Determine the compile time default for whether or not to run CMD, which
+is one of:
+'mkocp'
+ (Omega compiled translation process file)
+'mkofm'
+ (Omega font metrics file)
+'mktexfmt'
+ (format/base dump file)
+'mktexmf'
+ (Metafont source)
+'mktexpk'
+ (PK bitmap font)
+'mktextex'
+ (TeX source)
+'mktextfm'
+ (TFM file)
+
+to generate the specified type of file dynamically. The default can be
+overridden by the user in any case (*note kpathsea library::).
+
+7.3.2 Configure options for system 'poppler'
+--------------------------------------------
+
+Building XeTeX requires 'poppler', either from the TL tree or system
+headers and library. Building pdfTeX requires either 'xpdf' from the
+TeX Live tree or system 'poppler' headers and library.
+
+'--with-system-poppler'
+Use a system version (0.18 or newer) of 'poppler' for LuaTeX (or
+LuaJITTeX) and XeTeX, and use 'pkg-config' to obtain the required flags.
+
+'--with-system-xpdf'
+Use a system version (0.12 or newer) of 'poppler' (and 'pkg-config') for
+pdfTeX instead of 'xpdf' from the TL tree. *Note --disable-largefile::.
+
+7.4 Variables for configure
+===========================
+
+The values for these variables can be specified as 'configure' arguments
+of the form 'VAR=VALUE'. They can also be defined in the environment,
+but that might not work for cross compilations.
+
+'CC'
+'CXX'
+'CPPFLAGS'
+ And plenty more. As usual with Autoconf, these variables specify
+ the name (or full path) of compilers, preprocessor flags, and
+ similar. *Note (autoconf)Preset Output Variables::.
+
+'CLISP'
+ Name (or full path) of the 'clisp' executable, used to build
+ 'xindy'.
+
+'FT2_CONFIG'
+'ICU_CONFIG'
+'PKG_CONFIG'
+ These specify the name (or path) for the 'freetype-config',
+ 'icu-config', and 'pkg-config' commands used to determine the flags
+ required for system versions of 'libfreetype', the ICU libraries,
+ and other libraries, respectively.
+
+'KPSEWHICH'
+ Name (or path) of an installed 'kpsewhich' binary, used by 'make
+ check' to determine the location of, e.g., 'cmbx10.tfm'.
+
+'MAKE'
+'SED'
+ And more. Name (or path) of the 'make', 'sed', and similar
+ programs; used at the top level and propagated to all
+ subdirectories.
+
+'PERL'
+'LATEX'
+'PDFLATEX'
+ Name (or full path) for the 'perl', 'latex', and 'pdflatex'
+ commands used, e.g., to build the 'xindy' documentation.
+