On Thu, Dec 07, 2000 at 07:26:05AM -0600, William A. Rowe, Jr. wrote: > > From: Greg Stein [mailto:[EMAIL PROTECTED] > > 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/
