OSDN Git Service

* configure.in (m68*-*-rtemscoff*): New target, formal name for
[pf3gnuchains/gcc-fork.git] / gcc / configure.in
index a8f5ca3..1cb5bdb 100644 (file)
@@ -1,7 +1,7 @@
 # configure.in for GNU CC
 # Process this file with autoconf to generate a configuration script.
 
-# Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+# Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
 
 #This file is part of GNU CC.
 
@@ -21,7 +21,7 @@
 #Boston, MA 02111-1307, USA.
 
 # Initialization and defaults
-AC_PREREQ(2.12.1)
+AC_PREREQ(2.13)
 AC_INIT(tree.c)
 AC_CONFIG_HEADER(auto-host.h:config.in)
 
@@ -176,11 +176,31 @@ fi
 
 # Enable expensive internal checks
 AC_ARG_ENABLE(checking,
-[  --enable-checking       enable expensive run-time checks.],
+[  --enable-checking[=LIST]
+                         enable expensive run-time checks.  With LIST,
+                         enable only specific categories of checks.
+                         Categories are: misc,tree,rtl,gc,gcac; default
+                         is misc,tree,rtl],
 [case "${enableval}" in
-yes)   AC_DEFINE(ENABLE_CHECKING) ;;
+yes)   AC_DEFINE(ENABLE_CHECKING)
+       AC_DEFINE(ENABLE_TREE_CHECKING)
+       AC_DEFINE(ENABLE_RTL_CHECKING)  ;;
 no)    ;;
-*)     AC_MSG_ERROR(bad value ${enableval} given for checking option) ;;
+*)     ac_save_IFS="$IFS" IFS="$IFS,"
+       set fnord $enableval; shift
+       IFS="$ac_save_IFS"
+       for check
+       do
+               case $check in
+               misc)   AC_DEFINE(ENABLE_CHECKING)              ;;
+               tree)   AC_DEFINE(ENABLE_TREE_CHECKING)         ;;
+               rtl)    AC_DEFINE(ENABLE_RTL_CHECKING)          ;;
+               gc)     AC_DEFINE(ENABLE_GC_CHECKING)           ;;
+               gcac)   AC_DEFINE(ENABLE_GC_ALWAYS_COLLECT)     ;;
+               *)      AC_MSG_ERROR(unknown check category $check) ;;
+               esac
+       done
+       ;;
 esac])
 
 AC_ARG_ENABLE(cpp,
@@ -216,13 +236,6 @@ if test x$enable_c_cpplib != xno; then
   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)
-
 # Disable fast fixincludes
 AC_ARG_ENABLE(fast-fixincludes,
 [  --disable-fast-fixincludes
@@ -232,12 +245,13 @@ if test x$enable_fast_fixincludes = xno ; then
   cp $srcdir/fixincludes ./fixinc.sh
 fi)
 
-# Enable Haifa scheduler.
-AC_ARG_ENABLE(haifa,
-[  --enable-haifa          use the experimental scheduler.
-  --disable-haifa         don't use the experimental scheduler for the
-                          targets which normally enable it.])
-
+# 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="${extra_c_flags} -DMULTIBYTE_CHARS=1"
+fi)
+  
 # Enable threads
 # Pass with no value to take the default
 # Pass with a value to specify a thread package
@@ -273,20 +287,13 @@ 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
+if test x$enable_objc_gc = xno; then
        objc_boehm_gc=''
 else
        objc_boehm_gc=1
 fi,
 objc_boehm_gc='')
 
-AC_ARG_ENABLE(java-gc,
-changequote(<<,>>)dnl
-<<  --enable-java-gc=TYPE   choose garbage collector [boehm]>>,
-changequote([,])
-  JAVAGC=$enableval,
-  JAVAGC=boehm)
-
 AC_ARG_WITH(dwarf2,
 [  --enable-dwarf2       enable DWARF2 debugging as default.],
 dwarf2="$with_dwarf2",
@@ -297,6 +304,7 @@ AC_CANONICAL_SYSTEM
 
 # Find the native compiler
 AC_PROG_CC
+AC_GCC_C_LONG_DOUBLE
 
 # 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
@@ -346,7 +354,10 @@ AC_HEADER_STDC
 AC_HEADER_TIME
 GCC_HEADER_STRING
 AC_HEADER_SYS_WAIT
-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 sys/stat.h direct.h)
+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 sys/stat.h \
+                direct.h malloc.h)
 
 # Check for thread headers.
 AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
@@ -355,18 +366,9 @@ 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)
-AC_CACHE_VAL(gcc_cv_c_have_stringify,
-[AC_TRY_COMPILE(,
-[#define S(x)   #x
-char *test = S(foo);],
-gcc_cv_c_have_stringify=yes, gcc_cv_c_have_stringify=no)])
-AC_MSG_RESULT($gcc_cv_c_have_stringify)
-if test $gcc_cv_c_have_stringify = yes; then
-  AC_DEFINE(HAVE_CPP_STRINGIFY)
-fi
+# See if the stage1 system preprocessor understands the ANSI C
+# preprocessor stringification operator.
+AC_C_STRINGIZE
 
 # Use <inttypes.h> only if it exists,
 # doesn't clash with <sys/types.h>, and declares intmax_t.
@@ -386,7 +388,7 @@ fi
 AC_CHECK_FUNCS(strtoul bsearch strerror putenv popen bcopy bzero bcmp \
        index rindex strchr strrchr kill getrlimit setrlimit atoll atoq \
        sysconf isascii gettimeofday strsignal putc_unlocked fputc_unlocked \
-       fputs_unlocked)
+       fputs_unlocked getrusage valloc)
 
 # Make sure wchar_t is available
 #AC_CHECK_TYPE(wchar_t, unsigned int)
@@ -403,20 +405,25 @@ case "${host}" in
   ;;
 esac
 AC_FUNC_VFORK
+AC_FUNC_MMAP
 
-GCC_NEED_DECLARATIONS(malloc realloc calloc free bcopy bzero bcmp \
+GCC_NEED_DECLARATIONS(bcopy bzero bcmp \
        index rindex getenv atol sbrk abort atof strerror getcwd getwd \
-       strsignal putc_unlocked fputs_unlocked)
+       strsignal putc_unlocked fputs_unlocked strstr)
 
-GCC_NEED_DECLARATIONS(getrlimit setrlimit, [
+GCC_NEED_DECLARATIONS(malloc realloc calloc free, [
+#ifdef HAVE_MALLOC_H
+#include <malloc.h>
+#endif
+])
+
+GCC_NEED_DECLARATIONS(getrlimit setrlimit getrusage, [
 #include <sys/types.h>
 #ifdef HAVE_SYS_RESOURCE_H
 #include <sys/resource.h>
 #endif
 ])
 
-AC_DECL_SYS_SIGLIST
-
 # mkdir takes a single argument on some systems. 
 GCC_FUNC_MKDIR_TAKES_ONE_ARG
 
@@ -478,8 +485,9 @@ for machine in $build $host $target; do
        gnu_ld="$gnu_ld_flag"
        enable_threads=$enable_threads_flag
 
-       # Set default cpu_type, tm_file and xm_file so it can be updated in
-       # each machine entry.
+       # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
+       # updated in each machine entry.
+       tm_p_file=
        cpu_type=`echo $machine | sed 's/-.*$//'`
        case $machine in
        alpha*-*-*)
@@ -505,6 +513,9 @@ changequote([,])dnl
        mips*-*-*)
                cpu_type=mips
                ;;
+       pj*-*-*)
+               cpu_type=pj
+               ;;
        powerpc*-*-*)
                cpu_type=rs6000
                ;;
@@ -518,7 +529,17 @@ changequote([,])dnl
 
        tm_file=${cpu_type}/${cpu_type}.h
        xm_file=${cpu_type}/xm-${cpu_type}.h
-       
+       if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h;
+       then
+               tm_p_file=${cpu_type}/${cpu_type}-protos.h;
+       fi
+       # On a.out targets, we need to use collect2.
+       case $machine in
+       *-*-*aout*)
+               use_collect2=yes
+               ;;
+       esac    
+
        # Common parts for linux-gnu and openbsd systems
        case $machine in
        *-*-linux-gnu*)
@@ -586,7 +607,7 @@ changequote([,])dnl
 
                xm_file="alpha/xm-alpha-interix.h xm-interix.h"
                xmake_file="x-interix alpha/t-pe"
-               tmake_file="alpha/t-interix"
+               tmake_file="alpha/t-interix alpha/t-ieee"
                if test x$enable_threads = xyes ; then
                        thread_file='posix'
                fi
@@ -599,6 +620,7 @@ changequote([,])dnl
        alpha*-*-linux-gnuecoff*)
                tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
                target_cpu_default="MASK_GAS"
+               tmake_file="alpha/t-ieee"
                gas=no
                xmake_file=none
                gas=yes gnu_ld=yes
@@ -606,7 +628,7 @@ changequote([,])dnl
        alpha*-*-linux-gnulibc1*)
                tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
                target_cpu_default="MASK_GAS"
-               tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux alpha/t-crtbe"
+               tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux alpha/t-crtbe alpha/t-ieee"
                extra_parts="crtbegin.o crtend.o"
                xmake_file=none
                gas=yes gnu_ld=yes
@@ -617,7 +639,7 @@ changequote([,])dnl
        alpha*-*-linux-gnu*)
                tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
                target_cpu_default="MASK_GAS"
-               tmake_file="t-linux alpha/t-linux alpha/t-crtbe"
+               tmake_file="t-linux alpha/t-linux alpha/t-crtbe alpha/t-ieee"
                extra_parts="crtbegin.o crtend.o"
                xmake_file=none
                gas=yes gnu_ld=yes
@@ -628,7 +650,7 @@ changequote([,])dnl
        alpha*-*-netbsd*)
                tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
                target_cpu_default="MASK_GAS"
-               tmake_file="alpha/t-crtbe"
+               tmake_file="alpha/t-crtbe alpha/t-ieee"
                extra_parts="crtbegin.o crtend.o"
                xmake_file=none
                gas=yes gnu_ld=yes
@@ -637,6 +659,7 @@ changequote([,])dnl
        alpha*-*-openbsd*)
                # default x-alpha is only appropriate for dec-osf.
                target_cpu_default="MASK_GAS"
+               tmake_file="alpha/t-ieee"
                ;;
                
        alpha*-dec-osf*)
@@ -649,6 +672,7 @@ changequote([,])dnl
                        extra_passes="mips-tfile mips-tdump"
                fi
                use_collect2=yes
+               tmake_file="alpha/t-ieee"
                case $machine in
                  *-*-osf1*)
                    tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
@@ -664,6 +688,9 @@ changequote([,])dnl
                    # a broken tar, so we use cpio instead.
                    install_headers_dir=install-headers-cpio
                    ;;
+                 *-*-osf5*)
+                   tm_file="${tm_file} alpha/osf.h"
+                   ;;
                esac
                case $machine in
 changequote(,)dnl
@@ -675,6 +702,7 @@ changequote([,])dnl
                ;;
        alpha*-*-vxworks*)
                tm_file="${tm_file} dbx.h alpha/vxworks.h"
+               tmake_file="alpha/t-ieee"
                if [ x$gas != xyes ]
                then
                        extra_passes="mips-tfile mips-tdump"
@@ -685,7 +713,7 @@ changequote([,])dnl
        alpha*-*-winnt*)
                tm_file="${tm_file} alpha/alpha32.h alpha/win-nt.h winnt/win-nt.h"
                xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
-               tmake_file=t-libc-ok
+               tmake_file="t-libc-ok alpha/t-ieee"
                xmake_file=winnt/x-winnt
                extra_host_objs=oldnames.o
                extra_gcc_objs="spawnv.o oldnames.o"
@@ -700,7 +728,7 @@ changequote([,])dnl
        alpha*-dec-vms*)
                tm_file=alpha/vms.h
                xm_file="${xm_file} alpha/xm-vms.h"
-               tmake_file=alpha/t-vms
+               tmake_file="alpha/t-vms alpha/t-ieee"
                ;;
        arc-*-elf*)
                extra_parts="crtinit.o crtfini.o"
@@ -741,7 +769,6 @@ changequote([,])dnl
                ;;
        arm*-*-netbsd*)
                tm_file=arm/netbsd.h
-               xm_file="arm/xm-netbsd.h ${xm_file}"
                tmake_file="t-netbsd arm/t-netbsd"
        use_collect2=yes
                ;;
@@ -752,15 +779,31 @@ changequote([,])dnl
                tmake_file=arm/t-linux
                gnu_ld=yes
                ;;
-       arm*-*-linux-gnu*)              # ARM GNU/Linux with ELF
+       arm*-*-linux-gnuoldld*)         # ARM GNU/Linux with old ELF linker
                xm_file=arm/xm-linux.h
                xmake_file=x-linux
+               tm_file="arm/linux-oldld.h arm/linux-elf.h"
                case $machine in
                armv2*-*-*)
-                       tm_file=arm/linux-elf26.h
+                       tm_file="arm/linux-elf26.h $tm_file"
                        ;;
-               *)
-                       tm_file=arm/linux-elf.h
+               esac
+               tmake_file="t-linux arm/t-linux"
+               extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+               gnu_ld=yes
+               case x${enable_threads} in
+               x | xyes | xpthreads | xposix)
+                       thread_file='posix'
+                       ;;
+               esac
+               ;;
+       arm*-*-linux-gnu*)              # ARM GNU/Linux with ELF
+               xm_file=arm/xm-linux.h
+               xmake_file=x-linux
+               tm_file="arm/linux-elf.h"
+               case $machine in
+               armv2*-*-*)
+                       tm_file="arm/linux-elf26.h $tm_file"
                        ;;
                esac
                tmake_file="t-linux arm/t-linux"
@@ -772,6 +815,10 @@ changequote([,])dnl
                        ;;
                esac
                ;;
+       arm*-*-uclinux*)                # ARM ucLinux
+               tm_file=arm/uclinux-elf.h
+               tmake_file=arm/t-arm-elf
+               ;;
        arm*-*-aout)
                tm_file=arm/aout.h
                tmake_file=arm/t-bare
@@ -788,6 +835,11 @@ changequote([,])dnl
                tm_file=arm/unknown-elf-oabi.h
                tmake_file=arm/t-arm-elf
                ;;
+       arm-*-pe*)
+               tm_file=arm/pe.h
+               tmake_file=arm/t-pe
+               extra_objs=pe.o
+               ;;
        c1-convex-*)                    # Convex C1
                target_cpu_default=1
                use_collect2=yes
@@ -825,44 +877,64 @@ changequote([,])dnl
        elxsi-elxsi-*)
                use_collect2=yes
                ;;
+       fr30-*-elf)
+               tm_file="fr30/fr30.h"
+               tmake_file=fr30/t-fr30
+               extra_parts="crti.o crtn.o crtbegin.o crtend.o"
+               ;;
 # This hasn't been upgraded to GCC 2.
 #      fx80-alliant-*)                 # Alliant FX/80
 #              ;;
        h8300-*-*)
                float_format=i32
                ;;
+       hppa*-*-linux*)
+               target_cpu_default="(MASK_PA_11 | MASK_GAS | MASK_JUMP_IN_DELAY)"
+               tm_file="${tm_file} pa/elf.h linux.h pa/pa-linux.h"
+               tmake_file="t-linux pa/t-linux"
+               extra_parts="crtbegin.o crtend.o"
+               xmake_file=none
+               gas=yes gnu_ld=yes
+               if test x$enable_threads = xyes; then
+                       thread_file='posix'
+               fi
+               ;;
        hppa*-*-openbsd*)
                target_cpu_default="MASK_PA_11"
                tmake_file=pa/t-openbsd
                ;;
        hppa1.1-*-pro*)
-               tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h"
+               target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
+               tm_file="${tm_file} elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
                xm_file=pa/xm-papro.h
                tmake_file=pa/t-pro
                ;;
        hppa1.1-*-osf*)
                target_cpu_default="MASK_PA_11"
-               tm_file="${tm_file} pa/pa-osf.h"
+               tm_file="${tm_file} pa/som.h pa/pa-osf.h"
                use_collect2=yes
                ;;
        hppa1.1-*-rtems*)
-               tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h pa/rtems.h"
+               target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
+               tm_file="${tm_file} elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h"
                xm_file=pa/xm-papro.h
                tmake_file=pa/t-pro
                ;;
        hppa1.0-*-osf*)
-               tm_file="${tm_file} pa/pa-osf.h"
+               tm_file="${tm_file} pa/som.h pa/pa-osf.h"
                use_collect2=yes
                ;;
        hppa1.1-*-bsd*)
+               tm_file="${tm_file} pa/som.h"
                target_cpu_default="MASK_PA_11"
                use_collect2=yes
                ;;
        hppa1.0-*-bsd*)
+               tm_file="${tm_file} pa/som.h"
                use_collect2=yes
                ;;
        hppa1.0-*-hpux7*)
-               tm_file="pa/pa-oldas.h ${tm_file} pa/pa-hpux7.h"
+               tm_file="pa/pa-oldas.h ${tm_file} pa/som.h pa/pa-hpux7.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
                if test x$gas = xyes
@@ -875,7 +947,7 @@ changequote([,])dnl
 changequote(,)dnl
        hppa1.0-*-hpux8.0[0-2]*)
 changequote([,])dnl
-               tm_file="${tm_file} pa/pa-hpux.h"
+               tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
                if test x$gas = xyes
@@ -891,7 +963,7 @@ changequote(,)dnl
        hppa1.1-*-hpux8.0[0-2]*)
 changequote([,])dnl
                target_cpu_default="MASK_PA_11"
-               tm_file="${tm_file} pa/pa-hpux.h"
+               tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
                if test x$gas = xyes
@@ -905,7 +977,7 @@ changequote([,])dnl
                ;;
        hppa1.1-*-hpux8*)
                target_cpu_default="MASK_PA_11"
-               tm_file="${tm_file} pa/pa-hpux.h"
+               tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
                if test x$gas = xyes
@@ -916,7 +988,7 @@ changequote([,])dnl
                use_collect2=yes
                ;;
        hppa1.0-*-hpux8*)
-               tm_file="${tm_file} pa/pa-hpux.h"
+               tm_file="${tm_file} pa/som.h pa/pa-hpux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
                if test x$gas = xyes
@@ -928,7 +1000,7 @@ changequote([,])dnl
                ;;
        hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
                target_cpu_default="MASK_PA_11"
-               tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
+               tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
                tmake_file=pa/t-pa
@@ -947,7 +1019,7 @@ changequote([,])dnl
                use_collect2=yes
                ;;
        hppa1.0-*-hpux10*)
-               tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux10.h"
+               tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux10.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
                tmake_file=pa/t-pa
@@ -965,9 +1037,47 @@ changequote([,])dnl
                install_headers_dir=install-headers-cpio
                use_collect2=yes
                ;;
+       hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
+               target_cpu_default="MASK_PA_11"
+               tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
+               xm_file=pa/xm-pahpux.h
+               xmake_file=pa/x-pa-hpux
+               tmake_file=pa/t-pa
+               if test x$gas = xyes
+               then
+                       tm_file="${tm_file} pa/pa-gas.h"
+               fi
+#              if test x$enable_threads = x; then
+#                  enable_threads=$have_pthread_h
+#              fi
+#              if test x$enable_threads = xyes; then
+#                      thread_file='dce'
+#                      tmake_file="${tmake_file} pa/t-dce-thr"
+#              fi
+               install_headers_dir=install-headers-cpio
+               use_collect2=yes
+               ;;
+       hppa1.0-*-hpux11*)
+               tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux11.h"
+               xm_file=pa/xm-pahpux.h
+               xmake_file=pa/x-pa-hpux
+               if test x$gas = xyes
+               then
+                       tm_file="${tm_file} pa/pa-gas.h"
+               fi
+#              if test x$enable_threads = x; then
+#                  enable_threads=$have_pthread_h
+#              fi
+#              if test x$enable_threads = xyes; then
+#                      thread_file='dce'
+#                      tmake_file="${tmake_file} pa/t-dce-thr"
+#              fi
+               install_headers_dir=install-headers-cpio
+               use_collect2=yes
+               ;;
        hppa1.1-*-hpux* | hppa2*-*-hpux*)
                target_cpu_default="MASK_PA_11"
-               tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
+               tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
                if test x$gas = xyes
@@ -978,7 +1088,7 @@ changequote([,])dnl
                use_collect2=yes
                ;;
        hppa1.0-*-hpux*)
-               tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
+               tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hpux9.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
                if test x$gas = xyes
@@ -990,7 +1100,7 @@ changequote([,])dnl
                ;;
        hppa1.1-*-hiux* | hppa2*-*-hiux*)
                target_cpu_default="MASK_PA_11"
-               tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
+               tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
                if test x$gas = xyes
@@ -1001,7 +1111,7 @@ changequote([,])dnl
                use_collect2=yes
                ;;
        hppa1.0-*-hiux*)
-               tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
+               tm_file="${tm_file} pa/som.h pa/pa-hpux.h pa/pa-hiux.h"
                xm_file=pa/xm-pahpux.h
                xmake_file=pa/x-pa-hpux
                if test x$gas = xyes
@@ -1012,10 +1122,55 @@ changequote([,])dnl
                use_collect2=yes
                ;;
        hppa*-*-lites*)
+               tm_file="${tm_file} elfos.h pa/elf.h"
                target_cpu_default="MASK_PA_11"
                use_collect2=yes
                ;;
+       hppa*-*-mpeix*)
+               tm_file="${tm_file} pa/pa-mpeix.h"
+               xm_file=pa/xm-pampeix.h 
+               xmake_file=pa/x-pa-mpeix 
+               echo "You must use gas. Assuming it is already installed." 
+               install_headers_dir=install-headers-tar
+               fixincludes=Makefile.in
+               use_collect2=yes 
+               ;; 
+       i370-*-opened*)                  # IBM 360/370/390 Architecture
+               xm_file=i370/xm-oe.h
+               tm_file=i370/oe.h
+               xmake_file=i370/x-oe
+               tmake_file=i370/t-oe
+               fixincludes=Makefile.in # Headers are wierd, don't mess with
+               ;;
        i370-*-mvs*)
+               xm_file=i370/xm-mvs.h
+               tm_file=i370/mvs.h
+               tmake_file=i370/t-mvs
+               fixincludes=Makefile.in # Headers are wierd, don't mess with
+               ;;
+       i370-*-linux*)
+               xm_file="xm-linux.h i370/xm-linux.h"
+               xmake_file=x-linux
+               tm_file="i370/linux.h ${tm_file}"
+               tmake_file="t-linux i370/t-linux"
+               fixincludes=Makefile.in # The headers are ok already.
+               # broken_install=yes
+               extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+               # extra_parts="crtbegin.o crtend.o"
+               gnu_ld=yes
+               gas=yes
+               elf=yes
+               if test x$enable_threads = xyes; then
+                       thread_file='posix'
+               fi
+               ;;
+changequote(,)dnl
+       i[34567]86-*-elf*)
+changequote([,])dnl
+               xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h"
+               tm_file=i386/i386elf.h
+               tmake_file=i386/t-i386elf
+               xmake_file=x-svr4
                ;;
 changequote(,)dnl
        i[34567]86-ibm-aix*)            # IBM PS/2 running AIX
@@ -1036,7 +1191,7 @@ changequote([,])dnl
 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_file="xm-alloca.h ${xm_file}"
                xm_defines="USG POSIX SMALL_ARG_MAX"
                xmake_file=i386/x-ncr3000
                if test x$stabs = xyes -a x$gas = xyes
@@ -1095,7 +1250,7 @@ changequote([,])dnl
 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_file="xm-alloca.h ${xm_file}"
                xm_defines="USG POSIX SMALL_ARG_MAX"
                xmake_file=x-svr4
                tm_file=i386/ptx4-i.h
@@ -1138,17 +1293,23 @@ changequote([,])dnl
 changequote(,)dnl
        i[34567]86-*-freebsdelf*)
 changequote([,])dnl
-               tm_file="i386/i386.h i386/att.h svr4.h i386/freebsd-elf.h i386/perform.h"
+               tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                tmake_file=t-freebsd
                gas=yes
                gnu_ld=yes
                stabs=yes
+               case x${enable_threads} in
+               xyes | xpthreads | xposix)
+                       thread_file='posix'
+                       tmake_file="${tmake_file} t-freebsd-thread"
+                       ;;
+               esac
                ;;
 changequote(,)dnl
        i[34567]86-*-freebsd*)
 changequote([,])dnl
-               tm_file=i386/freebsd.h
+               tm_file="i386/freebsd.h i386/perform.h"
                tmake_file=t-freebsd
                ;;
 changequote(,)dnl
@@ -1323,14 +1484,15 @@ changequote([,])dnl
                tmake_file="i386/t-go32 t-rtems"
                ;;
 changequote(,)dnl
-       i[34567]86-*-rtemself*)
+       i[34567]86-*-rtems*|i[34567]86-*-rtemself*)
 changequote([,])dnl
                cpu_type=i386
                tm_file=i386/rtemself.h
-               tmake_file="i386/t-i386bare t-rtems"
+               extra_parts="crtbegin.o crtend.o crti.o crtn.o"
+               tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
                ;;
 changequote(,)dnl
-       i[34567]86-*-rtems*)
+       i[34567]86-*-rtemscoff*)
 changequote([,])dnl
                cpu_type=i386
                tm_file=i386/rtems.h
@@ -1339,7 +1501,7 @@ changequote([,])dnl
 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_file="xm-alloca.h ${xm_file} i386/xm-sco5.h"
                xm_defines="USG SVR3"
                xmake_file=i386/x-sco5
                install_headers_dir=install-headers-cpio
@@ -1357,7 +1519,7 @@ 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"
+               xm_defines="USG SVR3 BROKEN_LDEXP SMALL_ARG_MAX"
                xmake_file=i386/x-sco4
                install_headers_dir=install-headers-cpio
                 if test x$stabs = xyes
@@ -1370,7 +1532,10 @@ changequote([,])dnl
                        tmake_file=i386/t-crtstuff
                        extra_parts="crtbegin.o crtend.o"
                fi
-               truncate_target=yes
+               # The default EAFS filesystem supports long file names.
+               # Truncating the target makes $host != $target which
+               # makes gcc think it is doing a cross-compile.
+               # truncate_target=yes
                ;;
 changequote(,)dnl
        i[34567]86-*-sco*)              # 80386 running SCO system
@@ -1393,25 +1558,34 @@ changequote([,])dnl
 changequote(,)dnl
        i[34567]86-*-solaris2*)
 changequote([,])dnl
-               xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
+               xm_file="xm-alloca.h ${xm_file}"
                xm_defines="USG POSIX SMALL_ARG_MAX"
-               if test x$stabs = xyes
-               then
-                       tm_file=i386/sol2dbg.h
-               else
-                       tm_file=i386/sol2.h
+               tm_file=i386/sol2.h
+               if test x$gas = xyes; then
+                       # Only needed if gas does not support -s
+                       tm_file="i386/sol2gas.h ${tm_file}"
                fi
                tmake_file=i386/t-sol2
                extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
                xmake_file=x-svr4
-               if test x$enable_threads = xyes; then
+               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
                ;;
 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_file="xm-alloca.h ${xm_file}"
                xm_defines="USG POSIX"
                tm_file=i386/sysv5.h
                if test x$stabs = xyes
@@ -1428,7 +1602,7 @@ changequote([,])dnl
 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_file="xm-alloca.h ${xm_file}"
                xm_defines="USG POSIX SMALL_ARG_MAX"
                tm_file=i386/sysv4.h
                if test x$stabs = xyes
@@ -1442,7 +1616,7 @@ changequote([,])dnl
 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_file="xm-alloca.h ${xm_file}"
                xm_defines="USG POSIX"
                tm_file=i386/udk.h
                tmake_file="i386/t-crtpic i386/t-udk"
@@ -1546,7 +1720,7 @@ changequote(,)dnl
 changequote([,])dnl
                tm_file=i386/uwin.h
                xm_file="${xm_file} i386/xm-uwin.h"
-               xm_defines="USG NO_STAB_H NO_SYS_SIGLIST"
+               xm_defines="USG NO_STAB_H"
                tmake_file="i386/t-cygwin i386/t-uwin"
                extra_objs=winnt.o
                xmake_file=i386/x-cygwin
@@ -1560,7 +1734,7 @@ changequote(,)dnl
 changequote([,])dnl
                tm_file="i386/i386-interix.h interix.h"
                xm_file="i386/xm-i386-interix.h xm-interix.h"
-               xm_defines="USG NO_SYS_SIGLIST"
+               xm_defines="USG"
                tmake_file="i386/t-interix"
                extra_objs=interix.o
                xmake_file=x-interix
@@ -1592,7 +1766,7 @@ changequote([,])dnl
 changequote(,)dnl
        i[34567]86-dg-dgux*)
 changequote([,])dnl
-               xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
+               xm_file="xm-alloca.h ${xm_file}"
                xm_defines="USG POSIX"
                out_file=i386/dgux.c
                tm_file=i386/dgux.h
@@ -1685,8 +1859,8 @@ changequote([,])dnl
                extra_headers=math-68881.h
                ;;
        m68000-hp-hpux*)                # HP 9000 series 300
-               xm_file="xm_alloca.h ${xm_file}"
-               xm_defines="USG NO_SYS_SIGLIST"
+               xm_file="xm-alloca.h ${xm_file}"
+               xm_defines="USG"
                if test x$gas = xyes
                then
                        xmake_file=m68k/x-hp320g
@@ -1791,7 +1965,6 @@ changequote([,])dnl
        m68k-motorola-sysv*)
                tm_file=m68k/mot3300.h
                xm_file="xm-alloca.h m68k/xm-mot3300.h ${xm_file}"
-               xm_defines=NO_SYS_SIGLIST
                if test x$gas = xyes
                then
                        xmake_file=m68k/x-mot3300-gas
@@ -1887,8 +2060,8 @@ changequote([,])dnl
                extra_headers=math-68881.h
                ;;
        m68k-hp-hpux7*) # HP 9000 series 300 running HPUX version 7.
-               xm_file="xm_alloca.h ${xm_file}"
-               xm_defines="USG NO_SYS_SIGLIST"
+               xm_file="xm-alloca.h ${xm_file}"
+               xm_defines="USG"
                if test x$gas = xyes
                then
                        xmake_file=m68k/x-hp320g
@@ -1903,8 +2076,8 @@ changequote([,])dnl
                float_format=m68k
                ;;
        m68k-hp-hpux*)  # HP 9000 series 300
-               xm_file="xm_alloca.h ${xm_file}"
-               xm_defines="USG NO_SYS_SIGLIST"
+               xm_file="xm-alloca.h ${xm_file}"
+               xm_defines="USG"
                if test x$gas = xyes
                then
                        xmake_file=m68k/x-hp320g
@@ -1956,7 +2129,9 @@ changequote([,])dnl
                use_collect2=yes
                float_format=m68k
                 ;;
-       m68k-next-nextstep3*)
+changequote(,)dnl
+       m68k-next-nextstep[34]*)
+changequote([,])dnl
                tm_file=m68k/next.h
                xm_file="m68k/xm-next.h ${xm_file}"
                tmake_file=m68k/t-next
@@ -2011,7 +2186,7 @@ changequote([,])dnl
                float_format=m68k
                ;;
        m68020-*-elf* | m68k-*-elf*)
-               tm_file="m68k/m68020-elf.h libgloss.h"
+               tm_file="m68k/m68020-elf.h"
                xm_file=m68k/xm-m68kv.h
                tmake_file=m68k/t-m68kelf
                header_files=math-68881.h
@@ -2097,13 +2272,18 @@ changequote([,])dnl
                extra_headers=math-68881.h
                float_format=m68k
                ;;
-       m68k-*-rtems*)
+       m68k-*-rtemscoff*)
                tmake_file="m68k/t-m68kbare t-rtems"
                tm_file=m68k/rtems.h
                extra_headers=math-68881.h
                float_format=m68k
                ;;
-
+       m68k-*-rtemself*|m68k-*-rtems*)
+               tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff"
+               tm_file=m68k/rtemself.h
+               extra_headers=math-68881.h
+               float_format=m68k
+               ;;
        m88k-dg-dgux*)
                case $machine in
                  m88k-dg-dguxbcs*)
@@ -2179,16 +2359,21 @@ changequote([,])dnl
                tmake_file=m88k/t-sysv4
                ;;
        mips-sgi-irix6*)                # SGI System V.4., IRIX 6
-               tm_file=mips/iris6.h
+               if test "x$gnu_ld" = xyes
+               then
+                       tm_file="mips/iris6.h mips/iris6gld.h"
+               else
+                       tm_file=mips/iris6.h
+               fi
+               tmake_file=mips/t-iris6
                xm_file=mips/xm-iris6.h
                xmake_file=mips/x-iris6
-               tmake_file=mips/t-iris6
 #              if test x$enable_threads = xyes; then
 #                      thread_file='irix'
 #              fi
                ;;
        mips-wrs-vxworks)
-               tm_file="mips/elf.h libgloss.h mips/vxworks.h"
+               tm_file="mips/elf.h mips/vxworks.h"
                tmake_file=mips/t-ecoff
                gas=yes
                gnu_ld=yes
@@ -2355,22 +2540,23 @@ changequote([,])dnl
                ;;
        mips*-*-linux*)                         # Linux MIPS, either endian.
                xmake_file=x-linux
-               xm_file="xm-siglist.h ${xm_file}"
                case $machine in
                        mipsel-*)  tm_file="mips/elfl.h mips/linux.h" ;;
                        *)         tm_file="mips/elf.h mips/linux.h" ;;
                esac
-               extra_parts="crtbegin.o crtend.o"
+               extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                gnu_ld=yes
                gas=yes
+               if test x$enable_threads = xyes; then
+                       thread_file='posix'
+               fi
                ;;
        mips*el-*-openbsd*)     # mips little endian
                target_cpu_default="MASK_GAS|MASK_ABICALLS"
-               tm_file=mips/openbsd.h
                ;;
        mips*-*-openbsd*)               # mips big endian
                target_cpu_default="MASK_GAS|MASK_ABICALLS"
-               tm_file=mips/openbsd-be.h
+               tm_file="mips/openbsd-be.h ${tm_file}"
                ;;
        mips-sony-bsd* | mips-sony-newsos*)     # Sony NEWS 3600 or risc/news.
                tm_file="mips/news4.h ${tm_file}"
@@ -2396,7 +2582,6 @@ changequote([,])dnl
                if test x$stabs = xyes; then
                        tm_file="${tm_file} dbx.h"
                fi
-               xm_file="xm-siglist.h ${xm_file}"
                xm_defines=USG
                if test x$gas = xyes
                then
@@ -2414,7 +2599,6 @@ changequote([,])dnl
                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 test x$gas = xyes
@@ -2493,7 +2677,6 @@ changequote([,])dnl
                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 test x$gas = xyes
                then
@@ -2603,7 +2786,7 @@ changequote([,])dnl
                tmake_file=mips/t-ecoff
                ;;
        mipsel-*-elf*)
-               tm_file="mips/elfl.h libgloss.h"
+               tm_file="mips/elfl.h"
                tmake_file=mips/t-elf
                ;;
        mips-*-elf*)
@@ -2615,7 +2798,7 @@ changequote([,])dnl
                tmake_file=mips/t-elf
                ;;
        mips64orionel-*-elf*)
-               tm_file="mips/elforion.h mips/elfl64.h libgloss.h"
+               tm_file="mips/elforion.h mips/elfl64.h"
                tmake_file=mips/t-elf
                ;;
        mips64-*-elf*)
@@ -2623,12 +2806,12 @@ changequote([,])dnl
                tmake_file=mips/t-elf
                ;;
        mips64orion-*-elf*)
-               tm_file="mips/elforion.h mips/elf64.h libgloss.h"
+               tm_file="mips/elforion.h mips/elf64.h"
                tmake_file=mips/t-elf
                ;;
        mips64orion-*-rtems*)
                tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
-               tmake_file="mips/t-ecoff t-rtems"
+               tmake_file="mips/t-elf t-rtems"
                ;;
        mipstx39el-*-elf*)
                tm_file="mips/r3900.h mips/elfl.h mips/abi64.h"
@@ -2654,6 +2837,7 @@ changequote([,])dnl
                fi
                ;;
        mn10200-*-*)
+               float_format=i32
                cpu_type=mn10200
                tm_file="mn10200/mn10200.h"
                if test x$stabs = xyes
@@ -2723,11 +2907,22 @@ changequote([,])dnl
        ns32k-*-openbsd*)
                # Nothing special
                ;;
-       pyramid-*-*)
-               cpu_type=pyr
-               xmake_file=pyr/x-pyr
-               use_collect2=yes
-               ;;
+# This has not been updated to GCC 2.
+#      pyramid-*-*)
+#              cpu_type=pyr
+#              xmake_file=pyr/x-pyr
+#              use_collect2=yes
+#              ;;
+
+       pj*-linux*)
+               tm_file="svr4.h pj/linux.h ${tm_file}"
+               ;;
+       pj-*)
+               ;;
+       pjl-*)
+               tm_file="svr4.h pj/pjl.h ${tm_file}"
+               ;;
+
        romp-*-aos*)
                use_collect2=yes
                ;;
@@ -2750,7 +2945,7 @@ changequote([,])dnl
                ;;
        powerpc-*-sysv* | powerpc-*-elf*)
                tm_file=rs6000/sysv4.h
-               xm_file="xm-siglist.h rs6000/xm-sysv4.h"
+               xm_file="rs6000/xm-sysv4.h"
                xm_defines="USG POSIX"
                extra_headers=ppc-asm.h
                if test x$gas = xyes
@@ -2810,7 +3005,7 @@ changequote([,])dnl
                ;;
        powerpc-*-linux-gnu*)
                tm_file=rs6000/linux.h
-               xm_file="xm-siglist.h rs6000/xm-sysv4.h"
+               xm_file="rs6000/xm-sysv4.h"
                xm_defines="USG ${xm_defines}"
                out_file=rs6000/rs6000.c
                if test x$gas = xyes
@@ -2828,7 +3023,7 @@ changequote([,])dnl
                ;;
         powerpc-wrs-vxworks*)
                 cpu_type=rs6000
-               xm_file="xm-siglist.h rs6000/xm-sysv4.h"
+               xm_file="rs6000/xm-sysv4.h"
                xm_defines="USG POSIX"
                 tm_file=rs6000/vxppc.h
                 tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
@@ -2837,7 +3032,7 @@ changequote([,])dnl
                 ;;
        powerpcle-*-sysv* | powerpcle-*-elf*)
                tm_file=rs6000/sysv4le.h
-               xm_file="xm-siglist.h rs6000/xm-sysv4.h"
+               xm_file="rs6000/xm-sysv4.h"
                xm_defines="USG POSIX"
                if test x$gas = xyes
                then
@@ -2886,7 +3081,7 @@ changequote([,])dnl
                ;;
        powerpcle-*-solaris2*)
                tm_file=rs6000/sol2.h
-               xm_file="xm-siglist.h rs6000/xm-sysv4.h"
+               xm_file="rs6000/xm-sysv4.h"
                xm_defines="USG POSIX"
                if test x$gas = xyes
                then
@@ -2932,7 +3127,7 @@ changequote([,])dnl
                then
                        xmake_file=rs6000/x-aix41-gld
                else
-                       xmake_file=rx6000/x-aix41
+                       xmake_file=rs6000/x-aix41
                fi
                float_format=none
                use_collect2=yes
@@ -3050,6 +3245,7 @@ changequote([,])dnl
                tmake_file="t-linux t-linux-gnulibc1"
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                gnu_ld=yes
+               float_format=sparc
                ;;
        sparc-*-linux-gnu*)             # Sparc's running GNU/Linux, libc6
                xm_file="${xm_file} sparc/xm-linux.h"
@@ -3061,6 +3257,7 @@ changequote([,])dnl
                if test x$enable_threads = xyes; then
                        thread_file='posix'
                fi
+               float_format=sparc
                ;;
        sparc-*-lynxos*)
                if test x$gas = xyes
@@ -3073,12 +3270,24 @@ changequote([,])dnl
                tmake_file=sparc/t-sunos41
                xmake_file=x-lynx
                ;;
-       sparc-*-rtems*)
+       sparc-*-rtemsaout*)
                tmake_file="sparc/t-sparcbare t-rtems"
                tm_file=sparc/rtems.h
+       sparc-*-rtems*|sparc-*-rtemself*)
+               tm_file="sparc/rtemself.h"
+               tmake_file="sparc/t-elf t-rtems"
+               extra_parts="crti.o crtn.o crtbegin.o crtend.o"
+               #float_format=i128
+               float_format=i64
+               ;;
                ;;
        sparcv9-*-solaris2*)
-               tm_file=sparc/sol2-sld-64.h
+               if test x$gnu_ld = xyes
+               then
+                       tm_file=sparc/sol2-64.h
+               else
+                       tm_file=sparc/sol2-sld-64.h
+               fi
                xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h"
                xm_defines="USG POSIX"
                tmake_file="sparc/t-sol2 sparc/t-sol2-64"
@@ -3100,12 +3309,21 @@ changequote([,])dnl
                fi
                ;;
         sparc-hal-solaris2*)
-                xm_file=sparc/xm-sol2.h
+                xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
+                xm_defines="USG POSIX"
                 tm_file="sparc/sol2.h sparc/hal.h"
                 tmake_file="sparc/t-halos sparc/t-sol2"
                 xmake_file=sparc/x-sysv4
                 extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
-                broken_install=yes
+                case $machine in
+                *-*-solaris2.[0-4])
+                        float_format=i128
+                ;;
+                *)
+                        float_format=none
+                        ;;
+                esac
+               thread_file='solaris'
                 ;;
        sparc-*-solaris2*)
                if test x$gnu_ld = xyes
@@ -3114,13 +3332,27 @@ changequote([,])dnl
                else
                        tm_file=sparc/sol2-sld.h
                fi
-               xm_file="xm-siglist.h sparc/xm-sysv4.h sparc/xm-sol2.h"
+               xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
                xm_defines="USG POSIX"
                tmake_file=sparc/t-sol2
                xmake_file=sparc/x-sysv4
                extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
                case $machine in
 changequote(,)dnl
+               *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
+changequote([,])dnl
+               *-*-solaris2*)
+                       if test x$gnu_ld = xyes
+                       then
+                               tm_file=sparc/sol2-64.h
+                       else
+                               tm_file=sparc/sol2-sld-64.h
+                       fi
+                       tmake_file="$tmake_file sparc/t-sol2-64"
+                       ;;
+               esac
+               case $machine in
+changequote(,)dnl
                *-*-solaris2.[0-4])
 changequote([,])dnl
                        float_format=i128
@@ -3162,14 +3394,14 @@ changequote([,])dnl
                ;;
        sparc-*-sysv4*)
                tm_file=sparc/sysv4.h
-               xm_file="xm-siglist.h sparc/xm-sysv4.h"
+               xm_file="sparc/xm-sysv4.h"
                xm_defines="USG POSIX"
                tmake_file=t-svr4
                xmake_file=sparc/x-sysv4
                extra_parts="crtbegin.o crtend.o"
                ;;
        sparc-*-vxsim*)
-               xm_file="xm-siglist.h sparc/xm-sysv4.h sparc/xm-sol2.h"
+               xm_file="sparc/xm-sysv4.h sparc/xm-sol2.h"
                xm_defines="USG POSIX"
                tm_file=sparc/vxsim.h
                tmake_file=sparc/t-vxsparc
@@ -3187,6 +3419,20 @@ changequote([,])dnl
                tm_file="sparc/lite.h aoutos.h libgloss.h"
                tmake_file=sparc/t-sparclite
                ;;
+       sparclite-*-elf*)
+               tm_file="sparc/liteelf.h"
+               tmake_file=sparc/t-sparclite
+                extra_parts="crtbegin.o crtend.o"
+               ;;
+       sparc86x-*-aout*)
+               tm_file="sparc/sp86x-aout.h aoutos.h libgloss.h"
+               tmake_file=sparc/t-sp86x
+               ;;
+       sparc86x-*-elf*)        
+               tm_file="sparc/sp86x-elf.h"
+               tmake_file=sparc/t-sp86x
+                extra_parts="crtbegin.o crtend.o"
+               ;;
        sparc64-*-aout*)
                tmake_file=sparc/t-sp64
                tm_file=sparc/sp64-aout.h
@@ -3203,6 +3449,10 @@ changequote([,])dnl
                xmake_file=x-linux
                extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
                gnu_ld=yes
+               if test x$enable_threads = xyes; then
+                       thread_file='posix'
+               fi
+               float_format=sparc
                ;;
 # This hasn't been upgraded to GCC 2.
 #      tahoe-harris-*)                 # Harris tahoe, using COFF.
@@ -3224,6 +3474,20 @@ changequote([,])dnl
                md_file=arm/thumb.md
                tmake_file=arm/t-thumb-elf
                ;;
+       thumb-*-linux-gnu*)
+               tm_file=arm/linux-telf.h
+               out_file=arm/thumb.c
+               xm_file=arm/xm-thumb.h
+               md_file=arm/thumb.md
+               tmake_file=arm/t-thumb-linux
+               ;;
+       thumb-*-uclinux*)
+               tm_file=arm/uclinux-telf.h
+               out_file=arm/thumb.c
+               md_file=arm/thumb.md
+               tmake_file=arm/t-thumb-linux
+               xm_file=arm/xm-thumb.h
+               ;;
        thumb-wrs-vxworks)
                tm_file=arm/tcoff.h
                out_file=arm/thumb.c
@@ -3232,12 +3496,32 @@ changequote([,])dnl
                tmake_file=arm/t-thumb
                thread_file='vxworks'
                ;;
+       thumb-*-pe)
+               tm_file=arm/tpe.h
+               out_file=arm/thumb.c
+               xm_file=arm/xm-thumb.h
+               md_file=arm/thumb.md
+               tmake_file=arm/t-pe-thumb
+               extra_objs=pe.o
+               ;;
 # This hasn't been upgraded to GCC 2.
 #      tron-*-*)
 #              cpu_type=gmicro
 #              use_collect2=yes
 #              ;;
+       v850-*-rtems*)
+               cpu_type=v850
+               tm_file="v850/rtems.h"
+               xm_file="v850/xm-v850.h"
+               tmake_file="v850/t-v850 t-rtems"
+               if test x$stabs = xyes
+               then
+                       tm_file="${tm_file} dbx.h"
+               fi
+               use_collect2=no
+               ;;
        v850-*-*)
+               target_cpu_default="TARGET_CPU_generic"
                cpu_type=v850
                tm_file="v850/v850.h"
                xm_file="v850/xm-v850.h"
@@ -3339,6 +3623,11 @@ changequote([,])dnl
                ;;
        alpha*-*-*)
                case $machine in
+changequote(,)dnl
+                       alphaev6[78]*)
+changequote([,])dnl
+                               target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX"
+                               ;;
                        alphaev6*)
                                target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
                                ;;
@@ -3372,10 +3661,12 @@ changequote([,])dnl
 
                        # Distinguish cores, and major variants
                        # arm7m doesn't exist, but D & I don't affect code
+changequote(,)dnl
                        xarm[23678] | xarm250 | xarm[67][01]0 \
                        | xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
                        | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
                        | xstrongarm | xstrongarm110 | xstrongarm1100)
+changequote([,])dnl
                                target_cpu_default2="TARGET_CPU_$with_cpu"
                                ;;
 
@@ -3544,14 +3835,6 @@ then float_h_file=Makefile.in
 else float_h_file=float-$float_format.h
 fi
 
-if test x$enable_haifa = x
-then
-  case $target in
-    alpha*-* | hppa*-* | powerpc*-* | rs6000-* | *sparc*-* | m32r*-*)
-      enable_haifa=yes;;
-  esac
-fi
-
 # Handle cpp installation.
 if test x$enable_cpp != xno
 then
@@ -3652,9 +3935,9 @@ fi
 xm_file="gansidecl.h ${xm_file}"
 tm_file="gansidecl.h ${tm_file}"
 
-vars="host_xm_file tm_file xm_file build_xm_file"
-links="config.h tm.h tconfig.h hconfig.h"
-defines="host_xm_defines null_defines xm_defines build_xm_defines"
+vars="host_xm_file tm_file tm_p_file xm_file build_xm_file"
+links="config.h tm.h tm_p.h tconfig.h hconfig.h"
+defines="host_xm_defines null_defines null_defines xm_defines build_xm_defines"
 
 rm -f config.bak
 if test -f config.status; then mv -f config.status config.bak; fi
@@ -3667,6 +3950,8 @@ do
        set $defines; define=$1; shift; defines=$*
 
        rm -f $link
+       # Make sure the file is created, even if it is empty.
+       echo >$link
 
        # Define TARGET_CPU_DEFAULT if the system wants one.
        # This substitutes for lots of *.h files.
@@ -3733,6 +4018,46 @@ AC_ARG_ENABLE(nls,
 AM_GNU_GETTEXT
 XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
 
+# Windows32 Registry support for specifying GCC installation paths.
+AC_ARG_ENABLE(win32-registry,
+[  --disable-win32-registry
+                          Disable lookup of installation paths in the
+                         Registry on Windows hosts.
+  --enable-win32-registry Enable registry lookup (default).
+  --enable-win32-registry=KEY
+                          Use KEY instead of GCC version as the last portion
+                         of the registry key.],,)
+
+AC_MSG_CHECKING(whether windows registry support is requested)
+if test x$enable_win32_registry != xno; then
+  AC_DEFINE(ENABLE_WIN32_REGISTRY)
+  AC_MSG_RESULT(yes)
+else
+  AC_MSG_RESULT(no)
+fi
+
+# Check if user specified a different registry key.
+case x${enable_win32_registry} in
+x | xyes)
+  # default.
+  gcc_cv_win32_registry_key="$VERSION"
+  ;;
+xno)
+  # no registry lookup.
+  gcc_cv_win32_registry_key=''
+  ;;
+*)
+  # user-specified key.
+  gcc_cv_win32_registry_key="$enable_win32_registry"
+  ;;
+esac
+
+if test x$enable_win32_registry != xno; then
+  AC_MSG_CHECKING(registry key on windows hosts)
+  AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$gcc_cv_win32_registry_key")
+  AC_MSG_RESULT($gcc_cv_win32_registry_key)
+fi
+
 # Get an absolute path to the GCC top-level source directory
 holddir=`pwd`
 cd $srcdir
@@ -4048,9 +4373,97 @@ EOF
 fi
 AC_MSG_RESULT($gcc_cv_as_subsections)
 
-AC_MSG_CHECKING(assembler instructions)
-gcc_cv_as_instructions=
-if test x$gcc_cv_as != x; then
+case "$target" in 
+  sparc*-*-*)
+    AC_CACHE_CHECK([assembler .register pseudo-op support],
+       gcc_cv_as_register_pseudo_op, [
+       gcc_cv_as_register_pseudo_op=unknown
+       if test x$gcc_cv_as != x; then
+           # Check if we have .register
+           echo ".register %g2, #scratch" > conftest.s
+           if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+               gcc_cv_as_register_pseudo_op=yes
+           else
+               gcc_cv_as_register_pseudo_op=no
+           fi
+           rm -f conftest.s conftest.o
+       fi
+    ])
+    if test "x$gcc_cv_as_register_pseudo_op" = xyes; then
+       AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP)
+    fi
+
+    case "$tm_file" in
+    *64*)
+       AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)],
+           gcc_cv_as_flags64, [
+               if test -n "$gcc_cv_as"; then
+                   echo ".xword foo" > conftest.s
+                   gcc_cv_as_flags64=no
+                   for flag in "-xarch=v9" "-64 -Av9"; do
+                       if $gcc_cv_as $flag -o conftest.o conftest.s \
+                           > /dev/null 2>&1; then
+                           gcc_cv_as_flags64=$flag
+                           break
+                       fi
+                   done
+                   rm -f conftest.s conftest.o
+               else
+                   if test "$gas" = yes; then
+                       gcc_cv_as_flags64="-64 -Av9"
+                   else
+                       gcc_cv_as_flags64="-xarch=v9"
+                   fi
+               fi
+       ])
+       if test "x$gcc_cv_as_flags64" = xno; then
+changequote(, )
+           tmake_file=`echo " $tmake_file " | sed -e 's, sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
+           dep_tmake_file=`echo " $dep_tmake_file " | sed -e 's, [^ ]*/config/sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
+changequote([, ])
+       else
+           AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64")
+       fi
+       ;;
+    *) gcc_cv_as_flags64=${gcc_cv_as_flags64-no}
+       ;;
+    esac
+
+    if test "x$gcc_cv_as_flags64" != xno; then
+       AC_CACHE_CHECK([for assembler offsetable %lo() support],
+           gcc_cv_as_offsetable_lo10, [
+           gcc_cv_as_offsetable_lo10=unknown
+           if test "x$gcc_cv_as" != x; then
+               # Check if assembler has offsetable %lo()
+               echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
+               echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
+               if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
+                       > /dev/null 2>&1 &&
+                  $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
+                       > /dev/null 2>&1; then
+                   if cmp conftest.o conftest1.o > /dev/null 2>&1; then
+                       gcc_cv_as_offsetable_lo10=no
+                   else
+                       gcc_cv_as_offsetable_lo10=yes
+                   fi
+               else
+                   gcc_cv_as_offsetable_lo10=no
+               fi
+               rm -f conftest.s conftest.o conftest1.s conftest1.o
+           fi
+       ])
+       if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
+           AC_DEFINE(HAVE_AS_OFFSETABLE_LO10)
+       fi
+    fi
+    ;;
+
+changequote(,)dnl
+  i[34567]86-*-*)
+changequote([,])dnl
+    AC_MSG_CHECKING(assembler instructions)
+    gcc_cv_as_instructions=
+    if test x$gcc_cv_as != x; then
        set "filds fists" "filds mem; fists mem"
        while test $# -gt 0
        do
@@ -4062,8 +4475,10 @@ if test x$gcc_cv_as != x; then
                shift 2
        done
        rm -f conftest.s conftest.o
-fi
-AC_MSG_RESULT($gcc_cv_as_instructions)
+    fi
+    AC_MSG_RESULT($gcc_cv_as_instructions)
+    ;;
+esac
 
 # Figure out what language subdirectories are present.
 # Look if the user specified --enable-languages="..."; if not, use
@@ -4130,6 +4545,28 @@ if test $thread_file != single; then
 fi
 AC_SUBST(gthread_flags)
 
+# Find out what GC implementation we want, or may, use.
+AC_ARG_WITH(gc,
+[  --with-gc={simple,page} Choose the garbage collection mechanism to use
+                           with the compiler.],
+[case "$withval" in
+  simple | page)
+    GGC=ggc-$withval
+    ;;
+  *)
+    AC_MSG_ERROR([$withval is an invalid option to --with-gc])
+    ;;
+esac],
+[if test $ac_cv_func_mmap_fixed_mapped = yes; then
+  GGC=ggc-page
+elif test $ac_cv_func_valloc = yes; then
+  GGC=ggc-page
+else
+  GGC=ggc-simple
+fi])
+AC_SUBST(GGC)
+echo "Using $GGC for garbage collection."
+
 # Make empty files to contain the specs and options for each language.
 # Then add #include lines to for a compiler that has specs and/or options.
 
@@ -4278,26 +4715,6 @@ if test x$with_newlib = xyes; then
 fi
 AC_SUBST(inhibit_libc)
 
-# Override SCHED_OBJ and SCHED_CFLAGS to enable the Haifa scheduler.
-sched_prefix=
-sched_cflags=
-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 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 *sched.o; do
-       if test -f $x; then
-           echo "Removing $x"
-           rm -f $x
-       fi
-    done
-fi
-
 # If $(exec_prefix) exists and is not the same as $(prefix), then compute an
 # absolute path for gcc_tooldir based on inserting the number of up-directory
 # movements required to get from $(exec_prefix) to $(prefix) into the basic
@@ -4381,7 +4798,6 @@ AC_SUBST(host_exeext)
 AC_SUBST(host_extra_gcc_objs)
 AC_SUBST(host_xm_file_list)
 AC_SUBST(install)
-AC_SUBST(JAVAGC)
 AC_SUBST(lang_options_files)
 AC_SUBST(lang_specs_files)
 AC_SUBST(lang_tree_files)