On 2011-07-13 19:18, Russel Winder wrote:
On Wed, 2011-07-13 at 17:33 +0200, Jacob Carlborg wrote:
target("main.d"); // builds "main.d" as an executable
The SCons equivalent is:
Program ( 'main.d' )
Or:
target("foobar"); // builds the directory "foobar" as a library
SCons (and I think Waf as well) does not support this idea (at least
currently). In SCons you have to say:
SharedLibrary ( 'libraryRootName' , Glob ( 'foobar/*.d' ) )
StaticLibrary ( 'libraryRootName' , Glob ( 'foobar/*.d' ) )
D support in Waf is currently far more sophisticated than that of SCons,
but is still based on being a bit more explicit that your proposal
above.
I think that one of the problem with these language independent build
tools is that they don't make it as easy as it could, because they
usually don't know enough about a given language.
DSSS works just the same, you specify a D file or a directory and it
will compile it as an executable or a library. I don't think that a new
build tool should do any worse than, for example, DSSS.
--
/Jacob Carlborg