Commit fad599f7 authored by Richard Levitte's avatar Richard Levitte
Browse files

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: default avatarRich Salz <rsalz@openssl.org>
parent 075f7e2c
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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
  }
+10 −1
Original line number Diff line number Diff line
@@ -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.=$_." ";