OpenSSL CVS Repository
http://cvs.openssl.org/
____________________________________________________________
________________
Server: cvs.openssl.org Name: Andy
Polyakov
Root: /v/openssl/cvs Email: appro openssl.org
Module: openssl Date:
16-Sep-2007 14:23:50
Branch: HEAD Handle:
2007091613234700
Modified files:
openssl Configure
Log:
BSD run-time linkers apparently demand RPATH on .so
objects.
PR: 1381
Summary:
Revision Changes Path
1.574 +17 -2 openssl/Configure
____________________________________________________________
________________
patch -p0 <<' .'
Index: openssl/Configure
============================================================
================
$ cvs diff -u -r1.573 -r1.574 Configure
--- openssl/Configure 14 Sep 2007 21:06:08 -0000 1.573
+++ openssl/Configure 16 Sep 2007 12:23:47 -0000 1.574
 -1181,8 +1181,10 
$cpuid_obj.=" uplink.o uplink-cof.o" if
($cflags =~ /-DOPENSSL_USE_APPLINK/);
-# Compiler fix-ups
-if ($target =~ /icc$/)
+#
+# Platform fix-ups
+#
+if ($target =~ /-icc$/) # Intel C compiler
{
my $iccver=0;
if (open(FD,"$cc -V 2>&1 |"))
 -1208,6 +1210,19 
}
}
+# Unlike other OSes (like Solaris, Linux, Tru64, IRIX)
BSD run-time
+# linkers (tested OpenBSD, NetBSD and FreeBSD)
"demand" RPATH set on
+# .so objects. Apparently application RPATH is not global
and does
+# not apply to .so linked with other .so. Problem
manifests itself
+# when libssl.so fails to load libcrypto.so. One can
argue that we
+# should engrave this into Makefile.shared rules or into
BSD-* config
+# lines above. Meanwhile let's try to be cautious and
pass -rpath to
+# linker only when --prefix is not /usr.
+if ($target =~ /^BSD-/)
+ {
+ $shared_ldflag.=" -Wl,-rpath,$(LIBRPATH)" if
($prefix !~ m|^/usr[/]*$|);
+ }
+
if ($sys_id ne "")
{
#$cflags="-DOPENSSL_SYSNAME_$sys_id $cflags";
 .
____________________________________________________________
__________
OpenSSL Project http://www.openssl.org
CVS Repository Commit List
openssl-cvs openssl.org
Automated List Manager
majordomo openssl.org
|