提交 07e4dc34 编写于 作者: A Andy Polyakov

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

Reviewed-by: NRichard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6515)
上级 8b2f413e
......@@ -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",
......
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册