apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Stein <gst...@lyra.org>
Subject Re: src/ directory (was: Re: apr-util comments)x
Date Thu, 07 Dec 2000 13:37:39 GMT
On Thu, Dec 07, 2000 at 07:26:05AM -0600, William A. Rowe, Jr. wrote:
> > From: Greg Stein [mailto:gstein@lyra.org]
> > Sent: Thursday, December 07, 2000 2:01 AM
> > 
> > > I'm actually contemplating building both the .lib and .dll as two full compiles.
> > > The benefit, when called for, is that users of the .lib won't have dangling
> > > exported symbols.  I refused so far because we have two file lists to maintain.
> > > I'm thinking about a system to auto-generate the entire .dsp as appropriate,
> > > meaning we don't lug around extra cruft.
> > > 
> > > If we build the .lib and .dll forms as seperate, full compiles, then this issue
> > > of the nothing file goes away.
> > 
> > Why are we using two different .dsp files for this? You should be able to
> > set up the four types of compiles within the single .dsp:
> 
> Because the only way the MSVC 5.0 .dsp files may depend on one another are 
> on the same "- Win32 Debug" tag ... only when you get into 6.0 can the dsp of
> "prog - Win32 Debug" model depend on the "lib - Win32 Debug DLL" dsp.  We had
> the system set up this way a while back, and already nuked it - wouldn't work.

When you say "prog - Win32 Debug", do you mean Apache for "prog"? e.g. an
app's .dsp can only depend upon a .dsp, and it selects the configuration
based on what is after the "-" char in both dsps?

In MSVC5, is it possible to change what occurs after the "-" ? In other
words, could we have "Apache - Win32 Debug DLL" meaning to link against DLLs
and "Apache - Win32 Debug Lib" to statically link everything? (e.g. no mixed
types unless somebody wants to set up their own DSP files)

> > The files are compiled different for release vs debug; are they also
> > *compiled* differently for DLL vs LIB?
> 
> Yes ... the .dll forms have more indirections, which point at single instance
> of fixups rather than the exec process spinning pointers throughout or adding
> in-module stubs for indirectition.  Given all the options, static code linked
> statically is the fastest, followed by srcs compiled for .dll linkage, and 
> the slowest is static code linked into .dlls (more thunking at run time, 
> plus more symbol refs to fixup at load time.)

Gotcha. So if we *were* to combine them, then we'd have four separate sets
of object files. Do we have four sets of objects today? (e.g. if you opened
both DSPs and compiled both Debug and Release)


My basic motivation here is that the number of DSPs and build targets and
outputs has always been a bit confusing to me. I'm seeking a way to simplify
/ reduce the system.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Mime
View raw message