On 2012-11-29 19:53, Rob T wrote:
The very last thing I would want to do is to futz around installing Ruby
and learning Ruby for the sole purpose of building a D application.
Ruby would not be a runtime dependency. It's embedded in the tool just
like any other library. BTW, I never heard anyone complain about the
DSSS build scripts. Which is completely custom, something like a
combination of ini files and statements. Ruby is at least a real
language. An example from DSSS:
version (build) {
pragma(link, "example");
}
If I recall correctly, you need to use that exact syntax. If you move
the first brace to a new line it won't work. That's the problem one get
when using custom "languages" for these kind of things.
Think about how massive a time sink that is for anyone who has no other
reason to invest their valuable time into Ruby. I got sucked into this
trap with Make, which wasted many hours of what should have been
productive time, and I saw the exact same issues repeat when I
investigated scons as a potential alternative. I just fail to see why
this kind of complexity is necessary at all. If we can fix the problem
at the source, then we should do it, rather than pile more mess on top
of the existing pile of mess.
What's the difference compared to any other build tool. Where you have
to learn some kind of special syntax. This is a special syntax as well,
just happens to be a real language as well.
I do however think you have a good point wrt the use of "comments" for
doing this stuff. Please do not use comments for this, make it a part of
the language for real, like CTFE or something.
I don't think that will work. How will the compiler handling imports
paths? I need to have all imports path before starting to compile.
Otherwise it needs to rescan the source files several times.
--
/Jacob Carlborg