D for Xcode 1.2

Michel Fortin michel.fortin at michelf.com
Thu Apr 1 18:35:14 PDT 2010


On 2010-04-01 15:24:59 -0400, Jacob Carlborg <doob at me.com> said:

> I've download the new version of your plugin and have tested it and 
> have few comments.
> 
> The first thing I noticed when I compiled a project was that it tries 
> to pass the '-noboundscheck' flag to DMD, which it doesn't support.

Yes it does, but only for D2. It should not do that by default 
though... I'll look at it. Ideally this option wouldn't be available 
for D1, but the way the default compiler version is chosen makes it 
difficult to know which one is used.


> I also noted that now the plugin overwrites/removes the GDC support. It 
> would be nice if both could be supported.

It's not really gone. You can add a build rule in each target 
specifying GDC as the compiler for D source files. I would like to have 
a better solution, but right now I don't.

Ideally, there would be a build setting for choosing the default 
compiler, just like Xcode let you choose between GCC 4.0, GCC 4.2, 
GCC-LLVM and Clang. But I haven't been able to make something similar.


> Have you ever investigated if it would be possible create a plugin for 
> Interface Builder that would add D support? I've been thinking of two 
> ways this might be done.
> 
> I've found this blog post which I think is quite interesting: 
> http://cocoawithlove.com/2009/02/interprocess-communication-snooping.html 
> . I was thinking if the method described there could be used to add D 
> support to Interface Builder. I was thinking of implementing a class 
> that generates temporary Objective-C header files out of D files, 
> implementing the methods described in the post and responding with the 
> temporary Objective-C files. I've tried to implement a kind of dummy 
> class which responds to the methods but Interface Builder didn't like 
> them for some reason.
> 
> The other idea I was thinking of was to create an actual plugin for 
> Interface Builder containing a D parser that does the same as Interface 
> Builder does but for D files.

I'm not sure I understand clearly what you mean by 'D support for IB', 
but here's what I can say:

Interface Builder generates some sort of serialization of Objective-C 
objects. You need the D/Objective-C bridge to load Nib files 
instantiating D classes (but it works!). If you want Interface Builder 
to recognize D files with the IBOutlet and IBAction templates found in 
the D/Objective-C bridge, then making a parser plugin for IB (your 
second option) would make most sense.

But I'm not there yet. making the bridge work on Snow Leopard has a 
higher priority right now (even though I'm not really working on that 
currently).


> Great work by the way with the plugin, I specially like that D files 
> are correctly recognized now.

Thanks for your comments.


-- 
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/



More information about the Digitalmars-d-announce mailing list