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/




Reply via email to