ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dominique Devienne <>
Subject RE: Using Ant to build multitarget mixed C++/Java projects
Date Wed, 02 Jun 2004 00:59:02 GMT
> From: Kreinick, Michael H. []
> I'm looking into various alternatives for building a set of products,
> written in a mix of C++ and Java (with some JNI). The products need to
> build
> under Windows, Solaris, and Linux using various compilers for each
> platform.
> They also need to be built with different versions of their library
> dependencies, then regression tested.
> I know Ant does have C++ build tasks. What worries me is whether Ant,
> designed with Java's build-once-run-everywhere model in mind, will work
> well
> to build the same source 5 or 10 different times. I've never used Ant
> before, and I haven't done as much reading as I perhaps should have, but
> it
> seems ill-suited to this kind of problem. I get the impression that if I
> hack hard enough I can make it happen, but that it won't be very clean
> because of the Java philosophy Ant takes for granted.
> I've looked for examples of this type of use on the Web and list with no
> luck. It seems few people are trying to use Ant for C++ at all, and none
> that I found are trying to do what I'm trying to do.
> So: Is Ant C++ support mature enough that I should even be thinking about
> using it for this? Has anyone out there tried the same kind of thing?
> Would
> any experienced users like to offer a sketch of how they would go about
> it?
> Will I be fighting the Ant project model all the way?
> I'm also looking at sCons and boost.Jam for this. If anyone has other
> suggestions, they'd be welcome.

I've looked at boost.Jam, and found it too complex for my linking. Don't
know about sCons. I'm an Ant guy, who has done makefile (GNU Make, IMake,
Make, etc...) and I don't regret switching to Ant at all. Being a VIM user,
I've been interested in A-A-P, which is Python based and has all the smarts
of Bram behind it ;-)

For someone with no Ant experience, it's a steep climb up the Ant + CppTasks
learning curve, but from my point of view, if you have Java & JNI & C++, Ant
is the clear winner. The Ant community is active and helpful, and the
CppTasks community, although much smaller, well exists ;-)

I'm a bit bias to Ant, and don't know all the other systems, but Ant is
mature, CppTasks works great for me (builds large C++ and JNI libs on
Windows, Linux, Solaris). Ant is so easy to extend (for me at least ;-) in
Java, I can always do what I want.

Case in point: After being burned a few times by developers editing javah
generated headers, I now automatically generate them on the fly, with proper
dependency checking and all, as past of the build process. They're not even
checked in anymore, and never out-of-date. I'll make that public eventually.

So in short, yes, Ant doesn't excel at native build, but it's doing more
than OK, and it's very flexible / extensible (if you're a Java guy like me).

Beyond that, it's all a matter of taste and whether the tool does it for you
or not. --DD 

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message