diff --git a/Make.rules.in b/Make.rules.in index 1d038416b40..b46a573e69d 100644 --- a/Make.rules.in +++ b/Make.rules.in @@ -46,6 +46,7 @@ LN_S = @LN_S@ TOOLSDIR = @TOOLSDIR@ AS = @AS@ LD = @LD@ +NM = @NM@ LDFLAGS = @LDFLAGS@ PRELINK = @PRELINK@ RM = rm -f diff --git a/configure b/configure index 11d49adc952..40365dc9b74 100755 --- a/configure +++ b/configure @@ -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 diff --git a/configure.ac b/configure.ac index c71427e7e8d..a3bf985cf58 100644 --- a/configure.ac +++ b/configure.ac @@ -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) diff --git a/tools/winegcc/Makefile.in b/tools/winegcc/Makefile.in index 31c3a5ba6a2..fd7691ddea1 100644 --- a/tools/winegcc/Makefile.in +++ b/tools/winegcc/Makefile.in @@ -9,6 +9,7 @@ DEFS = \ -DCPP="\"@CPPBIN@\"" \ -DCXX="\"@CXX@\"" \ -DLD="\"$(LD)\"" \ + -DNM="\"$(NM)\"" \ -DPRELINK="\"$(PRELINK)\"" TOPSRCDIR = @top_srcdir@ diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c index 2c63ae564c5..b4a314df3aa 100644 --- a/tools/winegcc/winegcc.c +++ b/tools/winegcc/winegcc.c @@ -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");