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