texlive[51862] Build/source/doc: need to rm sources to build without
commits+karl at tug.org
commits+karl at tug.org
Sun Aug 11 18:17:31 CEST 2019
Revision: 51862
http://tug.org/svn/texlive?view=revision&revision=51862
Author: karl
Date: 2019-08-11 18:17:30 +0200 (Sun, 11 Aug 2019)
Log Message:
-----------
need to rm sources to build without C++11
Modified Paths:
--------------
trunk/Build/source/doc/ChangeLog
trunk/Build/source/doc/tlbuild.info
trunk/Build/source/doc/tlbuild.texi
Modified: trunk/Build/source/doc/ChangeLog
===================================================================
--- trunk/Build/source/doc/ChangeLog 2019-08-11 00:12:36 UTC (rev 51861)
+++ trunk/Build/source/doc/ChangeLog 2019-08-11 16:17:30 UTC (rev 51862)
@@ -1,3 +1,7 @@
+2019-08-11 Karl Berry <karl at freefriends.org>
+
+ * tlbuild.texi (Build one package): rm sources to build without C++11.
+
2018-04-10 Karl Berry <karl at tug.org>
* tlbuild.texi (Cross compilation): move to under Building.
@@ -5,7 +9,6 @@
* Makefile.am (*_node_{good,bad}): update for current pod doc.
($(mydoc)-incl.texi): hint to symlink scripts for pod2texi.
-
2018-02-20 Karl Berry <karl at freefriends.org>
Modified: trunk/Build/source/doc/tlbuild.info
===================================================================
(Binary files differ)
Modified: trunk/Build/source/doc/tlbuild.texi
===================================================================
--- trunk/Build/source/doc/tlbuild.texi 2019-08-11 00:12:36 UTC (rev 51861)
+++ trunk/Build/source/doc/tlbuild.texi 2019-08-11 16:17:30 UTC (rev 51862)
@@ -234,11 +234,11 @@
@cindex C++11, required
A C++11 compiler is similarly required because of the third-party
libraries ICU and Poppler; the program @code{dvisvgm} also requires
-C++11. It is possible to build everything else with older compilers;
- at url{https://tug.org/texlive/custom-bin.html} links to a build script
-for doing this.
+C++11. It is possible to build everything else with older compilers,
+but you have to remove the C++11-dependent sources. @xref{Build one
+package}.
-However, a few programs in the tree have additional requirements:
+A few programs in the tree have additional requirements:
@table @file
@item web2c
@@ -248,7 +248,7 @@
@item xdvik
@itemx xpdfopen
@cindex X11 development, required by X clients
-require X11 headers and libraries, often in ``development'' packages
+require X11 headers and libraries, typically in ``development'' packages
that are not installed by default.
@item xetex
@@ -264,7 +264,7 @@
@cindex @code{libsigsegv}, required by @code{xindy}
requires GNU @code{clisp}, @code{libsigsegv}, and @code{libiconv};
additionally, to build the rules and/or documentation: @code{perl},
- at code{latex}, and @code{pdflatex}
+ at code{latex}, @code{pdflatex}.
@end table
@@ -440,18 +440,10 @@
dependencies and can be invoked to build an individual program or
library, first building any required libraries.
-This ``build-on-demand'' procedure is used, e.g., in the upstream
-Lua at TeX{} repository to build Lua at TeX{}, from a subset of the complete
- at TL{} source tree. As another example, when building the original
-e- at TeX{} has been disabled (as it is by default), one can run
- at code{make etex} (or @code{make etex.exe}) in @file{texk/web2c/} to
-build e- at TeX{} (although there is no comparably simple way to
- at emph{install} e- at TeX{}).
+Here is an example from start to finish for working on
+ at code{dvipdfm-x}. (Unfortunately, this does not suffice for building
+one, or a subset, of the @TeX{} engines; see the next section.)
-If you want to work on a single program within the TL sources, this is
-the recommended way to do it. Here is an example from start to
-finish for working on @code{dvipdfm-x}.
-
@example
mkdir mydir && cd mydir # new working directory
@@ -492,7 +484,6 @@
is also a good idea to run @code{make check} after making any changes,
to ensure that whatever tests have been written still pass.
-
@cindex size of source tree
Finally, the above retrieves the entire TL source tree (several
hundred megabytes). It is natural to ask if this is really necessary.
@@ -506,12 +497,23 @@
@url{http://pdftex.org}), which is indeed such a cut-down TL source
tree.
+ at cindex C++11, removing dependent sources
+Some libraries and programs require C++11. If you want to build with
+an older compiler lacking such support, you need to (re)move those
+source directories; specifying @code{--disable} for them does not
+suffice, unfortunately. Specifically, before running @code{configure}:
+
+ at example
+rm -rf libs/icu libs/poppler libs/graphite2 texk/dvisvgm
+ at end example
+
@vindex --enable-missing @r{to ignore dependencies}
-Even with @code{--disable-all-pkgs}, dependencies will be checked.
-For instance, if a (non-MacOSX) system does not have
- at code{fontconfig}, Xe at TeX{} cannot be built (@pxref{Prerequisites})
-and @code{configure} will terminate. To proceed without such
-dependencies, specify @code{--enable-missing} also.
+Also, even with @code{--disable-all-pkgs}, dependencies are (currently)
+checked. For instance, if a (non-MacOSX) system does not have
+ at code{fontconfig}, Xe at TeX{} cannot be built (@pxref{Prerequisites}),
+and @code{configure} will terminate even with @code{--disable-xetex}.
+To proceed without such dependencies, specify @code{--enable-missing}
+also. (Patches to improve this would be most welcome.)
@vindex CC=@var{c-compiler}
@vindex CXX=@var{c++-compiler}
@@ -546,8 +548,9 @@
This works because the @code{make} automatically runs @code{configure}
as necessary for the dependencies and target. Furthermore, the source
-tree can be cut down to just what is needed for the given engine (as
-the separate pdf at TeX{} and Lua at TeX{} source repositories do).
+tree can be cut down to just what is needed for the given engine
+(the separate pdf at TeX{} and Lua at TeX{} source repositories do this, if
+you want to peruse examples).
We hope to improve the situation in the future. Patches are welcome.
@@ -974,7 +977,6 @@
be sure to set @file{use-commit-times=yes} in
@file{~/.subversion/config} or the equivalent.
-
@cindex touching files to avoid rerunning
@pindex make -t
If timestamps are wrong, you may also be able to avoid unnecessary
@@ -983,7 +985,7 @@
files. With @code{--enable-maintainer-mode} it may also be necessary
to @code{touch} first @file{aclocal.m4}, then @file{configure} and
@file{config.h.in} (or @file{c-auto.in}), and finally all
- at file{Makefile.in} files. Perhaps @code{make -t} will help.
+ at file{Makefile.in} files.
@node Top-level directories
@@ -2031,7 +2033,7 @@
program, which is specified with an additional @code{--enable} option,
e.g., @code{--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. @xref{Build one package}.
+interested in, and its dependencies, are built. @xref{Build one package}.
Without this option, all modules are built except those that are
explicitly disabled or specify @code{disable} in their
More information about the tex-live-commits
mailing list