On 12/07/2011, at 3:30 PM, Russel Winder wrote:

> Luke,
> 
> I see you have started a plugin for C and C++ support.  I think this is
> a good move for Gradle.  I am happy to volunteer to be an alpha tester.

Consider yourself on notice then ;)

> Conversely the market leaders in the C, C++, LaTeX (and D, OCaml,
> Haskell, Chapel, Go, Fortran, etc.) are SCons, Waf and CMake (Make and
> Autotools exists but are really legacy systems) and their Java and
> Groovy support is weak.  CMake is just a Makefile manager and probably
> has little to help.  SCons and Waf however will have a lot to teach
> about C and C++ compilation and management.

How would you suggest I start looking at these tools?

> The single biggest issue is that in Java and Groovy compilation you
> rarely track all of the build targets in the DAG -- anonymous classes,
> etc. create files you have no way of guessing the name of.  C and C++ on
> the other hand generally have all generated files in the DAG, usually of
> necessity.  

This throws up some interesting challenges to the Gradle model as it's not 
currently fine grained enough to handle this elegantly. But it should/will be 
eventually because it's needed for other incremental-in-nature tasks like 
archive building/copying.

> This means parsing the files to determine the graph of
> relationships.  

This will be challenging, but there are Java libraries around to do this that 
we can leverage when the time comes.

> What it does mean is that there is validity in having a build framework
> that correctly and well handles things both on the JVM and for native
> languages.

Agreed entirely. Quite an exciting prospect.

> It might be worth mentioning the crucial difference between SCons and
> Waf.  SCons does all its checks everytime and is a Make replacement with
> the ability to do some Autoconf type things.  Waf is a two phase
> (configure and build) system that is an Autotools replacement.

We don't exactly know how far Gradle is going to go in supporting portability 
like autotools.

I'm interested in your insights here. Obviously it's desirable, but I doubt 
it's going to be practical without leveraging an existing specialised tool for 
this.

> The SCons project is in the middle of a (very slow) move to Mercurial
> and BitBucket.  If you want to dig through the source possibly best to
> work with a clone of my Mercurial repository on BitBucket rather than
> trying to fight with Subversion.
> 
> Waf is still a Subversion repository on GoogleCode but then bzr-svn,
> hgsubversion and git-svn are good for taking person Bazaar, Mercurial or
> Git (respectively) repositories from Subversion repositories.

Thanks for the info.

-- 
Luke Daley
Principal Engineer, Gradleware 
http://gradleware.com


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to