You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Garrett Rooney <ro...@electricjellyfish.net> on 2004/11/20 19:51:00 UTC

[PATCH] first cut at auto-generating dsp files

So I got a little motivated, and started playing around with auto 
generating windows dsp files just like we currently auto generate parts 
of the make based build system.  This doesn't actually work yet, for a 
few reasons I'll get into in a sec, but I'm going to leave for the 
weekend soon and I don't know when I'll get back to this so I figured 
I'd throw the diff out there and let anyone who cares pick it up.

The patch takes a similar approach to the Subversion dsp generator code, 
there's an EZT template for the dsp files (build/dsp.ezt), and we 
generate a list of public headers, private headers, and source files, 
pass them (along with a few other parameters) into the template, and 
write out a dsp file.

There are a few problems, and a few things that are just a bit different 
from the existing apr.dsp file.

First, EZT doesn't have a good way to have nested groups, so it's not 
easy to generate subgroups for each directory of files, instead all the 
source files have gone into one big group.  I don't think this is a big 
enough problem to care about, but if one of the windows people could 
confirm this I'd appreciate it.

Second, unlike the more unixish platforms the windows build doesn't 
always totally override all the files from the unix subdirectories, so 
we're going to need some mechanism to specify which unix files get 
included and which don't.  This is just busted at the moment, so there's 
no way you'll be able to use this stuff to build a working version of APR.

Third, we need some logic to handle the difference between the static 
libs (apr.dsp) and the dynamic libs (libapr.dsp), currently this hasn't 
been written at all, and we're just hardcoded to do the static libs and 
to write out to apr.dsp-new so you can compare with the original.

Lastly, I lack any way to test this at all, so it's quite likely that 
even the parts I think are working just don't.  If someone could test 
this I would appreciate it.

I welcome any feedback you might have.

-garrett