Commit 07e4dc34 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

Configure,util/shlib_wrap.sh: harmonize -Wl and -rpath handling.

parent 8b2f413e
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -823,11 +823,7 @@ while (@argvcopy)
			{
			read_config $1;
			}
		elsif (/^-L(.*)$/)
			{
			push @{$useradd{LDFLAGS}}, $_;
			}
		elsif (/^-l(.*)$/ or /^-Wl,/)
		elsif (/^-l(.*)$/)
			{
			push @{$useradd{LDLIBS}}, $_;
			}
@@ -835,6 +831,10 @@ while (@argvcopy)
			{
			push @{$useradd{LDLIBS}}, $_, shift(@argvcopy);
			}
		elsif (/^-L(.*)$/ or /^-Wl,/)
			{
			push @{$useradd{LDFLAGS}}, $_;
			}
		elsif (/^-rpath$/ or /^-R$/)
			# -rpath is the OSF1 rpath flag
			# -R is the old Solaris rpath flag
@@ -954,7 +954,7 @@ foreach (keys %user) {
    }
}

if (grep { $_ =~ /(^|\s)-Wl,-rpath,/ } ($user{LDLIBS} ? @{$user{LDLIBS}} : ())
if (grep { /-rpath\b/ } ($user{LDFLAGS} ? @{$user{LDFLAGS}} : ())
    && !$disabled{shared}
    && !($disabled{asan} && $disabled{msan} && $disabled{ubsan})) {
    die "***** Cannot simultaneously use -rpath, shared libraries, and\n",
+2 −2
Original line number Diff line number Diff line
@@ -101,7 +101,7 @@ SunOS|IRIX*)
	;;
esac

{- output_off() if $config{ex_libs} !~ /,-rpath,/; ""; -}
{- output_off() unless grep (/-rpath\b/, @{$config{LDFLAGS}}); ""; -}
if [ -f "$LIBCRYPTOSO" -a -z "$preload_var" ]; then
	# Following three lines are major excuse for isolating them into
	# this wrapper script. Original reason for setting LD_PRELOAD
@@ -117,7 +117,7 @@ if [ -f "$LIBCRYPTOSO" -a -z "$preload_var" ]; then
	DYLD_INSERT_LIBRARIES="$LIBCRYPTOSO:$LIBSSLSO"	# MacOS X
	export LD_PRELOAD _RLD_LIST DYLD_INSERT_LIBRARIES
fi
{- output_on() if $config{ex_libs} !~ /,-rpath,/; ""; -}
{- output_on() unless grep (/-rpath\b/, @{$config{LDFLAGS}}); ""; -}

cmd="$1"; [ -x "$cmd" ] || cmd="$cmd${EXE_EXT}"
shift