[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