I'm building OpenSSL 0.9.6 with shared libraries for Solaris, HP-UX,
IRIX, and Digital UNIX. HP-UX and IRIX are not currently supported so
we'll be adding support. A few questions though:
1. Any reason libtool was not chosen?
2. Looking at ./Configure, it's impossible to build shared
libraries on systems whose C compiler doesn't have a separate
flag for generating PIC code. I'm speaking of the following
snippet in ./Configure:
# You will find shlib_mark1 and shlib_mark2 explained in Makefile.org
my $shared_mark1 = "";
my $shared_mark2 = "";
if ($shared_cflag ne "")
{
$cflags = "$shared_cflag $cflags";
if (!$no_shared)
{
$shared_mark1 = ".shlib-clean.";
$shared_mark2 = ".shlib.";
}
}
On IRIX and Digital UNIX, the vendor C compilers do not
need a flag to generate PIC code. I think it would be
better if the first if was:
if ($shared_target ne "")
3. The following code from Makefile.org does not work correctly to
install a shared library (tested under Solaris 8):
install: all install_docs
...
@for i in $(LIBS) ;\
do \
if [ -f "$$i" ]; then \
( echo installing $$i; \
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
$(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
fi \
done
The problem is that if building shared libraries, LIBS will
equal 'LIBS=libcrypto.so* libssl.so*'. RANLIB definitely should
not be run against the shared library. Moreover, the
solaris-shared target creates symbolic links for the shared
library. Namely:
$ ls -ld libssl*
libssl.so.0.9.6
libssl.so.0 -> libssl.so.0.9.6
libssl.so -> libssl.so.0
Because of this, the cp above will copy what the link points
to, *not* the link itself.
--
albert chin ([EMAIL PROTECTED])
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]