apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Branko Čibej <br...@xbc.nu>
Subject Re: cvs commit: apr apr.dsp apr.mak
Date Thu, 28 Dec 2000 18:19:05 GMT
William A. Rowe, Jr. wrote:

>> From: Branko Čibej [mailto:brane@xbc.nu]
>> Sent: Thursday, December 28, 2000 10:47 AM
>> William A. Rowe, Jr. wrote:
>>> Whoa...
>>>> brane       00/12/21 15:02:36
>>>>   Modified:    .        apr.dsp apr.mak
>>>>   Log:
>>>>   Don't export symbols from static library.
>>> Please watch out, you broke the build.
>> Oops, my aplologies. "I just naturally assumed ..." Will be
>> more careful next time.
> Not a problem ... this just happened to occur as we were about
> to roll a beta :-)
> The issue remains :-/  There were three ideas all along of how
> to do this; have two MSVC projects, apr and libapr that list all
> the modules (and have to change in sync), one project with both
> models (and this leads to a nightmare when that workspace
> includes static + dynamic linkage to the library, as Apache
> does), and finally, fly the second project from the first, perhaps
> even use a script to rewrite the second with all the modules
> contained in the first for building.
> I dunno, so do you have any thoughts?

Here's a radical idea: Keep the two MSVC projects, but use only one file 
list. How? Simple -- don't use MSVC to generate the project files.

Or rather, generate the project files once, then split out the file list 
into a separate file. Maintain that by hand, and splice the pieces 
together using a script. The result can even be updated automatically by 
a checkin script. Oh, and forget the makefiles MSVC will write for you; 
they're mainly a pain.

I know this means editing MSVC-generated files, but I've found this much 
easier to do than trying to maintain non-trivial projects through the 
GUI. The only caveat is that the generated .dsp's must have DOS-like 
"\r\n" line endings.

I can have a go at that -- next year :-) -- if other people agree.

Oh, another thing: the public symbols should be exported either via the 
.def file or with APR_DECLARE wrappers. Mixing the two is confusing, IMHO.

Brane Čibej
    home:   <brane@xbc.nu>             http://www.xbc.nu/brane/
    work:   <branko.cibej@hermes.si>   http://www.hermes-softlab.com/
     ACM:   <brane@acm.org>            http://www.acm.org/

View raw message