diff options
author | Richard Levitte <levitte@openssl.org> | 2016-10-12 17:05:35 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-10-13 02:21:51 +0200 |
commit | fad599f7f147ee71e5581211fb654c2c8c491cd8 (patch) | |
tree | 47c6dd993626612757bf7e1a0db4a6ec359deee4 | |
parent | 075f7e2c6062a33352f570eeafe3c95e41419521 (diff) | |
download | openssl-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.tmpl | 6 | ||||
-rwxr-xr-x | Configure | 11 |
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 } @@ -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.=$_." "; |