William A. Rowe, Jr. wrote:
From: Branko Čibej [mailto:[EMAIL PROTECTED] 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: <[EMAIL PROTECTED]> http://www.xbc.nu/brane/ work: <[EMAIL PROTECTED]> http://www.hermes-softlab.com/ ACM: <[EMAIL PROTECTED]> http://www.acm.org/
