www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - simplistic package/build tool

reply "Martin Nowak" <dawg dawgfoto.de> writes:
Because the discussion is rising up, I just added some help/information =
to  =

a small tool I wrote some month ago.
It's raison d'=C3=AAtre was the ability to develop a larger project out =
of  =

smaller libraries.

It can:
  - compactly specify build targets
  - install packages with imports/documentation
  - link dependencies

It can't:
  - build import graphs and do partial rebuilds (waste of time with D)
  - compile other languages
  - do net installs

It can't yet:
  - version config settings by platform
  - do pre/post-build invokations
  - work with any other compiler but dmd2

It case you might find this useful:
https://github.com/dawgfoto/dpk
Jul 14 2011
next sibling parent reply Trass3r <un known.com> writes:
 It can't:
   - build import graphs and do partial rebuilds (waste of time with D)

dmd, not D! ;)
Jul 14 2011
parent reply David Nadlinger <see klickverbot.at> writes:
On 7/15/11 12:29 AM, Trass3r wrote:
 It can't:
 - build import graphs and do partial rebuilds (waste of time with D)

dmd, not D! ;)

And only for smaller projects. David
Jul 14 2011
parent "Nick Sabalausky" <a a.a> writes:
"Graham Fawcett" <fawcett uwindsor.ca> wrote in message 
news:ivpgt6$28l3$5 digitalmars.com...
 On Fri, 15 Jul 2011 00:31:39 +0200, David Nadlinger wrote:

 On 7/15/11 12:29 AM, Trass3r wrote:
 It can't:
 - build import graphs and do partial rebuilds (waste of time with D)

dmd, not D! ;)

And only for smaller projects. David

Can you clarify why larger projects are better suited to partial rebuilds?

Bigger projects can still take awhile to build. It takes me about 1-2 minutes to build DDMD, which is kind of annoying (beats the shit out of compiling GCC though!). Although, I don't actually know whether or not partial rebuilds would actually improve that.
Jul 15 2011
prev sibling next sibling parent "Martin Nowak" <dawg dawgfoto.de> writes:
Well in D the semantics of a module are independent of where it is  
imported from.
So you can parse/analyze a module once and reuse that information, while  
with single object builds you'll have to redo this work for each import.

On Fri, 15 Jul 2011 00:29:02 +0200, Trass3r <un known.com> wrote:

 It can't:
   - build import graphs and do partial rebuilds (waste of time with D)

dmd, not D! ;)

Jul 14 2011
prev sibling next sibling parent Andrew Wiley <wiley.andrew.j gmail.com> writes:
--001636c92b799a774f04a81118b6
Content-Type: text/plain; charset=ISO-8859-1

On Thu, Jul 14, 2011 at 5:06 PM, Martin Nowak <dawg dawgfoto.de> wrote:

 Well in D the semantics of a module are independent of where it is imported
 from.
 So you can parse/analyze a module once and reuse that information, while
 with single object builds you'll have to redo this work for each import.

If I remember correctly, there's an option to make DMD compile multiple files at once and emit separate object files (although gdc doesn't have this, and I think this feature would be most useful for gdc), and the D frontend is so fast that no one really cares how long it takes to parse the files a few times. Better yet, parallelize the build. --001636c92b799a774f04a81118b6 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <br><br><div class=3D"gmail_quote">On Thu, Jul 14, 2011 at 5:06 PM, Martin = Nowak <span dir=3D"ltr">&lt;<a href=3D"mailto:dawg dawgfoto.de">dawg dawgfo= to.de</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"m= argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> Well in D the semantics of a module are independent of where it is imported= from.<br> So you can parse/analyze a module once and reuse that information, while wi= th single object builds you&#39;ll have to redo this work for each import.<= div><div></div><div class=3D"h5"><br></div></div></blockquote><div><br></di= v> <div>Yes, so?</div><div>If I remember correctly, there&#39;s an option to m= ake DMD compile multiple files at once and emit separate object files (alth= ough gdc doesn&#39;t have this, and I think this feature would be most usef= ul for gdc), and the D frontend is so fast that no one really cares how lon= g it takes to parse the files a few times. Better yet, parallelize the buil= d.</div> </div><br> --001636c92b799a774f04a81118b6--
Jul 14 2011
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
Until DMD eats up so much memory it starts to crawl down and become
slow, at which point single object builds are much faster. They are on
my system at least.
Jul 14 2011
prev sibling parent Graham Fawcett <fawcett uwindsor.ca> writes:
On Fri, 15 Jul 2011 00:31:39 +0200, David Nadlinger wrote:

 On 7/15/11 12:29 AM, Trass3r wrote:
 It can't:
 - build import graphs and do partial rebuilds (waste of time with D)

dmd, not D! ;)

And only for smaller projects. David

Can you clarify why larger projects are better suited to partial rebuilds? Thanks, Graham
Jul 15 2011