Well I'm progressing -slowly

Bill Baxter dnewsgroup at billbaxter.com
Wed Feb 20 04:28:12 PST 2008


Jacob Carlborg wrote:
> Bill Baxter wrote:
>> Ty Tower wrote:
>>> Nah You are missing the point here.
>>> dmd picks up dmd.conf in linux and the libraries are pointed to by 
>>> that file
>>> ld picks up what it needs and they end up in the command line so the 
>>> post is not right dmd /MyStuff/main.d
>>> dsss build /Mystuff/main.d
>>>
>>> both do the same No?
>>
>> I use windows mostly, but I can tell you emphatically that those two 
>> absolutely do *not* do the same thing on Windows.
>>
>> First off, dsss build /Mysuff/main.d will just die with an error if 
>> you haven't made a dsss.conf for it.
>>
>> Second, assuming you do have a dsss.conf, dsss build scans main.d for 
>> any 'import' statements, and adds those files to the list of things to 
>> compile and link with.  Likewise it adds the imports of those imports, 
>> and so on recursively.
>>
>> 'dmd' does none of that.  It just compiles and tries to link main.d 
>> into an executable, including a few default standard libs listed in 
>> sc.ini.
>>
>> I don't know what dmd.conf is.
>>
>> All this is on Windows.  And I'd be surprised if it was radically 
>> different on Linux.
>>
>> --bb
> 
> You don't need a dsss.conf file you you run dsss with the command "dsss 
> build target", you need a dsss.conf file if you run dsss with the 
> command "dsss build"

Is that so?  I don't think that used to be the case...

Oh, I see.  For that to work you have to include the ".d" in the name.
So "dsss build target.d".  Otherwise you get "target is not described in 
the configuration file."  You don't need the .d if the target is in a 
dsss.conf, so I don't usually type it.

Good to know.

--bb


More information about the Digitalmars-d-dwt mailing list