[tex-k] bld-test-1.1

Peter Breitenlohner peb at mppmu.mpg.de
Wed Jan 28 18:55:40 CET 2009


Hi Karl,

a second version of this is almost finished, lacking mostly some clean up.
For the moment just a short summary.

1. The libraries libs/LIB, utils programs utils/PROG, and TeXk programs
texk/PROG that are part of a TL build are listed in Autoconf macros and
hopefully nowhere else.  Their dependencies are encoded in the respective
*/*/kpse/withenable.ac files.

2. The required libraries libs/LIB and texk/kpathsea are configured and
built, one after the other (actually, for use in 'make dist' all of them are
configured but only the required ones are built).  Finally all the utils and
TeXk programs are configured and built.  Thus each directory is configured
after building any libraries that program or library might need, and can
perform autoconf tests using either uninstalled or system libraries.

3. There is a set of 'private' Autoconf macros used only in ./, libs/,
utils/, and texk/ defining the lists mentioned above and handling library
dependencies.

In addition there are 'public' Autoconf macros to be used in */*/.

4. For a program (or library) depending on a possibly uninstalled shared or
libtool library, LT_OUTPUT (libtool-2.2.x) can create a libtool script for
use in configure tests.  This can be done such that
 	./libtool --mode=link --tag=CC
is automatically prepended to the link command used for the configure tests
AC_HEADERS, AC_CHECK_FUNCS, AC_LINK_IFELSE, and others (or '--tag=CXX' for
C++ programs).

5. There is, however, the following problem: for an uninstalled library one
has to AC_SUBST, e.g., FOO_INCLUDES='-I${top_srcdir}/../../libs/foo' and
FOO_LIBS='${top_builddir}/../../lib/foo/libfoo.la' whereas for configure
tests one needs FOO_INCLUDES="-I$srcdir/../../libs/foo" and
FOO_LIBS="../../lib/foo/libfoo.la".

Of course, one could use different names for these two sets of variables,
but that might confuse the user.

Or one can arrange that the value of these variables is changed immediately
before configure creates config.status which in turn creates Makefile et.al.

In both cases, the values used for configure tests must not make it into the
Makefile, i.e., must not be permanently added to LIBS or similar.

What do you think of these two possibilities, or maybe you have a better
idea.

Regards
Peter Breitenlohner <peb at mppmu.mpg.de>


More information about the tex-k mailing list