Another dwt-win / dmd / dsss build problem
dnewsgroup at billbaxter.com
Thu Feb 14 07:14:58 PST 2008
> 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!
>> 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.
> 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
> my win xp directory structure :
> 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.
More information about the Digitalmars-d-dwt