aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-10-12 17:05:35 +0200
committerRichard Levitte <levitte@openssl.org>2016-10-13 02:21:51 +0200
commitfad599f7f147ee71e5581211fb654c2c8c491cd8 (patch)
tree47c6dd993626612757bf7e1a0db4a6ec359deee4
parent075f7e2c6062a33352f570eeafe3c95e41419521 (diff)
downloadopenssl-fad599f7f147ee71e5581211fb654c2c8c491cd8.tar.gz
Remove automatic RPATH - add user rpath support
Make Configure recognise -rpath and -R to support user added rpaths for OSF1 and Solaris. For convenience, add a variable LIBRPATH in the Unix Makefile, which the users can use as follows: ./config [options] -Wl,-rpath,\$(LIBRPATH) Reviewed-by: Rich Salz <rsalz@openssl.org>
-rw-r--r--Configurations/unix-Makefile.tmpl6
-rwxr-xr-xConfigure11
2 files changed, 15 insertions, 2 deletions
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index e7dcfae6a5..8d1dfbefcf 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -153,6 +153,10 @@ LIBDIR={- #
ENGINESDIR={- use File::Spec::Functions;
catdir($prefix,$libdir,"engines-$sover") -}
+# Convenience variable for those who want to set the rpath in shared
+# libraries and applications
+LIBRPATH=$(INSTALLTOP)/$(LIBDIR)
+
MANDIR=$(INSTALLTOP)/share/man
DOCDIR=$(INSTALLTOP)/share/doc/$(BASENAME)
HTMLDIR=$(DOCDIR)/html
@@ -1094,7 +1098,7 @@ $bin$exeext: $objs $deps
APPNAME=$bin$exeext OBJECTS="$objs" \\
LIBDEPS='\$(PLIB_LDFLAGS) '"$linklibs"' \$(EX_LIBS)' \\
CC='$cc' CFLAGS='$cflags' \\
- LDFLAGS='\$(LDFLAGS)' LIBRPATH='\$(INSTALLTOP)/\$(LIBDIR)' \\
+ LDFLAGS='\$(LDFLAGS)' \\
link_app.$shlib_target
EOF
}
diff --git a/Configure b/Configure
index 024b93fb3a..38637fbce9 100755
--- a/Configure
+++ b/Configure
@@ -545,8 +545,9 @@ $config{build_type} = "release";
my %unsupported_options = ();
my %deprecated_options = ();
-foreach (@argvcopy)
+while (@argvcopy)
{
+ $_ = shift @argvcopy;
# VMS is a case insensitive environment, and depending on settings
# out of our control, we may receive options uppercased. Let's
# downcase at least the part before any equal sign.
@@ -733,6 +734,14 @@ foreach (@argvcopy)
{
$libs.=$_." ";
}
+ elsif (/^-rpath$/ or /^-R$/)
+ # -rpath is the OSF1 rpath flag
+ # -R is the old Solaris rpath flag
+ {
+ my $rpath = shift(@argvcopy) || "";
+ $rpath .= " " if $rpath ne "";
+ $libs.=$_." ".$rpath;
+ }
elsif (/^-static$/)
{
$libs.=$_." ";