Hi Scott, Scott Cantor <[EMAIL PROTECTED]> writes:
> There's a big difference. On Unix, the linker is designed to bind the > executable to a "neutral" instance of the library that allows for minor > upgrades without rebuild. The actual build command is supposed to find > libfoo.so, but it binds libfoo.so.major into the file. > > The actual library itself is libfoo.so.major.rev so that at runtime you > get the latest rev of libfoo.so.major. Ok, that's one way to do it. The way we do it right now is that we don't embed the revision of the library into the library name (that's why we pass 3.0 and not 3.0.0 to -revision). With the -version-info way of doing it you get the extra benefit of being able to have several libraries side by side that only differ in the revision field. I don't think anybody will miss this feature though. BTW, do all UNIX linkers support -version-info? I have much doubt about AIX in this regard. > > Another drawback of using -version-info is that we will have to > > somehow replicate this in the ICU message id which currently > > looks like this: xercesc_messages_3_0. > > Why is it a requirement for them to be connected? Because it is in some sense an interface: the number of messages and their relative position can change from release to release so the major.minor version needs to be embedded into it (think of it as another library except that it is not built with libtool). Boris -- Boris Kolpackov, Code Synthesis Tools Open source XML data binding for C++: http://codesynthesis.com/products/xsd Mobile/embedded validating XML parsing: http://codesynthesis.com/products/xsde --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
