Norman H. Samuelson <[EMAIL PROTECTED]>: > Recently I posted a note that we were working on building a static xerces > library. > > We have succeeded on three platforms: Windows, Sun, Linux.
> . . . > ************************************************ > > Linux: > > The only thing we had to change was the makefile in the obj > directory. That makefile builds the shared object in the normal case. I > simply changed it to also build a static library the simple, old fashoned > way, with ar, and it seems to have worked (yes, I was shocked too). You > will notice that some, but not all, of the changes are the same as for the > Sun platform above. Here are the differences: > > >% diff Makefile Makefile.orig > > . . . > Those do not seem to me like major changes. It was relatively easy to do > on each of those three platforms. I hope to find the magic incantation > that will make it work on the other platforms we are interested in (IRIX, > TRU64, and AIX). We believe that we must find a solution for AIX because > the new Blue Gene Light machine will be here soon, and our understanding is > that the lightweight kernel running on each node will not support shared > objects. > > We would deeply appreciate any hints that might help us in this. We hope > that what we have done will be of use to others. I haven't seen much response on this, but I apologize if I'm repeating what someone else has already said. A few comments: * Although building a static library with the existing object files may work, it may not be that desirable. Customarily, when building both static and shared libraries, the object files themselves will be built twice with different arguments. If you just create a static library with existing object files, you'll be using object files compiled with -fPIC and so forth. To be honest, I can't say why this is undesirable, but I know if you were building with something like libtool, you'd end up building twice: one for static, and once for shared. I realize that xerces 2.5.0's build system doesn't use libtool but instead has lots of platform-specific special case. (Perhaps libtool isn't suitable, or perhaps the build system predates it. I haven't checked 2.6.0 snapshots.) * Your diffs are on the Makefile and are generated with plain diff with on special arguments. It would be better if you used diff -u to generate a unified context diff (which is easier to read and more resilient to small changes in the files) and if you made changes in Makefile.in rather than in an automatically generated file. I'm not involved with xerces development in any way, so take my comments for what they're worth, though I hope they will be useful to you. :-) Thanks for sharing the results of your efforts! -- Jay Berkenbilt <[EMAIL PROTECTED]> http://www.ql.org/q/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]