September 20, 2008
Michel Fortin wrote:
> On 2008-09-19 12:39:05 -0400, ylixir <ylixir@gmail.com> said:
> 
>> just a quick correction of my previous post, actually i checked, and i have three sets of binaries, all universal, one that targets intel, one that targets ppc, and one that targets either, depending on the -arch switch, so i'm guessing that is exactly what you need.
> 
> Oh! Great.
> 
> I didn't realize your script was actually doing what I want. I'll give it a try. Thanks.
> 
> (And perhaps I should have read Apple's documentation more carefully too.)
> 

;-)
September 20, 2008
On 2008-09-19 08:44:41 -0400, Jacob Carlborg <doobnet@gmail.com> said:

> It would be really nice with a D integration that works with Xcode 3.1

If you mean a D plugin for Xcode's IDE version 3.1, then I have one... it's just not on the website yet, but you can download and compile it yourself from my git repository if you want.

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

September 20, 2008
On 2008-09-19 17:13:57 -0400, Jacob Carlborg <doobnet@gmail.com> said:

> And that has support for DSSS and Tango

Which kind of support are you hoping for?

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

September 20, 2008
Michel Fortin wrote:
> On 2008-09-19 17:13:57 -0400, Jacob Carlborg <doobnet@gmail.com> said:
> 
>> And that has support for DSSS and Tango
> 
> Which kind of support are you hoping for?
> 

That you can choose to build with "dsss build" or "dsss build target" instead of gdc.

I downloaded your D plugin for Xcode 3.0 and tried that with 3.1. It kind of worked, the plugin itself worked but not building, I think that was because I use the gdc bundle from the tango website and it's build with the FSF gcc instead of Apple's gcc. I modified the plugin so it (almost) worked with the gdc I have but it didn't work to compile a tango app without dsss. I also modified the plugin to use dsss instead but Xcode added to many unknown flags to the list of build flags that I couldn't find and remove them.
September 20, 2008
Michel Fortin wrote:
> On 2008-09-19 08:44:41 -0400, Jacob Carlborg <doobnet@gmail.com> said:
> 
>> It would be really nice with a D integration that works with Xcode 3.1
> 
> If you mean a D plugin for Xcode's IDE version 3.1, then I have one... it's just not on the website yet, but you can download and compile it yourself from my git repository if you want.
> 

Nice
September 20, 2008
On 2008-09-20 06:38:54 -0400, Jacob Carlborg <doobnet@gmail.com> said:

>> 13:57 -0400, Jacob Carlborg <doobnet@gmail.com> said:
>> 
>>> And that has support for DSSS and Tango
>> 
>> Which kind of support are you hoping for?
> 
> That you can choose to build with "dsss build" or "dsss build target" instead of gdc.
> 
> I downloaded your D plugin for Xcode 3.0 and tried that with 3.1. It kind of worked, the plugin itself worked but not building, I think that was because I use the gdc bundle from the tango website and it's build with the FSF gcc instead of Apple's gcc.

I had to fix the build process for Xcode 3.1, and this fix isn't on the website yet. I'm going to put it there pretty soon. It's already in source form in the git repository however.

> I modified the plugin so it (almost) worked with the gdc I have but it didn't work to compile a tango app without dsss. I also modified the plugin to use dsss instead but Xcode added to many unknown flags to the list of build flags that I couldn't find and remove them.

That's where you lose me. Xcode has its own build system which you should bypass if you want to make dsss in charge of the build. I think what you want is a new target were, just like when you have a makefile, the build process is only launched by Xcode but taken care by an external tool. Am I right?

If that's what you need, then I suggest you create a new target of type "External Target" which you can find in the "Other" category, where the description says: "Target that invokes an external build system (e.g., make)." Then you change the path to "/usr/bin/make" for the path to dsss.

If that's not what you need, then there's something I don't understand about what you are trying to do.

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

September 20, 2008
Michel Fortin wrote:
> On 2008-09-20 06:38:54 -0400, Jacob Carlborg <doobnet@gmail.com> said:
> 
>>> 13:57 -0400, Jacob Carlborg <doobnet@gmail.com> said:
>>>
>>>> And that has support for DSSS and Tango
>>>
>>> Which kind of support are you hoping for?
>>
>> That you can choose to build with "dsss build" or "dsss build target" instead of gdc.
>>
>> I downloaded your D plugin for Xcode 3.0 and tried that with 3.1. It kind of worked, the plugin itself worked but not building, I think that was because I use the gdc bundle from the tango website and it's build with the FSF gcc instead of Apple's gcc.
> 
> I had to fix the build process for Xcode 3.1, and this fix isn't on the website yet. I'm going to put it there pretty soon. It's already in source form in the git repository however.
> 
>> I modified the plugin so it (almost) worked with the gdc I have but it didn't work to compile a tango app without dsss. I also modified the plugin to use dsss instead but Xcode added to many unknown flags to the list of build flags that I couldn't find and remove them.
> 
> That's where you lose me. Xcode has its own build system which you should bypass if you want to make dsss in charge of the build. I think what you want is a new target were, just like when you have a makefile, the build process is only launched by Xcode but taken care by an external tool. Am I right?
> 
> If that's what you need, then I suggest you create a new target of type "External Target" which you can find in the "Other" category, where the description says: "Target that invokes an external build system (e.g., make)." Then you change the path to "/usr/bin/make" for the path to dsss.
> 
> If that's not what you need, then there's something I don't understand about what you are trying to do.
> 

Yeah I got it to work when I used dsss as an External Target. But what I want is to have dsss integrated the same way as gdc is. For example, changing build options, adding build flags, when I use an external tool the binary isn't placed in the Release/Debug folder and so on.

In the project settings->build there should be build options for dsss, rebuild and gdc/gdmd.
September 20, 2008
On 2008-09-20 15:48:41 -0400, Jacob Carlborg <doobnet@gmail.com> said:

> Yeah I got it to work when I used dsss as an External Target. But what I want is to have dsss integrated the same way as gdc is. For example, changing build options, adding build flags, when I use an external tool the binary isn't placed in the Release/Debug folder and so on.

> In the project settings->build there should be build options for dsss, rebuild and gdc/gdmd.

But, aren't dsss build options part of the dsss.conf file? Are you asking for an editor for a dsss.conf file intergated with Xcode's project and target build settings?

Perhaps what you want could work as a new target type custom-made for DSSS. I'm not sure how much work this is (note that Apple's Xcode API is "private" and undocumented and thus not necessarly easy to work with). I can offer some guidance if you want to do it. Right now, in the limited free time I got, I'm more interested in other things, such as improving Xcode debugger integration, and advancing some of my other projects.

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

September 21, 2008
Michel Fortin wrote:
> On 2008-09-20 15:48:41 -0400, Jacob Carlborg <doobnet@gmail.com> said:
> 
>> Yeah I got it to work when I used dsss as an External Target. But what I want is to have dsss integrated the same way as gdc is. For example, changing build options, adding build flags, when I use an external tool the binary isn't placed in the Release/Debug folder and so on.
> 
>> In the project settings->build there should be build options for dsss, rebuild and gdc/gdmd.
> 
> But, aren't dsss build options part of the dsss.conf file? Are you asking for an editor for a dsss.conf file intergated with Xcode's project and target build settings?

That would be nice. But I thought that you could use dsss without a dsss.conf and pass build options on the command line. If I run dsss without any options or files it says at the bottom: "All other options are passed through to rebuild and ultimately the compiler." but I noticed that didn't work using dsss 0.75.

> Perhaps what you want could work as a new target type custom-made for DSSS. I'm not sure how much work this is (note that Apple's Xcode API is "private" and undocumented and thus not necessarly easy to work with). I can offer some guidance if you want to do it. Right now, in the limited free time I got, I'm more interested in other things, such as improving Xcode debugger integration, and advancing some of my other projects.

I think I figured out how to do most of the things I wanted to do anyway now, thanks.
September 21, 2008
Michel Fortin wrote:

>> Thanks for the update, I'm still planning to make a
>> release of "gdcmac" for Leopard and might as well aim
>> for Xcode 3.1 and gcc-5484 instead of 3.0 and gcc-5465.
>>
>> Or maybe stick with the original "plan" and go straight
>> for gcc_42 instead, for the fictional GDC 0.25 release ?
>> Along with upgrading MinGW's GCC to 4.2.1, for "gdcwin"...
> 
> Anything that runs out of the box with no show stopper is an improvement from what we have now.

I'm not aware of any showstoppers on Mac OS X Tiger or
Windows XP, just that Mac OS X Leopard of Windows Vista
hasn't been "supported" with the current package releases.

> My current approach is to compile four compilers (PowerPC to PowerPC, PowerPC to Intel, Intel to Intel, and Intel to PowerPC) and merge executables into universal binaries using lipo. But I haven't been able to compile anything but the first variant (PowerPC to PowerPC). Do you have any tip for doing the rest, as you seem to have acheived it somehow for gdcmac?

I used the Apple version of GCC and built it the Apple way.
And it's actually 4 output targets, including the 64-bit...
Similarly I used the MinGW version of GCC and their script.

--anders