D Shared Software System version 0.4 released!

Gregor Richards Richards at codu.org
Mon Nov 20 22:45:54 PST 2006


Alan Knowles wrote:
> OK - just tested it, a couple of notes:
> - put dsss.conf in dool/src
> - run dsss build
> 
> A) should the dsss.conf be put in dool/ rather than dool/src
> in which case, I guess the dsss.conf file needs changing?

dsss.conf expects to be in the "top level."  You could also put a 
dsss.conf in dool/ with:

name = dool
[src]
type = subdir

And the "real" dsss.conf in src/:

[dool]

> 
> B) it outputs all the .o files into src directory
> perhaps the default should be dool/obj/* - replicating the directory
> structure (eg. using dmd -p) , just in case two files have the same name

Yeah, it's problematic, and actually comes down partially to a bug in 
bu[il]d, upon which DSSS is built.  I'll add this to the TODO list.

> 
> B2) is there an option to write these .o files  to /tmp/.... so that I
> can build from a readonly filesystem?

That'd be a nice feature. Also goes on the list.

> 
> C) it creates dool/src/libSSD-dool.a
> ideally it should create dool/libdool.a ?

It generates a name with this information (btw, it's libSDD-dool):

1) S = static, so that the -l options for static and shared can be 
different.
2) D = it's in D
3) D = using DMD (so that you can have both DMD and GDC installed 
without them fighting)
4) The rest is the package name.

Furthermore, the name becomes quite unimportant, since anything 
importing dool using DSSS will automatically get linked against the 
proper library (that is, you don't need to put any dependency info in 
other dsss.conf's)

That all being said, you can override it, it just ends up creating more 
problems than it solves.  You can set:
target = dool

Which will make it: libdool.a | dool.lib

In short: Ideally, no, it should create libSDD-dool, I architected the 
library naming convention for very specific reasons.

> 
> D) is it storing somewhere that it has created libdool.a, and it's
> location, link dependencies etc. so that when we build leds, it can just
> say it depends on dool, and automatically finds the location of the .a,
> and it's -l dependencies

You don't even have to say it depends on dool in any metaformat, you 
just have to import dool.whatever in the source.

Furthermore, if you import dool.<whatever> in the source, end users 
could get dool installed with simply 'dsss net deps'.

> 
> Regards
> Alan
> 
> 
> 
> 
> Gregor Richards wrote:
> 
>>Alan Knowles wrote:
>>
>>>>name=dool
>>>>[dool]
>>>>
>>>
>>>Is that sufficient to build dool?
>>
>>Yeah, that's the dsss.conf in place for building dool right now.
>>
>> - Gregor Richards



More information about the Digitalmars-d-announce mailing list