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 executableThe SCons equivalent is: Program ( 'main.d' )Or: target("foobar"); // builds the directory "foobar" as a librarySCons (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
