Tree [cb576c] GGCOV_0_0_2 /
History



File Date Author Commit
src 2001-11-23 gnb gnb [cb576c] First checkin of ggcov, a GTK frontend for expl...
test 2001-11-23 gnb gnb [cb576c] First checkin of ggcov, a GTK frontend for expl...
ui 2001-11-23 gnb gnb [cb576c] First checkin of ggcov, a GTK frontend for expl...
.cvsignore 2001-11-23 gnb gnb [cb576c] First checkin of ggcov, a GTK frontend for expl...
AUTHORS 2001-11-23 gnb gnb [cb576c] First checkin of ggcov, a GTK frontend for expl...
ChangeLog 2001-11-23 gnb gnb [cb576c] First checkin of ggcov, a GTK frontend for expl...
Makefile.am 2001-11-23 gnb gnb [cb576c] First checkin of ggcov, a GTK frontend for expl...
NEWS 2001-11-23 gnb gnb [cb576c] First checkin of ggcov, a GTK frontend for expl...
README 2001-11-23 gnb gnb [cb576c] First checkin of ggcov, a GTK frontend for expl...
acconfig.h 2001-11-23 gnb gnb [cb576c] First checkin of ggcov, a GTK frontend for expl...
configure.in 2001-11-23 gnb gnb [cb576c] First checkin of ggcov, a GTK frontend for expl...

Read Me

This is intended to be an implementation of the Apache/Tomcat
project's ANT build tool in the C language.  Hence, C-ANT or CANT.

Basically, CANT is used to build large and complex software
projects cleanly and simply.  It is similar in purpose to
GNU make plus a set of makefiles, e.g. GNU automake, but
cleaner to use and without weird 1970s semantics.

The input format for CANT is in XML, and is designed to be
a minimal set of data needed to know how to build the software,
e.g. filenames.  Details of how to proceed from filenames to
finished software are designed to be centralised and easily
controlled.  In contrast, make requires a specific, dated
and complex format which ultimately requires that each Makefile
contain the complete specification of how to build software.

The focus of ANT of very much towards building Java programs,
which is understandable because Java's compilation paradigm
and platform-independance mean that "make" is a very poor
solution.  Initially CANT will also focus on building Java
programs.  Once a decent level of compatibility with ANT is
achieved, features specific for C and C++ will be added.

One area where it will be impossible to achieve real
compatibility with ANT is extendability via Java classes.
Probably the best way to approach this is combining XML
configuration with string construction to run commandlines.
For example, adding a new C compiler should mean creating
an XML file which describes the way to map CANT features to
compiler command lines, e.g. <compile-c debug="true"> becomes
"gcc -g".

Greg Banks <gnb@alphalink.com.au>
2 November 2001.