start-sanitize-d10v
[deliverable/binutils-gdb.git] / configure
index 784c2804d4c4aec106f569c9df16bfd877868842..3d6be6e085c34cd399d45fae3fba52f597079597 100755 (executable)
--- a/configure
+++ b/configure
@@ -45,7 +45,7 @@ symbolic_link='ln -s'
 
 Makefile=Makefile
 Makefile_in=Makefile.in
-arguments=$*
+arguments=
 build_alias=
 cache_file=
 cache_file_option=
@@ -137,19 +137,27 @@ do
        case $option in
        --*=*)
                optarg=`echo $option | sed -e 's/^[^=]*=//'`
+               arguments="$arguments $option"
                ;;
 # These options have mandatory values.  Since we didn't find an = sign,
 # the value must be in the next argument
-       --b* | --cache* | --ex* | --ho* | --pre* | --program-p* | --program-s* | --program-t* | --si* | --sr* | --ta* | --tm* | --x-*)
+       --bu* | --cache* | --ex* | --ho* | --pre* | --program-p* | --program-s* | --program-t* | --si* | --sr* | --ta* | --tm* | --x-* | --bi* | --sb* | --li* | --da* | --sy* | --sh* | --lo* | --in* | --ol* | --ma*)
                optarg=$1
                shift
+               arguments="$arguments $option=$optarg"
+               ;;
+       --v)
+               arguments="$arguments -v"
+               ;;
+       --*)
+               arguments="$arguments $option"
                ;;
        esac
 
 # Now, process the options
        case $option in
 
-       --build* | --b*)
+       --build* | --bu*)
                case "$build_alias" in
                "") build_alias=$optarg ;;
                *) echo '***' Can only configure for one build machine at a time.  1>&2
@@ -277,6 +285,9 @@ do
                ;;
        --x-i* | --x-l*) other_options="$other_options $orig_option"
                ;;
+       --bi* | --sb* | --li* | --da* | --sy* | --sh* | --lo* | --in* | --ol* | --ma*)
+               # These options were added to autoconf for emacs.
+               ;;
        --*)
                echo "configure: Unrecognized option: \"$orig_option\"; use --help for usage." >&2
                exit 1
@@ -353,6 +364,8 @@ case "${fatal}" in
                        ;;
                *)
                        host_alias=$undefs
+                       arguments="--host=$host_alias $arguments"
+                       undefs=NOUNDEFS
                        ;;
                esac
        esac
@@ -367,6 +380,7 @@ case "${fatal}" in
                        ;;
                *)
                        target_alias=$undefs
+                       arguments="--target=$target_alias $arguments"
                        ;;
                esac
        esac
@@ -440,7 +454,18 @@ case "${srcdir}" in
                 fi
         fi
         ;;
-*) ;;
+*)
+       # Set srcdir to "." if that's what it is.
+       # This is important for multilib support.
+       if [ ! -d ${srcdir} ] ; then
+               echo "Invalid source directory ${srcdir}" >&2
+               exit 1
+       fi
+       pwd=`pwd`
+       srcpwd=`cd ${srcdir} ; pwd`
+       if [ "${pwd}" = "${srcpwd}" ] ; then
+               srcdir=.
+       fi
 esac
 
 ### warn about some conflicting configurations.
@@ -550,7 +575,7 @@ case "${build_alias}" in
            build_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
            build_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
            build_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
-           build=${host_cpu}-${host_vendor}-${host_os}
+           build=${build_cpu}-${build_vendor}-${build_os}
            build_alias=${host_alias}
        fi
        ;;
@@ -649,7 +674,7 @@ if [ -z "${CC}" -a -r Makefile ]; then
 /\\$/ N
 /\\$/ b loop
 s/\\\n//g
-/^CC[  ]*=/ s/CC[      ]*=\(.*\)/\1/p' < Makefile > Makefile.cc
+/^CC[  ]*=/ s/CC[      ]*=[    ]*\(.*\)/\1/p' < Makefile > Makefile.cc
   CC=`tail -1 Makefile.cc`
   rm -f Makefile.cc
 fi
@@ -659,30 +684,137 @@ if [ -z "${CXX}" -a -r Makefile ]; then
 /\\$/ N
 /\\$/ b loop
 s/\\\n//g
-/^CXX[         ]*=/ s/CXX[     ]*=\(.*\)/\1/p' < Makefile > Makefile.cc
+/^CXX[         ]*=/ s/CXX[     ]*=[    ]*\(.*\)/\1/p' < Makefile > Makefile.cc
   CXX=`tail -1 Makefile.cc`
   rm -f Makefile.cc
 fi
 
-# If CC is still not set, try to get gcc.
-if [ -z "${CC}" ]; then
-  IFS="${IFS=  }"; save_ifs="$IFS"; IFS="${IFS}:"
-  for dir in $PATH; do
-    test -z "$dir" && dir=.
-    if test -f $dir/gcc; then
-      CC="gcc"
-      break
+if [ "${build}" != "${host}" ]; then
+  # If we are doing a Canadian Cross, in which the host and build systems
+  # are not the same, we set reasonable default values for the tools.
+
+  tools="AR AR_FOR_TARGET AS AS_FOR_TARGET BISON CC_FOR_BUILD"
+  tools="${tools} CC_FOR_TARGET CXX_FOR_TARGET"
+  tools="${tools} DLLTOOL DLLTOOL_FOR_TARGET HOST_PREFIX"
+  tools="${tools} HOST_PREFIX_1 LD LD_FOR_TARGET LEX MAKEINFO NM"
+  tools="${tools} NM_FOR_TARGET RANLIB RANLIB_FOR_TARGET"
+
+  for var in ${tools}; do
+    if [ -z "`eval 'echo $'"${var}"`" -a -r Makefile ]; then
+      sed -n -e ':loop
+/\\$/ N
+/\\$/ b loop
+s/\\\n//g
+/^'"${var}"'[  ]*=/ s/'"${var}"'[      ]*=[    ]*\(.*\)/\1/p' \
+       < Makefile > Makefile.v
+      t=`tail -1 Makefile.v`
+      if [ -n "${t}" ]; then
+       eval "${var}='${t}'"
+      fi
+      rm -f Makefile.v
     fi
   done
-  IFS="$save_ifs"
-  CC=${CC-cc}
-fi
 
-CXX=${CXX-"g++ -O"}
+  AR=${AR-${host_alias}-ar}
+  AR_FOR_TARGET=${AR_FOR_TARGET-${target_alias}-ar}
+  AS=${AS-${host_alias}-as}
+  AS_FOR_TARGET=${AS_FOR_TARGET-${target_alias}-as}
+  CC=${CC-${host_alias}-gcc}
+  CXX=${CXX-${host_alias}-gcc}
+  CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
+  CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc}
+  CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-gcc}
+  DLLTOOL=${DLLTOOL-${host_alias}-dlltool}
+  DLLTOOL_FOR_TARGET=${DLLTOOL_FOR_TARGET-${target_alias}-dlltool}
+  HOST_PREFIX=${build_alias}-
+  HOST_PREFIX_1=${build_alias}-
+  LD=${LD-${host_alias}-ld}
+  LD_FOR_TARGET=${LD_FOR_TARGET-${target_alias}-ld}
+  MAKEINFO=${MAKEINFO-makeinfo}
+  NM=${NM-${host_alias}-nm}
+  NM_FOR_TARGET=${NM_FOR_TARGET-${target_alias}-nm}
+  RANLIB=${RANLIB-${host_alias}-ranlib}
+  RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET-${target_alias}-ranlib}
+
+  if [ -z "${BISON}" ]; then
+    IFS="${IFS=        }"; save_ifs="$IFS"; IFS="${IFS}:"
+    for dir in $PATH; do
+      test -z "$dir" && dir=.
+      if test -f $dir/byacc; then
+       BISON=byacc
+       break
+      fi
+      if test -f $dir/bison; then
+       BISON=bison
+       break
+      fi
+      if test -f $dir/yacc; then
+       BISON=yacc
+       break
+      fi
+    done
+    IFS="$save_ifs"
+    BISON=${BISON-bison}
+  fi
+
+  if [ -z "${LEX}" ]; then
+    IFS="${IFS=        }"; save_ifs="$IFS"; IFS="${IFS}:"
+    for dir in $PATH; do
+      test -z "$dir" && dir=.
+      if test -f $dir/flex; then
+       LEX=flex
+       break
+      fi
+      if test -f $dir/lex; then
+       LEX=lex
+       break
+      fi
+    done
+    IFS="$save_ifs"
+    LEX=${LEX-flex}
+  fi
+
+  # Export variables which autoconf might try to set.
+  export AS
+  export AR
+  export CC_FOR_BUILD
+  export DLLTOOL
+  export LD
+  export NM
+  export RANLIB
+else
+  # If CC is still not set, try to get gcc.
+  if [ -z "${CC}" ]; then
+    IFS="${IFS=        }"; save_ifs="$IFS"; IFS="${IFS}:"
+    for dir in $PATH; do
+      test -z "$dir" && dir=.
+      if test -f $dir/gcc; then
+       CC="gcc -O2"
+       break
+      fi
+    done
+    IFS="$save_ifs"
+    CC=${CC-cc}
+  fi
+
+  CXX=${CXX-"gcc"}
+fi
 
 export CC
 export CXX
 
+case "$host" in
+       *go32*)
+           enable_gdbtk=no ;;
+esac
+
+# Determine whether gdb needs tk/tcl or not.
+if [ "$enable_gdbtk" != "no" ]; then
+       GDB_TK="all-tcl all-tk"
+else
+       GDB_TK=""
+fi
+
 for subdir in . ${subdirs} ; do
 
     # ${subdir} is relative path from . to the directory we're currently
@@ -947,6 +1079,7 @@ EOF
                        s%^CXX[         ]*=.*$%CXX = ${CXX}%
                        }" \
                    -e "s:^SHELL[        ]*=.*$:SHELL = ${config_shell}:" \
+                   -e "s:^GDB_TK[       ]*=.*$:GDB_TK = ${GDB_TK}:" \
                     -e "s:^srcdir[     ]*=.*$:srcdir = ${makesrcdir}:" \
                     -e "s/\f//" \
                     -e "s:^program_prefix[     ]*=.*$:program_prefix = ${program_prefix}:" \
@@ -954,6 +1087,23 @@ EOF
                     -e "s:^program_transform_name[     ]*=.*$:program_transform_name = ${program_transform_name}:" \
                     -e "s:^tooldir[    ]*=.*$:tooldir = ${tooldir}:" \
                     ${subdir}/Makefile.tem >> ${Makefile}
+
+           # If this is a Canadian Cross, preset the values of many more
+           # tools.
+           if [ "${build}" != "${host}" ]; then
+               for var in ${tools}; do
+                   val=`eval 'echo $'"${var}"`
+                   sed -e "/^${var}[   ]*=/{
+                          :loop1
+                          /\\\\$/ N
+                          /\\\\$/ b loop1
+                          s/\\\\\\n//g
+                          s%^${var}[   ]*=.*$%${var} = ${val}%
+                          }" ${Makefile} > ${Makefile}.tem
+                   mv -f ${Makefile}.tem ${Makefile}
+               done
+           fi
+
             # final copy now in ${Makefile}
 
         else
This page took 0.027765 seconds and 4 git commands to generate.