summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-02-17 22:37:44 +0000
committerKarl Berry <karl@freefriends.org>2017-02-17 22:37:44 +0000
commit403359433cd5380f66b5eae875fd817afcacc250 (patch)
treed0a3d303e89af7ec6ec055bedf8b285787680f62
parentab45728245c1e07608202ff15953b97a9d3232b0 (diff)
do not configure in disabled (with --disable-PKG) subdirs
git-svn-id: svn://tug.org/texlive/trunk@43261 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/ChangeLog30
-rw-r--r--Build/source/README18
-rw-r--r--Build/source/am/ChangeLog34
-rw-r--r--Build/source/am/README7
-rw-r--r--Build/source/am/recurse.am19
-rw-r--r--Build/source/m4/ChangeLog11
-rw-r--r--Build/source/m4/README8
-rw-r--r--Build/source/m4/kpse-setup.m436
8 files changed, 102 insertions, 61 deletions
diff --git a/Build/source/ChangeLog b/Build/source/ChangeLog
index 0ad46ff6ce2..781c0a26336 100644
--- a/Build/source/ChangeLog
+++ b/Build/source/ChangeLog
@@ -1,8 +1,3 @@
-2017-02-16 Karl Berry <karl@tug.org>
-
- * am/bin_links.am: $(MKDIR_P) $(DESTDIR)$(bindir) to be sure,
- since this can end up being called first with --disable-all-pkgs.
-
2016-11-16 Karl Berry <karl@tug.org>
* Makefile.am (install-exec-hook): warn that the
@@ -45,19 +40,10 @@
* tardate.ac: Switch to 2015-03-07.
-2015-02-16 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/dist_hook.am (new): Makefile fragment for dist-hook target.
- * Makefile.am: Use the fragment am/dist_hook.am.
-
2014-11-24 Peter Breitenlohner <peb@mppmu.mpg.de>
* tardate.ac: Switch to 2014-11-24.
-2014-11-17 Karl Berry <karl@tug.org>
-
- * am/script_links.am: Use w32_wrapper or w64_wrapper.
-
2014-10-21 Karl Berry <karl@tug.org>
* configure.ac: report CC/CXX values, with --version output
@@ -127,21 +113,9 @@
* Makefile.am: Add the make target 'texlinks'.
-2013-07-16 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/rebuild.am: Avoid still more 'parallel make' problems.
-
-2013-07-15 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/rebuild.am: Avoid more 'parallel make' problems.
-
2013-07-06 Peter Breitenlohner <peb@mppmu.mpg.de>
- * am/*.am: Moved Makefile fragments from libs/am/ and tekk/am/.
- * am/rebuild.am: New Makefile fragment to rebuild a library.
- * am/reconfig.am: New Makefile fragment to reconfigure.
- * am/recurse.am: New Makefile fragment to recurse into subdirs.
-
+ * am: new subdirectory.
* Makefile.am, configure.ac: Use am/recurse.am.
2013-06-24 Peter Breitenlohner <peb@mppmu.mpg.de>
@@ -596,4 +570,4 @@
(sup_main_memory, sup_save_size): increase per tex.ch.
From Akira.
-(This ChangeLog file public domain.)
+(This file public domain.)
diff --git a/Build/source/README b/Build/source/README
index 1f6ccff359b..a6ee005665f 100644
--- a/Build/source/README
+++ b/Build/source/README
@@ -4,18 +4,24 @@ Public domain. Originally written 2005 by Karl Berry.
For a high-level overview of building TeX Live, see
http://tug.org/texlive/build.html. In brief:
-To configure and make the source tree, run ./Build.
-To build (mostly) without optimization, run ./Build --debug.
-To make without configuring, run TL_CONFIGURE=true ./Build.
+- To configure and make the source tree, run ./Build.
+ This builds in subdirectory Work/, and installs into subdirectory inst/.
+
+- To build (mostly) without optimization, run ./Build --debug.
+
+- If the make fails and you want to rebuild without starting from scratch:
+ cd Work/whatever/subdir && make
+
Email tlbuild@tug.org if problems.
(Nearly everything the Build script does can be overridden via
environment variables; just take a look to see the names.)
Many more details about the TL build system, such as configuring to work
-on a single program, adding new programs or libraries, recompiling after
-fixing problems, etc., are in the doc/tlbuild* document and the sibling
-README* files here (which are generated from that document).
+on a single program, adding new programs or libraries, documentation
+about the many pieces of the system, etc., are in the doc/tlbuild*
+document and the sibling README* files here (which are generated from
+that document).
Build information for some of the platforms.
diff --git a/Build/source/am/ChangeLog b/Build/source/am/ChangeLog
new file mode 100644
index 00000000000..6b72cb9fc35
--- /dev/null
+++ b/Build/source/am/ChangeLog
@@ -0,0 +1,34 @@
+2017-02-17 Karl Berry <karl@freefriends.org>
+
+ * recurse.am: doc fixes.
+
+2017-02-16 Karl Berry <karl@tug.org>
+
+ * bin_links.am: $(MKDIR_P) $(DESTDIR)$(bindir) to be sure,
+ since this can end up being called first with --disable-all-pkgs.
+
+2015-02-16 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * dist_hook.am (new): Makefile fragment for dist-hook target.
+ * Makefile.am: Use the fragment dist_hook.am.
+
+2014-11-17 Karl Berry <karl@tug.org>
+
+ * script_links.am: Use w32_wrapper or w64_wrapper.
+
+2013-07-16 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * rebuild.am: Avoid still more 'parallel make' problems.
+
+2013-07-15 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * rebuild.am: Avoid more 'parallel make' problems.
+
+2013-07-06 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * *.am: Moved Makefile fragments from libs/ and tekk/.
+ * rebuild.am: New Makefile fragment to rebuild a library.
+ * reconfig.am: New Makefile fragment to reconfigure.
+ * recurse.am: New Makefile fragment to recurse into subdirs.
+
+(This file public domain.)
diff --git a/Build/source/am/README b/Build/source/am/README
new file mode 100644
index 00000000000..424899d0ab6
--- /dev/null
+++ b/Build/source/am/README
@@ -0,0 +1,7 @@
+$Id$
+Public domain. Originally written 2017 by Karl Berry.
+
+This top-level am/ directory contains fragments which are ultimately used
+in Makefile.am files by automake (a.k.a. the top-level reautoconf).
+
+See also the sibling top-level m4/ directory.
diff --git a/Build/source/am/recurse.am b/Build/source/am/recurse.am
index 158fb658655..3c6221a93db 100644
--- a/Build/source/am/recurse.am
+++ b/Build/source/am/recurse.am
@@ -1,16 +1,20 @@
+# $Id$
## am/recurse.am: Makefile fragment to configure and build subdirs.
##
-## Copyright (C) 2013 Peter Breitenlohner <tex-live@tug.org>
+## Copyright 2017 Karl Berry <tex-live@tug.org>
+## Copyright 2013 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
-##
-## requires $(recurse_this) and $(recurse_top).
-##
-# We must configure all subdirs since 'make dist' needs the Makefile.
-# For those not required for the current set of configure options
+#
+# Requires $(recurse_this) and $(recurse_top).
+# Uses CONF_SUBDIRS and MAKE_SUBDIRS (set by kpse-setup.m4).
+#
+# For subdirs not required for the current set of configure options
# we append '--disable-build' so they can skip tests that would
# fail because, e.g., some required libraries were not built.
+# (By manually testing $enable_build in configure, e.g., dvisvgm/configure.)
+#
# Code inspired by automake's way to handle recursive targets.
-##
+#
cf_silent = $(cf_silent_@AM_V@)
cf_silent_ = $(cf_silent_@AM_DEFAULT_V@)
cf_silent_0 = --silent
@@ -52,4 +56,3 @@ recurse: $(CONFIG_AUX)
$(CONFIG_AUX):
@echo "configure in $(recurse_top)auxdir/auxsub failed to create the file $@"
exit 1
-
diff --git a/Build/source/m4/ChangeLog b/Build/source/m4/ChangeLog
index 2dd0e21e50c..d8e2d2d11a8 100644
--- a/Build/source/m4/ChangeLog
+++ b/Build/source/m4/ChangeLog
@@ -1,3 +1,12 @@
+2017-02-17 Karl Berry <karl@freefriends.org>
+
+ * kpse-setup.m4 (_KPSE_RECURSE): do not add a package to
+ CONF_SUBDIRS if --disable-PKG was given. Thus, the directory for a
+ disabled package will no longer be descended into at all, as if it
+ were nonexistent. This way, if a package's configure causes
+ problems on some systems (like dvisvgm v2's new requirement for
+ C++11), --disable-PKG can be given and work can go on.
+
2016-03-07 Karl Berry <karl@tug.org>
* kpse-pkgs (KPSE_UTILS_PKGS): add autosp.
@@ -440,3 +449,5 @@
2009-08-17 Peter Breitenlohner <peb@mppmu.mpg.de>
* kpse-warnings.m4: Implement Objective C compiler warnings.
+
+(This file public domain.)
diff --git a/Build/source/m4/README b/Build/source/m4/README
index 52e429face6..d2b7dc0cccf 100644
--- a/Build/source/m4/README
+++ b/Build/source/m4/README
@@ -1,8 +1,10 @@
-Copyright (C) 2009-2012 Peter Breitenlohner <tex-live@tug.org>
+$Id$
+Copyright 2009-2017 Karl Berry <tex-live@tug.org>
+Copyright 2009-2012 Peter Breitenlohner <tex-live@tug.org>
You may freely use, modify and/or distribute this file.
This directory is the central repository for Autoconf macros needed to build
-the TeX Live (TL) tree.
+the TeX Live (TL) tree. They are incorporated into the configure scripts.
(1) Public macros such as libtool.m4 used to build the libraries and
programs in the TL subdirectories libs/*/, utils/*/, and texk/*/ that are
@@ -25,7 +27,9 @@ owned by the TL tree.
kpse-pkgs.m4: defines lists of subdirectories libs/Lib/, utils/Util/, and
tex/Prog/ with libraries and programs that can be built as part of
the TL tree.
+
kpse-setup.m4: macros that walk through these lists to provide configure
options. They depend on configure fragments */*/ac/withenable.ac
defining the dependencies between these libraries and programs.
+See also the sibling top-level am/ directory.
diff --git a/Build/source/m4/kpse-setup.m4 b/Build/source/m4/kpse-setup.m4
index 192a10b598c..fecf5b1d950 100644
--- a/Build/source/m4/kpse-setup.m4
+++ b/Build/source/m4/kpse-setup.m4
@@ -1,5 +1,7 @@
+# $Id$ (m4/kpse-setup.m4)
# Private macros for the TeX Live (TL) tree.
-# Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org>
+# Copyright 2017 Karl Berry <tex-live@tug.org>
+# Copyright 2009-2015 Peter Breitenlohner <tex-live@tug.org>
#
# This file is free software; the copyright holder
# gives unlimited permission to copy and/or distribute it,
@@ -8,12 +10,13 @@
# KPSE_SETUP(TOP-LEVEL)
# ---------------------
# Initialize path prefix kpse_TL to top-level TeX Live (TL) directory.
-# Sinclude all withenable.ac files providing:
-# configure options --with-system-LIB, --with-LIB-includes, and --with-LIB-libdir
-# for libraries
-# configure option --disable-PKG or --enable-PKG for programs
-# additional program specific configure options (if any)
-# library dependencies for programs and libraries
+# Sinclude all pkgdir/ac/withenable.ac files, which are supposed to provide:
+# configure options for libraries:
+# --with-system-LIB --with-LIB-includes --with-LIB-libdir
+# configure options for programs:
+# --disable-PROG --enable-PROG
+# additional package-specific configure options, if any
+# library dependencies for programs and libraries, if any
AC_DEFUN([KPSE_SETUP], [dnl
AC_REQUIRE([AC_CANONICAL_HOST])[]dnl
AC_REQUIRE([_KPSE_MSG_WARN_PREPARE])[]dnl
@@ -262,25 +265,24 @@ m4_popdef([Kpse_add])[]dnl
# _KPSE_RECURSE(LIST, TEXT, COND, [PREFIX])
# -----------------------------------------
# Internal subroutine. Determine which of the libraries or programs in
-# kpse_LIST_pkgs to build, and set output variables MAKE_SUBDIRS and
-# CONF_SUBDIRS. Cause 'make dist', 'configure -hr', and 'autoreconf'
-# to recurse into all existing ones.
+# kpse_LIST_pkgs to build: if a package's source directory contains a
+# configure script, and COND is true, then add to the output variables
+# MAKE_SUBDIRS and CONF_SUBDIRS. Thus, if a package directory does not
+# exist at all, or if the package has been disabled, it will be ignored.
+#
m4_define([_KPSE_RECURSE], [dnl
AC_MSG_CHECKING([for $2 to build])
-MAKE_SUBDIRS=
CONF_SUBDIRS=
+MAKE_SUBDIRS=
KPSE_FOR_PKGS([$1], [dnl
m4_ifdef([have_]Kpse_pkg, [dnl
-if test -x $srcdir/$4Kpse_Pkg/configure; then
- $3 && Kpse_add([MAKE_SUBDIRS])
+if test -x $srcdir/$4Kpse_Pkg/configure && $3; then
Kpse_add([CONF_SUBDIRS])
- if false; then
- AC_CONFIG_SUBDIRS($4Kpse_Pkg)
- fi
+ Kpse_add([MAKE_SUBDIRS])
fi
])[]dnl m4_ifdef
])
-AC_SUBST([MAKE_SUBDIRS])[]dnl
AC_SUBST([CONF_SUBDIRS])[]dnl
+AC_SUBST([MAKE_SUBDIRS])[]dnl
AC_MSG_RESULT([$MAKE_SUBDIRS])[]dnl
]) # _KPSE_RECURSE