summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.html
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-03-30 22:27:37 +0000
committerKarl Berry <karl@freefriends.org>2018-03-30 22:27:37 +0000
commit455506ec711f0d6edd259c0b7c5e5a533d34ecee (patch)
tree6a4f46b633f148e55c3c025c05d8604d7fdea3aa /Master/texmf-dist/doc/texlive/tlbuild/tlbuild.html
parent80cdd301189d43155d7e22400db1b0b72dd1bb02 (diff)
doc updates
git-svn-id: svn://tug.org/texlive/trunk@47198 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/texlive/tlbuild/tlbuild.html')
-rw-r--r--Master/texmf-dist/doc/texlive/tlbuild/tlbuild.html294
1 files changed, 229 insertions, 65 deletions
diff --git a/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.html b/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.html
index a190b650f10..235be54d030 100644
--- a/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.html
+++ b/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.html
@@ -2,7 +2,7 @@
<html>
<!-- This file documents the TeX Live build system and more.
-Copyright (C) 2016-2017 Karl Berry.
+Copyright (C) 2016-2018 Karl Berry.
Copyright (C) 2013-2015 Karl Berry & Peter Breitenlohner.
@@ -20,16 +20,16 @@ Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation
approved by the TeX Users Group. -->
-<!-- Created by GNU Texinfo 6.3, http://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
<head>
-<title>Building TeX Live (2017)</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Building TeX Live (2018)</title>
-<meta name="description" content="Building TeX Live (2017)">
-<meta name="keywords" content="Building TeX Live (2017)">
+<meta name="description" content="Building TeX Live (2018)">
+<meta name="keywords" content="Building TeX Live (2018)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="#Top" rel="start" title="Top">
<link href="#Index" rel="index" title="Index">
<link href="#SEC_Contents" rel="contents" title="Table of Contents">
@@ -66,7 +66,7 @@ ul.no-bullet {list-style: none}
</head>
<body lang="en">
-<h1 class="settitle" align="center">Building TeX Live (2017)</h1>
+<h1 class="settitle" align="center">Building TeX Live (2018)</h1>
@@ -90,6 +90,7 @@ ul.no-bullet {list-style: none}
<li><a name="stoc-Configure-options-1" href="#toc-Configure-options-1">7 Configure options</a></li>
<li><a name="stoc-Cross-compilation-1" href="#toc-Cross-compilation-1">8 Cross compilation</a></li>
<li><a name="stoc-Coding-conventions-1" href="#toc-Coding-conventions-1">9 Coding conventions</a></li>
+<li><a name="stoc-Continuous-integration-1" href="#toc-Continuous-integration-1">10 Continuous integration</a></li>
<li><a name="stoc-install_002dtl-1" href="#toc-install_002dtl-1">Appendix A install-tl</a></li>
<li><a name="stoc-tlmgr-1" href="#toc-tlmgr-1">Appendix B tlmgr</a></li>
<li><a name="stoc-Index-1" href="#toc-Index-1">Index</a></li>
@@ -146,7 +147,7 @@ ul.no-bullet {list-style: none}
<li><a name="toc-The-xdvik-package-in-texk_002fxdvik" href="#xdvik-package">6.5.3 The <code>xdvik</code> package in <samp>texk/xdvik</samp></a></li>
<li><a name="toc-The-subdirectory-utils_002fasymptote" href="#asymptote">6.5.4 The subdirectory <samp>utils/asymptote</samp></a></li>
</ul></li>
- <li><a name="toc-Extending-TeX-Live-1" href="#Extending-TeX-Live">6.6 Extending TeX Live</a>
+ <li><a name="toc-Extending-TeX-Live-1" href="#Extending-TeX-Live">6.6 Extending TeX&nbsp;Live</a>
<ul class="no-bullet">
<li><a name="toc-Adding-a-new-program-module-1" href="#Adding-a-new-program-module">6.6.1 Adding a new program module</a></li>
<li><a name="toc-Adding-a-new-generic-library-module-1" href="#Adding-a-new-generic-library-module">6.6.2 Adding a new generic library module</a></li>
@@ -199,6 +200,7 @@ ul.no-bullet {list-style: none}
<li><a name="toc-Declarations-and-definitions-1" href="#Declarations-and-definitions">9.1 Declarations and definitions</a></li>
<li><a name="toc-Const-1" href="#Const">9.2 Const</a></li>
</ul></li>
+ <li><a name="toc-Continuous-integration-1" href="#Continuous-integration">10 Continuous integration</a></li>
<li><a name="toc-install_002dtl-1" href="#install_002dtl">Appendix A install-tl</a>
<ul class="no-bullet">
<li><a name="toc-NAME" href="#install_002dtl-NAME">A.1 NAME</a></li>
@@ -293,17 +295,17 @@ ul.no-bullet {list-style: none}
<p>
Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="http://tug.org/texinfohtml" accesskey="u" rel="up">(dir)</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
-<a name="Building-TeX-Live-_00282017_0029"></a>
-<h1 class="top">Building TeX Live (2017)</h1>
+<a name="Building-TeX-Live-_00282018_0029"></a>
+<h1 class="top">Building TeX Live (2018)</h1>
<p>For an overview of this manual, see <a href="#Introduction">Introduction</a>.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">&bull; <a href="#Introduction" accesskey="1">Introduction</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">About this manual.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="#Overview-of-build-system" accesskey="2">Overview of build system</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The TeX Live build system.
+<tr><td align="left" valign="top">&bull; <a href="#Overview-of-build-system" accesskey="2">Overview of build system</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The TeX&nbsp;Live build system.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="#Prerequisites" accesskey="3">Prerequisites</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Requirements for building TeX Live.
+<tr><td align="left" valign="top">&bull; <a href="#Prerequisites" accesskey="3">Prerequisites</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Requirements for building TeX&nbsp;Live.
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="#Building" accesskey="4">Building</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The overall build process.
</td></tr>
@@ -317,9 +319,11 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="#Coding-conventions" accesskey="9">Coding conventions</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Conventions to follow.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="#install_002dtl">install-tl</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The TeX Live installer.
+<tr><td align="left" valign="top">&bull; <a href="#Continuous-integration">Continuous integration</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Automated build testing.
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#install_002dtl">install-tl</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The TeX&nbsp;Live installer.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="#tlmgr">tlmgr</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The native TeX Live package manager.
+<tr><td align="left" valign="top">&bull; <a href="#tlmgr">tlmgr</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">The native TeX&nbsp;Live package manager.
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="#Index">Index</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">General index.
</td></tr>
@@ -337,11 +341,11 @@ Next: <a href="#Overview-of-build-system" accesskey="n" rel="next">Overview of b
<a name="index-introduction"></a>
-<p>This manual (dated April 2017) corresponds to the TeX Live
-2017 release.
+<p>This manual (dated February 2018) corresponds to the TeX&nbsp;Live
+2018 release.
</p>
<p>This manual is aimed at system installers and programmers, and focuses
-on how to configure, build, and develop the TeX Live (TL) sources. It is
+on how to configure, build, and develop the TeX&nbsp;Live (TL) sources. It is
also available as plain text files in the source tree:
<samp>source/README.*</samp>.
</p>
@@ -353,16 +357,16 @@ information for different systems, along with
<p>For information on acquiring the TL sources, see
<a href="http://tug.org/texlive/svn">http://tug.org/texlive/svn</a>.
</p>
-<p>This manual does not duplicate the (primarily user-level) information
-found in other TL documentation resources, such as:
+<p>This manual does not duplicate the information found in other TL
+documentation resources, such as:
</p>
<ul>
-<li> The TeX Live web pages: <a href="http://tug.org/texlive">http://tug.org/texlive</a>.
+<li> The TeX&nbsp;Live web pages: <a href="http://tug.org/texlive">http://tug.org/texlive</a>.
-</li><li> The web page with an overview of how to build the binaries which
-are distributed with TeX Live: <a href="http://tug.org/texlive/build.html">http://tug.org/texlive/build.html</a>.
+</li><li> The web page describing how to build the binaries which
+are distributed with TeX&nbsp;Live: <a href="http://tug.org/texlive/build.html">http://tug.org/texlive/build.html</a>.
-</li><li> The TeX Live user manual: <a href="http://tug.org/texlive/doc.html">http://tug.org/texlive/doc.html</a>, or
+</li><li> The TeX&nbsp;Live user manual: <a href="http://tug.org/texlive/doc.html">http://tug.org/texlive/doc.html</a>, or
run <code>texdoc texlive</code>.
</li><li> Other TeX-related Texinfo manuals (see <cite><a href="http://tug.org/texinfohtml/web2c.html#Top">Web2c</a></cite>,
@@ -399,7 +403,7 @@ Next: <a href="#Prerequisites" accesskey="n" rel="next">Prerequisites</a>, Previ
<a name="index-Automake"></a>
<a name="index-Libtool"></a>
<a name="index-tests_002c-running"></a>
-<p>The TeX Live build system was redesigned in 2009, consistently using
+<p>The TeX&nbsp;Live build system was redesigned in 2009, consistently using
Autoconf, Automake, and Libtool. Thus<br>&nbsp;&nbsp;&nbsp;<code>configure &amp;&amp;
make &amp;&amp; make check &amp;&amp; make install</code><br>or the basically-equivalent
top-level <code>Build</code> script suffice to build and install the TL
@@ -466,7 +470,7 @@ Next: <a href="#Building" accesskey="n" rel="next">Building</a>, Previous: <a hr
<a name="index-requirements-for-building"></a>
<a name="index-compilers_002c-C-and-C_002b_002b"></a>
-<p>Overall, building the TeX Live programs, when using all libraries from
+<p>Overall, building the TeX&nbsp;Live programs, when using all libraries from
the TL source tree, requires only C and C++ compilers and GNU
<code>make</code>. (If <code>make</code> from your <code>PATH</code> is not GNU make,
you can set <code>MAKE</code> in the environment to whatever is necessary.)
@@ -568,7 +572,7 @@ Next: <a href="#Installing" accesskey="n" rel="next">Installing</a>, Previous: <
<a name="index-Build-script"></a>
<p>The top-level <samp>Build</samp> script is intended to simplify building the
-binaries distributed with TeX Live itself&mdash;we call this the &ldquo;native&rdquo;
+binaries distributed with TeX&nbsp;Live itself&mdash;we call this the &ldquo;native&rdquo;
TL build. It configures and makes everything in a subdirectory of the
main build tree (default <samp>Work/</samp>), installs everything in another
subdirectory (default <samp>inst/</samp>), and finally runs <code>make
@@ -729,7 +733,7 @@ library and causes to first build any required libraries.
</p>
<p>This &ldquo;build-on-demand&rdquo; procedure is used, e.g., in the upstream
LuaTeX repository to build LuaTeX, essentially from a subset of
-the complete TeX Live tree. Similarly, when, e.g., building the original
+the complete TeX&nbsp;Live tree. Similarly, when, e.g., building the original
e-TeX has been disabled (as it is by default), one can run
<code>make etex</code> (or <code>make etex.exe</code>) in <samp>texk/web2c/</samp> to
build e-TeX (although there is no comparably simple way to install
@@ -827,8 +831,8 @@ make a usable TeX installation. Beyond the compiled binaries,
</p>
<p>These support files are maintained completely independently and are
not present in the source tree. The best basis for dealing with them
-is the TeX Live (plain text) database in
-<samp>Master/tlpkg/texlive.tlpdb</samp>, and/or the TeX Live installer,
+is the TeX&nbsp;Live (plain text) database in
+<samp>Master/tlpkg/texlive.tlpdb</samp>, and/or the TeX&nbsp;Live installer,
<code>install-tl</code>. More information is under <samp>Master/tlpkg</samp> and
at <a href="http://tug.org/texlive/distro.html">http://tug.org/texlive/distro.html</a>.
</p>
@@ -1050,7 +1054,7 @@ Next: <a href="#Configure-options" accesskey="n" rel="next">Configure options</a
<a name="index-layout-of-sources"></a>
<a name="index-source-tree"></a>
-<p>The TeX Live source tree is the subtree rooted at <samp>Build/source</samp> of
+<p>The TeX&nbsp;Live source tree is the subtree rooted at <samp>Build/source</samp> of
the complete TL distribution and contains the sources for all executables
distributed by TL, as well as <code>configure</code> scripts and <code>make</code>
rules to build and install them together with some of their support
@@ -1067,7 +1071,7 @@ files.
</td></tr>
<tr><td align="left" valign="top">&bull; <a href="#Program-modules" accesskey="5">Program modules</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Handling programs, with examples.
</td></tr>
-<tr><td align="left" valign="top">&bull; <a href="#Extending-TeX-Live" accesskey="6">Extending TeX Live</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Adding a new module.
+<tr><td align="left" valign="top">&bull; <a href="#Extending-TeX-Live" accesskey="6">Extending TeX&nbsp;Live</a>:</td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Adding a new module.
</td></tr>
</table>
@@ -1086,7 +1090,7 @@ Next: <a href="#Top_002dlevel-directories" accesskey="n" rel="next">Top-level di
<a name="index-infrastructure_002c-tools-needed-for"></a>
<p>As mentioned above (see <a href="#Prerequisites">Prerequisites</a>), a normal build requires
-very little. On the other hand, if you want to modify the TeX Live
+very little. On the other hand, if you want to modify the TeX&nbsp;Live
infrastructure sources, such as <samp>configure.ac</samp> or
<samp>Makefile.am</samp> files, you will need to have several additional
tools installed.
@@ -1103,12 +1107,12 @@ may be.
</p>
<div class="display">
<pre class="display">autoconf (GNU Autoconf) 2.69
-automake (GNU automake) 1.15
+automake (GNU automake) 1.15.1
bison (GNU Bison) 3.0.4
flex 2.6.0
ltmain.sh (GNU libtool) 2.4.6
m4 (GNU M4) 1.4.18
-makeinfo (GNU texinfo) 6.1
+makeinfo (GNU texinfo) 6.5
</pre></div>
<a name="index-reautoconf"></a>
@@ -1151,7 +1155,7 @@ Next: <a href="#Autoconf-macros" accesskey="n" rel="next">Autoconf macros</a>, P
<a name="index-directories_002c-top_002dlevel"></a>
<a name="index-top_002dlevel-directories"></a>
-<p>Here is a brief description of the top-level directories in the TeX Live
+<p>Here is a brief description of the top-level directories in the TeX&nbsp;Live
source tree.
</p>
<p>As mentioned at the beginning of see <a href="#Overview-of-build-system">Overview of build system</a>, the main source directories are <samp>texk/</samp>
@@ -1403,7 +1407,7 @@ that provides make variables for that library. E.g., for
<dt><a name="index-KPSE_005fLIBPNG_005fFLAGS"></a>Macro: <strong>KPSE_LIBPNG_FLAGS</strong></dt>
<dd><p>Provide the configure option <code>--with-system-libpng</code>. Set and
<code>AC_SUBST</code> <code>make</code> variables for modules using this library (either
-an installed version or from the TeX Live tree): <code>LIBPNG_INCLUDES</code> for use
+an installed version or from the TeX&nbsp;Live tree): <code>LIBPNG_INCLUDES</code> for use
in <code>CPPFLAGS</code>, <code>LIBPNG_LIBS</code> for use in <code>LDADD</code>,
<code>LIBPNG_DEPEND</code> for use as dependency, and <code>LIBPNG_RULE</code> defining
<code>make</code> rules to rebuild the library.
@@ -1562,7 +1566,7 @@ Next: <a href="#zlib-library" accesskey="n" rel="next"><code>zlib</code> library
<p>specifying the module name, and indicating the dependency on
<code>zlib</code>. A third literal argument <code>tree</code> would specify that
-the library from the TeX Live tree cannot be replaced by a system
+the library from the TeX&nbsp;Live tree cannot be replaced by a system
version. That not being the case here, a second fragment
<samp>ac/libpng.ac</samp> contains
</p>
@@ -1666,7 +1670,7 @@ Previous: <a href="#freetype-library" accesskey="p" rel="prev"><code>freetype</c
<a name="index-kpathsea-library"></a>
<p>This is one of the TeX-specific libraries that are maintained as
-part of TeX Live (see <cite><a href="http://tug.org/texinfohtml/kpathsea.html#Top">Kpathsea</a></cite>). Despite being a core
+part of TeX&nbsp;Live (see <cite><a href="http://tug.org/texinfohtml/kpathsea.html#Top">Kpathsea</a></cite>). Despite being a core
part of the TeX system, it is not a terribly special case in the
infrastructure. The TeX libraries are Libtool libraries (static
and/or shared) and are installed by <code>make install</code> together with
@@ -1697,7 +1701,7 @@ however, the command line options <code>-mktex=tfm</code> or
<a name="Program-modules"></a>
<div class="header">
<p>
-Next: <a href="#Extending-TeX-Live" accesskey="n" rel="next">Extending TeX Live</a>, Previous: <a href="#Library-modules" accesskey="p" rel="prev">Library modules</a>, Up: <a href="#Layout-and-infrastructure" accesskey="u" rel="up">Layout and infrastructure</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Extending-TeX-Live" accesskey="n" rel="next">Extending TeX&nbsp;Live</a>, Previous: <a href="#Library-modules" accesskey="p" rel="prev">Library modules</a>, Up: <a href="#Layout-and-infrastructure" accesskey="u" rel="up">Layout and infrastructure</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Program-modules-1"></a>
<h3 class="section">6.5 Program modules</h3>
@@ -1789,7 +1793,7 @@ Next: <a href="#asymptote" accesskey="n" rel="next"><code>asymptote</code></a>,
<a name="index-xdvik"></a>
-<p>This package is maintained as part of the TeX Live tree with sources in
+<p>This package is maintained as part of the TeX&nbsp;Live tree with sources in
its top level directory and the subdirectory <samp>gui</samp>. The fragment
<code>ac/withenable.ac</code> contains
</p>
@@ -1842,7 +1846,7 @@ their support files.
Previous: <a href="#Program-modules" accesskey="p" rel="prev">Program modules</a>, Up: <a href="#Layout-and-infrastructure" accesskey="u" rel="up">Layout and infrastructure</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Extending-TeX-Live-1"></a>
-<h3 class="section">6.6 Extending TeX Live</h3>
+<h3 class="section">6.6 Extending TeX&nbsp;Live</h3>
<a name="index-extending-TeX-Live"></a>
<a name="index-adding-to-TeX-Live"></a>
@@ -1872,7 +1876,7 @@ addition, <samp>foo/</samp> will need the usual Automake build-related files
<a name="Adding-a-new-program-module"></a>
<div class="header">
<p>
-Next: <a href="#Adding-a-new-generic-library-module" accesskey="n" rel="next">Adding a new generic library module</a>, Up: <a href="#Extending-TeX-Live" accesskey="u" rel="up">Extending TeX Live</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Adding-a-new-generic-library-module" accesskey="n" rel="next">Adding a new generic library module</a>, Up: <a href="#Extending-TeX-Live" accesskey="u" rel="up">Extending TeX&nbsp;Live</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Adding-a-new-program-module-1"></a>
<h4 class="subsection">6.6.1 Adding a new program module</h4>
@@ -1894,10 +1898,9 @@ its name <samp><var>prog</var></samp> to the M4 list <code>kpse_utils_pkgs</code
</p>
<a name="index-withenable_002eac_002c-for-new-modules"></a>
<a name="index-KPSE_005fENABLE_005fPROG"></a>
-<p>In either case, apart from the program sources and build system
-(<samp>configure.ac</samp> and <samp>Makefile.am</samp>), the subdirectory
-<samp>texk/<var>prog</var></samp> or <samp>utils/<var>prog</var></samp> must provide a
-fragment <samp>ac/withenable.ac</samp> that contains the M4 macro
+<p>In either case, the subdirectory <samp>texk/<var>prog</var></samp> or
+<samp>utils/<var>prog</var></samp> must provide a fragment
+<samp>ac/withenable.ac</samp> that contains the M4 macro
<code>KPSE_ENABLE_PROG</code> defined in <samp>m4/kpse-setup.m4</samp> with
<code><var>prog</var></code> as the mandatory first argument and three optional
arguments:
@@ -1910,21 +1913,76 @@ built without the configure option <code>--enable-<var>prog</var></code>,
<code>native</code> if cross compilation is not possible, <code>x</code> if the
program requires X11 libraries);
-</li><li> and a comment added to the help text for the <code>configure</code>
+</li><li> a comment added to the help text for the <code>configure</code>
option <code>--enable-<var>prog</var></code> or <code>--disable-<var>prog</var></code>.
</li></ol>
<p>If the module requires specific configure options to be seen at the
-top-level, they should be defined in an additional fragment
+top level, they should be defined in an additional fragment
<samp>ac/<var>prog</var>.ac</samp> included from <samp>ac/withenable.ac</samp> and
<samp>configure.ac</samp>.
</p>
+<p>Usually, the new program is maintained somewhere outside of TeX&nbsp;Live. In
+that case, we put the upstream sources into a subdirectory
+<samp><var>prog</var>-src</samp> (e.g., <samp>utils/newprog/newprog-src</samp>). We do
+not run <code>configure</code> in this original <code>...-src</code> directory,
+only in our own directory, but we do compile using the source files in
+<code>...-src</code>.
+</p>
+<p>So, these are the files that we must generally create:
+</p>
+<dl compact="compact">
+<dt><samp>ac/withenable.ac</samp></dt>
+<dd><p>The <code>KPSE_ENABLE_PROG</code> call just explained.
+</p>
+</dd>
+<dt><samp>configure.ac</samp></dt>
+<dt><samp>Makefile.am</samp></dt>
+<dd><p>By merging the contents of the original <samp>configure.ac</samp> (if
+provided) and a comparable program already in TL. There is no magic
+recipe, it&rsquo;s necessary to think about needs to be done in the original
+vs. in TeX&nbsp;Live.
+</p>
+</dd>
+<dt><samp>TLpatches/TL-Changes</samp></dt>
+<dd><p>Actions taken after getting the original source tree; typically
+removal of derived or unused common files.
+</p>
+</dd>
+<dt><samp>TLpatches/patch-...</samp></dt>
+<dd><p>If any changes are needed to the original sources, record the patches
+here so they can be applied next time. And send them upstream so that
+perhaps they won&rsquo;t have to be.
+</p>
+</dd>
+<dt><samp>ChangeLog</samp></dt>
+<dd><p>Record all TL-specific changes, now and in the future.
+</p>
+</dd>
+</dl>
+
+<p>Then, run GNU <code>autoreconf</code> in the new directory (see <a href="#Build-system-tools">Build system tools</a>). After that works, <code>svn add</code> the necessary files,
+notably <samp>Makefile.in aclocal.m4 configure</samp>, and <code>svn:ignore</code>
+the Automake cache <samp>autom4te.cache</samp>. (This is so people checking
+out the TL source tree do not have to run any autotools, but can
+simply run <code>configure</code>.)
+</p>
+<p>Then, run the TL tool <code>reautoconf</code> in the top-level TL
+<code>source/</code> directory, to incorporate the new program into the
+build tree.
+</p>
+<p>Then, run (and rerun) a build until the program compiles and tests
+successfully, probably involving rerunning autoreconf in the source
+directory, <code>make</code> in the build directory, etc.
+</p>
+<p>After final success, don&rsquo;t forget to commit.
+</p>
<hr>
<a name="Adding-a-new-generic-library-module"></a>
<div class="header">
<p>
-Next: <a href="#Adding-a-new-TeX_002dspecific-library-module" accesskey="n" rel="next">Adding a new TeX-specific library module</a>, Previous: <a href="#Adding-a-new-program-module" accesskey="p" rel="prev">Adding a new program module</a>, Up: <a href="#Extending-TeX-Live" accesskey="u" rel="up">Extending TeX Live</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Adding-a-new-TeX_002dspecific-library-module" accesskey="n" rel="next">Adding a new TeX-specific library module</a>, Previous: <a href="#Adding-a-new-program-module" accesskey="p" rel="prev">Adding a new program module</a>, Up: <a href="#Extending-TeX-Live" accesskey="u" rel="up">Extending TeX&nbsp;Live</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Adding-a-new-generic-library-module-1"></a>
<h4 class="subsection">6.6.2 Adding a new generic library module</h4>
@@ -1938,7 +1996,7 @@ Next: <a href="#Adding-a-new-TeX_002dspecific-library-module" accesskey="n" rel=
not depend on TeX-specific libraries, by definition. It is
included by adding its name <samp><var>lib</var></samp> to the M4 list
<code>kpse_libs_pkgs</code> in <samp>m4/kpse-pkgs.m4</samp>&mdash;before any other
-libraries from the TeX Live tree on which it depends.
+libraries from the TeX&nbsp;Live tree on which it depends.
</p>
<a name="index-KPSE_005fWITH_005fLIB"></a>
<p>As with program modules, the subdirectory <samp>libs/<var>lib</var></samp> must
@@ -1985,7 +2043,7 @@ definition of the M4 macro <code>KPSE_ALL_SYSTEM_FLAGS</code> in
<a name="Adding-a-new-TeX_002dspecific-library-module"></a>
<div class="header">
<p>
-Previous: <a href="#Adding-a-new-generic-library-module" accesskey="p" rel="prev">Adding a new generic library module</a>, Up: <a href="#Extending-TeX-Live" accesskey="u" rel="up">Extending TeX Live</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Previous: <a href="#Adding-a-new-generic-library-module" accesskey="p" rel="prev">Adding a new generic library module</a>, Up: <a href="#Extending-TeX-Live" accesskey="u" rel="up">Extending TeX&nbsp;Live</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Adding-a-new-TeX_002dspecific-library-module-1"></a>
<h4 class="subsection">6.6.3 Adding a new TeX-specific library module</h4>
@@ -2031,10 +2089,10 @@ top-level.
</p>
<a name="index-environment-variables_002c-for-configure"></a>
<p>The help text also mentions several influential environment variables,
-but for TeX Live it is better to specify them as assigments on the
+but for TeX&nbsp;Live it is better to specify them as assigments on the
command line.
</p>
-<p>The <samp>./Build</samp> script used to make the binaries shipped with TeX Live
+<p>The <samp>./Build</samp> script used to make the binaries shipped with TeX&nbsp;Live
invokes the top-level <code>configure</code> with a few additional options
(see <a href="#Building">Building</a>). The defaults discussed below are those for the
actual <code>configure</code> script; invoking <code>configure</code> via
@@ -2487,7 +2545,7 @@ support for Metafont (EPSF output, <code>mftalk</code>, old terminals, &hellip;)
<a name="index-synctex"></a>
<p><code>--enable-tex-synctex</code>, <code>--disable-etex-synctex</code>,
&hellip;<br>Build the TeX engines with or without <code>SyncTeX</code>
-support; ignored for a native TeX Live build, defaults are again defined
+support; ignored for a native TeX&nbsp;Live build, defaults are again defined
in <samp>texk/web2c/ac/web2c.ac</samp>.
</p>
<a name="index-_002d_002ddisable_002dsynctex"></a>
@@ -2755,7 +2813,7 @@ Previous: <a href="#Configure-options-for-kpathsea" accesskey="p" rel="prev">Con
<p>Building LuaTeX (or LuaJITTeX) and XeTeX requires
<code>poppler</code>, either from the TL tree or system headers and
library. Building pdfTeX requires either <code>xpdf</code> from
-the TeX Live tree or system <code>poppler</code> headers and library.
+the TeX&nbsp;Live tree or system <code>poppler</code> headers and library.
</p>
<a name="index-_002d_002dwith_002dsystem_002dpoppler"></a>
<p><code>--with-system-poppler</code><br>Use a system version (0.18 or
@@ -3036,7 +3094,7 @@ binary, thus cross compilation is not possible.
<a name="Coding-conventions"></a>
<div class="header">
<p>
-Next: <a href="#install_002dtl" accesskey="n" rel="next">install-tl</a>, Previous: <a href="#Cross-compilation" accesskey="p" rel="prev">Cross compilation</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#Continuous-integration" accesskey="n" rel="next">Continuous integration</a>, Previous: <a href="#Cross-compilation" accesskey="p" rel="prev">Cross compilation</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Coding-conventions-1"></a>
<h2 class="chapter">9 Coding conventions</h2>
@@ -3044,12 +3102,12 @@ Next: <a href="#install_002dtl" accesskey="n" rel="next">install-tl</a>, Previou
<a name="index-coding-conventions"></a>
<a name="index-conventions_002c-coding"></a>
-<p>Ideally, building all of TeX Live with <code>--enable-compiler-warnings=max</code>
+<p>Ideally, building all of TeX&nbsp;Live with <code>--enable-compiler-warnings=max</code>
should produce no (GCC) compiler warnings at all. In spite of
considerable efforts into that direction we are still far from that goal and
there are reasons that we may never fully reach it. Below are some rules
about declarations of functions or variables and the use of <code>const</code>.
-These rules should be applied to most of the TeX Live tree, the exception
+These rules should be applied to most of the TeX&nbsp;Live tree, the exception
being code that is maintained independently and whose maintainers
don&rsquo;t want to accept patches.
</p>
@@ -3079,7 +3137,7 @@ Next: <a href="#Const" accesskey="n" rel="next">Const</a>, Up: <a href="#Coding-
<a name="C-standards"></a>
<h4 class="subsubheading">C standards</h4>
-<p>The TeX Live build system no longer supports pre-ANSI C compilers. Thus
+<p>The TeX&nbsp;Live build system no longer supports pre-ANSI C compilers. Thus
all function prototypes and definitions must conform to the ANSI C
standard (including <code>void</code> in the declaration of C functions with
no parameters). On the other hand, TL is built for a wide variety of
@@ -3194,11 +3252,107 @@ them. Therefore such casts should be avoided whenever possible and
otherwise must be carefully analyzed to make sure that they cannot
cause the modification of quantities supposed to be constant.
</p>
+
+<hr>
+<a name="Continuous-integration"></a>
+<div class="header">
+<p>
+Next: <a href="#install_002dtl" accesskey="n" rel="next">install-tl</a>, Previous: <a href="#Coding-conventions" accesskey="p" rel="prev">Coding conventions</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<a name="Continuous-integration-1"></a>
+<h2 class="chapter">10 Continuous integration</h2>
+
+<a name="index-ci"></a>
+<a name="index-continuous-integration"></a>
+<a name="index-Travis_002dCI"></a>
+
+<p>Overview: the sources of TeX&nbsp;Live are subjected to continuous integration
+testing on Travis-CI
+(<a href="https://travis-ci.org/TeX-Live/texlive-source">https://travis-ci.org/TeX-Live/texlive-source</a>) via a git-svn
+mirror of the sources that is pushed to Github
+(<a href="https://github.com/TeX-Live/texlive-source">https://github.com/TeX-Live/texlive-source</a>). The git-svn mirror
+is updated (currently) at 30 minute intervals, and only the last
+commit pushed is tested on Travis-CI.
+</p>
+<a name="Transfer-from-Subversion-to-Github"></a>
+<h4 class="subheading">Transfer from Subversion to Github</h4>
+
+<p>git-svn (<a href="https://git-scm.com/docs/git-svn">https://git-scm.com/docs/git-svn</a>) is used to check out
+the subtree <code>Build/source</code> of the Subversion repository. The
+author index file used is not maintained in either Git or Subversion
+but can be provided on request.
+</p>
+
+<p>The initial checkout was done by invoking
+</p><div class="example">
+<pre class="example">git svn --authors-file usermap clone svn://USER@tug.org/texlive/trunk/Build/source
+</pre></div>
+
+<p>where the <code>usermap</code> file maps Subversion user names to
+name and emails of the authors. If no user account at <a href="tug.org">tug.org</a> is
+available, anonymous checkout is possible, too:
+</p><div class="example">
+<pre class="example">git svn --authors-file usermap clone svn://tug.org/texlive/trunk/Build/source
+</pre></div>
+
+<p>In the following, we will use <em>admin</em> to refer to a user who has
+read/write access to the TeX&nbsp;Live subversion repository, and is also an
+administrator of the <code>TeX-Live</code> Team on Github. The above initial
+checkout has been carried out by <em>admin</em> on the server
+<code>texlive.info</code>.
+</p>
+<p>On Github (<a href="https://github.com">https://github.com</a>), a new git repository named
+<code>texlive-source</code> was created by <em>admin</em> within the
+<code>TeX-Live</code> &ldquo;organization&rdquo; (<a href="https://github.com/TeX-Live">https://github.com/TeX-Live</a>).
+The remote was added to the checkout with <code>git remote add origin
+git@github.com:TeX-Live/texlive-source.git</code>.
+</p>
+<p>To automate the update on Github, a new ssh key was generated and added
+to the <code>texlive-source</code> repository on Github as deployment
+key. This way pushes using this key can only go to the
+<code>texlive-source</code> repository and not anywhere else.
+</p>
+<p>The usage of <code>git-svn</code> requires a strict discipline to keep a
+linear history in the master branch. Since we are aiming at a pure
+mirror facility, we have decided to further restrict the <code>master</code>
+branch of the <code>texlive-source</code> repository on Github to changes by
+<em>admin</em>.
+</p>
+<p>This setup allows other developers to branch off <code>master</code> and
+push their branches to the Github repository, but all updates need to
+come from the local <code>master</code> (not the one on Github) to
+Subversion, back to <code>master</code> on <code>texlive.info</code>, and from
+there to Github.
+</p>
+<a name="Automatic-update-of-the-Git-mirror"></a>
+<h4 class="subheading">Automatic update of the Git mirror</h4>
+
+<p><em>admin</em> has installed a cron job on <code>texlive.info</code> running
+every 30 minute which essentially runs <code>git svn rebase</code> and
+<code>git push</code> in the <code>master</code> branch of the checkout. The first
+command fetches the changes from the Subversion repository and updates
+the <code>master</code> branch with them, the second one pushes changes (if
+available) to Github.
+</p>
+<a name="CI-testing-on-Travis_002dCI"></a>
+<h4 class="subheading">CI testing on Travis-CI</h4>
+
+<a name="index-_002etravis_002eyml"></a>
+<p>The <code>source</code> tree of TeX&nbsp;Live contains a top-level file
+<code>.travis.yml</code> which controls the automatic testing on
+Travis-CI. <em>admin</em> has registered to Travis-CI and allowed access
+to the Github&rsquo;s <code>TeX-Live</code> organization&rsquo;s <code>texlive-source</code>
+repository. The default settings are to build the last commit of each
+push. No further action is necessary on Travis-CI.
+</p>
+<p>If changes have been pushed via the cron job above, Travis-CI will
+automatically checkout the last pushed commit and try building it.
+</p>
<hr>
<a name="install_002dtl"></a>
<div class="header">
<p>
-Next: <a href="#tlmgr" accesskey="n" rel="next">tlmgr</a>, Previous: <a href="#Coding-conventions" accesskey="p" rel="prev">Coding conventions</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#tlmgr" accesskey="n" rel="next">tlmgr</a>, Previous: <a href="#Continuous-integration" accesskey="p" rel="prev">Continuous integration</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="install_002dtl-1"></a>
<h2 class="appendix">Appendix A install-tl</h2>
@@ -6101,6 +6255,8 @@ Previous: <a href="#tlmgr" accesskey="p" rel="prev">tlmgr</a>, Up: <a href="#Top
<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>-</b></a>
&nbsp;
+<a class="summary-letter" href="#Index_cp_symbol-2"><b>.</b></a>
+ &nbsp;
<br>
<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a>
&nbsp;
@@ -6217,12 +6373,15 @@ Previous: <a href="#tlmgr" accesskey="p" rel="prev">tlmgr</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-_002dC-configure-option"><code>-C configure <span class="roman">option</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Build-in-parallel">Build in parallel</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-_002dj-make-option"><code>-j make <span class="roman">option</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Build-in-parallel">Build in parallel</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
+<tr><th><a name="Index_cp_symbol-2">.</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_002etravis_002eyml"><code>.travis.yml</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Continuous-integration">Continuous integration</a></td></tr>
+<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="Index_cp_letter-A">A</a></th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-adapting-TeX-Live-for-distros">adapting TeX Live for distros</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Distro-builds">Distro builds</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-adapting-TeX-Live-for-distros">adapting TeX&nbsp;Live for distros</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Distro-builds">Distro builds</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-adding-a-new-generic-library">adding a new generic library</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-adding-a-new-program">adding a new program</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-adding-a-new-TeX_002dspecific-library">adding a new TeX-specific library</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Adding-a-new-TeX_002dspecific-library-module">Adding a new TeX-specific library module</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-adding-to-TeX-Live">adding to TeX Live</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Extending-TeX-Live">Extending TeX Live</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-adding-to-TeX-Live">adding to TeX&nbsp;Live</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Extending-TeX-Live">Extending TeX&nbsp;Live</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-am_002f-top_002dlevel-directory"><samp>am/</samp> top-level directory</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-ANSI-C">ANSI C</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-ApplicationServices-Mac-framework_002c-required-by-xetex"><code>ApplicationServices</code> Mac framework, required by <code>xetex</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr>
@@ -6262,6 +6421,7 @@ Previous: <a href="#tlmgr" accesskey="p" rel="prev">tlmgr</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-CC_003dc_002dcompiler"><code>CC=<var>c-compiler</var></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-CC_005fBUILD"><code>CC_BUILD</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-chktex"><code>chktex</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-ci">ci</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Continuous-integration">Continuous integration</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-clisp"><code>clisp</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-CLISP-1"><code>CLISP</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-CLISP">CLISP</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp>utils/xindy</samp></a></td></tr>
@@ -6286,6 +6446,7 @@ Previous: <a href="#tlmgr" accesskey="p" rel="prev">tlmgr</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-configure-variables"><code>configure</code> variables</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-configuring_002c-for-cross-compilation">configuring, for cross compilation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Cross-configuring">Cross configuring</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-const"><code>const</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Const">Const</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-continuous-integration">continuous integration</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Continuous-integration">Continuous integration</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-conventions_002c-coding">conventions, coding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Coding-conventions">Coding conventions</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-CPPFLAGS"><code>CPPFLAGS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-cross-compilation">cross compilation</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Cross-compilation">Cross compilation</a></td></tr>
@@ -6314,7 +6475,7 @@ Previous: <a href="#tlmgr" accesskey="p" rel="prev">tlmgr</a>, Up: <a href="#Top
<tr><th><a name="Index_cp_letter-E">E</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-environment-variables_002c-for-configure">environment variables, for <code>configure</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configure-options">Configure options</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-exec_005fprefix"><code>exec_prefix</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#g_t_002d_002denable_002dmultiplatform"><code>--enable-multiplatform</code></a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-extending-TeX-Live">extending TeX Live</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Extending-TeX-Live">Extending TeX Live</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-extending-TeX-Live">extending TeX&nbsp;Live</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Extending-TeX-Live">Extending TeX&nbsp;Live</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-extern-functions"><code>extern</code> functions</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-extra_002f-top_002dlevel-directory"><samp>extra/</samp> top-level directory</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
@@ -6347,7 +6508,7 @@ Previous: <a href="#tlmgr" accesskey="p" rel="prev">tlmgr</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-ICU_005fCONFIG"><code>ICU_CONFIG</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-infrastructure_002c-tools-needed-for">infrastructure, tools needed for</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-inst_002f-top_002dlevel-directory"><samp>inst/</samp> top-level directory</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-install_002dtl_002c-TeX-Live-installer"><code>install-tl<span class="roman">, TeX Live installer</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing">Installing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-install_002dtl_002c-TeX-Live-installer"><code>install-tl<span class="roman">, TeX&nbsp;Live installer</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing">Installing</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-installation-directories">installation directories</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installation-directories">Installation directories</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-installing">installing</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing">Installing</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-interprocess-communication">interprocess communication</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr>
@@ -6505,12 +6666,13 @@ Previous: <a href="#tlmgr" accesskey="p" rel="prev">tlmgr</a>, Up: <a href="#Top
<tr><td></td><td valign="top"><a href="#index-tangle"><code>tangle</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-tests_002c-running">tests, running</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Overview-of-build-system">Overview of build system</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-TeX_002dspecific-library-module_002c-adding">TeX-specific library module, adding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Adding-a-new-TeX_002dspecific-library-module">Adding a new TeX-specific library module</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-texlive_002etlpdb_002c-TeX-Live-database"><code>texlive.tlpdb<span class="roman">, TeX Live database</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing">Installing</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-texlive_002etlpdb_002c-TeX-Live-database"><code>texlive.tlpdb<span class="roman">, TeX&nbsp;Live database</span></code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Installing">Installing</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-tie"><code>tie</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-timestamps_002c-in-repository">timestamps, in repository</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-tools_002c-for-building">tools, for building</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-top_002dlevel-directories">top-level directories</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-touching-files-to-avoid-rerunning">touching files to avoid rerunning</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-Travis_002dCI">Travis-CI</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Continuous-integration">Continuous integration</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-type-cast_002c-avoiding">type cast, avoiding</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Const">Const</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="Index_cp_letter-U">U</a></th><td></td><td></td></tr>
@@ -6558,6 +6720,8 @@ Previous: <a href="#tlmgr" accesskey="p" rel="prev">tlmgr</a>, Up: <a href="#Top
</table>
<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>-</b></a>
&nbsp;
+<a class="summary-letter" href="#Index_cp_symbol-2"><b>.</b></a>
+ &nbsp;
<br>
<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a>
&nbsp;