* mipsread.c (parse_symbol): In third-eye, a function has a block
[binutils-gdb.git] / configure
index f36d2bef8406791e53537f66766e3b6a8c5c84e5..9dcc2946166b823c774ba1add340551588ad1599 100755 (executable)
--- a/configure
+++ b/configure
@@ -88,6 +88,10 @@ undefinedargs=
 version="$Revision$"
 x11=default
 
+### we might need to use some other shell than /bin/sh for running subshells
+#
+config_shell=${CONFIG_SHELL-}
+
 NO_EDIT="This file was generated automatically by configure.  Do not edit."
 
 ## this is a little touchy and won't always work, but...
@@ -111,7 +115,7 @@ case "${progname}" in
         ;;
 esac
 
-for arg in $*;
+for arg in $*
 do
         # handle things that might have args following as separate words
         if [ -n "${next_prefix}" ] ; then prefix=${arg} ; prefixoption="-prefix=${prefix}" ; next_prefix=
@@ -148,6 +152,17 @@ do
                         fatal=yes
                         ;;
                 esac
+        elif [ -n "${next_host}" ] ; then
+                next_host=
+                case "${host_alias}" in
+                "")
+                        host_alias="${arg}"
+                        ;;
+                *)
+                        echo '***' Can only configure for one host at a time.  1>&2
+                        fatal=yes
+                        ;;
+                esac
         elif [ -n "${next_tmpdir}" ] ; then
                 next_tmpdir=
                 tmpdiroption="--tmpdir=${arg}"
@@ -179,6 +194,17 @@ do
                                 ;;
                         esac
                         ;;
+                -host=* | --host | --hos | --ho)
+                        case "${host_alias}" in
+                        "")
+                                next_host=yes
+                                ;;
+                        *)
+                                echo '***' Can only configure for one host at a time.  1>&2
+                                fatal=yes
+                                ;;
+                        esac
+                        ;;
                 -nfp | --nf*)
                         floating_point=no
                         ;;
@@ -323,11 +349,9 @@ case "${fatal}" in
                 echo '***' Can only configure for one host and one target at a time.  1>&2
                 fatal=yes
         elif [ -z "${host_alias}" -a -z "${undefs}" ] ; then
-                echo '- You did not tell me what kind of host system you want to configure.
-- I will attempt to guess the kind of system this is.' 1>&2
                 guesssys=`echo ${progname} | sed 's/configure$/config.guess/'`
                 if tmp_alias=`${guesssys}` ; then
-                        echo "- Looks like this is a ${tmp_alias}" 1>&2
+                        echo "Configuring for a ${tmp_alias} host." 1>&2
                         host_alias=${tmp_alias}
                        case "${target_alias}" in
                        "") target_alias=${tmp_alias} ;;
@@ -335,7 +359,7 @@ case "${fatal}" in
                        esac
                        arguments="--host=${host_alias} ${arguments}"
                 else
-                        echo '- Failed to guess the system type.  You need to tell me.' 1>&2
+                        echo 'Config.guess failed to determine the host type.  You need to specify one.' 1>&2
                         fatal=yes
                 fi
         else
@@ -772,6 +796,11 @@ EOF
                 echo site_makefile_frag = ${invsubdir}${site_makefile_frag} >>${Makefile}
             fi 
 
+           # make sure that some sort of reasonable default exists for these 
+           # two variables
+           CXX=${CXX-"g++ -O"}
+           CC=${CC-cc}
+
             # reset prefix, exec_prefix, srcdir, SUBDIRS, NONSUBDIRS,
             # remove any form feeds.
             if [ -z "${subdirs}" ]; then
@@ -784,6 +813,24 @@ EOF
             fi
             sed -e "s:^prefix[         ]*=.*$:prefix = ${prefix}:" \
                     -e "s:^exec_prefix[        ]*=.*$:exec_prefix = ${exec_prefix}:" \
+                   -e "/^CC[   ]*=/{
+                       b chkcc
+                       :contcc
+                       N
+                       :chkcc
+                       s/\\\\$//
+                       t contcc
+                       s/^CC[  ]*=.*$/CC = ${CC}/
+                       }" \
+                   -e "/^CXX[  ]*=/{
+                       b chkcxx
+                       :contcxx
+                       N
+                       :chkcxx
+                       s/\\\\$//
+                       t contcxx
+                       s/^CXX[         ]*=.*$/CXX = ${CXX}/
+                       }" \
                     -e "s:^srcdir[     ]*=.*$:srcdir = ${makesrcdir}:" \
                     -e "s/\f//" \
                     -e "s:^program_prefix[     ]*=.*$:program_prefix = ${program_prefix}:" \
@@ -894,21 +941,26 @@ if [ -z "${norecursion}" -a -n "${configdirs}" ] ; then
 ### check for guested configure, otherwise fix possibly relative progname
                         if [ -f ${newsrcdir}/configure ] ; then
                                 recprog=${newsrcdir}/configure
-                        else
+                        elif [ -f ${newsrcdir}/configure.in ] ; then
                                 case "${progname}" in
                                 /*)     recprog=${progname} ;;
                                 *)      recprog=../${progname} ;;
                                 esac
+                       else
+                               eval echo No configuration information in ${configdir} ${redirect}
+                               recprog=
                         fi
 
 ### The recursion line is here.
-                        if eval ${recprog} ${verbose} --host=${host_alias} --target=${target_alias} \
-                                ${prefixoption} ${tmpdiroption} ${exec_prefixoption} \
-                                ${srcdiroption} ${program_prefixoption} ${program_suffixoption} ${program_transform_nameoption} ${site_option} ${withoptions} ${withoutoptions} ${removing} ${redirect} ; then
-                                true
-                        else
-                                exit 1
-                        fi
+                       if [ ! -z "${recprog}" ] ; then
+                               if eval ${config_shell} ${recprog} ${verbose} --host=${host_alias} --target=${target_alias} \
+                                       ${prefixoption} ${tmpdiroption} ${exec_prefixoption} \
+                                       ${srcdiroption} ${program_prefixoption} ${program_suffixoption} ${program_transform_nameoption} ${site_option} ${withoptions} ${withoutoptions} ${removing} ${redirect} ; then
+                                       true
+                               else
+                                       exit 1
+                               fi
+                       fi
 
                         cd ${POPDIR}
                 fi