]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/configure.in
Makefile.in (cc1plus): Put CXX_OBJS, and thence @extra_cxx_objs@, last.
[gcc.git] / gcc / configure.in
index d79c4dd0f82b200ad6c9f31610ff42af5702d214..5b79d3f3e7541c5b4a7c7b148be403b5f6135bf6 100644 (file)
@@ -29,6 +29,59 @@ hard_link=ln
 symbolic_link='ln -s'
 copy=cp
 
+# Check for bogus environment variables.
+# Test if LIBRARY_PATH contains the notation for the current directory
+# since this would lead to problems installing/building glibc.
+# LIBRARY_PATH contains the current directory if one of the following
+# is true:
+# - one of the terminals (":" and ";") is the first or last sign
+# - two terminals occur directly after each other
+# - the path contains an element with a dot in it
+AC_MSG_CHECKING(LIBRARY_PATH variable)
+changequote(,)dnl
+case ${LIBRARY_PATH} in
+  [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
+    library_path_setting="contains current directory"
+    ;;
+  *)
+    library_path_setting="ok"
+    ;;
+esac
+changequote([,])dnl
+AC_MSG_RESULT($library_path_setting)
+if test "$library_path_setting" != "ok"; then
+AC_MSG_ERROR([
+*** LIBRARY_PATH shouldn't contain the current directory when
+*** building egcs. Please change the environment variable
+*** and run configure again.])
+fi
+
+# Test if GCC_EXEC_PREFIX contains the notation for the current directory
+# since this would lead to problems installing/building glibc.
+# GCC_EXEC_PREFIX contains the current directory if one of the following
+# is true:
+# - one of the terminals (":" and ";") is the first or last sign
+# - two terminals occur directly after each other
+# - the path contains an element with a dot in it
+AC_MSG_CHECKING(GCC_EXEC_PREFIX variable)
+changequote(,)dnl
+case ${GCC_EXEC_PREFIX} in
+  [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
+    gcc_exec_prefix_setting="contains current directory"
+    ;;
+  *)
+    gcc_exec_prefix_setting="ok"
+    ;;
+esac
+changequote([,])dnl
+AC_MSG_RESULT($gcc_exec_prefix_setting)
+if test "$gcc_exec_prefix_setting" != "ok"; then
+AC_MSG_ERROR([
+*** GCC_EXEC_PREFIX shouldn't contain the current directory when
+*** building egcs. Please change the environment variable
+*** and run configure again.])
+fi
+
 # Check for additional parameters
 
 # With GNU ld
@@ -37,12 +90,37 @@ AC_ARG_WITH(gnu-ld,
 gnu_ld_flag="$with_gnu_ld",
 gnu_ld_flag=no)
 
+# With pre-defined ld
+AC_ARG_WITH(ld,
+[  --with-ld               arrange to use the specified ld (full pathname).],
+LD="$with_ld")
+if test x"${LD+set}" = x"set"; then
+  if test ! -x "$LD"; then
+    AC_MSG_WARN([cannot execute: $LD: check --with-ld or env. var. LD])
+  elif test "GNU" = `$LD -v </dev/null 2>&1 | sed '1s/^GNU.*/GNU/;q'`; then
+    gnu_ld_flag=yes
+  fi
+  AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$LD")
+fi
+
 # With GNU as
 AC_ARG_WITH(gnu-as,
 [  --with-gnu-as           arrange to work with GNU as.],
 gas_flag="$with_gnu_as",
 gas_flag=no)
 
+AC_ARG_WITH(as,
+[  --with-as               arrange to use the specified as (full pathname).],
+AS="$with_as")
+if test x"${AS+set}" = x"set"; then
+  if test ! -x "$AS"; then
+    AC_MSG_WARN([cannot execute: $AS: check --with-as or env. var. AS])
+  elif test "GNU" = `$AS -v </dev/null 2>&1 | sed '1s/^GNU.*/GNU/;q'`; then
+    gas_flag=yes
+  fi
+  AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$AS")
+fi
+
 # With stabs
 AC_ARG_WITH(stabs,
 [  --with-stabs            arrange to use stabs instead of host debug format.],
@@ -56,64 +134,106 @@ elf="$with_elf",
 elf=no)
 
 # Specify the local prefix
+local_prefix=
 AC_ARG_WITH(local-prefix,
 [  --with-local-prefix=DIR specifies directory to put local include.],
-local_prefix=$with_local_prefix,
-local_prefix=/usr/local)
+[case "${withval}" in
+yes)   AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
+no)    ;;
+*)     local_prefix=$with_local_prefix ;;
+esac])
 
 # Default local prefix if it is empty
-if [[ x$local_prefix = x ]]; then
+if test x$local_prefix = x; then
        local_prefix=/usr/local
 fi
 
+gxx_include_dir=
 # Specify the g++ header file directory
 AC_ARG_WITH(gxx-include-dir,
 [  --with-gxx-include-dir=DIR
                           specifies directory to put g++ header files.],
-gxx_include_dir=$with_gxx_include_dir,
-gxx_include_dir='${prefix}/include/g++')
+[case "${withval}" in
+yes)   AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;;
+no)    ;;
+*)     gxx_include_dir=$with_gxx_include_dir ;;
+esac])
 
-# Default g++ header file directory if it is empty
-if [[ x$gxx_include_dir = x ]]; then
-       gxx_include_dir='${prefix}/include/g++'
+if test x${gxx_include_dir} = x; then
+  if test x${enable_version_specific_runtime_libs} = xyes; then
+    gxx_include_dir='${libsubdir}/include/g++'
+  else
+    topsrcdir=${srcdir}/.. . ${srcdir}/../config.if
+    gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/g++"-${libstdcxx_interface}
+  fi
 fi
 
 # Enable expensive internal checks
 AC_ARG_ENABLE(checking,
 [  --enable-checking       enable expensive run-time checks.],
-AC_DEFINE(ENABLE_CHECKING)  
-)
+[case "${enableval}" in
+yes)   AC_DEFINE(ENABLE_CHECKING) ;;
+no)    ;;
+*)     AC_MSG_ERROR(bad value ${enableval} given for checking option) ;;
+esac])
+
+# Use cpplib+cppmain for the preprocessor, but don't link it with the compiler.
+cpp_main=cccp
+AC_ARG_ENABLE(cpplib,
+[  --enable-cpplib         use cpplib for the C preprocessor.],
+if test x$enable_cpplib != xno; then
+  cpp_main=cppmain
+fi)
 
-# Enable use of cpplib for C.
+# Link cpplib into the compiler proper, for C/C++/ObjC.
 AC_ARG_ENABLE(c-cpplib,
-[  --enable-c-cpplib       Use cpplib for C.],
-if [[[ x$enable_c_cpplib != xno ]]]; then
+[  --enable-c-cpplib       link cpplib directly into C and C++ compilers
+                          (implies --enable-cpplib).],
+if test x$enable_c_cpplib != xno; then
   extra_c_objs="${extra_c_objs} cpplib.o cppexp.o cpphash.o cpperror.o"
   extra_c_objs="${extra_c_objs} prefix.o"
   extra_cxx_objs="${extra_cxx_objs} ../cpplib.o ../cppexp.o ../cpphash.o ../cpperror.o ../prefix.o"
   extra_c_flags=-DUSE_CPPLIB=1
+  cpp_main=cppmain
+fi)
+
+# Enable Multibyte Characters for C/C++
+AC_ARG_ENABLE(c-mbchar,
+[  --enable-c-mbchar       enable multibyte characters for C and C++.],
+if test x$enable_c_mbchar != xno; then
+  extra_c_flags=-DMULTIBYTE_CHARS=1
 fi)
   
 # Enable Haifa scheduler.
 AC_ARG_ENABLE(haifa,
-[  --enable-haifa          Use the experimental scheduler.
-  --disable-haifa         Don't use the experimental scheduler for the
+[  --enable-haifa          use the experimental scheduler.
+  --disable-haifa         don't use the experimental scheduler for the
                           targets which normally enable it.])
 # Fast fixincludes
 #
 # This is a work in progress...
 AC_ARG_WITH(fast-fixincludes,
-[  --with-fast-fixincludes    Use a faster fixinclude program.  Experimental],
+[  --with-fast-fixincludes    use a faster fixinclude program (experimental)],
 fast_fixinc="$with_fast_fixincludes",
 fast_fixinc=no)
 
+# Enable init_priority.
+AC_ARG_ENABLE(init-priority,
+[  --enable-init-priority  use attributes to assign initialization order
+                         for static objects.
+  --disable-init-priority conform to ISO C++ rules for ordering static objects
+                         (i.e. initialized in order of declaration). ],
+if test x$enable_init_priority != xno; then
+  extra_c_flags=-DUSE_INIT_PRIORITY
+fi)
+
 # Enable threads
 # Pass with no value to take the default
 # Pass with a value to specify a thread package
 AC_ARG_ENABLE(threads,
 [  --enable-threads        enable thread usage for target GCC.
   --enable-threads=LIB    use LIB thread package for target GCC.],
-if [[[ x$enable_threads = xno ]]]; then
+if test x$enable_threads = xno; then
        enable_threads=''
 fi,
 enable_threads='')
@@ -139,13 +259,56 @@ case x${enable_threads_flag} in
                ;;
 esac
 
+AC_ARG_ENABLE(objc-gc,
+[  --enable-objc-gc      enable the use of Boehm's garbage collector with
+                         the GNU Objective-C runtime.],
+if [[[ x$enable_objc_gc = xno ]]]; then
+       objc_boehm_gc=''
+else
+       objc_boehm_gc=1
+fi,
+objc_boehm_gc='')
+
 # Determine the host, build, and target systems
 AC_CANONICAL_SYSTEM
 
 # Find the native compiler
 AC_PROG_CC
+
+# If the native compiler is GCC, we can enable warnings even in stage1.  
+# That's useful for people building cross-compilers, or just running a
+# quick `make'.
+if test "x$GCC" = "xyes"; then 
+  stage1_warn_cflags='$(WARN_CFLAGS)'
+else
+  stage1_warn_cflags=""
+fi
+AC_SUBST(stage1_warn_cflags)
+
 AC_PROG_MAKE_SET
 
+AC_MSG_CHECKING([whether a default assembler was specified])
+if test x"${AS+set}" = x"set"; then
+    if test x"$with_gas" = x"no"; then
+       AC_MSG_RESULT([yes ($AS)])
+    else
+       AC_MSG_RESULT([yes ($AS - GNU as)])
+    fi
+else
+    AC_MSG_RESULT(no)
+fi
+
+AC_MSG_CHECKING([whether a default linker was specified])
+if test x"${LD+set}" = x"set"; then
+    if test x"$with_gnu_ld" = x"no"; then
+       AC_MSG_RESULT([yes ($LD)])
+    else
+       AC_MSG_RESULT([yes ($LD - GNU ld)])
+    fi
+else
+    AC_MSG_RESULT(no)
+fi
+
 # Find some useful tools
 AC_PROG_AWK
 AC_PROG_LEX
@@ -158,12 +321,16 @@ EGCS_PROG_INSTALL
 
 AC_HEADER_STDC
 AC_HEADER_TIME
+GCC_HEADER_STRING
 AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h fcntl.h unistd.h stab.h sys/file.h sys/time.h sys/resource.h sys/param.h sys/times.h wait.h sys/wait.h)
 
 # Check for thread headers.
 AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
 AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
 
+# See if GNAT has been installed
+AC_CHECK_PROG(gnat, gnatbind, yes, no)
+
 # See if the system preprocessor understands the ANSI C preprocessor
 # stringification operator.
 AC_MSG_CHECKING(whether cpp understands the stringify operator)
@@ -192,13 +359,24 @@ AC_MSG_RESULT($gcc_cv_header_inttypes_h)
 
 AC_CHECK_FUNCS(strtoul bsearch strerror putenv popen bcopy bzero bcmp \
        index rindex strchr strrchr kill getrlimit setrlimit atoll atoq \
-       sysconf isascii)
+       sysconf isascii gettimeofday strsignal)
+
+# Make sure wchar_t is available
+#AC_CHECK_TYPE(wchar_t, unsigned int)
 
 GCC_FUNC_VFPRINTF_DOPRNT
 GCC_FUNC_PRINTF_PTR
 
 GCC_NEED_DECLARATIONS(malloc realloc calloc free bcopy bzero bcmp \
-       index rindex getenv atol sbrk abort atof)
+       index rindex getenv atol sbrk abort atof strerror getcwd getwd \
+       strsignal)
+
+GCC_NEED_DECLARATIONS(getrlimit setrlimit, [
+#include <sys/types.h>
+#ifdef HAVE_SYS_RESOURCE_H
+#include <sys/resource.h>
+#endif
+])
 
 AC_DECL_SYS_SIGLIST
 
@@ -241,7 +419,7 @@ for machine in $build $host $target; do
        # Set this to override the default target model.
        target_cpu_default=
        # Set this to control which fixincludes program to use.
-       if [[ x$fast_fixinc != xyes ]] ; then
+       if test x$fast_fixinc != xyes; then
                fixincludes=fixincludes
        else fixincludes=fixinc.sh ; fi
        # Set this to control how the header file directory is installed.
@@ -277,7 +455,9 @@ for machine in $build $host $target; do
        c*-convex-*)
                cpu_type=convex
                ;;
-       i[[34567]]86-*-*)
+changequote(,)dnl
+       i[34567]86-*-*)
+changequote([,])dnl
                cpu_type=i386
                ;;
        hppa*-*-*)
@@ -317,11 +497,11 @@ for machine in $build $host $target; do
                rest=`echo $machine | sed -e "s/$cpu_type-//"`
                xm_file=${cpu_type}/xm-$rest.h
                tm_file=${cpu_type}/$rest.h
-               if [[ -f $srcdir/config/${cpu_type}/x-$rest ]] ; \
+               if test -f $srcdir/config/${cpu_type}/x-$rest; \
                then xmake_file=${cpu_type}/x-$rest; \
                else true; \
                fi
-               if [[ -f $srcdir/config/${cpu_type}/t-$rest ]] ; \
+               if test -f $srcdir/config/${cpu_type}/t-$rest; \
                then tmake_file=${cpu_type}/t-$rest; \
                else true; \
                fi
@@ -362,7 +542,7 @@ for machine in $build $host $target; do
                fixincludes=fixinc.wrap
                xmake_file=none
                gas=yes gnu_ld=yes
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='posix'
                fi
                ;;
@@ -374,7 +554,7 @@ for machine in $build $host $target; do
                xmake_file=none
                fixincludes=Makefile.in
                gas=yes gnu_ld=yes
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='posix'
                fi
                ;;
@@ -389,11 +569,11 @@ for machine in $build $host $target; do
                ;;
                
        alpha*-dec-osf*)
-               if [[ x$stabs = xyes ]]
+               if test x$stabs = xyes
                then
                        tm_file="${tm_file} dbx.h"
                fi
-               if [[ x$gas != xyes ]]
+               if test x$gas != xyes
                then
                        extra_passes="mips-tfile mips-tdump"
                fi
@@ -402,7 +582,9 @@ for machine in $build $host $target; do
                  *-*-osf1*)
                    tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
                    ;;
-                 *-*-osf[[23]]*)
+changequote(,)dnl
+                 *-*-osf[23]*)
+changequote([,])dnl
                    tm_file="${tm_file} alpha/osf.h alpha/osf2or3.h"
                    ;;
                  *-*-osf4*)
@@ -413,11 +595,21 @@ for machine in $build $host $target; do
                    ;;
                esac
                case $machine in
-                 *-*-osf4.0[[b-z]] | *-*-osf4.[[1-9]]*)
+changequote(,)dnl
+                 *-*-osf4.0[b-z] | *-*-osf4.[1-9]*)
+changequote([,])dnl
                    target_cpu_default=MASK_SUPPORT_ARCH
                    ;;
                esac
                ;;
+       alpha*-*-vxworks*)
+               tm_file="${tm_file} dbx.h alpha/vxworks.h"
+               if [ x$gas != xyes ]
+               then
+                       extra_passes="mips-tfile mips-tdump"
+               fi
+               use_collect2=yes
+               ;;
        alpha*-*-winnt*)
                tm_file="${tm_file} alpha/win-nt.h"
                xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
@@ -426,11 +618,11 @@ for machine in $build $host $target; do
                extra_host_objs=oldnames.o
                extra_gcc_objs="spawnv.o oldnames.o"
                fixincludes=fixinc.winnt
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        extra_programs=ld.exe
                fi
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='win32'
                fi
                ;;
@@ -447,12 +639,14 @@ for machine in $build $host $target; do
                tm_file=arm/coff.h
                tmake_file=arm/t-bare
                ;;
-       arm-*-riscix1.[[01]]*)          # Acorn RISC machine (early versions)
+changequote(,)dnl
+       arm-*-riscix1.[01]*)            # Acorn RISC machine (early versions)
+changequote([,])dnl
                tm_file=arm/riscix1-1.h
                use_collect2=yes
                ;;
        arm-*-riscix*)                  # Acorn RISC machine
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                    tm_file=arm/rix-gas.h
                else
@@ -472,25 +666,45 @@ for machine in $build $host $target; do
                tmake_file=arm/t-semiaof
                fixincludes=Makefile.in # There is nothing to fix
                ;;
-       arm-*-netbsd*)
+       arm*-*-netbsd*)
                tm_file=arm/netbsd.h
-               xm_file="xm-siglist.h ${xm_file}"
+               xm_file="arm/xm-netbsd.h ${xm_file}"
                tmake_file="t-netbsd arm/t-netbsd"
                # On NetBSD, the headers are already okay, except for math.h.
                fixincludes=fixinc.wrap
                ;;
-       arm-*-linux-gnuaout*)           # ARM GNU/Linux
+       arm*-*-linux-gnuaout*)          # ARM GNU/Linux with a.out
                cpu_type=arm
                xmake_file=x-linux
-               tm_file=arm/linux-gas.h
+               tm_file=arm/linux-aout.h
                tmake_file=arm/t-linux
                fixincludes=Makefile.in
                gnu_ld=yes
                ;;
-       arm-*-aout)
+       arm*-*-linux-gnu*)              # ARM GNU/Linux with ELF
+               xm_file=arm/xm-linux.h
+               xmake_file=x-linux
+               case $machine in
+               armv2*-*-*)
+                       tm_file=arm/linux-elf26.h
+                       ;;
+               *)
+                       tm_file=arm/linux-elf.h
+                       ;;
+               esac
+               tmake_file="t-linux arm/t-linux"
+               extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+               fixincludes=Makefile.in         # Nothing to fix
+               gnu_ld=yes
+               ;;
+       arm*-*-aout)
                tm_file=arm/aout.h
                tmake_file=arm/t-bare
                ;;
+       arm*-*-elf)
+               tm_file=arm/unknown-elf.h
+               tmake_file=arm/t-arm-elf
+               ;;
        c1-convex-*)                    # Convex C1
                target_cpu_default=1
                use_collect2=yes
@@ -516,6 +730,10 @@ for machine in $build $host $target; do
                use_collect2=yes
                fixincludes=Makefile.in
                ;;
+       c4x-*)
+               cpu_type=c4x
+               tmake_file=c4x/t-c4x
+               ;;
        clipper-intergraph-clix*)
                tm_file="${tm_file} svr3.h clipper/clix.h"
                xm_file=clipper/xm-clix.h
@@ -569,18 +787,20 @@ for machine in $build $host $target; do
                tm_file="pa/pa-oldas.h ${tm_file} pa/pa-hpux7.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="${tm_file} pa/gas.h"
                fi
                install_headers_dir=install-headers-cpio
                use_collect2=yes
                ;;
-       hppa1.0-*-hpux8.0[[0-2]]*)
+changequote(,)dnl
+       hppa1.0-*-hpux8.0[0-2]*)
+changequote([,])dnl
                tm_file="${tm_file} pa/pa-hpux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="${tm_file} pa/pa-gas.h"
                else
@@ -589,12 +809,14 @@ for machine in $build $host $target; do
                install_headers_dir=install-headers-cpio
                use_collect2=yes
                ;;
-       hppa1.1-*-hpux8.0[[0-2]]*)
+changequote(,)dnl
+       hppa1.1-*-hpux8.0[0-2]*)
+changequote([,])dnl
                target_cpu_default=1
                tm_file="${tm_file} pa/pa-hpux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="${tm_file} pa/pa-gas.h"
                else
@@ -608,7 +830,7 @@ for machine in $build $host $target; do
                tm_file="${tm_file} pa/pa-hpux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="${tm_file} pa/pa-gas.h"
                fi
@@ -619,7 +841,7 @@ for machine in $build $host $target; do
                tm_file="${tm_file} pa/pa-hpux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="${tm_file} pa/pa-gas.h"
                fi
@@ -632,14 +854,14 @@ for machine in $build $host $target; do
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
                tmake_file=pa/t-pa
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="${tm_file} pa/pa-gas.h"
                fi
-               if [[ x$enable_threads = x ]]; then
+               if test x$enable_threads = x; then
                    enable_threads=$have_pthread_h
                fi
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='dce'
                        tmake_file="${tmake_file} pa/t-dce-thr"
                fi
@@ -650,14 +872,14 @@ for machine in $build $host $target; do
                tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="${tm_file} pa/pa-gas.h"
                fi
-               if [[ x$enable_threads = x ]]; then
+               if test x$enable_threads = x; then
                    enable_threads=$have_pthread_h
                fi
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='dce'
                        tmake_file="${tmake_file} pa/t-dce-thr"
                fi
@@ -669,7 +891,7 @@ for machine in $build $host $target; do
                tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="${tm_file} pa/pa-gas.h"
                fi
@@ -680,7 +902,7 @@ for machine in $build $host $target; do
                tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="${tm_file} pa/pa-gas.h"
                fi
@@ -692,7 +914,7 @@ for machine in $build $host $target; do
                tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="${tm_file} pa/pa-gas.h"
                fi
@@ -703,7 +925,7 @@ for machine in $build $host $target; do
                tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="${tm_file} pa/pa-gas.h"
                fi
@@ -717,8 +939,10 @@ for machine in $build $host $target; do
                ;;
        i370-*-mvs*)
                ;;
-       i[[34567]]86-ibm-aix*)          # IBM PS/2 running AIX
-                if [[ x$gas = xyes ]]
+changequote(,)dnl
+       i[34567]86-ibm-aix*)            # IBM PS/2 running AIX
+changequote([,])dnl
+                if test x$gas = xyes
                then
                        tm_file=i386/aix386.h
                        extra_parts="crtbegin.o crtend.o"
@@ -731,11 +955,13 @@ for machine in $build $host $target; do
                xm_defines=USG
                xmake_file=i386/x-aix
                ;;
-       i[[34567]]86-ncr-sysv4*)        # NCR 3000 - ix86 running system V.4
+changequote(,)dnl
+       i[34567]86-ncr-sysv4*)          # NCR 3000 - ix86 running system V.4
+changequote([,])dnl
                xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
                xm_defines="USG POSIX SMALL_ARG_MAX"
                xmake_file=i386/x-ncr3000
-               if [[ x$stabs = xyes -a x$gas = xyes ]]
+               if test x$stabs = xyes -a x$gas = xyes
                then
                        tm_file=i386/sysv4gdb.h
                else
@@ -744,26 +970,33 @@ for machine in $build $host $target; do
                extra_parts="crtbegin.o crtend.o"
                tmake_file=i386/t-crtpic
                ;;
-       i[[34567]]86-next-*)
+changequote(,)dnl
+       i[34567]86-next-*)
+changequote([,])dnl
                tm_file=i386/next.h
                xm_file=i386/xm-next.h
                tmake_file=i386/t-next
                xmake_file=i386/x-next
                extra_objs=nextstep.o
-               if [[ x$enable_threads = xyes ]]; then
+               extra_parts="crtbegin.o crtend.o"
+               if test x$enable_threads = xyes; then
                        thread_file='mach'
                fi
                ;;
-       i[[34567]]86-sequent-bsd*)              # 80386 from Sequent
+changequote(,)dnl
+       i[34567]86-sequent-bsd*)                # 80386 from Sequent
+changequote([,])dnl
                use_collect2=yes
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file=i386/seq-gas.h
                else
                        tm_file=i386/sequent.h
                fi
                ;;
-       i[[34567]]86-sequent-ptx1*)
+changequote(,)dnl
+       i[34567]86-sequent-ptx1*)
+changequote([,])dnl
                xm_defines="USG SVR3"
                xmake_file=i386/x-sysv3
                tm_file=i386/seq-sysv3.h
@@ -772,7 +1005,9 @@ for machine in $build $host $target; do
                extra_parts="crtbegin.o crtend.o"
                install_headers_dir=install-headers-cpio
                ;;
-       i[[34567]]86-sequent-ptx2* | i[[34567]]86-sequent-sysv3*)
+changequote(,)dnl
+       i[34567]86-sequent-ptx2* | i[34567]86-sequent-sysv3*)
+changequote([,])dnl
                xm_defines="USG SVR3"
                xmake_file=i386/x-sysv3
                tm_file=i386/seq2-sysv3.h
@@ -781,7 +1016,9 @@ for machine in $build $host $target; do
                fixincludes=fixinc.ptx
                install_headers_dir=install-headers-cpio
                ;;
-       i[[34567]]86-sequent-ptx4* | i[[34567]]86-sequent-sysv4*)
+changequote(,)dnl
+       i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
+changequote([,])dnl
                xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
                xm_defines="USG POSIX SMALL_ARG_MAX"
                xmake_file=x-svr4
@@ -796,25 +1033,35 @@ for machine in $build $host $target; do
                tm_file=i386/sun.h
                use_collect2=yes
                ;;
-       i[[34567]]86-wrs-vxworks*)
+changequote(,)dnl
+       i[34567]86-wrs-vxworks*)
+changequote([,])dnl
                tm_file=i386/vxi386.h
                tmake_file=i386/t-i386bare
                ;;
-       i[[34567]]86-*-aout*)
+changequote(,)dnl
+       i[34567]86-*-aout*)
+changequote([,])dnl
                tm_file=i386/i386-aout.h
                tmake_file=i386/t-i386bare
                ;;
-       i[[34567]]86-*-bsdi* | i[[34567]]86-*-bsd386*)
+changequote(,)dnl
+       i[34567]86-*-bsdi* | i[34567]86-*-bsd386*)
+changequote([,])dnl
                tm_file=i386/bsd386.h
 #              tmake_file=t-libc-ok
                ;;
-       i[[34567]]86-*-bsd*)
+changequote(,)dnl
+       i[34567]86-*-bsd*)
+changequote([,])dnl
                tm_file=i386/386bsd.h
 #              tmake_file=t-libc-ok
 # Next line turned off because both 386BSD and BSD/386 use GNU ld.
 #              use_collect2=yes
                ;;
-       i[[34567]]86-*-freebsdelf*)
+changequote(,)dnl
+       i[34567]86-*-freebsdelf*)
+changequote([,])dnl
                tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
                # On FreeBSD, the headers are already ok, except for math.h.
                fixincludes=fixinc.wrap
@@ -823,34 +1070,46 @@ for machine in $build $host $target; do
                gnu_ld=yes
                stabs=yes
                ;;
-       i[[34567]]86-*-freebsd*)
+changequote(,)dnl
+       i[34567]86-*-freebsd*)
+changequote([,])dnl
                tm_file=i386/freebsd.h
                # On FreeBSD, the headers are already ok, except for math.h.
                fixincludes=fixinc.wrap
                tmake_file=i386/t-freebsd
                ;;
-       i[[34567]]86-*-netbsd*)
+       # We are hoping OpenBSD is still close enough to NetBSD that we can
+       # share the configurations.
+changequote(,)dnl
+       i[34567]86-*-netbsd* | i[34567]86-*-openbsd*)
+changequote([,])dnl
                tm_file=i386/netbsd.h
                # On NetBSD, the headers are already okay, except for math.h.
                fixincludes=fixinc.wrap
                tmake_file=t-netbsd
                ;;
-       i[[34567]]86-*-coff*)
+changequote(,)dnl
+       i[34567]86-*-coff*)
+changequote([,])dnl
                tm_file=i386/i386-coff.h
                tmake_file=i386/t-i386bare
                ;;
-       i[[34567]]86-*-isc*)            # 80386 running ISC system
+changequote(,)dnl
+       i[34567]86-*-isc*)              # 80386 running ISC system
+changequote([,])dnl
                xm_file="${xm_file} i386/xm-isc.h"
                xm_defines="USG SVR3"
                case $machine in
-                 i[[34567]]86-*-isc[[34]]*)
+changequote(,)dnl
+                 i[34567]86-*-isc[34]*)
+changequote([,])dnl
                    xmake_file=i386/x-isc3
                    ;;
                  *)
                    xmake_file=i386/x-isc
                    ;;
                esac
-                if [[ x$gas = xyes -a x$stabs = xyes ]]
+                if test x$gas = xyes -a x$stabs = xyes
                then
                        tm_file=i386/iscdbx.h
                        tmake_file=i386/t-svr3dbx
@@ -862,25 +1121,30 @@ for machine in $build $host $target; do
                fi
                install_headers_dir=install-headers-cpio
                ;;
-       i[[34567]]86-*-linux-gnuoldld*) # Intel 80386's running GNU/Linux
-                                       # with a.out format using
+changequote(,)dnl
+       i[34567]86-*-linux-gnuoldld*)   # Intel 80386's running GNU/Linux
+changequote([,])dnl                    # with a.out format using
                                        # pre BFD linkers
                xmake_file=x-linux-aout
                tmake_file="t-linux-aout i386/t-crtstuff"
                tm_file=i386/linux-oldld.h
                fixincludes=Makefile.in #On Linux, the headers are ok already.
                gnu_ld=yes
+               float_format=i386
                ;;
-       i[[34567]]86-*-linux-gnuaout*)  # Intel 80386's running GNU/Linux
-                                       # with a.out format
+changequote(,)dnl
+       i[34567]86-*-linux-gnuaout*)    # Intel 80386's running GNU/Linux
+changequote([,])dnl                    # with a.out format
                xmake_file=x-linux-aout
                tmake_file="t-linux-aout i386/t-crtstuff"
                tm_file=i386/linux-aout.h
                fixincludes=Makefile.in #On Linux, the headers are ok already.
                gnu_ld=yes
+               float_format=i386
                ;;
-       i[[34567]]86-*-linux-gnulibc1)  # Intel 80386's running GNU/Linux
-                                       # with ELF format using the
+changequote(,)dnl
+       i[34567]86-*-linux-gnulibc1)    # Intel 80386's running GNU/Linux
+changequote([,])dnl                    # with ELF format using the
                                        # GNU/Linux C library 5
                xmake_file=x-linux      
                tm_file=i386/linux.h    
@@ -888,12 +1152,14 @@ for machine in $build $host $target; do
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                fixincludes=Makefile.in #On Linux, the headers are ok already.
                gnu_ld=yes
-               if [[ x$enable_threads = xyes ]]; then
+               float_format=i386
+               if test x$enable_threads = xyes; then
                        thread_file='single'
                fi
                ;;
-       i[[34567]]86-*-linux-gnu*)      # Intel 80386's running GNU/Linux
-                                       # with ELF format using glibc 2
+changequote(,)dnl
+       i[34567]86-*-linux-gnu*)        # Intel 80386's running GNU/Linux
+changequote([,])dnl                    # with ELF format using glibc 2
                                        # aka GNU/Linux C library 6
                xmake_file=x-linux
                tm_file=i386/linux.h
@@ -901,33 +1167,44 @@ for machine in $build $host $target; do
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                fixincludes=Makefile.in #On Linux, the headers are ok already.
                gnu_ld=yes
-               if [[ x$enable_threads = xyes ]]; then
+               float_format=i386
+               if test x$enable_threads = xyes; then
                        thread_file='posix'
                fi
                ;;
-       i[[34567]]86-*-gnu*)
+changequote(,)dnl
+       i[34567]86-*-gnu*)
+changequote([,])dnl
                ;;
-       i[[34567]]86-go32-msdos | i[[34567]]86-*-go32*)
+changequote(,)dnl
+       i[34567]86-go32-msdos | i[34567]86-*-go32*)
+changequote([,])dnl
                xm_file=i386/xm-go32.h
                tm_file=i386/go32.h
                tmake_file=i386/t-go32
                ;;
-       i[[34567]]86-pc-msdosdjgpp*)
+changequote(,)dnl
+       i[34567]86-pc-msdosdjgpp*)
+changequote([,])dnl
                xm_file=i386/xm-go32.h
                tm_file=i386/go32.h
                tmake_file=i386/t-go32
                gnu_ld=yes
                gas=yes
                ;;
-       i[[34567]]86-moss-msdos* | i[[34567]]86-*-moss*)
+changequote(,)dnl
+       i[34567]86-moss-msdos* | i[34567]86-*-moss*)
+changequote([,])dnl
                tm_file=i386/moss.h
                tmake_file=t-libc-ok
                fixincludes=Makefile.in
                gnu_ld=yes
                gas=yes
                ;;
-       i[[34567]]86-*-lynxos*)
-               if [[ x$gas = xyes ]]
+changequote(,)dnl
+       i[34567]86-*-lynxos*)
+changequote([,])dnl
+               if test x$gas = xyes
                then
                        tm_file=i386/lynx.h
                else
@@ -937,13 +1214,17 @@ for machine in $build $host $target; do
                tmake_file=i386/t-i386bare
                xmake_file=x-lynx
                ;;
-       i[[34567]]86-*-mach*)
+changequote(,)dnl
+       i[34567]86-*-mach*)
+changequote([,])dnl
                tm_file=i386/mach.h
 #              tmake_file=t-libc-ok
                use_collect2=yes
                ;;
-       i[[34567]]86-*-osfrose*)                # 386 using OSF/rose
-                if [[ x$elf = xyes ]]
+changequote(,)dnl
+       i[34567]86-*-osfrose*)          # 386 using OSF/rose
+changequote([,])dnl
+                if test x$elf = xyes
                then
                        tm_file=i386/osfelf.h
                        use_collect2=
@@ -956,39 +1237,55 @@ for machine in $build $host $target; do
                tmake_file=i386/t-osf
                extra_objs=halfpic.o
                ;;
-       i[[34567]]86-go32-rtems*)
+changequote(,)dnl
+       i[34567]86-go32-rtems*)
+changequote([,])dnl
                cpu_type=i386
                xm_file=i386/xm-go32.h
                tm_file=i386/go32-rtems.h
                tmake_file="i386/t-go32 t-rtems"
                ;;
-       i[[34567]]86-*-rtemself*)
+changequote(,)dnl
+       i[34567]86-*-rtemself*)
+changequote([,])dnl
                cpu_type=i386
                tm_file=i386/rtemself.h
                tmake_file="i386/t-i386bare t-rtems"
                ;;
-       i[[34567]]86-*-rtems*)
+changequote(,)dnl
+       i[34567]86-*-rtems*)
+changequote([,])dnl
                cpu_type=i386
                tm_file=i386/rtems.h
                tmake_file="i386/t-i386bare t-rtems"
                ;;
-       i[[34567]]86-*-sco3.2v5*)       # 80386 running SCO Open Server 5
+changequote(,)dnl
+       i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
+changequote([,])dnl
                xm_file="xm-siglist.h xm-alloca.h ${xm_file} i386/xm-sco5.h"
                xm_defines="USG SVR3"
                xmake_file=i386/x-sco5
                fixincludes=fixinc.sco
                install_headers_dir=install-headers-cpio
                tm_file=i386/sco5.h
-               tmake_file=i386/t-sco5
+               if test x$gas = xyes
+               then
+                       tm_file="i386/sco5gas.h ${tm_file}"
+                       tmake_file=i386/t-sco5gas
+               else
+                       tmake_file=i386/t-sco5
+               fi
                extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
                ;;
-       i[[34567]]86-*-sco3.2v4*)       # 80386 running SCO 3.2v4 system
+changequote(,)dnl
+       i[34567]86-*-sco3.2v4*)         # 80386 running SCO 3.2v4 system
+changequote([,])dnl
                xm_file="${xm_file} i386/xm-sco.h"
                xm_defines="USG SVR3 BROKEN_LDEXP SMALL_ARG_MAX NO_SYS_SIGLIST"
                xmake_file=i386/x-sco4
                fixincludes=fixinc.sco
                install_headers_dir=install-headers-cpio
-                if [[ x$stabs = xyes ]]
+                if test x$stabs = xyes
                then
                        tm_file=i386/sco4dbx.h
                        tmake_file=i386/t-svr3dbx
@@ -1000,11 +1297,13 @@ for machine in $build $host $target; do
                fi
                truncate_target=yes
                ;;
-       i[[34567]]86-*-sco*)            # 80386 running SCO system
+changequote(,)dnl
+       i[34567]86-*-sco*)              # 80386 running SCO system
+changequote([,])dnl
                xm_file=i386/xm-sco.h
                xmake_file=i386/x-sco
                install_headers_dir=install-headers-cpio
-                if [[ x$stabs = xyes ]]
+                if test x$stabs = xyes
                then
                        tm_file=i386/scodbx.h
                        tmake_file=i386/t-svr3dbx
@@ -1016,10 +1315,12 @@ for machine in $build $host $target; do
                fi
                truncate_target=yes
                ;;
-       i[[34567]]86-*-solaris2*)
+changequote(,)dnl
+       i[34567]86-*-solaris2*)
+changequote([,])dnl
                xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
                xm_defines="USG POSIX SMALL_ARG_MAX"
-               if [[ x$stabs = xyes ]]
+               if test x$stabs = xyes
                then
                        tm_file=i386/sol2dbg.h
                else
@@ -1029,33 +1330,39 @@ for machine in $build $host $target; do
                extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
                xmake_file=x-svr4
                case $machine in
-               *-*-solaris2.[[0-4]])
+changequote(,)dnl
+               *-*-solaris2.[0-4])
+changequote([,])dnl
                        fixincludes=fixinc.svr4;;
                *)
                        fixincludes=fixinc.wrap;;
                esac
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='solaris'
                fi
                ;;
-       i[[34567]]86-*-sysv5*)           # Intel x86 on System V Release 5
+changequote(,)dnl
+       i[34567]86-*-sysv5*)           # Intel x86 on System V Release 5
+changequote([,])dnl
                xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
                xm_defines="USG POSIX"
                tm_file=i386/sysv4.h
-               if [[ x$stabs = xyes ]]
+               if test x$stabs = xyes
                then
                        tm_file="${tm_file} dbx.h"
                fi
                tmake_file=i386/t-crtpic
                xmake_file=x-svr4
                extra_parts="crtbegin.o crtend.o"
-               fixincludes=Makefile.in # The headers are just fine, thank you.
+               fixincludes=fixinc.svr4
                ;;
-       i[[34567]]86-*-sysv4*)          # Intel 80386's running system V.4
+changequote(,)dnl
+       i[34567]86-*-sysv4*)            # Intel 80386's running system V.4
+changequote([,])dnl
                xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
                xm_defines="USG POSIX SMALL_ARG_MAX"
                tm_file=i386/sysv4.h
-               if [[ x$stabs = xyes ]]
+               if test x$stabs = xyes
                then
                        tm_file="${tm_file} dbx.h"
                fi
@@ -1063,12 +1370,25 @@ for machine in $build $host $target; do
                xmake_file=x-svr4
                extra_parts="crtbegin.o crtend.o"
                ;;
-       i[[34567]]86-*-osf1*)           # Intel 80386's running OSF/1 1.3+
+changequote(,)dnl
+       i[34567]86-*-udk*)      # Intel x86 on SCO UW/OSR5 Dev Kit
+changequote([,])dnl
+               xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
+               xm_defines="USG POSIX"
+               tm_file=i386/udk.h
+               tmake_file="i386/t-crtpic i386/t-udk"
+               xmake_file=x-svr4
+               extra_parts="crtbegin.o crtend.o"
+               fixincludes="fixinc.svr4"
+               ;;
+changequote(,)dnl
+       i[34567]86-*-osf1*)             # Intel 80386's running OSF/1 1.3+
+changequote([,])dnl
                cpu_type=i386
                xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h i386/xm-osf1elf.h"
                xm_defines="USE_C_ALLOCA SMALL_ARG_MAX"
                fixincludes=Makefile.in #Don't do it on OSF/1
-               if [[ x$stabs = xyes ]]
+               if test x$stabs = xyes
                then
                        tm_file=i386/osf1elfgdb.h
                else
@@ -1078,12 +1398,14 @@ for machine in $build $host $target; do
                xmake_file=i386/x-osf1elf
                extra_parts="crti.o crtn.o crtbegin.o crtend.o"
                ;;
-       i[[34567]]86-*-sysv*)           # Intel 80386's running system V
+changequote(,)dnl
+       i[34567]86-*-sysv*)             # Intel 80386's running system V
+changequote([,])dnl
                xm_defines="USG SVR3"
                xmake_file=i386/x-sysv3
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
-                       if [[ x$stabs = xyes ]]
+                       if test x$stabs = xyes
                        then
                                tm_file=i386/svr3dbx.h
                                tmake_file=i386/t-svr3dbx
@@ -1105,26 +1427,44 @@ for machine in $build $host $target; do
                tmake_file=i386/t-vsta
                xmake_file=i386/x-vsta
                ;;
-       i[[34567]]86-*-pe | i[[34567]]86-*-cygwin32)
+changequote(,)dnl
+       i[34567]86-*-win32)
+changequote([,])dnl
+               xm_file="${xm_file} i386/xm-cygwin32.h"
+               tmake_file=i386/t-cygwin32
+               tm_file=i386/win32.h
+               xmake_file=i386/x-cygwin32
+               extra_objs=winnt.o
+               fixincludes=Makefile.in
+               if test x$enable_threads = xyes; then
+                       thread_file='win32'
+               fi
+               exeext=.exe
+               ;;
+changequote(,)dnl
+       i[34567]86-*-pe | i[34567]86-*-cygwin32)
+changequote([,])dnl
                xm_file="${xm_file} i386/xm-cygwin32.h"
                tmake_file=i386/t-cygwin32
                tm_file=i386/cygwin32.h
                xmake_file=i386/x-cygwin32
                extra_objs=winnt.o
                fixincludes=Makefile.in
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='win32'
                fi
                exeext=.exe
                ;;
-       i[[34567]]86-*-mingw32*)
+changequote(,)dnl
+       i[34567]86-*-mingw32*)
+changequote([,])dnl
                tm_file=i386/mingw32.h
                xm_file="${xm_file} i386/xm-mingw32.h"
                tmake_file="i386/t-cygwin32 i386/t-mingw32"
                extra_objs=winnt.o
                xmake_file=i386/x-cygwin32
                fixincludes=Makefile.in
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='win32'
                fi
                exeext=.exe
@@ -1136,7 +1476,9 @@ for machine in $build $host $target; do
                                ;;
                esac
                ;;
-       i[[34567]]86-*-winnt3*)
+changequote(,)dnl
+       i[34567]86-*-winnt3*)
+changequote([,])dnl
                tm_file=i386/win-nt.h
                out_file=i386/i386.c
                xm_file="xm-winnt.h ${xm_file}"
@@ -1145,15 +1487,17 @@ for machine in $build $host $target; do
                extra_host_objs="winnt.o oldnames.o"
                extra_gcc_objs="spawnv.o oldnames.o"
                fixincludes=fixinc.winnt
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        extra_programs=ld.exe
                fi
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='win32'
                fi
                ;;
-       i[[34567]]86-dg-dgux*)
+changequote(,)dnl
+       i[34567]86-dg-dgux*)
+changequote([,])dnl
                xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
                xm_defines="USG POSIX"
                out_file=i386/dgux.c
@@ -1172,7 +1516,7 @@ for machine in $build $host $target; do
                ;;
        i860-*-bsd*)
                tm_file="${tm_file} i860/bsd.h"
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="${tm_file} i860/bsd-gas.h"
                fi
@@ -1250,7 +1594,7 @@ for machine in $build $host $target; do
        m68000-hp-hpux*)                # HP 9000 series 300
                xm_file="xm_alloca.h ${xm_file}"
                xm_defines="USG NO_SYS_SIGLIST"
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        xmake_file=m68k/x-hp320g
                        tm_file=m68k/hp310g.h
@@ -1275,7 +1619,7 @@ for machine in $build $host $target; do
        m68000-att-sysv*)
                xm_file="m68k/xm-3b1.h ${xm_file}"
                xm_defines=USG
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file=m68k/3b1g.h
                else
@@ -1291,13 +1635,13 @@ for machine in $build $host $target; do
                extra_headers=math-68881.h
                extra_parts="crt1.o mcrt1.o maccrt1.o crt2.o crtn.o"
                tm_file=
-               if [[ "$gnu_ld" = yes ]]
+               if test "$gnu_ld" = yes
                then
                        tm_file="${tm_file} m68k/auxgld.h"
                else
                        tm_file="${tm_file} m68k/auxld.h"
                fi
-               if [[ "$gas" = yes ]]
+               if test "$gas" = yes
                then
                        tm_file="${tm_file} m68k/auxgas.h"
                else
@@ -1314,7 +1658,7 @@ for machine in $build $host $target; do
                float_format=m68k
                ;;
        m68k-altos-sysv*)                  # Altos 3068
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file=m68k/altos3068.h
                        xm_defines=USG
@@ -1325,9 +1669,9 @@ for machine in $build $host $target; do
                extra_headers=math-68881.h
                ;;
        m68k-bull-sysv*)                # Bull DPX/2
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
-                       if [[ x$stabs = xyes ]]
+                       if test x$stabs = xyes
                        then
                                tm_file=m68k/dpx2cdbx.h
                        else
@@ -1355,10 +1699,10 @@ for machine in $build $host $target; do
                tm_file=m68k/mot3300.h
                xm_file="xm-alloca.h m68k/xm-mot3300.h ${xm_file}"
                xm_defines=NO_SYS_SIGLIST
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        xmake_file=m68k/x-mot3300-gas
-                       if [[ x$gnu_ld = xyes ]]
+                       if test x$gnu_ld = xyes
                        then
                                tmake_file=m68k/t-mot3300-gald
                        else
@@ -1367,7 +1711,7 @@ for machine in $build $host $target; do
                        fi
                else
                        xmake_file=m68k/x-mot3300
-                       if [[ x$gnu_ld = xyes ]]
+                       if test x$gnu_ld = xyes
                        then
                                tmake_file=m68k/t-mot3300-gld
                        else
@@ -1439,7 +1783,7 @@ for machine in $build $host $target; do
                float_format=m68k
                ;;
        m68k-isi-bsd*)
-               if [[ x$with_fp = xno ]]
+               if test x$with_fp = xno
                then
                        tm_file=m68k/isi-nfp.h
                else
@@ -1452,7 +1796,7 @@ for machine in $build $host $target; do
        m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
                xm_file="xm_alloca.h ${xm_file}"
                xm_defines="USG NO_SYS_SIGLIST"
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        xmake_file=m68k/x-hp320g
                        tm_file=m68k/hp320g.h
@@ -1468,7 +1812,7 @@ for machine in $build $host $target; do
        m68k-hp-hpux*)  # HP 9000 series 300
                xm_file="xm_alloca.h ${xm_file}"
                xm_defines="USG NO_SYS_SIGLIST"
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        xmake_file=m68k/x-hp320g
                        tm_file=m68k/hp320g.h
@@ -1488,7 +1832,7 @@ for machine in $build $host $target; do
                float_format=m68k
                ;;
        m68k-sony-newsos3*)
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file=m68k/news3gas.h
                else
@@ -1499,7 +1843,7 @@ for machine in $build $host $target; do
                float_format=m68k
                ;;
        m68k-sony-bsd* | m68k-sony-newsos*)
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file=m68k/newsgas.h
                else
@@ -1525,14 +1869,15 @@ for machine in $build $host $target; do
                tmake_file=m68k/t-next
                xmake_file=m68k/x-next
                extra_objs=nextstep.o
+               extra_parts="crtbegin.o crtend.o"
                extra_headers=math-68881.h
                float_format=m68k
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='mach'
                fi
                ;;
        m68k-sun-sunos3*)
-               if [[ x$with_fp = xno ]]
+               if test x$with_fp = xno
                then
                        tm_file=m68k/sun3n3.h
                else
@@ -1543,7 +1888,7 @@ for machine in $build $host $target; do
                extra_headers=math-68881.h
                ;;
        m68k-sun-sunos*)                        # For SunOS 4 (the default).
-               if [[ x$with_fp = xno ]]
+               if test x$with_fp = xno
                then
                        tm_file=m68k/sun3n.h
                else
@@ -1573,7 +1918,7 @@ for machine in $build $host $target; do
                float_format=m68k
                ;;
        m68k-*-lynxos*)
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file=m68k/lynx.h
                else
@@ -1585,7 +1930,7 @@ for machine in $build $host $target; do
                extra_headers=math-68881.h
                float_format=m68k
                ;;
-       m68k-*-netbsd*)
+       m68k*-*-netbsd*)
                tm_file=m68k/netbsd.h
                # On NetBSD, the headers are already okay, except for math.h.
                fixincludes=fixinc.wrap
@@ -1642,7 +1987,7 @@ for machine in $build $host $target; do
                extra_headers=math-68881.h
                float_format=m68k
                gnu_ld=yes
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='posix'
                fi
                ;;
@@ -1672,7 +2017,7 @@ for machine in $build $host $target; do
                esac
                extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
                xmake_file=m88k/x-dgux
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=m88k/t-dgux-gas
                fi
@@ -1683,7 +2028,7 @@ for machine in $build $host $target; do
                extra_parts="crtbegin.o crtend.o"
                xm_file="m88k/xm-sysv3.h ${xm_file}"
                xmake_file=m88k/x-dolph
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=m88k/t-m88k-gas
                fi
@@ -1693,7 +2038,7 @@ for machine in $build $host $target; do
                extra_parts="crtbegin.o crtend.o"
                xm_file="m88k/xm-sysv3.h ${xm_file}"
                xmake_file=m88k/x-tekXD88
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=m88k/t-m88k-gas
                fi
@@ -1708,7 +2053,7 @@ for machine in $build $host $target; do
        m88k-*-luna*)
                tm_file=m88k/luna.h
                extra_parts="crtbegin.o crtend.o"
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=m88k/t-luna-gas
                else
@@ -1720,7 +2065,7 @@ for machine in $build $host $target; do
                extra_parts="crtbegin.o crtend.o"
                xm_file="m88k/xm-sysv3.h ${xm_file}"
                xmake_file=m88k/x-sysv3
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=m88k/t-m88k-gas
                fi
@@ -1737,9 +2082,9 @@ for machine in $build $host $target; do
                fixincludes=fixinc.irix
                xmake_file=mips/x-iris6
                tmake_file=mips/t-iris6
-               if [[ x$enable_threads = xyes ]]; then
-                       thread_file='irix'
-               fi
+#              if test x$enable_threads = xyes; then
+#                      thread_file='irix'
+#              fi
                ;;
        mips-wrs-vxworks)
                tm_file="mips/elf.h libgloss.h"
@@ -1751,20 +2096,21 @@ for machine in $build $host $target; do
                ;;
        mips-sgi-irix5cross64)          # Irix5 host, Irix 6 target, cross64
                tm_file="mips/iris6.h mips/cross64.h"
-               xm_defines="USG HAVE_INTTYPES_H"
+               xm_defines=USG
+               xm_file="mips/xm-iris5.h"
                fixincludes=Makefile.in
                xmake_file=mips/x-iris
                tmake_file=mips/t-cross64
                # See comment in mips/iris[56].h files.
                use_collect2=yes
-               if [[ x$enable_threads = xyes ]]; then
-                       thread_file='irix'
-               fi
+#              if test x$enable_threads = xyes; then
+#                      thread_file='irix'
+#              fi
                ;;
         mips-sni-sysv4)
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
-                       if [[ x$stabs = xyes ]]
+                       if test x$stabs = xyes
                        then
                                tm_file=mips/iris5gdb.h
                        else
@@ -1776,89 +2122,90 @@ for machine in $build $host $target; do
                xm_defines=USG
                 xmake_file=mips/x-sni-svr4
                 tmake_file=mips/t-mips-gas
-                if [[ x$gnu_ld != xyes ]]
+                if test x$gnu_ld != xyes
                 then
                         use_collect2=yes
                 fi
                 ;;
        mips-sgi-irix5*)                # SGI System V.4., IRIX 5
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file="mips/iris5.h mips/iris5gas.h"
-                       if [[ x$stabs = xyes ]]
+                       if test x$stabs = xyes
                        then
                                tm_file="${tm_file} dbx.h"
                        fi
                else
                        tm_file=mips/iris5.h
                fi
-               xm_defines="USG HAVE_INTTYPES_H"
+               xm_defines=USG
+               xm_file="mips/xm-iris5.h"
                fixincludes=fixinc.irix
                xmake_file=mips/x-iris
                # mips-tfile doesn't work yet
                tmake_file=mips/t-mips-gas
                # See comment in mips/iris5.h file.
                use_collect2=yes
-               if [[ x$enable_threads = xyes ]]; then
-                       thread_file='irix'
-               fi
+#              if test x$enable_threads = xyes; then
+#                      thread_file='irix'
+#              fi
                ;;
        mips-sgi-irix4loser*)           # Mostly like a MIPS.
                tm_file="mips/iris4loser.h mips/iris3.h ${tm_file} mips/iris4.h"
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                xm_defines=USG
                xmake_file=mips/x-iris
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-mips-gas
                else
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
-               if [[ x$enable_threads = xyes ]]; then
-                       thread_file='irix'
-               fi
+#              if test x$enable_threads = xyes; then
+#                      thread_file='irix'
+#              fi
                ;;
        mips-sgi-irix4*)                # Mostly like a MIPS.
                tm_file="mips/iris3.h ${tm_file} mips/iris4.h"
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                xm_defines=USG
                xmake_file=mips/x-iris
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-mips-gas
                else
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
-               if [[ x$enable_threads = xyes ]]; then
-                       thread_file='irix'
-               fi
+#              if test x$enable_threads = xyes; then
+#                      thread_file='irix'
+#              fi
                ;;
        mips-sgi-*)                     # Mostly like a MIPS.
                tm_file="mips/iris3.h ${tm_file}"
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                xm_defines=USG
                xmake_file=mips/x-iris3
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-mips-gas
                else
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
@@ -1872,18 +2219,18 @@ for machine in $build $host $target; do
                ;;
        mips-dec-osf*)                  # Decstation running OSF/1 as shipped by DIGITAL
                tm_file=mips/dec-osf1.h
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                xmake_file=mips/x-dec-osf1
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-mips-gas
                else
                        tmake_file=mips/t-ultrix
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
@@ -1891,19 +2238,19 @@ for machine in $build $host $target; do
        mips-dec-bsd*)                  # Decstation running 4.4 BSD
               tm_file=mips/dec-bsd.h
               fixincludes=
-             if [[ x$gas = xyes ]]
+             if test x$gas = xyes
              then
                        tmake_file=mips/t-mips-gas
              else
                        tmake_file=mips/t-ultrix
                        extra_passes="mips-tfile mips-tdump"
              fi
-             if [[ x$gnu_ld != xyes ]]
+             if test x$gnu_ld != xyes
              then
                        use_collect2=yes
              fi
              ;;
-       mips-dec-netbsd*)                  # Decstation running NetBSD
+       mipsel-*-netbsd* | mips-dec-netbsd*)    # Decstation running NetBSD
                tm_file=mips/netbsd.h
                # On NetBSD, the headers are already okay, except for math.h.
                fixincludes=fixinc.wrap
@@ -1911,16 +2258,16 @@ for machine in $build $host $target; do
                ;;
        mips-sony-bsd* | mips-sony-newsos*)     # Sony NEWS 3600 or risc/news.
                tm_file="mips/news4.h ${tm_file}"
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-mips-gas
                else
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
@@ -1930,31 +2277,31 @@ for machine in $build $host $target; do
                                        # That is based on svr4.
                # t-svr4 is not right because this system doesn't use ELF.
                tm_file="mips/news5.h ${tm_file}"
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                xm_file="xm-siglist.h ${xm_file}"
                xm_defines=USG
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-mips-gas
                else
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
                ;;
        mips-tandem-sysv4*)             # Tandem S2 running NonStop UX
                tm_file="mips/svr4-5.h mips/svr4-t.h"
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                xm_file="xm-siglist.h ${xm_file}"
                xm_defines=USG
                xmake_file=mips/x-sysv
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-mips-gas
                        extra_parts="crtbegin.o crtend.o"
@@ -1962,151 +2309,163 @@ for machine in $build $host $target; do
                        tmake_file=mips/t-mips
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
                ;;
        mips-*-ultrix* | mips-dec-mach3)        # Decstation.
                tm_file="mips/ultrix.h ${tm_file}"
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                xmake_file=mips/x-ultrix
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-mips-gas
                else
                        tmake_file=mips/t-ultrix
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
                ;;
-       mips-*-riscos[[56789]]bsd*)
+changequote(,)dnl
+       mips-*-riscos[56789]bsd*)
+changequote([,])dnl
                tm_file=mips/bsd-5.h    # MIPS BSD 4.3, RISC-OS 5.0
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-bsd-gas
                else
                        tmake_file=mips/t-bsd
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
                ;;
-       mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[[1234]]bsd*)
+changequote(,)dnl
+       mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*)
+changequote([,])dnl
                tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-bsd-gas
                else
                        tmake_file=mips/t-bsd
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
                ;;
-       mips-*-riscos[[56789]]sysv4*)
+changequote(,)dnl
+       mips-*-riscos[56789]sysv4*)
+changequote([,])dnl
                tm_file=mips/svr4-5.h   # MIPS System V.4., RISC-OS 5.0
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                xm_file="xm-siglist.h ${xm_file}"
                xmake_file=mips/x-sysv
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-svr4-gas
                else
                        tmake_file=mips/t-svr4
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
                ;;
-       mips-*-sysv4* | mips-*-riscos[[1234]]sysv4* | mips-*-riscossysv4*)
+changequote(,)dnl
+       mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*)
+changequote([,])dnl
                tm_file="mips/svr4-4.h ${tm_file}"
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                xm_defines=USG
                xmake_file=mips/x-sysv
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-svr4-gas
                else
                        tmake_file=mips/t-svr4
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
                ;;
-       mips-*-riscos[[56789]]sysv*)
+changequote(,)dnl
+       mips-*-riscos[56789]sysv*)
+changequote([,])dnl
                tm_file=mips/svr3-5.h   # MIPS System V.3, RISC-OS 5.0
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                xm_defines=USG
                xmake_file=mips/x-sysv
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-svr3-gas
                else
                        tmake_file=mips/t-svr3
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
                ;;
        mips-*-sysv* | mips-*-riscos*sysv*)
                tm_file="mips/svr3-4.h ${tm_file}"
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                xm_defines=USG
                xmake_file=mips/x-sysv
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-svr3-gas
                else
                        tmake_file=mips/t-svr3
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
                ;;
-       mips-*-riscos[[56789]]*)                # Default MIPS RISC-OS 5.0.
+changequote(,)dnl
+       mips-*-riscos[56789]*)          # Default MIPS RISC-OS 5.0.
+changequote([,])dnl
                tm_file=mips/mips-5.h
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-mips-gas
                else
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
@@ -2115,14 +2474,14 @@ for machine in $build $host $target; do
                ;;
        mipsel-*-ecoff*)
                tm_file=mips/ecoffl.h
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                tmake_file=mips/t-ecoff
                ;;
        mips-*-ecoff*)
                tm_file="gofast.h mips/ecoff.h"
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
                tmake_file=mips/t-ecoff
@@ -2152,7 +2511,7 @@ for machine in $build $host $target; do
                tmake_file=mips/t-ecoff
                ;;
        mips64orion-*-rtems*)
-               tm_file="mips/elforion.h mips/elfl64.h mips/rtems64.h"
+               tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
                tmake_file="mips/t-ecoff t-rtems"
                ;;
        mipstx39el-*-elf*)
@@ -2162,18 +2521,20 @@ for machine in $build $host $target; do
        mipstx39-*-elf*)
                tm_file="mips/r3900.h mips/elf.h mips/abi64.h libgloss.h"
                tmake_file=mips/t-r3900
+               # FIXME mips-elf should be fixed to use crtstuff.
+               use_collect2=yes
                ;;
        mips-*-*)                               # Default MIPS RISC-OS 4.0.
-               if [[ x$stabs = xyes ]]; then
+               if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file=mips/t-mips-gas
                else
                        extra_passes="mips-tfile mips-tdump"
                fi
-               if [[ x$gnu_ld != xyes ]]
+               if test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
@@ -2181,7 +2542,7 @@ for machine in $build $host $target; do
        mn10200-*-*)
                cpu_type=mn10200
                tm_file="mn10200/mn10200.h"
-               if [[ x$stabs = xyes ]]
+               if test x$stabs = xyes
                then
                        tm_file="${tm_file} dbx.h"
                fi
@@ -2190,7 +2551,7 @@ for machine in $build $host $target; do
        mn10300-*-*)
                cpu_type=mn10300
                tm_file="mn10300/mn10300.h"
-               if [[ x$stabs = xyes ]]
+               if test x$stabs = xyes
                then
                        tm_file="${tm_file} dbx.h"
                fi
@@ -2233,8 +2594,9 @@ for machine in $build $host $target; do
                xm_defines=USG
                use_collect2=yes
                ;;
-       ns32k-pc532-netbsd*)
+       ns32k-*-netbsd*)
                tm_file=ns32k/netbsd.h
+               xm_file="ns32k/xm-netbsd.h ${xm_file}"
                # On NetBSD, the headers are already okay, except for math.h.
                fixincludes=fixinc.wrap
                tmake_file=t-netbsd
@@ -2268,7 +2630,7 @@ for machine in $build $host $target; do
                xm_file="xm-siglist.h rs6000/xm-sysv4.h"
                xm_defines="USG POSIX"
                extra_headers=ppc-asm.h
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
                else
@@ -2290,7 +2652,7 @@ for machine in $build $host $target; do
                ;;
        powerpc-*-eabi*)
                tm_file=rs6000/eabi.h
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
                else
@@ -2301,7 +2663,7 @@ for machine in $build $host $target; do
                ;;
        powerpc-*-rtems*)
                tm_file=rs6000/rtems.h
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                     tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
                else
@@ -2314,7 +2676,7 @@ for machine in $build $host $target; do
                tm_file=rs6000/linux.h
                xm_file=rs6000/xm-sysv4.h
                out_file=rs6000/rs6000.c
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file="rs6000/t-ppcos t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
                else
@@ -2324,7 +2686,7 @@ for machine in $build $host $target; do
                fixincludes=Makefile.in
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                extra_headers=ppc-asm.h
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='posix'
                fi
                ;;
@@ -2333,7 +2695,7 @@ for machine in $build $host $target; do
                xm_file="xm-siglist.h rs6000/xm-sysv4.h"
                xm_defines="USG ${xm_defines}"
                out_file=rs6000/rs6000.c
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file="rs6000/t-ppcos t-linux rs6000/t-ppccomm"
                else
@@ -2343,7 +2705,7 @@ for machine in $build $host $target; do
                fixincludes=Makefile.in
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                extra_headers=ppc-asm.h
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='posix'
                fi
                ;;
@@ -2360,7 +2722,7 @@ for machine in $build $host $target; do
                tm_file=rs6000/sysv4le.h
                xm_file="xm-siglist.h rs6000/xm-sysv4.h"
                xm_defines="USG POSIX"
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
                else
@@ -2377,7 +2739,7 @@ for machine in $build $host $target; do
                ;;
        powerpcle-*-eabi*)
                tm_file=rs6000/eabile.h
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
                else
@@ -2391,7 +2753,7 @@ for machine in $build $host $target; do
                 tmake_file=rs6000/t-winnt
 #               extra_objs=pe.o
                fixincludes=Makefile.in
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='win32'
                fi
                extra_headers=ppc-asm.h
@@ -2403,7 +2765,7 @@ for machine in $build $host $target; do
                xmake_file=rs6000/x-cygwin32
 #              extra_objs=pe.o
                fixincludes=Makefile.in
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='win32'
                fi
                exeext=.exe
@@ -2413,7 +2775,7 @@ for machine in $build $host $target; do
                tm_file=rs6000/sol2.h
                xm_file="xm-siglist.h rs6000/xm-sysv4.h"
                xm_defines="USG POSIX"
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
                else
@@ -2421,21 +2783,27 @@ for machine in $build $host $target; do
                fi
                xmake_file=rs6000/x-sysv4
                case $machine in
-               *-*-solaris2.[[0-4]])
+changequote(,)dnl
+               *-*-solaris2.[0-4])
+changequote([,])dnl
                        fixincludes=fixinc.svr4;;
                *)
                        fixincludes=fixinc.wrap;;
                esac
                extra_headers=ppc-asm.h
                ;;
-       rs6000-ibm-aix3.[[01]]*)
+changequote(,)dnl
+       rs6000-ibm-aix3.[01]*)
+changequote([,])dnl
                tm_file=rs6000/aix31.h
                xmake_file=rs6000/x-aix31
                use_collect2=yes
                ;;
-       rs6000-ibm-aix3.2.[[456789]]* | powerpc-ibm-aix3.2.[[456789]]*)
+changequote(,)dnl
+       rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
+changequote([,])dnl
                tm_file=rs6000/aix3newas.h
-               if [[ x$host != x$target ]]
+               if test x$host != x$target
                then
                        tmake_file=rs6000/t-xnewas
                else
@@ -2443,15 +2811,43 @@ for machine in $build $host $target; do
                fi
                use_collect2=yes
                ;;
-       rs6000-ibm-aix[[456789]].* | powerpc-ibm-aix[[456789]].*)
+changequote(,)dnl
+       rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
+changequote([,])dnl
                tm_file=rs6000/aix41.h
-               if [[ x$host != x$target ]]
+               if test x$host != x$target
                then
                        tmake_file=rs6000/t-xnewas
                else
                        tmake_file=rs6000/t-newas
                fi
-               xmake_file=rs6000/x-aix31
+               xmake_file=rs6000/x-aix41
+               use_collect2=yes
+               ;;
+changequote(,)dnl
+       rs6000-ibm-aix4.[3456789].* | powerpc-ibm-aix4.[3456789].*)
+changequote([,])dnl
+               tm_file=rs6000/aix43.h
+               if test x$host != x$target
+               then
+                       tmake_file=rs6000/t-xaix43
+               else
+                       tmake_file=rs6000/t-aix43
+               fi
+               xmake_file=rs6000/x-aix43
+               use_collect2=yes
+               ;;
+changequote(,)dnl
+       rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
+changequote([,])dnl
+               tm_file=rs6000/aix43.h
+               if test x$host != x$target
+               then
+                       tmake_file=rs6000/t-xaix43
+               else
+                       tmake_file=rs6000/t-aix43
+               fi
+               xmake_file=rs6000/x-aix43
                use_collect2=yes
                ;;
        rs6000-ibm-aix*)
@@ -2477,6 +2873,11 @@ for machine in $build $host $target; do
                tm_file=sh/elf.h
                float_format=sh
                ;;
+       sh-*-rtemself*)
+               tmake_file="sh/t-sh t-rtems"
+               tm_file=sh/rtemself.h
+               float_format=sh
+               ;;
        sh-*-rtems*)
                tmake_file="sh/t-sh t-rtems"
                tm_file=sh/rtems.h
@@ -2540,12 +2941,12 @@ for machine in $build $host $target; do
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                fixincludes=Makefile.in #On Linux, the headers are ok already.
                gnu_ld=yes
-               if [[ x$enable_threads = xyes ]]; then
+               if test x$enable_threads = xyes; then
                        thread_file='posix'
                fi
                ;;
        sparc-*-lynxos*)
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        tm_file=sparc/lynx.h
                else
@@ -2559,8 +2960,31 @@ for machine in $build $host $target; do
                tmake_file="sparc/t-sparcbare t-rtems"
                tm_file=sparc/rtems.h
                ;;
+       sparcv9-*-solaris2*)
+               tm_file=sparc/sol2-sld-64.h
+               xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h"
+               xm_defines="USG POSIX"
+               tmake_file="sparc/t-sol2 sparc/t-sol2-64"
+               xmake_file=sparc/x-sysv4
+               extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
+               fixincludes=fixinc.wrap
+               float_format=i128
+               if test x${enable_threads} = x ; then
+                   enable_threads=$have_pthread_h
+                   if test x${enable_threads} = x ; then
+                       enable_threads=$have_thread_h
+                   fi
+               fi
+               if test x${enable_threads} = xyes ; then
+                   if test x${have_pthread_h} = xyes ; then
+                       thread_file='posix'
+                   else
+                       thread_file='solaris'
+                   fi
+               fi
+               ;;
        sparc-*-solaris2*)
-               if [[ x$gnu_ld = xyes ]]
+               if test x$gnu_ld = xyes
                then
                        tm_file=sparc/sol2.h
                else
@@ -2572,20 +2996,22 @@ for machine in $build $host $target; do
                xmake_file=sparc/x-sysv4
                extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
                case $machine in
-               *-*-solaris2.[[0-4]])
+changequote(,)dnl
+               *-*-solaris2.[0-4])
+changequote([,])dnl
                        fixincludes=fixinc.svr4;;
                *)
                        fixincludes=fixinc.wrap;;
                esac
                float_format=i128
-               if [[ x${enable_threads} = x ]]; then
+               if test x${enable_threads} = x; then
                    enable_threads=$have_pthread_h
-                   if [[ x${enable_threads} = x ]]; then
+                   if test x${enable_threads} = x; then
                        enable_threads=$have_thread_h
                    fi
                fi
-               if [[ x${enable_threads} = xyes ]]; then
-                   if [[ x${have_pthread_h} = xyes ]]; then
+               if test x${enable_threads} = xyes; then
+                   if test x${have_pthread_h} = xyes; then
                        thread_file='posix'
                    else
                        thread_file='solaris'
@@ -2601,7 +3027,7 @@ for machine in $build $host $target; do
                tm_file=sparc/sunos4.h
                tmake_file=sparc/t-sunos41
                use_collect2=yes
-               if [[ x$gas = xyes ]]; then
+               if test x$gas = xyes; then
                        tm_file="${tm_file} sparc/sun4gas.h"
                fi
                ;;
@@ -2646,11 +3072,12 @@ for machine in $build $host $target; do
                extra_parts="crtbegin.o crtend.o"
                ;;
        sparc64-*-linux*)               # 64-bit Sparc's running GNU/Linux
-               tmake_file=sparc/t-sp64
+               tmake_file="t-linux sparc/t-linux64"
                xm_file="sparc/xm-sp64.h sparc/xm-linux.h"
                tm_file=sparc/linux64.h
                xmake_file=x-linux
                fixincludes=Makefile.in # The headers are ok already.
+               extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                gnu_ld=yes
                ;;
 # This hasn't been upgraded to GCC 2.
@@ -2665,6 +3092,7 @@ for machine in $build $host $target; do
                xm_file=arm/xm-thumb.h
                md_file=arm/thumb.md
                tmake_file=arm/t-thumb
+               fixincludes=Makefile.in # There is nothing to fix
                ;;
 # This hasn't been upgraded to GCC 2.
 #      tron-*-*)
@@ -2676,7 +3104,7 @@ for machine in $build $host $target; do
                tm_file="v850/v850.h"
                xm_file="v850/xm-v850.h"
                tmake_file=v850/t-v850
-               if [[ x$stabs = xyes ]]
+               if test x$stabs = xyes
                then
                        tm_file="${tm_file} dbx.h"
                fi
@@ -2781,9 +3209,9 @@ for machine in $build $host $target; do
                                ;;
                esac
                                
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
-                       if [[ "$target_cpu_default2" = "" ]]
+                       if test "$target_cpu_default2" = ""
                        then
                                target_cpu_default2="MASK_GAS"
                        else
@@ -2813,7 +3241,7 @@ for machine in $build $host $target; do
                                ;;
 
                        *)
-                               if [[ x$pass2done = xyes ]]
+                               if test x$pass2done = xyes
                                then
                                        echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
                                        exit 1
@@ -2823,9 +3251,9 @@ for machine in $build $host $target; do
                ;;
 
        mips*-*-ecoff* | mips*-*-elf*)
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
-                       if [[ x$gnu_ld = xyes ]]
+                       if test x$gnu_ld = xyes
                        then
                                target_cpu_default2=20
                        else
@@ -2834,7 +3262,7 @@ for machine in $build $host $target; do
                fi
                ;;
        mips*-*-*)
-               if [[ x$gas = xyes ]]
+               if test x$gas = xyes
                then
                        target_cpu_default2=16
                fi
@@ -2857,7 +3285,7 @@ for machine in $build $host $target; do
                                ;;
 
                        *)
-                               if [[ x$pass2done = xyes ]]
+                               if test x$pass2done = xyes
                                then
                                        echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
                                        exit 1
@@ -2874,7 +3302,7 @@ for machine in $build $host $target; do
                                target_cpu_default2="TARGET_CPU_$with_cpu"
                                ;;
                        *)
-                               if [[ x$pass2done = xyes ]]
+                               if test x$pass2done = xyes
                                then
                                        echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
                                        exit 1
@@ -2884,9 +3312,9 @@ for machine in $build $host $target; do
                ;;
        esac
 
-       if [[ "$target_cpu_default2" != "" ]]
+       if test "$target_cpu_default2" != ""
        then
-               if [[ "$target_cpu_default" != "" ]]
+               if test "$target_cpu_default" != ""
                then
                        target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
                else
@@ -2895,17 +3323,19 @@ for machine in $build $host $target; do
        fi
 
        # No need for collect2 if we have the GNU linker.
-       case x$gnu_ld in
-       xyes)
-               use_collect2=
-               ;;
-       esac
+       # Actually, there is now; GNU ld doesn't handle the EH info or
+       # collecting for shared libraries.
+       #case x$gnu_ld in
+       #xyes)
+       #       use_collect2=
+       #       ;;
+       #esac
 
 # Save data on machine being used to compile GCC in build_xm_file.
 # Save data on host machine in vars host_xm_file and host_xmake_file.
-       if [[ x$pass1done = x ]]
+       if test x$pass1done = x
        then
-               if [[ x"$xm_file" = x ]]
+               if test x"$xm_file" = x
                then build_xm_file=$cpu_type/xm-$cpu_type.h
                else build_xm_file=$xm_file
                fi
@@ -2914,14 +3344,14 @@ for machine in $build $host $target; do
                build_exeext=$exeext
                pass1done=yes
        else
-               if [[ x$pass2done = x ]]
+               if test x$pass2done = x
                then
-                       if [[ x"$xm_file" = x ]]
+                       if test x"$xm_file" = x
                        then host_xm_file=$cpu_type/xm-$cpu_type.h
                        else host_xm_file=$xm_file
                        fi
                        host_xm_defines=$xm_defines
-                       if [[ x"$xmake_file" = x ]]
+                       if test x"$xmake_file" = x
                        then xmake_file=$cpu_type/x-$cpu_type
                        fi
                        host_xmake_file="$xmake_file"
@@ -2937,33 +3367,33 @@ done
 extra_objs="${host_extra_objs} ${extra_objs}"
 
 # Default the target-machine variables that were not explicitly set.
-if [[ x"$tm_file" = x ]]
+if test x"$tm_file" = x
 then tm_file=$cpu_type/$cpu_type.h; fi
 
-if [[ x$extra_headers = x ]]
+if test x$extra_headers = x
 then extra_headers=; fi
 
-if [[ x"$xm_file" = x ]]
+if test x"$xm_file" = x
 then xm_file=$cpu_type/xm-$cpu_type.h; fi
 
-if [[ x$md_file = x ]]
+if test x$md_file = x
 then md_file=$cpu_type/$cpu_type.md; fi
 
-if [[ x$out_file = x ]]
+if test x$out_file = x
 then out_file=$cpu_type/$cpu_type.c; fi
 
-if [[ x"$tmake_file" = x ]]
+if test x"$tmake_file" = x
 then tmake_file=$cpu_type/t-$cpu_type
 fi
 
-if [[ x$float_format = x ]]
+if test x$float_format = x
 then float_format=i64
 fi
 
-if [[ x$enable_haifa = x ]]
+if test x$enable_haifa = x
 then
   case $target in
-    alpha*-* | hppa1.?-* | powerpc*-* | rs6000-* | *sparc-* | m32r*-*)
+    alpha*-* | hppa1.?-* | powerpc*-* | rs6000-* | *sparc*-* | m32r*-*)
       enable_haifa=yes;;
   esac
 fi
@@ -2976,7 +3406,7 @@ count=a
 for f in $tm_file; do
        count=${count}x
 done
-if [[ $count = ax ]]; then
+if test $count = ax; then
        echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
 else
        echo "Using the following target machine macro files:"
@@ -2989,7 +3419,7 @@ count=a
 for f in $host_xm_file; do
        count=${count}x
 done
-if [[ $count = ax ]]; then
+if test $count = ax; then
        echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
 else
        echo "Using the following host machine macro files:"
@@ -2998,12 +3428,12 @@ else
        done
 fi
 
-if [[ "$host_xm_file" != "$build_xm_file" ]]; then
+if test "$host_xm_file" != "$build_xm_file"; then
        count=a
        for f in $build_xm_file; do
                count=${count}x
        done
-       if [[ $count = ax ]]; then
+       if test $count = ax; then
                echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
        else
                echo "Using the following build machine macro files:"
@@ -3013,8 +3443,8 @@ if [[ "$host_xm_file" != "$build_xm_file" ]]; then
        fi
 fi
 
-if [[ x$thread_file = x ]]; then
-       if [[ x$target_thread_file != x ]]; then
+if test x$thread_file = x; then
+       if test x$target_thread_file != x; then
                thread_file=$target_thread_file
        else
                thread_file='single'
@@ -3032,7 +3462,7 @@ host_xm_file="auto-host.h ${host_xm_file}"
 # If host=build, it is correct to have hconfig include auto-host.h
 # as well.  If host!=build, we are in error and need to do more 
 # work to find out the build config parameters.
-if [[ x$host = x$build ]]
+if test x$host = x$build
 then
        build_xm_file="auto-host.h ${build_xm_file}"
 else
@@ -3064,10 +3494,10 @@ links="config.h tm.h tconfig.h hconfig.h"
 defines="host_xm_defines null_defines xm_defines build_xm_defines"
 
 rm -f config.bak
-if [[ -f config.status ]]; then mv -f config.status config.bak; fi
+if test -f config.status; then mv -f config.status config.bak; fi
 
 # Make the links.
-while [[ -n "$vars" ]]
+while test -n "$vars"
 do
        set $vars; var=$1; shift; vars=$*
        set $links; link=$1; shift; links=$*
@@ -3077,7 +3507,7 @@ do
 
        # Define TARGET_CPU_DEFAULT if the system wants one.
        # This substitutes for lots of *.h files.
-       if [[ "$target_cpu_default" != "" -a $link = tm.h ]]
+       if test "$target_cpu_default" != "" -a $link = tm.h
        then
                echo "#define TARGET_CPU_DEFAULT ($target_cpu_default)" >>$link
        fi
@@ -3094,12 +3524,19 @@ do
 done
 
 # Truncate the target if necessary
-if [[ x$host_truncate_target != x ]]; then
+if test x$host_truncate_target != x; then
        target=`echo $target | sed -e 's/\(..............\).*/\1/'`
 fi
 
-# Get the version number from the toplevel
-version=`sed -e 's/.*\"\([[^ \"]]*\)[[ \"]].*/\1/' < ${srcdir}/version.c`
+# Get the version trigger filename from the toplevel
+if test "${with_gcc_version_trigger+set}" = set; then
+       gcc_version_trigger=$with_gcc_version_trigger
+else
+       gcc_version_trigger=${srcdir}/version.c
+fi
+changequote(,)dnl
+gcc_version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${gcc_version_trigger}`
+changequote([,])dnl
 
 # Get an absolute path to the GCC top-level source directory
 holddir=`pwd`
@@ -3114,7 +3551,7 @@ host_overrides=Make-host
 dep_host_xmake_file=
 for f in .. ${host_xmake_file}
 do
-       if [[ -f ${srcdir}/config/$f ]]
+       if test -f ${srcdir}/config/$f
        then
                dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
        fi
@@ -3127,7 +3564,7 @@ target_overrides=Make-target
 dep_tmake_file=
 for f in .. ${tmake_file}
 do
-       if [[ -f ${srcdir}/config/$f ]]
+       if test -f ${srcdir}/config/$f
        then
                dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
        fi
@@ -3188,7 +3625,7 @@ done
 # Also use all.cross instead of all.internal
 # and add cross-make to Makefile.
 cross_overrides="/dev/null"
-if [[ x$host != x$target ]]
+if test x$host != x$target
 then
        cross_defines="CROSS=-DCROSS_COMPILE"
        cross_overrides="${topdir}/cross-make"
@@ -3198,7 +3635,7 @@ fi
 # This must come after cross-make as we want all.build to override
 # all.cross.
 build_overrides="/dev/null"
-if [[ x$build != x$host ]]
+if test x$build != x$host
 then
        build_overrides="${topdir}/build-make"
 fi
@@ -3206,7 +3643,7 @@ fi
 # Expand extra_headers to include complete path.
 # This substitutes for lots of t-* files.
 extra_headers_list=
-if [[ "x$extra_headers" = x ]]
+if test "x$extra_headers" = x
 then true
 else
        # Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
@@ -3216,10 +3653,14 @@ else
        done
 fi
 
+if test x$use_collect2 = xno; then
+       use_collect2=
+fi
+
 # Add a definition of USE_COLLECT2 if system wants one.
 # Also tell toplev.c what to do.
 # This substitutes for lots of t-* files.
-if [[ x$use_collect2 = x ]]
+if test x$use_collect2 = x
 then
        will_use_collect2=
        maybe_use_collect2=
@@ -3235,7 +3676,7 @@ fi
 # building gcc with a cross compiler, use the cross compiler just
 # built.  Otherwise, we can use the cpp just built.
 md_file_sub=
-if [[ "x$md_cppflags" = x ]]
+if test "x$md_cppflags" = x
 then
        md_file_sub=$srcdir/config/$md_file
 else
@@ -3243,13 +3684,18 @@ else
 fi
 
 # If we have gas in the build tree, make a link to it.
-if [[ -f ../gas/Makefile ]]; then
+if test -f ../gas/Makefile; then
        rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
 fi
 
+# If we have nm in the build tree, make a link to it.
+if test -f ../binutils/Makefile; then
+       rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
+fi
+
 # If we have ld in the build tree, make a link to it.
-if [[ -f ../ld/Makefile ]]; then
-#      if [[ x$use_collect2 = x ]]; then
+if test -f ../ld/Makefile; then
+#      if test x$use_collect2 = x; then
 #              rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
 #      else
                rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
@@ -3260,31 +3706,54 @@ fi
 AC_MSG_CHECKING(assembler alignment features)
 gcc_cv_as=
 gcc_cv_as_alignment_features=
-if [[ -x as$host_exeext ]]; then
+gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
+if test -x "$AS"; then
+       gcc_cv_as=$AS
+elif test -x as$host_exeext; then
        # Build using assembler in the current directory.
        gcc_cv_as=./as$host_exeext
-elif [[ -f $srcdir/../gas/configure.in ]]; then
+elif test -f $gcc_cv_as_gas_srcdir/configure.in; then
        # Single tree build which includes gas.
-       for f in $srcdir/../gas/configure.in $srcdir/../gas/Makefile.in
+       for f in $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
        do
-               gcc_cv_gas_version=`grep '^VERSION=[[0-9]]*\.[[0-9]]*' $f`
-               if [[ x$gcc_cv_gas_version != x ]]; then
+changequote(,)dnl
+               gcc_cv_gas_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
+changequote([,])dnl
+               if test x$gcc_cv_gas_version != x; then
                        break
                fi
        done
-       gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([[0-9]]*\)"`
-       gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[[0-9]]*\.\([[0-9]]*\)"`
-       # Gas version 2.8 and later support specifying the maximum
-       # bytes to skip when using .p2align.
-       if [[ "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 8 -o "$gcc_cv_gas_major_version" -gt 2 ]]; then
-               gcc_cv_as_alignment_features=".p2align including maximum skip"
-               AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
+changequote(,)dnl
+       gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
+       gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
+changequote([,])dnl
+       if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
+               # Gas version 2.6 and later support for .balign and .p2align.
+               # bytes to skip when using .p2align.
+               if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 6 -o "$gcc_cv_gas_major_version" -gt 2; then
+                       gcc_cv_as_alignment_features=".balign and .p2align"
+                       AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
+               fi
+               # Gas version 2.8 and later support specifying the maximum
+               # bytes to skip when using .p2align.
+               if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 8 -o "$gcc_cv_gas_major_version" -gt 2; then
+                       gcc_cv_as_alignment_features=".p2align including maximum skip"
+                       AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
+               fi
        fi
-elif [[ x$host = x$target ]]; then
+elif test x$host = x$target; then
        # Native build.
        gcc_cv_as=as$host_exeext
 fi
-if [[ x$gcc_cv_as != x ]]; then
+if test x$gcc_cv_as != x; then
+       # Check if we have .balign and .p2align
+       echo ".balign  4" > conftest.s
+       echo ".p2align  2" >> conftest.s
+       if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+               gcc_cv_as_alignment_features=".balign and .p2align"
+               AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
+       fi
+       rm -f conftest.s conftest.o
        # Check if specifying the maximum bytes to skip when
        # using .p2align is supported.
        echo ".p2align 4,,7" > conftest.s
@@ -3296,6 +3765,42 @@ if [[ x$gcc_cv_as != x ]]; then
 fi
 AC_MSG_RESULT($gcc_cv_as_alignment_features)
 
+AC_MSG_CHECKING(assembler subsection support)
+gcc_cv_as_subsections=
+if test x$gcc_cv_as != x; then
+       # Check if we have .subsection
+       echo ".subsection 1" > conftest.s
+       if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+               gcc_cv_as_subsections=".subsection"
+               if test -x nm$host_exeext; then
+                       gcc_cv_nm=./nm$host_exeext
+               elif test x$host = x$target; then
+                       # Native build.
+                       gcc_cv_nm=nm$host_exeext
+               fi
+               if test x$gcc_cv_nm != x; then
+                       cat > conftest.s <<EOF
+conftest_label1: .word 0
+.subsection -1
+conftest_label2: .word 0
+.previous
+EOF
+                       if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+                               $gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
+                               $gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
+                               if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
+                                       :
+                               else
+                                       gcc_cv_as_subsections="working .subsection -1"
+                                       AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING)
+                               fi
+                       fi
+               fi
+       fi
+       rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
+fi
+AC_MSG_RESULT($gcc_cv_as_subsections)
+
 # Figure out what language subdirectories are present.
 subdirs=
 for lang in ${srcdir}/*/config-lang.in ..
@@ -3304,14 +3809,21 @@ do
        ..) ;;
        # The odd quoting in the next line works around
        # an apparent bug in bash 1.12 on linux.
-       ${srcdir}/[[*]]/config-lang.in) ;;
-       *) subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([[^/]]*\)/config-lang.in$,\1,'`" ;;
+changequote(,)dnl
+       ${srcdir}/ada/config-lang.in)
+         if test x$gnat = xyes ; then
+               subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
+         fi
+       ;;
+       ${srcdir}/[*]/config-lang.in) ;;
+       *) subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`" ;;
+changequote([,])dnl
        esac
 done
 
 # Make gthr-default.h if we have a thread file.
 gthread_flags=
-if [[ $thread_file != single ]]; then
+if test $thread_file != single; then
     rm -f gthr-default.h
     echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
     gthread_flags=-DHAVE_GTHR_DEFAULT
@@ -3323,18 +3835,23 @@ AC_SUBST(gthread_flags)
 
 lang_specs_files=
 lang_options_files=
-rm -f specs.h options.h
-touch specs.h options.h
+lang_tree_files=
+rm -f specs.h options.h gencheck.h
+touch specs.h options.h gencheck.h
 for subdir in . $subdirs
 do
-       if [[ -f $srcdir/$subdir/lang-specs.h ]]; then
+       if test -f $srcdir/$subdir/lang-specs.h; then
                echo "#include \"$subdir/lang-specs.h\"" >>specs.h
                lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
        fi
-       if [[ -f $srcdir/$subdir/lang-options.h ]]; then
+       if test -f $srcdir/$subdir/lang-options.h; then
                echo "#include \"$subdir/lang-options.h\"" >>options.h
                lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
        fi
+       if test -f $srcdir/$subdir/$subdir-tree.def; then
+               echo "#include \"$subdir/$subdir-tree.def\"" >>gencheck.h
+               lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
+       fi
 done
 
 # These (without "all_") are set in each config-lang.in.
@@ -3363,7 +3880,7 @@ oldstyle_subdirs=
 
 for s in .. $subdirs
 do
-       if [[ $s != ".." ]]
+       if test $s != ".."
        then
                language=
                boot_language=
@@ -3374,14 +3891,14 @@ do
                outputs=
                lib2funcs=
                . ${srcdir}/$s/config-lang.in
-               if [[ "x$language" = x ]]
+               if test "x$language" = x
                then
                        echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
                        exit 1
                fi
                all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in ${srcdir}/$s/Makefile.in"
                all_languages="$all_languages $language"
-               if [[ "x$boot_language" = xyes ]]
+               if test "x$boot_language" = xyes
                then
                        all_boot_languages="$all_boot_languages $language"
                fi
@@ -3390,7 +3907,7 @@ do
                all_diff_excludes="$all_diff_excludes $diff_excludes"
                all_headers="$all_headers $headers"
                all_outputs="$all_outputs $outputs"
-               if [[ x$outputs = x ]]
+               if test x$outputs = x
                then
                        oldstyle_subdirs="$oldstyle_subdirs $s"
                fi
@@ -3414,7 +3931,7 @@ do
        x=
        for l in .. $all_languages
        do
-               if [[ $l != ".." ]]; then
+               if test $l != ".."; then
                        x="$x $l.$t"
                fi
        done
@@ -3423,14 +3940,14 @@ done
 
 # If we're not building in srcdir, create .gdbinit.
 
-if [[ ! -f Makefile.in ]]; then
+if test ! -f Makefile.in; then
        echo "dir ." > .gdbinit
        echo "dir ${srcdir}" >> .gdbinit
-       if [[ x$gdb_needs_out_file_path = xyes ]]
+       if test x$gdb_needs_out_file_path = xyes
        then
                echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
        fi
-       if [[ "x$subdirs" != x ]]; then
+       if test "x$subdirs" != x; then
                for s in $subdirs
                do
                        echo "dir ${srcdir}/$s" >> .gdbinit
@@ -3444,7 +3961,7 @@ fi
 build_canonical=${build}
 host_canonical=${host}
 target_subdir=
-if [[ "${host}" != "${target}" ]] ; then
+if test "${host}" != "${target}" ; then
     target_subdir=${target}/
 fi
 AC_SUBST(build_canonical)
@@ -3456,7 +3973,7 @@ AC_SUBST(target_subdir)
 # libgcc.a, but that's OK because newib should have its own version of
 # assert.h.
 inhibit_libc=
-if [[ x$with_newlib = xyes ]]; then
+if test x$with_newlib = xyes; then
        inhibit_libc=-Dinhibit_libc
 fi
 AC_SUBST(inhibit_libc)
@@ -3464,23 +3981,30 @@ AC_SUBST(inhibit_libc)
 # Override SCHED_OBJ and SCHED_CFLAGS to enable the Haifa scheduler.
 sched_prefix=
 sched_cflags=
-if [[ x$enable_haifa = xyes ]]; then
+if test x$enable_haifa = xyes; then
     echo "Using the Haifa scheduler."
     sched_prefix=haifa-
     sched_cflags=-DHAIFA
 fi
 AC_SUBST(sched_prefix)
 AC_SUBST(sched_cflags)
-if [[ x$enable_haifa != x ]]; then
+if test x$enable_haifa != x; then
     # Explicitly remove files that need to be recompiled for the Haifa scheduler.
     for x in genattrtab.o toplev.o loop.o unroll.o *sched.o; do
-       if [[ -f $x ]]; then
+       if test -f $x; then
            echo "Removing $x"
            rm -f $x
        fi
     done
 fi
 
+# Warn if using init_priority.
+AC_MSG_CHECKING(whether to enable init_priority by default)
+if test x$enable_init_priority != xyes; then
+  enable_init_priority=no
+fi
+AC_MSG_RESULT($enable_init_priority)
+
 # Nothing to do for FLOAT_H, float_format already handled.
 objdir=`pwd`
 AC_SUBST(objdir)
@@ -3498,11 +4022,13 @@ AC_SUBST(all_stagestuff)
 AC_SUBST(all_diff_excludes)
 AC_SUBST(all_lib2funcs)
 AC_SUBST(all_headers)
+AC_SUBST(cpp_main)
 AC_SUBST(extra_passes)
 AC_SUBST(extra_programs)
 AC_SUBST(extra_parts)
 AC_SUBST(extra_c_objs)
 AC_SUBST(extra_cxx_objs)
+AC_SUBST(extra_cpp_objs)
 AC_SUBST(extra_c_flags)
 AC_SUBST(extra_objs)
 AC_SUBST(host_extra_gcc_objs)
@@ -3517,8 +4043,11 @@ AC_SUBST(build_xm_file_list)
 AC_SUBST(host_xm_file_list)
 AC_SUBST(lang_specs_files)
 AC_SUBST(lang_options_files)
+AC_SUBST(lang_tree_files)
 AC_SUBST(thread_file)
-AC_SUBST(version)
+AC_SUBST(objc_boehm_gc)
+AC_SUBST(gcc_version)
+AC_SUBST(gcc_version_trigger)
 AC_SUBST(local_prefix)
 AC_SUBST(gxx_include_dir)
 AC_SUBST(fixincludes)
@@ -3542,7 +4071,7 @@ AC_SUBST_FILE(language_fragments)
 AC_SUBST_FILE(language_hooks)
 
 # Echo that links are built
-if [[ x$host = x$target ]]
+if test x$host = x$target
 then
        str1="native "
 else
@@ -3550,25 +4079,25 @@ else
        str2=" from $host"
 fi
 
-if [[ x$host != x$build ]]
+if test x$host != x$build
 then
        str3=" on a $build system"
 fi
 
-if [[ "x$str2" != x ]] || [[ "x$str3" != x ]]
+if test "x$str2" != x || test "x$str3" != x
 then
        str4=
 fi
 
 echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
 
-if [[ "x$str2" != x ]] || [[ "x$str3" != x ]]
+if test "x$str2" != x || test "x$str3" != x
 then
        echo " ${str2}${str3}." 1>&2
 fi
 
 # Truncate the target if necessary
-if [[ x$host_truncate_target != x ]]; then
+if test x$host_truncate_target != x; then
        target=`echo $target | sed -e 's/\(..............\).*/\1/'`
 fi
 
@@ -3590,9 +4119,9 @@ esac
 # FLAGS_TO_PASS has been modified to solve the problem there.
 # This is virtually a duplicate of what happens in configure.lang; we do
 # an extra check to make sure this only happens if ln -s can be used.
-if [[ "$symbolic_link" = "ln -s" ]]; then
+if test "$symbolic_link" = "ln -s"; then
  for d in .. ${subdirs} ; do
-   if [[ $d != .. ]]; then
+   if test $d != ..; then
        STARTDIR=`pwd`
        cd $d
        for t in stage1 stage2 stage3 stage4 include
@@ -3621,7 +4150,8 @@ host_xmake_file='${host_xmake_file}'
 dep_tmake_file='${dep_tmake_file}'
 tmake_file='${tmake_file}'
 thread_file='${thread_file}'
-version='${version}'
+gcc_version='${gcc_version}'
+gcc_version_trigger='${gcc_version_trigger}'
 local_prefix='${local_prefix}'
 build_install_headers_dir='${build_install_headers_dir}'
 build_exeext='${build_exeext}'
This page took 0.306144 seconds and 5 git commands to generate.