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

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6515)
This commit is contained in:
Andy Polyakov 2018-06-18 19:08:50 +02:00
parent 8b2f413e8f
commit 07e4dc341f
2 changed files with 8 additions and 8 deletions

View File

@ -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",

View File

@ -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