configure: Detect and use gld/gnm/gar as alternatives to ld/nm/ar, especially for winegcc.
This commit is contained in:
parent
f023be8aa7
commit
86bd0461a5
|
@ -46,6 +46,7 @@ LN_S = @LN_S@
|
|||
TOOLSDIR = @TOOLSDIR@
|
||||
AS = @AS@
|
||||
LD = @LD@
|
||||
NM = @NM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
PRELINK = @PRELINK@
|
||||
RM = rm -f
|
||||
|
|
|
@ -687,7 +687,11 @@ BISON
|
|||
AS
|
||||
ac_ct_AS
|
||||
LD
|
||||
ac_ct_LD
|
||||
NM
|
||||
ac_ct_NM
|
||||
AR
|
||||
ac_ct_AR
|
||||
ARFLAGS
|
||||
RANLIB
|
||||
STRIP
|
||||
|
@ -5437,8 +5441,10 @@ esac
|
|||
fi
|
||||
|
||||
if test -n "$ac_tool_prefix"; then
|
||||
# Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}ld; ac_word=$2
|
||||
for ac_prog in ld gld
|
||||
do
|
||||
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
|
||||
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
|
||||
if test "${ac_cv_prog_LD+set}" = set; then
|
||||
|
@ -5454,7 +5460,7 @@ do
|
|||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_LD="${ac_tool_prefix}ld"
|
||||
ac_cv_prog_LD="$ac_tool_prefix$ac_prog"
|
||||
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
|
@ -5474,11 +5480,15 @@ echo "${ECHO_T}no" >&6; }
|
|||
fi
|
||||
|
||||
|
||||
test -n "$LD" && break
|
||||
done
|
||||
fi
|
||||
if test -z "$ac_cv_prog_LD"; then
|
||||
if test -z "$LD"; then
|
||||
ac_ct_LD=$LD
|
||||
# Extract the first word of "ld", so it can be a program name with args.
|
||||
set dummy ld; ac_word=$2
|
||||
for ac_prog in ld gld
|
||||
do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
|
||||
if test "${ac_cv_prog_ac_ct_LD+set}" = set; then
|
||||
|
@ -5494,7 +5504,7 @@ do
|
|||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_ac_ct_LD="ld"
|
||||
ac_cv_prog_ac_ct_LD="$ac_prog"
|
||||
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
|
@ -5513,6 +5523,10 @@ else
|
|||
echo "${ECHO_T}no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
test -n "$ac_ct_LD" && break
|
||||
done
|
||||
|
||||
if test "x$ac_ct_LD" = x; then
|
||||
LD="ld"
|
||||
else
|
||||
|
@ -5528,13 +5542,117 @@ ac_tool_warned=yes ;;
|
|||
esac
|
||||
LD=$ac_ct_LD
|
||||
fi
|
||||
else
|
||||
LD="$ac_cv_prog_LD"
|
||||
fi
|
||||
|
||||
if test -n "$ac_tool_prefix"; then
|
||||
# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}ar; ac_word=$2
|
||||
for ac_prog in nm gnm
|
||||
do
|
||||
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
|
||||
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
|
||||
if test "${ac_cv_prog_NM+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
if test -n "$NM"; then
|
||||
ac_cv_prog_NM="$NM" # Let the user override the test.
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_NM="$ac_tool_prefix$ac_prog"
|
||||
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
fi
|
||||
fi
|
||||
NM=$ac_cv_prog_NM
|
||||
if test -n "$NM"; then
|
||||
{ echo "$as_me:$LINENO: result: $NM" >&5
|
||||
echo "${ECHO_T}$NM" >&6; }
|
||||
else
|
||||
{ echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
test -n "$NM" && break
|
||||
done
|
||||
fi
|
||||
if test -z "$NM"; then
|
||||
ac_ct_NM=$NM
|
||||
for ac_prog in nm gnm
|
||||
do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
|
||||
if test "${ac_cv_prog_ac_ct_NM+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
if test -n "$ac_ct_NM"; then
|
||||
ac_cv_prog_ac_ct_NM="$ac_ct_NM" # Let the user override the test.
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_ac_ct_NM="$ac_prog"
|
||||
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
fi
|
||||
fi
|
||||
ac_ct_NM=$ac_cv_prog_ac_ct_NM
|
||||
if test -n "$ac_ct_NM"; then
|
||||
{ echo "$as_me:$LINENO: result: $ac_ct_NM" >&5
|
||||
echo "${ECHO_T}$ac_ct_NM" >&6; }
|
||||
else
|
||||
{ echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
test -n "$ac_ct_NM" && break
|
||||
done
|
||||
|
||||
if test "x$ac_ct_NM" = x; then
|
||||
NM="nm"
|
||||
else
|
||||
case $cross_compiling:$ac_tool_warned in
|
||||
yes:)
|
||||
{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
|
||||
whose name does not start with the host triplet. If you think this
|
||||
configuration is useful to you, please write to autoconf@gnu.org." >&5
|
||||
echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
|
||||
whose name does not start with the host triplet. If you think this
|
||||
configuration is useful to you, please write to autoconf@gnu.org." >&2;}
|
||||
ac_tool_warned=yes ;;
|
||||
esac
|
||||
NM=$ac_ct_NM
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$ac_tool_prefix"; then
|
||||
for ac_prog in ar gar
|
||||
do
|
||||
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
|
||||
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
|
||||
if test "${ac_cv_prog_AR+set}" = set; then
|
||||
|
@ -5550,7 +5668,7 @@ do
|
|||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_AR="${ac_tool_prefix}ar"
|
||||
ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
|
||||
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
|
@ -5570,11 +5688,15 @@ echo "${ECHO_T}no" >&6; }
|
|||
fi
|
||||
|
||||
|
||||
test -n "$AR" && break
|
||||
done
|
||||
fi
|
||||
if test -z "$ac_cv_prog_AR"; then
|
||||
if test -z "$AR"; then
|
||||
ac_ct_AR=$AR
|
||||
# Extract the first word of "ar", so it can be a program name with args.
|
||||
set dummy ar; ac_word=$2
|
||||
for ac_prog in ar gar
|
||||
do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
|
||||
if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
|
||||
|
@ -5590,7 +5712,7 @@ do
|
|||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_ac_ct_AR="ar"
|
||||
ac_cv_prog_ac_ct_AR="$ac_prog"
|
||||
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
|
@ -5609,6 +5731,10 @@ else
|
|||
echo "${ECHO_T}no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
test -n "$ac_ct_AR" && break
|
||||
done
|
||||
|
||||
if test "x$ac_ct_AR" = x; then
|
||||
AR="ar"
|
||||
else
|
||||
|
@ -5624,8 +5750,6 @@ ac_tool_warned=yes ;;
|
|||
esac
|
||||
AR=$ac_ct_AR
|
||||
fi
|
||||
else
|
||||
AR="$ac_cv_prog_AR"
|
||||
fi
|
||||
|
||||
ARFLAGS=rc
|
||||
|
@ -23493,16 +23617,16 @@ BISON!$BISON$ac_delim
|
|||
AS!$AS$ac_delim
|
||||
ac_ct_AS!$ac_ct_AS$ac_delim
|
||||
LD!$LD$ac_delim
|
||||
ac_ct_LD!$ac_ct_LD$ac_delim
|
||||
NM!$NM$ac_delim
|
||||
ac_ct_NM!$ac_ct_NM$ac_delim
|
||||
AR!$AR$ac_delim
|
||||
ac_ct_AR!$ac_ct_AR$ac_delim
|
||||
ARFLAGS!$ARFLAGS$ac_delim
|
||||
RANLIB!$RANLIB$ac_delim
|
||||
STRIP!$STRIP$ac_delim
|
||||
WINDRES!$WINDRES$ac_delim
|
||||
LN_S!$LN_S$ac_delim
|
||||
LN!$LN$ac_delim
|
||||
GREP!$GREP$ac_delim
|
||||
EGREP!$EGREP$ac_delim
|
||||
LDCONFIG!$LDCONFIG$ac_delim
|
||||
_ACEOF
|
||||
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 82; then
|
||||
|
@ -23564,6 +23688,10 @@ _ACEOF
|
|||
ac_delim='%!_!# '
|
||||
for ac_last_try in false false false false false :; do
|
||||
cat >conf$$subs.sed <<_ACEOF
|
||||
LN!$LN$ac_delim
|
||||
GREP!$GREP$ac_delim
|
||||
EGREP!$EGREP$ac_delim
|
||||
LDCONFIG!$LDCONFIG$ac_delim
|
||||
INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
|
||||
INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
|
||||
INSTALL_DATA!$INSTALL_DATA$ac_delim
|
||||
|
@ -23642,7 +23770,7 @@ LIBOBJS!$LIBOBJS$ac_delim
|
|||
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
||||
_ACEOF
|
||||
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 76; then
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 80; then
|
||||
break
|
||||
elif $ac_last_try; then
|
||||
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
||||
|
|
|
@ -161,8 +161,9 @@ then
|
|||
fi
|
||||
|
||||
AC_CHECK_TOOLS(AS,[gas as],as)
|
||||
AC_CHECK_TOOL(LD,ld,ld)
|
||||
AC_CHECK_TOOL(AR,ar,ar)
|
||||
AC_CHECK_TOOLS(LD,[ld gld],ld)
|
||||
AC_CHECK_TOOLS(NM,[nm gnm],nm)
|
||||
AC_CHECK_TOOLS(AR,[ar gar],ar)
|
||||
AC_SUBST(ARFLAGS,rc)
|
||||
AC_PROG_RANLIB
|
||||
AC_CHECK_TOOL(STRIP,strip,strip)
|
||||
|
|
|
@ -9,6 +9,7 @@ DEFS = \
|
|||
-DCPP="\"@CPPBIN@\"" \
|
||||
-DCXX="\"@CXX@\"" \
|
||||
-DLD="\"$(LD)\"" \
|
||||
-DNM="\"$(NM)\"" \
|
||||
-DPRELINK="\"$(PRELINK)\""
|
||||
|
||||
TOPSRCDIR = @top_srcdir@
|
||||
|
|
|
@ -572,6 +572,8 @@ static void build(struct options* opts)
|
|||
strarray_add(spec_args, AS);
|
||||
strarray_add(spec_args, "--ld-cmd");
|
||||
strarray_add(spec_args, LD);
|
||||
strarray_add(spec_args, "--nm-cmd");
|
||||
strarray_add(spec_args, NM);
|
||||
strarray_addall(spec_args, strarray_fromstring(DLLFLAGS, " "));
|
||||
strarray_add(spec_args, opts->shared ? "--dll" : "--exe");
|
||||
strarray_add(spec_args, "-o");
|
||||
|
|
Loading…
Reference in New Issue