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