BSD run-time linkers apparently demand RPATH on .so objects.
PR: 1381
This commit is contained in:
parent
77519b51db
commit
c313e32a8b
19
Configure
19
Configure
@ -1181,8 +1181,10 @@ if (!$IsMK1MF)
|
|||||||
|
|
||||||
$cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/);
|
$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;
|
my $iccver=0;
|
||||||
if (open(FD,"$cc -V 2>&1 |"))
|
if (open(FD,"$cc -V 2>&1 |"))
|
||||||
@ -1208,6 +1210,19 @@ if ($target =~ /icc$/)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 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 "")
|
if ($sys_id ne "")
|
||||||
{
|
{
|
||||||
#$cflags="-DOPENSSL_SYSNAME_$sys_id $cflags";
|
#$cflags="-DOPENSSL_SYSNAME_$sys_id $cflags";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user