Another dwt-win / dmd / dsss build problem

Bill Baxter dnewsgroup at billbaxter.com
Thu Feb 14 07:14:58 PST 2008


Bjoern wrote:
> John Reimer schrieb:
>> Bill Baxter wrote:
>>> Bill Baxter wrote:
>>>> Most of this pain of mine would have been avoided if there were 
>>>> working dsss.conf files included with the dwt-samples project.
>>>
>>> And now I see that there is a dsss.conf at the top-level that covers 
>>> all the subprojects.  Dangit!
>>>
>>> --bb
>>
>>
>> I was confused as to why you were using your own dsss.conf... But, 
>> anyway, glad you figured it out.
>>
>> Now I recall I had the same problem with dsss and forward slashes.  
>> The strange thing is that dsss reads forward slashes in the dsss.conf 
>> file but not on the command line :P.  This is an example of why 
>> troubleshooting gets confusing with the problems layered from several 
>> technologies. I wish it were easier.
>>
>> About the images in the buttons... Are they missing on yours too?  Are 
>> you using Windows XP?  I haven't been able to track down the problem 
>> on that yet.  It was working for me a few revisions ago, but not now.  
>> I guess I'll add a ticket.
>>
>> -JJR
> 
> Pretty confusing
> 
> I don't know why but modifying  sc.ini  does the job for me:
> 
> DFLAGS="-I%@P%\..\import;%@P%\..\import\dwt-win" -version=Tango 
> -defaultlib=tango-base-dmd.lib -debuglib=tango-base-dmd.lib 
> -L+tango-user-dmd.lib
> 
> my win xp directory structure :
> dmd/import/tango
> dmd/import/dwt-win
> 
> I use hg within these (adequate) directories.
> 
> I can also imagine that Bill is using Tango + Tangobos. Means probabely 
> this causes the problem.

Yup I am.  I'm not sure what you are saying you modified your sc.ini 
from though.  Are you refering to the -L+tango-user-dmd.lib part?

This seems like an issue that needs attention to me.

I'm using dsss mostly so I can't put that -L+tango-user-dmd part in my 
sc.ini.  That's because dsss puts those functions in libraries called 
something else and links with them automatically.  So adding the -L 
would create lots of multiply defined stuff when I build with dsss.

But I don't always use dsss.  Especially not for small things.  But that 
means when I compile small things I have to add tango-user-dmd.lib to 
the compile line explicitly, which is annoying.  It's part of the 
(alternative) standard library, I shouldn't have to specify it explicitly.

I'm not sure what needs to change to make this annoying dilemma go away. 
  Seems like it would have to be something in DMD itself, unfortunately.

> However, I am not a dsss fan and I am actually in contact with some 
> OCaml folks in order to teach OMake D imports. Not a solution for 
> everyone, of course.

I agree that DSSS is far from perfect.  I think Gregor's biggest mistake 
was to assume that handling D dependencies perfectly would solve all 
build problems (or at least he seems to have made that assumption).  But 
it's just not the case.  In real software there are all kinds of 
dependencies that come from all kinds of places.  A build tool that does 
not have a general dependency engine is a cripple from the outset.

Too bad Gregor has mostly disappeared these days, or maybe DSSS would 
already have such a dependency engine.

--bb


More information about the Digitalmars-d-dwt mailing list