diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2009-03-27 09:51:14 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2009-03-27 09:51:14 +0000 |
commit | 030ac93ac520631dcf2cbe20591fe6031c42b24a (patch) | |
tree | cd9783b3141875c93afff7c2698e854427b85556 /Build/source/README.layout | |
parent | 906ce7f27518260132771f3d1a4243ead37e9efd (diff) |
new build system: minor cleanup
git-svn-id: svn://tug.org/texlive/trunk@12527 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/README.layout')
-rw-r--r-- | Build/source/README.layout | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/Build/source/README.layout b/Build/source/README.layout new file mode 100644 index 00000000000..406154adf44 --- /dev/null +++ b/Build/source/README.layout @@ -0,0 +1,77 @@ + Layout of the teTeX / TeX Live (TL) build system + ================================================ + +The TL 2009 build system has been completely restructured, using Autoconf, +Automake, and Libtool. The main purpose was to configure and build each +library before configuring any module (program or other library) depending +on that library. This allows to check for properties and features of a +library built as part of the TL tree in much the same as for an installed +(system) version of that library. + +This should simplify upgrading of modules maintained independently and/or +integrating new modules into the TL build system. + +1. Layout of directories +======================== + +1.1. Overall layout +------------------- + +libs/*/* various libraries +texk/kpathsea/* the Kpathsea library + +texk/*/* programs (mostly using Kpathsea) +utils/*/* utility programs (not using Kpathsea) + +texk/am/* Makefile.am fragments +texk/web2c/am/* for the Kpathsea library +texk/web2c/*/am/* and the Web2C programs + +libs/Lib/* library Lib (zlib, libpng, t1lib, etc.) +texk/Prog/* program package Prog (web2c, afm2pl, bibtex8, etc.) +utils/Util/* utility program package Util (dialog, pdfopen, ps2eps, etc.) + +libs/dummy/* dummy modules +texk/dummy/* used to configure +utils/dummy/* the real modules + +ac/* various configure.ac fragments (configure options) +*/ac/* for the whole TL tree +*/*/ac/* or for a particular component + +build-aux/* auxiliary build scripts (config.guess etc.) + +m4/kpse-pkgs.m4 Autoconf macros defining the lists of Lib, Prog, and Util + modules and handling loops over these lists +m4/* other Autoconf macros + +1.2. A library `Lib' +-------------------- + +libs/Lib/ac/withenable.ac defines libraries required by Lib +libs/Lib/ac/Lib.ac defines basic tests for a system version of Lib +m4/kpse-Lib-flags.m4 defines Autoconf macros for configure options + as well as KPSE_LIB_FLAGS, to be used in configure.ac + files and defining Make variables + +Several libraries use an unmodified source tree supplemented by a proxy +build system (bypassing that of the source tree, e.g., + +libs/zlib/zlib-1.2.3/* (almost) unmodified source tree +libs/zlib/Makefile.am proxy Makefile.am +libs/zlib/configure.ac and configure.ac + +1.3. A program `Prog' +--------------------- + +texk/Prog/ac/withenable.ac defines libraries required by Prog, provides the + configure option --disable-Prog +texk/Prog/ac/Prog.ac defines Prog specific configure option that should + be seen at the top-level + +1.4. A utility program `Util' +----------------------------- + +utils/Util/ac/withenable.ac defines libraries required by Util, provides the + configure option --disable-Util + |