toc is a programmer's tool for "configuring" build trees before they
are built, plus a Make-based
framework providing common build-related functionality. While it is
geared towards software source trees it is also useful in a number of
other contexts. It is conceptually similar to the GNU Autools, and is
intended to replace the Autotools for source trees which only need
to build on platforms hosting GNU toolsets. (Note that this has
nothing to do with the portability of the source code, only of the build
environment.) Where the GNU Autotools try to target every operating
environment known to man (and therefore must take a least-common-denominator
approach), toc explicitly takes advantage of the extra features
available on platforms hosting GNU versions of the most common Unix
system tools. It runs "natively" on Linux platforms and can also be
used on Solaris, BSD, etc., when those platforms have been upgraded
with GNU versions of their system tools (GNU sed, GNU tar, GNU find,
GNU bash, GNU Make, etc.).
A brief summary of the primary features and goals of toc:
A very brief history of toc:
toc originally appeared in 2003 after i grew (extremely) frustrated with maintaining Autotools-based source trees. Since then it has seen heavy-duty use in nearly all of my C++ projects. In June 2007 i started work on an "underground edition" of O'Reilly's book "Managing Projects with GNU Make". As part of that work, toc has been rewritten and is now called toc2. toc2 is fundamentally the same as toc1, but is more cleanly implemented and easier to hack on. A couple of the seldom-used features have been removed (e.g. qmake support), the dependencies generation support was reimplemented, and un/installation support has been improved.
This project is graciously funded by the good folks over at Goshen Timber Frames.
|toc is developed in conjunction with: s11n.net, SpiderApe, & wanderinghorse.net.||Site design adapted from a design by Sumanasa.com|