From user-return-43551-apmail-ant-user-archive=ant.apache.org@ant.apache.org Wed Jun 02 00:59:31 2004 Return-Path: Delivered-To: apmail-ant-user-archive@www.apache.org Received: (qmail 14757 invoked from network); 2 Jun 2004 00:59:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 2 Jun 2004 00:59:31 -0000 Received: (qmail 45335 invoked by uid 500); 2 Jun 2004 00:59:42 -0000 Delivered-To: apmail-ant-user-archive@ant.apache.org Received: (qmail 45281 invoked by uid 500); 2 Jun 2004 00:59:41 -0000 Mailing-List: contact user-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Users List" Reply-To: "Ant Users List" Delivered-To: mailing list user@ant.apache.org Received: (qmail 45247 invoked by uid 99); 2 Jun 2004 00:59:41 -0000 Received: from [134.132.72.99] (HELO junior.lgc.com) (134.132.72.99) by apache.org (qpsmtpd/0.27.1) with ESMTP; Tue, 01 Jun 2004 17:59:41 -0700 Received: from lgchvw01.lgc.com (lgchvw01.lgc.com [134.132.93.107]) by junior.lgc.com (8.11.7/8.11.3) with SMTP id i520w0412159 for ; Tue, 1 Jun 2004 19:58:00 -0500 (CDT) Received: from 134.132.93.152 by lgchvw01.lgc.com (InterScan E-Mail VirusWall NT); Tue, 01 Jun 2004 19:59:04 -0500 Received: by lgchexchbh.ad.lgc.com with Internet Mail Service (5.5.2657.72) id ; Tue, 1 Jun 2004 19:59:04 -0500 Message-ID: From: Dominique Devienne To: "'Ant Users List'" Subject: RE: Using Ant to build multitarget mixed C++/Java projects Date: Tue, 1 Jun 2004 19:59:02 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N > From: Kreinick, Michael H. [mailto:michael.kreinick@gs.com] > > 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: user-unsubscribe@ant.apache.org For additional commands, e-mail: user-help@ant.apache.org