Re Build tools for D [ was Re: Prototype buildsystem "Drake" ]

Russel Winder russel at russel.org.uk
Tue Jul 12 22:53:28 PDT 2011


On Tue, 2011-07-12 at 22:28 -0700, Jonathan M Davis wrote:
[ . . . ]
> From previous discussions, it seems that one of the primary reasons for having 
> a D build tool in many people's minds is to also handle package management of 
> D libraries (like Haskell's cabal or rubygems for ruby). And as great as 
> cmaked, scons, gradle, waf, and other such tools may be, they don't do that.

Go is currently using Make for this -- they have a structured Makefile
hierarchy that handles most compilation and linking in the context of a
rigidly enforced filestore structure, and goinstall for bringing in
packages from outside into the filestore hierarchy.  It is a bit
primitive at the minute, but is being worked on and rapidly improved.

Go actually has a plethora of build tools, include a couple of
SCons-based ones, most of which are falling by the wayside.  I think the
effort expended doing this has not been a waste as information is being
generated that is adding to the pool.  I think they will replace the
Makefile system shortly with one of the tools, possibly GoBuild, but I
can't remember exactly.

Haskell and Ruby both have inward looking approaches -- to put it
bluntly (at the risk of causing offense to some), Haskell build only
cares about Haskell source and Ruby build only cares about Ruby source.
Almost by definition D has to live in a mixed C, C++, Fortran, D
universe, so this has to be an issue from the outset.

I agree with the premise that package management must be a core part of
the build management, but I disagree that Gradle, SCons, and Waf cannot
handle this.  They cannot handle this today true, but in the same way
that there is currently no system that does it properly as yet.  So I
would suggest that package management is currently a "green field"
problem that can be handled by a D-specific tool or one of Gradle, SCons
or Waf.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at russel.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20110713/de8e34fc/attachment.pgp>


More information about the Digitalmars-d mailing list