DSSS 0.69 released.

BCS ao at pathlink.com
Mon Aug 6 10:42:51 PDT 2007


Reply to Gregor,

> Statements like this annoy me to no end. I create this tool that
> integrates and standardizes all sorts of things and makes the whole
> situation of using 3rd party libraries infinitely easier with D, and
> everybody goes, "Hey, look, it works with a build utility that works
> well. Let's use that and not the tool itself. I have no interest
> because I don't know what it does and I'm happy with copying all my
> libraries into the same directory as the modules for my binary in a
> gigantic mess of unmaintainable code. Oh, and including obnoxious and
> platform-specific build scripts that use rebuild rather than DSSS, a
> tool for making easy and cross-platform build scripts, is brilliant."
> 
> This puts me into a chicken-and-egg scenario. DSSS is most useful when
> many available D libraries support it, but the developers for many of
> the D libraries continue to maintain incompatible and difficult-to-use
> build scripts (or, worse yet, encourage duplication), which degrades
> its usefulness. When I started seeing build scripts that actually used
> rebuild, that's when I decided I'm not going to distribute rebuild in
> isolation.
> 
> </rant>
> 
> - Gregor Richards
> 

I hear you; I'd love to use DSSS as described. However a few issues arise

1. My primary dev systems are not connected to the internet (Not your issue)
2. The documentation is slim
3. Setting things up to use it isn't easy
4. I want to do a lot more than just build apps and libs

For #2, I've tried it several times and can't seem to make it work. A lot 
of this comes from the fact that I'm not totally clear on what how it's supposed 
to work. A page with a how-to would be REALY nice. I'd want one starting 
with "download this" and going though things like "put filse ot build in 
line 27 of dsss.conf", "look at c:\foobar for you libs" and "set setting 
baz to the directory where you want stuff to show up". Ideally each step 
would include a section on what is happening and such. That would also cover 
a lot of #3

as to #4, here is a list of things that my build scripts do that I haven't 
heard DSSS can
--run dimple to build import graphs
--sort pragma(msg,"") output into memo, notice, error, diagnostic and other 
categories (this is done with about 6 passes through grep/grep -v/sort)
--generate a list of functions selectively imported from std.* (find, grep, 
sed, sort)
--build list of asserts without messages
--build list of debug sections without debug identifiers
--build a command file that will turn on all debugging
--build full docs twice (.html + index and .tex + aggregator file)
--build test version of app
--log most of this to a time stamped file

All of this is done with a build script that runs some stuff in the background, 
ignores errors from some things, generates a return condition for others. 
It is all a bash script that makes extensive use of the "()" and "&" structures 
and a bunch f other stuff.

It is also totally un-portable. If dsss could duplicate all of that and be 
portable I would write you a testimonial that will make you look like a saint 
(ok I exaggerate a little).





More information about the Digitalmars-d-announce mailing list