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