SCons support for D

Andrew Gough andrew at goughy.org
Thu Dec 8 01:23:32 PST 2011


On Wed, 07 Dec 2011 14:03:02 +0000
Russel Winder <russel at russel.org.uk> wrote:

> On Wed, 2011-12-07 at 22:00 +1100, Andrew Gough wrote:
> [...]
> > I'm suggesting that the current multi-pronged approach to providing
> > a workable build system is hampered by the multitude of directions
> > and could benefit from some initial discussion, consensus and
> > design.
> 
> OK.  It is a valid point, effort is being diluted.  On the other hand
> various people prefer different systems, so I am not sure there is any
> constructive point in dictating the "one true build system".  If there
> were one that gained a majority support votes then it could
> concentrate available effort.
> 
> [...]
> > I agree that it would be good to use a tool with support for
> > multiple languages & platforms.  I was trying to point out that the
> > multitude of options is potentially harmful.
> 
> Or an opportunity?
> 

Maybe.

> D is trying to supplant C, C++, Fortran and Python.  D should
> therefore be buildable with the same tools that people use with these
> languages in order to provide the lowest possible barrier to entry to
> D of C, C++, Fortran and Python programmers.  Not having to change
> build system but simply to add to their current build system makes
> transition easier.
> 
Agreed.

> [...]
> > Simple Ant scripts are easy, but XML is a very bad choice for a
> > build system IMO 
> 
> XML was an interesting choice originally, but has been perverted
> beyond sanity in the Ant context.  This is why I wrote Gant -- use
> all the Ant tasks but not from the XML interpreter but from Groovy
> scripts.  The idea cannot have been all bad as it inspired Hans
> Dockter to create Gradle, and the Apache folk forked Gant to create
> the Groovy frontend to Ant.
> 
> [...]
> > 
> > Not really what I was suggesting - I was hoping to discuss
> > consolidating effort around a small set of tools, rather than the
> > current state.
> 
> I fully appreciate the idea is to focus effort so as to avoid
> dilution. With the effort available it is a good idea.  I am just not
> convinced creating new tools from scratch is the right approach.
> 
> [...]
> > > Do we work with a build framework that exists and already allows
> > > serious build using D; or
> > 
> > Possibly.
> > 
> > > do we start from scratch with a new build framework that no-one
> > > can use till something is ready?
> > 
> > Possibly (if necessary)
> > 
> > I thought it important to have a discussion first to determine the
> > requirements and use cases, and concentrate effort rather than
> > disperse it.
> 
> Having a full and frank exchange of views is an excellent move.  As
> long as everyone stays friends!
> 
> Having watched what happened with Gant, Gradle, Buildr, sbt,
> Leiningen, Rake, Bake, Rant, Ant, Maven, make, Cmake, Autotools, etc.
> I fear the overall effect of a "focused on D" build tool, whether
> build from scratch or over another framework.  Specialist per
> language build tools lead to a ghettoization.  Even 5 mins looking at
> the Rake, sbt and Leiningen situations make this abundantly clear.
> Which is sad as there are many good things about all of them.
> 
> If there effort to start from scratch with D to create the replacement
> for Make, CMake, Autotools, as a general build framework, that is a
> different issue.  But this is a big undertaking requiring DAGs, C
> scanners, C++ scanners, Fortran scanners, LaTeX scanners, etc., not to
> mention tool finders and toolchain builders.

I actually think its unnecessary to start from scratch, but am
interested in other's opinions.

> 
> My current prejudice is that SCons, Waf and CMake already have almost
> all of this stuff already in place, so it is an incremental step to
> make sure they work well with D (*).
> 

I agree - my preference is for a build configuration tool like CMake or
premake.  They already do a lot of the heavy lifting and can
potentially support polyglot builds.  I think that may be important in
D's future considering Deimos.


-- 
Andrew Gough
M: 0408 596 656
andrew at goughy.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111208/05dc2644/attachment.pgp>


More information about the Digitalmars-d mailing list