[Omake] Omake for the D programming language SCANNER
Susanne Lietz
nanali at wanadoo.fr
Wed Feb 20 08:09:14 PST 2008
Aleksey Nogin schrieb:
> On 18.02.2008 01:56, Susanne Lietz wrote:
>
>> Unfortunately the D compiler has no switch to output dependency
>> information. So your perl script can't help.
>> That's why I am looking for an alternate build tool like OMake.
>
> Susanne, is my fix to you SCANNER rule does what you need it to?
>
>> OMake seems "regardless the problems" to be a good choice and I
>> still wonder whether built-in awk is fast and good enough to do the job.
>> Fast and good enough, because we are going to port the Eclipse SWT
>> stuff into D (we have a pretty useable alpha right now) but I guess
>> you can imagine that an approved build utility is more than welcome.
>
> If you hit any issues regarding speed, flexibility, etc of built-in
> awk or any other needed features of OMake, please let us know - I
> would be happy to try to make the necessary improvements.
>
> Aleksey
>
Hello Aleksey, Thanks, you are very generous. ...
thinking about the D semantics, (ignoring syntax sugar) I have to say
that we can reduce the rules (regarding import depandencies) to :
import a.b.c; // where c is the file in directory a/b called c.d
privat import a.b.c; is th // has the same meaning
public import a.x; // means : whenever we change the file x.d, every
file who has a INDERECT relations to x.d should be re-compiled.
static import whatever.dsource.d // same story.
I think we can ignore the syntactic sugar like :
import
{
WhatEverScope.d.;
}
But , (comma) delimited import is also possible.
import a.c, a.f, d.e;
Small and dirty conclusion :
D packages, are in fact directories , public imports have an impact on
recompile.
-+---------
adir.bdir.cdir.myfile.d // means adir/bdir/cdir/myfile.d ->
directoryname is Package name.
I am running a bit out of time (this week) , so I'd like to ask for
further information in a few days. Hope this works for you.
remain with kind regards
-------------------------------------------
In case :that you are willing to spend some time on D modules and imports :
http://www.digitalmars.com/d/2.0/module.html
More information about the Omake
mailing list