Q: DSSS: Library name being prefixed with S

Kirk McDonald kirklin.mcdonald at gmail.com
Tue Jun 12 11:44:02 PDT 2007


Myron Alexander wrote:
> Myron Alexander wrote:
> 
>> Hello.
>>
>> I have just started using DSSS referencing their cookbook and I have a 
>> problem generating my library.
>>
>> dsss.conf
>>
>>> name = dbapi
>>>
>>> [dbapi]
>>> target     = dbapi
>>> buildflags = -unittest -debug -g
>>
>>
>> console output:
>>
>>> Creating imports for dbapi
>>>
>>> dbapi => dbapi
>>> + C:\opt\dsss\dsss-0.65-dmd-win\bin\rebuild.exe -Idsss_imports\ -I. 
>>> -S.\    -IC:\opt\dsss\dsss-0.65-dmd-win\include\d 
>>> -SC:\opt\dsss\dsss-0.65-dmd-win\lib\
>>>    -IC:\opt\dsss\dsss-0.65-dmd-win\include\d 
>>> -SC:\opt\dsss\dsss-0.65-dmd-win\lib
>>>    -oqdsss_objs -unittest -debug -g  -explicit -lib -full 
>>> dbapi\base.d    dbapi\c\sqlite3.d dbapi\helper.d dbapi\sqlite3.d 
>>> -ofSdbapi.lib
>>> Digital Mars Librarian Version 8.02n
>>> Copyright (C) Digital Mars 2000-2007 All Rights Reserved
>>> http://www.digitalmars.com/ctg/lib.html
>>> Digital Mars Librarian complete.  Sdbapi.lib       
>>
>>
>> The problem is that the final library file is called "Sdbapi.lib" 
>> instead of "dbapi.lib".
>>
>> I'm using version 0.65.
>>
>> Is there something I am doing wrong? or is there a known bug?
>>
>> Can anyone help me?
>>
>> Thanks ahead,
>>
>> Myron.
>> dprogramming...myron...alexander...com
>> replace the first ... with @, remove the second, and replace the third 
>> with ".".
> 
> 
> Ok, I went through DSSS sources and found that the prefixed "S" is 
> hardcoded. It looks intentional.
> 
> The question is: What problem is the "S" prefix trying to solve?
> 
> I want to use DSSS but I also want control over the name of my library 
> files.
> 
> Regards,
> 
> Myron.

Gregor might be able to answer this more completely, but it is so that 
you can have multiple different versions of the library installed 
side-by-side in DSSS. That's not the only prefix. I believe there are 
others for whether it was compiled with DMD or GDC; whether it's a 
static library or a dynamic one; and maybe whether it uses Phobos vs. 
Tango. (I don't recall what 'S' on its own means.)

The idea is that, if you're compiling with DSSS, you'll also be 
compiling anything using your library with DSSS. DSSS knows what all 
those prefixes mean, and it should Just Work. If you want more complete 
control over the compilation process, you can try using Rebuild directly 
(althogh then you lose the extra power of DSSS.)

-- 
Kirk McDonald
http://kirkmcdonald.blogspot.com
Pyd: Connecting D and Python
http://pyd.dsource.org


More information about the Digitalmars-d-learn mailing list