Boost logo

Boost :

From: PETER NORDLUND (peter_nordlund_at_[hidden])
Date: 2000-07-25 17:16:02

Hi all,

I have recently started to program Java instead of C++.
Then I found Ant. Ant is a make-like tool for building projects.
It is focuesed on compiling Java, but maybe it could also be used
for C++, if you could live with the burden of having a Java-environment
up and running.

I find Ant really convenient to use (for Java projects).
It is much easier than make.

I joined the Ant-mailing list quite a few months ago.
I remember someone asking if Ant
was suitable for C++, but I don't remember the answer.

see for some info
and links for getting the stuff etc.

Below is an except from the documentation:
Ant is a Java based build tool. In theory it is kind of like make
without make's wrinkles.

Why another build tool when there is already make,
gnumake, nmake, jam, and others? Because all of those
tools have limitations that its original author couldn't
live with when developing software across multiple platforms.
Make like tools are inherently shell based. They evaluate a set
of dependencies and then execute commands not unlike what you
would issue on a shell. This means that you can easily extend
these tools by using or writing any program for the OS that
you are working on. However, this also means that you limit
yourself to the OS, or at least the OS type such as Unix,
that you are working on.

Makefiles are inherently evil as well.


Ant is different. Instead a model where it is extended with shell
based commands, it is extended using Java classes. Instead of writing
shell commands, the configuration files are XML based calling out a
target tree where various tasks get executed. Each task is run by an
object which implements a particular Task interface.

Granted, this removes some of the expressive power that is inherent
by being able to construct a shell command such as
`find . -name foo -exec rm {}` but it gives you the ability to be
cross platform. To work anywhere and everywhere. And hey, if you
really need to execute a shell command, Ant has an exec rule that
allows different commands to be executed based on the OS that it
is executing on.

If it isn't unbearable to program Java you could maybe write some
new tasks to get a complete "make"-system for C++.


Boost list run by bdawes at, gregod at, cpdaniel at, john at