From a80c00507583b88021ba468a83299a84574ad091 Mon Sep 17 00:00:00 2001
From: "David E. O'Brien" <obrien@FreeBSD.org>
Date: Mon, 30 Aug 1999 08:41:19 +0000
Subject: [PATCH] This add Alpha and proper x86 support to EGCS 1.1.2. 
 Functionally speaking, this covers revs 1.{2,3}.

---
 contrib/gcc/configure | 6208 +++++++++++++++++++++++++++++++----------
 1 file changed, 4691 insertions(+), 1517 deletions(-)

diff --git a/contrib/gcc/configure b/contrib/gcc/configure
index e61b0cb1e6a4..7e6702503b73 100755
--- a/contrib/gcc/configure
+++ b/contrib/gcc/configure
@@ -1,488 +1,2234 @@
-#!/bin/sh
-# Configuration script for GNU CC
-#   Copyright (C) 1988, 90, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
-
-#This file is part of GNU CC.
-
-#GNU CC is free software; you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation; either version 2, or (at your option)
-#any later version.
-
-#GNU CC is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#GNU General Public License for more details.
-
-#You should have received a copy of the GNU General Public License
-#along with GNU CC; see the file COPYING.  If not, write to
-#the Free Software Foundation, 59 Temple Place - Suite 330,
-#Boston, MA 02111-1307, USA.
+#! /bin/sh
 
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13 
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
-# Shell script to create proper links to machine-dependent files in
-# preparation for compiling gcc.
-#
-# Options: --srcdir=DIR		specifies directory where sources are.
-# 	   --host=HOST		specifies host configuration.
-#	   --target=TARGET	specifies target configuration.
-#	   --build=TARGET	specifies configuration of machine you are
-#				using to compile GCC.
-#	   --prefix=DIR		specifies directory to install in.
-#	   --local-prefix=DIR	specifies directory to put local ./include in.
-#	   --gxx-include-dir=DIR specifies directory to put g++ header files in.
-#	   --exec-prefix=DIR	specifies directory to install executables in.
-#	   --with-gnu-ld	arrange to work with GNU ld.
-#	   --with-gnu-as	arrange to work with GAS.
-#	   --with-stabs		arrange to use stabs instead of host debug format.
-#	   --with-elf		arrange to use elf instead of host debug format.
-#	   --enable-FOO, --enable-FOO=BAR include feature FOO (parameter BAR)
-#	   --disable-FOO	do not include feature FOO
-#	   --nfp		assume system has no FPU.
-#	   --program-prefix=PREFIX specifies prefix for executable names.
-#	   --program-suffix=SUFFIX specifies suffix for executable names.
-#	   --program-transform-name=SED-EXPR specifies `sed' expression to
-#				apply to executable names.
-#
-# If configure succeeds, it leaves its status in config.status.
-# If configure fails after disturbing the status quo, 
-# 	config.status is removed.
-#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
 
-progname=$0
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+  --with-gnu-ld           arrange to work with GNU ld."
+ac_help="$ac_help
+  --with-gnu-as           arrange to work with GNU as."
+ac_help="$ac_help
+  --with-stabs            arrange to use stabs instead of host debug format."
+ac_help="$ac_help
+  --with-elf              arrange to use ELF instead of host debug format."
+ac_help="$ac_help
+  --with-local-prefix=DIR specifies directory to put local include."
+ac_help="$ac_help
+  --with-gxx-include-dir=DIR
+                          specifies directory to put g++ header files."
+ac_help="$ac_help
+  --enable-checking       enable expensive run-time checks."
+ac_help="$ac_help
+  --enable-c-cpplib       Use cpplib for C."
+ac_help="$ac_help
+  --enable-haifa          Use the experimental scheduler.
+  --disable-haifa         Don't use the experimental scheduler for the
+                          targets which normally enable it."
+ac_help="$ac_help
+  --with-fast-fixincludes    Use a faster fixinclude program.  Experimental"
+ac_help="$ac_help
+  --enable-threads        enable thread usage for target GCC.
+  --enable-threads=LIB    use LIB thread package for target GCC."
 
-# Default --srcdir to the directory where the script is found, 
-# if a directory was specified.
-# The second sed call is to convert `.//configure' to `./configure'.
-srcdir=`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'`
-if [ x$srcdir = x$0 ]
-then
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
 srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  case "$ac_option" in
+  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) ac_optarg= ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case "$ac_option" in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir="$ac_optarg" ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build="$ac_optarg" ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file="$ac_optarg" ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir="$ac_optarg" ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    eval "enable_${ac_feature}=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix="$ac_optarg" ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he)
+    # Omit some internal or obsolete options to make the list less imposing.
+    # This message is too long to be a string in the A/UX 3.1 sh.
+    cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+  --cache-file=FILE       cache test results in FILE
+  --help                  print this message
+  --no-create             do not create output files
+  --quiet, --silent       do not print \`checking...' messages
+  --version               print the version of autoconf that created configure
+Directory and file names:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [same as prefix]
+  --bindir=DIR            user executables in DIR [EPREFIX/bin]
+  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
+  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
+  --datadir=DIR           read-only architecture-independent data in DIR
+                          [PREFIX/share]
+  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
+                          [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
+  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
+  --includedir=DIR        C header files in DIR [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
+  --infodir=DIR           info documentation in DIR [PREFIX/info]
+  --mandir=DIR            man documentation in DIR [PREFIX/man]
+  --srcdir=DIR            find the sources in DIR [configure dir or ..]
+  --program-prefix=PREFIX prepend PREFIX to installed program names
+  --program-suffix=SUFFIX append SUFFIX to installed program names
+  --program-transform-name=PROGRAM
+                          run sed PROGRAM on installed program names
+EOF
+    cat << EOF
+Host type:
+  --build=BUILD           configure for building on BUILD [BUILD=HOST]
+  --host=HOST             configure for HOST [guessed]
+  --target=TARGET         configure for TARGET [TARGET=HOST]
+Features and packages:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --x-includes=DIR        X include files are in DIR
+  --x-libraries=DIR       X library files are in DIR
+EOF
+    if test -n "$ac_help"; then
+      echo "--enable and --with options recognized:$ac_help"
+    fi
+    exit 0 ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host="$ac_optarg" ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir="$ac_optarg" ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir="$ac_optarg" ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir="$ac_optarg" ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir="$ac_optarg" ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir="$ac_optarg" ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir="$ac_optarg" ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir="$ac_optarg" ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix="$ac_optarg" ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix="$ac_optarg" ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix="$ac_optarg" ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name="$ac_optarg" ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir="$ac_optarg" ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir="$ac_optarg" ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site="$ac_optarg" ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir="$ac_optarg" ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir="$ac_optarg" ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target="$ac_optarg" ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers)
+    echo "configure generated by autoconf version 2.13"
+    exit 0 ;;
+
+  -with-* | --with-*)
+    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_${ac_package}='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    eval "with_${ac_package}=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes="$ac_optarg" ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries="$ac_optarg" ;;
+
+  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+    ;;
+
+  *)
+    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+      echo "configure: warning: $ac_option: invalid host type" 1>&2
+    fi
+    if test "x$nonopt" != xNONE; then
+      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+    fi
+    nonopt="$ac_option"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
 fi
 
-host=
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+  exec 6>/dev/null
+else
+  exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+  case "$ac_arg" in
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c) ;;
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+  esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set.  These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=tree.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_prog=$0
+  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+  else
+    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+  fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    echo "loading site script $ac_site_file"
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  echo "loading cache $cache_file"
+  . $cache_file
+else
+  echo "creating cache $cache_file"
+  > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+    ac_n= ac_c='
+' ac_t='	'
+  else
+    ac_n=-n ac_c= ac_t=
+  fi
+else
+  ac_n= ac_c='\c' ac_t=
+fi
 
-# Default prefix to /usr/local.
-prefix=/usr/local
 
-# On systems where GCC is the native compiler, $prefix should be
-# /usr. But the user can change it with configure --prefix=/foo/bar
-native_prefix=/usr
- 
-# local_prefix specifies where to find the directory /usr/local/include
-# We don't use $(prefix) for this
-# because we always want GCC to search /usr/local/include
-# even if GCC is installed somewhere other than /usr/local.
-# Think THREE TIMES before specifying any other value for this!
-# DO NOT make this use $prefix!
-local_prefix=/usr/local
-# Default is to let the Makefile set exec_prefix from $(prefix)
-exec_prefix='$(prefix)'
-#
-# The default g++ include directory is $(libdir)/g++-include.
-gxx_include_dir='$(libdir)/g++-include'
 
-# Default --program-transform-name to nothing.
-program_transform_name=
-program_transform_set=
 
 remove=rm
 hard_link=ln
 symbolic_link='ln -s'
 copy=cp
 
-# Record all the arguments, to write them in config.status.
-arguments=$*
+# Check for additional parameters
 
-#for Test
-#remove="echo rm"
-#hard_link="echo ln"
-#symbolic_link="echo ln -s"
+# With GNU ld
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+  withval="$with_gnu_ld"
+  gnu_ld_flag="$with_gnu_ld"
+else
+  gnu_ld_flag=no
+fi
 
-target=
-host=
-build=
-name1=
-name2=
 
-for arg in $*;
-do
-  case $next_arg in
-  --srcdir)
-    srcdir=$arg
-    next_arg=
-    ;;
-  --host)
-    host=$arg
-    next_arg=
-    ;;
-  --target)
-    target=$arg
-    next_arg=
-    ;;
-  --build)
-    build=$arg
-    next_arg=
-    ;;
-  --prefix)
-    prefix=$arg
-    native_prefix=$prefix
-    next_arg=
-    ;;
-  --local-prefix)
-    local_prefix=$arg
-    next_arg=
-    ;;
-  --gxx-include-dir)
-    gxx_include_dir=$arg
-    next_arg=
-    ;;
-  --exec-prefix)
-    exec_prefix=$arg
-    next_arg=
-    ;;
-  --program-transform-name)
-    # Double any backslashes or dollar signs in the argument.
-    if [ -n "${arg}" ] ; then
-      program_transform_name="${program_transform_name} -e `echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`"
-    fi
-    program_transform_set=yes
-    next_arg=
-    ;;    
-  --program-prefix)
-    if [ -n "${arg}" ]; then
-      program_transform_name="${program_transform_name} -e s,^,`echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`,"
-    fi
-    program_transform_set=yes
-    next_arg=
-    ;;
-  --program-suffix)
-    if [ -n "${arg}" ]; then
-      program_transform_name="${program_transform_name} -e s,\$\$,`echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`,"
-    fi
-    program_transform_set=yes
-    next_arg=
-    ;;
-  --x-*)
-    next_arg=
-    ;;
-  *)
-    case $arg in
-      -*)
-	if [ x$name1 != x ]
-	then
-		echo "Positional arguments must be last." 1>&2
+# With GNU as
+# Check whether --with-gnu-as or --without-gnu-as was given.
+if test "${with_gnu_as+set}" = set; then
+  withval="$with_gnu_as"
+  gas_flag="$with_gnu_as"
+else
+  gas_flag=no
+fi
+
+
+# With stabs
+# Check whether --with-stabs or --without-stabs was given.
+if test "${with_stabs+set}" = set; then
+  withval="$with_stabs"
+  stabs="$with_stabs"
+else
+  stabs=no
+fi
+
+
+# With ELF
+# Check whether --with-elf or --without-elf was given.
+if test "${with_elf+set}" = set; then
+  withval="$with_elf"
+  elf="$with_elf"
+else
+  elf=no
+fi
+
+
+# Specify the local prefix
+local_prefix=
+# Check whether --with-local-prefix or --without-local-prefix was given.
+if test "${with_local_prefix+set}" = set; then
+  withval="$with_local_prefix"
+  case "${withval}" in
+yes)	{ echo "configure: error: bad value ${withval} given for local include directory prefix" 1>&2; exit 1; } ;;
+no)	;;
+*)	local_prefix=$with_local_prefix ;;
+esac
+fi
+
+
+# Default local prefix if it is empty
+if [ x$local_prefix = x ]; then
+	local_prefix=/usr/local
+fi
+
+gxx_include_dir=
+# Specify the g++ header file directory
+# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
+if test "${with_gxx_include_dir+set}" = set; then
+  withval="$with_gxx_include_dir"
+  case "${withval}" in
+yes)	{ echo "configure: error: bad value ${withval} given for g++ include directory" 1>&2; exit 1; } ;;
+no)	;;
+*)	gxx_include_dir=$with_gxx_include_dir ;;
+esac
+fi
+
+
+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
+    gxx_include_dir='${prefix}/include/g++'
+  fi
+fi
+
+# Enable expensive internal checks
+# Check whether --enable-checking or --disable-checking was given.
+if test "${enable_checking+set}" = set; then
+  enableval="$enable_checking"
+  case "${enableval}" in
+yes)	cat >> confdefs.h <<\EOF
+#define ENABLE_CHECKING 1
+EOF
+ ;;
+no)	;;
+*)	{ echo "configure: error: bad value ${enableval} given for checking option" 1>&2; exit 1; } ;;
+esac
+fi
+
+
+# Enable use of cpplib for C.
+cpp_main=cccp
+# Check whether --enable-c-cpplib or --disable-c-cpplib was given.
+if test "${enable_c_cpplib+set}" = set; then
+  enableval="$enable_c_cpplib"
+  if [ 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
+fi
+
+  
+# Enable Haifa scheduler.
+# Check whether --enable-haifa or --disable-haifa was given.
+if test "${enable_haifa+set}" = set; then
+  enableval="$enable_haifa"
+  :
+fi
+
+# Fast fixincludes
+#
+# This is a work in progress...
+# Check whether --with-fast-fixincludes or --without-fast-fixincludes was given.
+if test "${with_fast_fixincludes+set}" = set; then
+  withval="$with_fast_fixincludes"
+  fast_fixinc="$with_fast_fixincludes"
+else
+  fast_fixinc=no
+fi
+
+
+# Enable threads
+# Pass with no value to take the default
+# Pass with a value to specify a thread package
+# Check whether --enable-threads or --disable-threads was given.
+if test "${enable_threads+set}" = set; then
+  enableval="$enable_threads"
+  if [ x$enable_threads = xno ]; then
+	enable_threads=''
+fi
+else
+  enable_threads=''
+fi
+
+
+enable_threads_flag=$enable_threads
+# Check if a valid thread package
+case x${enable_threads_flag} in
+	x | xno)
+		# No threads
+		target_thread_file='single'
+		;;
+	xyes)
+		# default
+		target_thread_file=''
+		;;
+	xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
+	xsolaris | xwin32 | xdce | xvxworks)
+		target_thread_file=$enable_threads_flag
+		;;
+	*)
+		echo "$enable_threads is an unknown thread package" 1>&2
 		exit 1
-	fi
-	;;
-    esac
+		;;
+esac
 
-    case $arg in
-     -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-	next_arg=--srcdir
-	;;
-     -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-	srcdir=`echo $arg | sed 's/-*s[a-z]*=//'`
-	;;
-     -host | --host | --hos | --ho)
-	next_arg=--host
-	;;
-     -host=* | --host=* | --hos=* | --ho=*)
-	host=`echo $arg | sed 's/-*h[a-z]*=//'`
-	;; 
-     -target | --target | --targe | --targ | --tar | --ta | --t)
-	next_arg=--target
-	;;
-     -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-	target=`echo $arg | sed 's/-*t[a-z]*=//'`
-	;; 
-     -build | --build | --buil | --bui | --bu | --b)
-	next_arg=--build
-	;;
-     -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
-	build=`echo $arg | sed 's/-*b[a-z]*=//'`
-	;; 
-     -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-	next_arg=--prefix
-	;;
-     -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-	prefix=`echo $arg | sed 's/-*p[a-z]*=//'`
-	native_prefix=$prefix
-	;;
-     -local-prefix | --local-prefix | --local-prefi | --local-pref | --local-pre \
-	| --local-pr | --local-p | --local- | --local | --loc | --lo | --l)
-	next_arg=--local-prefix
-	;;
-     -local-prefix=* | --local-prefix=* | --local-prefi=* | --local-pref=* \
-	| --local-pre=* | --local-pr=* | --local-p=* | --local-=* | --local=* \
-	| --loc=* | --lo=* | --l=*)
-	local_prefix=`echo $arg | sed 's/-*l[-a-z]*=//'`
-	;;
-     -gxx-include-dir | --gxx-include-dir | --gxx-include \
-	| --gxx-incl | --gxx-inc | --gxx-in | --gxx-i | --gxx- \
-	| --gxx | --gxx | --gx | --g)
-	next_arg=--gxx-include-dir
-	;;
-     -gxx-include-dir=* | --gxx-include-dir=* | --gxx-include=* \
-	| --gxx-incl=* | --gxx-inc=* | --gxx-in=* | --gxx-i=* \
-	| --gxx-=* | --gxx=* | --gxx=* | --gxx=* | --g=*)
-	gxx_include_dir=`echo $arg | sed 's/-*g[-a-z]*=//'`
-	;;
-     -exec-prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre \
-	| --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
-	next_arg=--exec-prefix
-	;;
-     -exec-prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* \
-	| --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* \
-	| --exe=* | --ex=* | --e=*)
-	exec_prefix=`echo $arg | sed 's/-*e[-a-z]*=//'`
-	;;
-     -program-transform-name | --program-transform-name \
-	| --program-transform-nam | --program-transform-na \
-	| --program-transform-n | --program-transform- | --program-transform \
-	| --program-transfor | --program-transfo | --program-transf \
-	| --program-trans | --program-tran | --program-tra \
-	| --program-tr | --program-t)
-	next_arg=--program-transform-name
-	;;
-     -program-transform-name=* | --program-transform-name=* \
-	| --program-transform-nam=* | --program-transform-na=* \
-	| --program-transform-n=* | --program-transform-=* \
-	| --program-transform=* | --program-transfor=* | --program-transfo=* \
-	| --program-transf=* | --program-trans=* | --program-tran=* \
-	| --program-tra=* | --program-tr=* | --program-t=*)
-	arg=`echo ${arg} | sed -e 's/^[-a-z_]*=//'`
-	# Double any \ or $ in the argument.
-	if [ -n "${arg}" ] ; then
-	  program_transform_name="${program_transform_name} -e `echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`"
-	fi
-	program_transform_set=yes
-	;;
-     -program-prefix | --program-prefix | --program-prefi \
-	| --program-pref | --program-pre | --program-pr \
-	| --program-p)
-	next_arg=--program-prefix
-	;;
-     -program-prefix=* | --program-prefix=* | --program-prefi=* \
-	| --program-pref=* | --program-pre=* | --program-pr=* \
-	| --program-p=*)
-	arg=`echo ${arg} | sed -e 's/^[-a-z_]*=//'`
-	if [ -n "${arg}" ]; then
-	  program_transform_name="${program_transform_name} -e s,^,`echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`,"
-	fi
-	program_transform_set=yes
-	;;
-     -program-suffix | --program-suffix | --program-suffi \
-	| --program-suff | --program-suf | --program-su \
-	| --program-s)
-	next_arg=--program-suffix
-	;;
-     -program-suffix=* | --program-suffix=* | --program-suffi=* \
-	| --program-suff=* | --program-suf=* | --program-su=* \
-	| --program-s=*)
-	arg=`echo ${arg} | sed -e 's/^[-a-z_]*=//'`
-	if [ -n "${arg}" ]; then
-	  program_transform_name="${program_transform_name} -e s,\$\$,`echo ${arg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`,"
-	fi
-	program_transform_set=yes
-	;;
-     -with-gnu-ld | --with-gnu-ld | --with-gnu-l)
-	gnu_ld=yes
-	;;
-     -gas | --gas | --ga | --g | -with-gnu-as | --with-gnu-as | -with-gnu-a)
-        gas=yes
-	;;
-     -nfp | --nfp | --nf | --n)
-	nfp=yes
-	;;
-     -with-stabs | -with-stab | -with-sta | -with-st | -with-s \
-	| --with-stabs | --with-stab | --with-sta | --with-st | --with-s \
-	| -stabs | -stab | -sta | -st  \
-	| --stabs | --stab | --sta | --st)
-	stabs=yes
-	;;
-     -with-elf | -with-el | -with-se \
-	| --with-elf | --with-el | --with-e \
-	| -elf | -el | -e \
-	|--elf | --el | --e)
-	elf=yes
-	;;
-     -with-* | --with-*) ;; #ignored
-     -without-* | --without-*) ;; #ignored
-     -disable-* | --disable-*)
-	enableopt=`echo ${arg} | sed 's:^-*disable-:enable_:;s:-:_:g'`
-	eval $enableopt=no
-	;;
-     -enable-* | --enable-*)
-	case "$arg" in
-	*=*)	optarg=`echo $arg | sed 's:^[^=]*=::;s:-:_:g'` ;;
-	*)	optarg=yes ;;
-	esac
-	enableopt=`echo ${arg} | sed 's:^-*::;s:=.*$::;s:-:_:g'`
-	eval $enableopt="$optarg"
-	;;
-     -x | --x) ;; # ignored
-     -x-*=* | --x-*=*) ;; # ignored
-     -x-* | --x-*)
-	next_arg=--x-ignored # ignored
-	;;
-     --he*) ;; # ignored for now (--help)
-     --vers*) ;; # ignored for now (--version)
-     -v | -verb* | --verb*) ;; # ignored for now (--verbose)
-     --program-*) ;; #ignored (--program-prefix, --program-suffix)
-     --c*) ;; #ignored (--cache-file)
-     --q*) ;; #ignored (--quiet)
-     --si*) ;; #ignored (--silent)
-     -*)
-	echo "Invalid option \`$arg'" 1>&2
-	exit 1
-	;;
-     *)
-# Allow configure HOST TARGET.  If just one name is given, it is used
-# as both unless a host was previously given, in which case it is
-# just the target.
-	if [ x$name1 != x ]
-	then
-		if [ x$name2 != x ]
-		then
-			echo "More than two configuration names." 1>&2
-			exit 1
-		fi
-		name2=$arg
-	elif [ x$host != x ]
-	then
-		name1=$host
-		name2=$arg
-		host=
-	else
-		name1=$arg
-	fi
-	;;
+# Determine the host, build, and target systems
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Do some error checking and defaulting for the host and target type.
+# The inputs are:
+#    configure --host=HOST --target=TARGET --build=BUILD NONOPT
+#
+# The rules are:
+# 1. You are not allowed to specify --host, --target, and nonopt at the
+#    same time.
+# 2. Host defaults to nonopt.
+# 3. If nonopt is not specified, then host defaults to the current host,
+#    as determined by config.guess.
+# 4. Target and build default to nonopt.
+# 5. If nonopt is not specified, then target and build default to host.
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+case $host---$target---$nonopt in
+NONE---*---* | *---NONE---* | *---*---NONE) ;;
+*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
+esac
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:771: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+  case $nonopt in
+  NONE)
+    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+    fi ;;
+  *) host_alias=$nonopt ;;
+  esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+echo $ac_n "checking target system type""... $ac_c" 1>&6
+echo "configure:792: checking target system type" >&5
+
+target_alias=$target
+case "$target_alias" in
+NONE)
+  case $nonopt in
+  NONE) target_alias=$host_alias ;;
+  *) target_alias=$nonopt ;;
+  esac ;;
+esac
+
+target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
+target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$target" 1>&6
+
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:810: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+  case $nonopt in
+  NONE) build_alias=$host_alias ;;
+  *) build_alias=$nonopt ;;
+  esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+test "$host_alias" != "$target_alias" &&
+  test "$program_prefix$program_suffix$program_transform_name" = \
+    NONENONEs,x,x, &&
+  program_prefix=${target_alias}-
+
+
+# Find the native compiler
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:837: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CC="gcc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:867: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_prog_rejected=no
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+        ac_prog_rejected=yes
+	continue
+      fi
+      ac_cv_prog_CC="cc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# -gt 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    set dummy "$ac_dir/$ac_word" "$@"
+    shift
+    ac_cv_prog_CC="$@"
+  fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  if test -z "$CC"; then
+    case "`uname -s`" in
+    *win32* | *WIN32*)
+      # Extract the first word of "cl", so it can be a program name with args.
+set dummy cl; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:918: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CC="cl"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+ ;;
     esac
-  esac
+  fi
+  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:950: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext << EOF
+
+#line 961 "configure"
+#include "confdefs.h"
+
+main(){return(0);}
+EOF
+if { (eval echo configure:966: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  ac_cv_prog_cc_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cc_cross=no
+  else
+    ac_cv_prog_cc_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:992: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:997: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1006: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gcc=yes
+else
+  ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+
+ac_test_CFLAGS="${CFLAGS+set}"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS=
+echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1025: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+  ac_cv_prog_cc_g=yes
+else
+  ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS="$ac_save_CFLAGS"
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:1057: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftestmake <<\EOF
+all:
+	@echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  SET_MAKE=
+else
+  echo "$ac_t""no" 1>&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+# Find some useful tools
+for ac_prog in mawk gawk nawk awk
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1090: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_AWK="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+AWK="$ac_cv_prog_AWK"
+if test -n "$AWK"; then
+  echo "$ac_t""$AWK" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$AWK" && break
 done
 
-if [ x$name1 != x ]
+# Extract the first word of "flex", so it can be a program name with args.
+set dummy flex; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1122: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$LEX"; then
+  ac_cv_prog_LEX="$LEX" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_LEX="flex"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_LEX" && ac_cv_prog_LEX="lex"
+fi
+fi
+LEX="$ac_cv_prog_LEX"
+if test -n "$LEX"; then
+  echo "$ac_t""$LEX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$LEXLIB"
 then
-	if [ x$name2 = x ]
-	then
-		name2=$name1
+  case "$LEX" in
+  flex*) ac_lib=fl ;;
+  *) ac_lib=l ;;
+  esac
+  echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
+echo "configure:1156: checking for yywrap in -l$ac_lib" >&5
+ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-l$ac_lib  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1164 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char yywrap();
+
+int main() {
+yywrap()
+; return 0; }
+EOF
+if { (eval echo configure:1175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  LEXLIB="-l$ac_lib"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+echo $ac_n "checking whether ln works""... $ac_c" 1>&6
+echo "configure:1198: checking whether ln works" >&5
+if eval "test \"`echo '$''{'gcc_cv_prog_LN'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  rm -f conftestdata_t
+echo >conftestdata_f
+if ln conftestdata_f conftestdata_t 2>/dev/null
+then
+  gcc_cv_prog_LN="ln"
+else
+  if ln -s conftestdata_f conftestdata_t 2>/dev/null
+  then
+    gcc_cv_prog_LN="ln -s"
+  else
+    gcc_cv_prog_LN=cp
+  fi
+fi
+rm -f conftestdata_f conftestdata_t
+
+fi
+LN="$gcc_cv_prog_LN"
+if test "$gcc_cv_prog_LN" = "ln"; then
+  echo "$ac_t""yes" 1>&6
+else
+  if test "$gcc_cv_prog_LN" = "ln -s"; then
+    echo "$ac_t""no, using ln -s" 1>&6
+  else
+    echo "$ac_t""no, and neither does ln -s, so using cp" 1>&6
+  fi
+fi
+
+echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
+echo "configure:1230: checking whether ln -s works" >&5
+if eval "test \"`echo '$''{'gcc_cv_prog_LN_S'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  rm -f conftestdata_t
+echo >conftestdata_f
+if ln -s conftestdata_f conftestdata_t 2>/dev/null
+then
+  gcc_cv_prog_LN_S="ln -s"
+else
+  if ln conftestdata_f conftestdata_t 2>/dev/null
+  then
+    gcc_cv_prog_LN_S=ln
+  else
+    gcc_cv_prog_LN_S=cp
+  fi
+fi
+rm -f conftestdata_f conftestdata_t
+
+fi
+LN_S="$gcc_cv_prog_LN_S"
+if test "$gcc_cv_prog_LN_S" = "ln -s"; then
+  echo "$ac_t""yes" 1>&6
+else
+  if test "$gcc_cv_prog_LN_S" = "ln"; then
+    echo "$ac_t""no, using ln" 1>&6
+  else
+    echo "$ac_t""no, and neither does ln, so using cp" 1>&6
+  fi
+fi
+
+echo $ac_n "checking for volatile""... $ac_c" 1>&6
+echo "configure:1262: checking for volatile" >&5
+if eval "test \"`echo '$''{'gcc_cv_c_volatile'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1267 "configure"
+#include "confdefs.h"
+
+int main() {
+volatile int foo;
+; return 0; }
+EOF
+if { (eval echo configure:1274: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  gcc_cv_c_volatile=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  gcc_cv_c_volatile=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$gcc_cv_c_volatile" 1>&6
+if test $gcc_cv_c_volatile = yes ; then
+  cat >> confdefs.h <<\EOF
+#define HAVE_VOLATILE 1
+EOF
+
+fi
+
+# Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1297: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_RANLIB="ranlib"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+  echo "$ac_t""$RANLIB" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+for ac_prog in 'bison -y' byacc
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1329: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$YACC"; then
+  ac_cv_prog_YACC="$YACC" # Let the user override the test.
+else
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_YACC="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+YACC="$ac_cv_prog_YACC"
+if test -n "$YACC"; then
+  echo "$ac_t""$YACC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$YACC" && break
+done
+test -n "$YACC" || YACC="yacc"
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1370: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    # Account for people who put trailing slashes in PATH elements.
+    case "$ac_dir/" in
+    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+    *)
+      # OSF1 and SCO ODT 3.0 have their own names for install.
+      for ac_prog in ginstall scoinst install; do
+        if test -f $ac_dir/$ac_prog; then
+	  if test $ac_prog = install &&
+            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    # OSF/1 installbsd also uses dspmsg, but is usable.
+	    :
+	  else
+	    ac_cv_path_install="$ac_dir/$ac_prog -c"
+	    break 2
+	  fi
 	fi
+      done
+      ;;
+    esac
+  done
+  IFS="$ac_save_IFS"
 
-	if [ x$host != x ]
-	then
-		echo "Duplicate specification of host." 1>&2
-		exit 1
-	fi
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL="$ac_cv_path_install"
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL="$ac_install_sh"
+  fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
 
-	if [ x$target != x ]
-	then
-		echo "Duplicate specification of target." 1>&2
-		exit 1
-	fi
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+echo "configure:1421: checking how to run the C preprocessor" >&5
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+    # This must be in double quotes, not single quotes, because CPP may get
+  # substituted into the Makefile and "${CC-cc}" will confuse make.
+  CPP="${CC-cc} -E"
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp.
+  cat > conftest.$ac_ext <<EOF
+#line 1436 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1442: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP="${CC-cc} -E -traditional-cpp"
+  cat > conftest.$ac_ext <<EOF
+#line 1453 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1459: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP="${CC-cc} -nologo -E"
+  cat > conftest.$ac_ext <<EOF
+#line 1470 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1476: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP=/lib/cpp
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+  ac_cv_prog_CPP="$CPP"
+fi
+  CPP="$ac_cv_prog_CPP"
+else
+  ac_cv_prog_CPP="$CPP"
+fi
+echo "$ac_t""$CPP" 1>&6
+
+echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+echo "configure:1501: checking for ANSI C header files" >&5
+if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1506 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1514: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  ac_cv_header_stdc=yes
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+cat > conftest.$ac_ext <<EOF
+#line 1531 "configure"
+#include "confdefs.h"
+#include <string.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  egrep "memchr" >/dev/null 2>&1; then
+  :
+else
+  rm -rf conftest*
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
 
-	host=$name1
-	build=$name1
-	target=$name2
 fi
 
-# Find the source files, if location was not specified.
-if [ x$srcdir = x ]
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+cat > conftest.$ac_ext <<EOF
+#line 1549 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  egrep "free" >/dev/null 2>&1; then
+  :
+else
+  rm -rf conftest*
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+if test "$cross_compiling" = yes; then
+  :
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1570 "configure"
+#include "confdefs.h"
+#include <ctype.h>
+#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int main () { int i; for (i = 0; i < 256; i++)
+if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
+exit (0); }
+
+EOF
+if { (eval echo configure:1581: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
-	srcdirdefaulted=1
-	srcdir=.
-	if [ ! -r tree.c ]
-	then
-		srcdir=..
-	fi
+  :
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  ac_cv_header_stdc=no
+fi
+rm -fr conftest*
 fi
 
-if [ ! -r ${srcdir}/tree.c ]
+fi
+fi
+
+echo "$ac_t""$ac_cv_header_stdc" 1>&6
+if test $ac_cv_header_stdc = yes; then
+  cat >> confdefs.h <<\EOF
+#define STDC_HEADERS 1
+EOF
+
+fi
+
+echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
+echo "configure:1605: checking whether time.h and sys/time.h may both be included" >&5
+if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1610 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+int main() {
+struct tm *tp;
+; return 0; }
+EOF
+if { (eval echo configure:1619: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  ac_cv_header_time=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_header_time=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_header_time" 1>&6
+if test $ac_cv_header_time = yes; then
+  cat >> confdefs.h <<\EOF
+#define TIME_WITH_SYS_TIME 1
+EOF
+
+fi
+
+for ac_hdr in 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
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:1643: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1648 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1653: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+ 
+else
+  echo "$ac_t""no" 1>&6
+fi
+done
+
+
+# Check for thread headers.
+ac_safe=`echo "thread.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for thread.h""... $ac_c" 1>&6
+echo "configure:1683: checking for thread.h" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1688 "configure"
+#include "confdefs.h"
+#include <thread.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1693: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  have_thread_h=yes
+else
+  echo "$ac_t""no" 1>&6
+have_thread_h=
+fi
+
+ac_safe=`echo "pthread.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for pthread.h""... $ac_c" 1>&6
+echo "configure:1717: checking for pthread.h" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1722 "configure"
+#include "confdefs.h"
+#include <pthread.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1727: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  have_pthread_h=yes
+else
+  echo "$ac_t""no" 1>&6
+have_pthread_h=
+fi
+
+
+# See if the system preprocessor understands the ANSI C preprocessor
+# stringification operator.
+echo $ac_n "checking whether cpp understands the stringify operator""... $ac_c" 1>&6
+echo "configure:1753: checking whether cpp understands the stringify operator" >&5
+if eval "test \"`echo '$''{'gcc_cv_c_have_stringify'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1758 "configure"
+#include "confdefs.h"
+
+int main() {
+#define S(x)   #x
+char *test = S(foo);
+; return 0; }
+EOF
+if { (eval echo configure:1766: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  gcc_cv_c_have_stringify=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  gcc_cv_c_have_stringify=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$gcc_cv_c_have_stringify" 1>&6
+if test $gcc_cv_c_have_stringify = yes; then
+  cat >> confdefs.h <<\EOF
+#define HAVE_CPP_STRINGIFY 1
+EOF
+
+fi
+
+# Use <inttypes.h> only if it exists,
+# doesn't clash with <sys/types.h>, and declares intmax_t.
+echo $ac_n "checking for inttypes.h""... $ac_c" 1>&6
+echo "configure:1789: checking for inttypes.h" >&5
+if eval "test \"`echo '$''{'gcc_cv_header_inttypes_h'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1794 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <inttypes.h>
+int main() {
+intmax_t i = -1;
+; return 0; }
+EOF
+if { (eval echo configure:1802: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  gcc_cv_header_inttypes_h=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  gcc_cv_header_inttypes_h=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$gcc_cv_header_inttypes_h" 1>&6
+if test $gcc_cv_header_inttypes_h = yes; then
+  cat >> confdefs.h <<\EOF
+#define HAVE_INTTYPES_H 1
+EOF
+
+fi
+
+for ac_func in strtoul bsearch strerror putenv popen bcopy bzero bcmp \
+	index rindex strchr strrchr kill getrlimit setrlimit atoll atoq \
+	sysconf isascii gettimeofday
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:1827: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1832 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+ 
+else
+  echo "$ac_t""no" 1>&6
+fi
+done
+
+
+echo $ac_n "checking for vprintf""... $ac_c" 1>&6
+echo "configure:1881: checking for vprintf" >&5
+if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1886 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char vprintf(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char vprintf();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_vprintf) || defined (__stub___vprintf)
+choke me
+#else
+vprintf();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_vprintf=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_vprintf=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'vprintf`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  cat >> confdefs.h <<\EOF
+#define HAVE_VPRINTF 1
+EOF
+
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test "$ac_cv_func_vprintf" != yes; then
+echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
+echo "configure:1933: checking for _doprnt" >&5
+if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1938 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char _doprnt(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char _doprnt();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub__doprnt) || defined (__stub____doprnt)
+choke me
+#else
+_doprnt();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func__doprnt=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func__doprnt=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'_doprnt`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  cat >> confdefs.h <<\EOF
+#define HAVE_DOPRNT 1
+EOF
+
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+vfprintf=
+doprint=
+if test $ac_cv_func_vprintf != yes ; then
+  vfprintf=vfprintf.o
+  if test $ac_cv_func__doprnt != yes ; then
+    doprint=doprint.o
+  fi
+fi
+
+
+
+echo $ac_n "checking whether the printf functions support %p""... $ac_c" 1>&6
+echo "configure:1997: checking whether the printf functions support %p" >&5
+if eval "test \"`echo '$''{'gcc_cv_func_printf_ptr'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test "$cross_compiling" = yes; then
+  gcc_cv_func_printf_ptr=no
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2005 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+
+main()
+{
+  char buf[64];
+  char *p = buf, *q = NULL;
+  sprintf(buf, "%p", p);
+  sscanf(buf, "%p", &q);
+  exit (p != q);
+}
+EOF
+if { (eval echo configure:2018: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
-	if [ x$srcdirdefaulted = x ]
-	then
-	  echo "$progname: Can't find compiler sources in \`${srcdir}'" 1>&2
-	else
-	  echo "$progname: Can't find compiler sources in \`.' or \`..'" 1>&2
-	fi
-	exit 1
+  gcc_cv_func_printf_ptr=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  gcc_cv_func_printf_ptr=no
+fi
+rm -fr conftest*
 fi
 
-if [ -r ${srcdir}/config.status ] && [ x$srcdir != x. ]
-then
-	echo "$progname: \`configure' has been run in \`${srcdir}'" 1>&2
-	exit 1
+rm -f core core.* *.core
 fi
 
-# Complain if an arg is missing
-if [ x$build = x ]
-then
-	# If host was specified, always use it for build also to avoid
-	# confusion.  If someone wants a cross compiler where build != host,
-	# then they must specify build explicitly.  Since this case is
-	# extremely rare, it does not matter that it is slightly inconvenient.
-	if [ x$host != x ]
-	then
-		build=$host
-	
-	# This way of testing the result of a command substitution is
-	# defined by Posix.2 (section 3.9.1) as well as traditional shells.
-	elif build=`${srcdir}/config.guess`
-	then
-		echo "This appears to be a ${build} system." 1>&2
+echo "$ac_t""$gcc_cv_func_printf_ptr" 1>&6
+if test $gcc_cv_func_printf_ptr = yes ; then
+  cat >> confdefs.h <<\EOF
+#define HAVE_PRINTF_PTR 1
+EOF
 
-	elif [ x$target != x ]
-	then
-		echo 'Config.guess failed to determine the host type.  Defaulting to target.'
-		build=$target
-	else
-		echo 'Config.guess failed to determine the host type.  You need to specify one.' 1>&2
-		echo "\
-Usage: `basename $progname` [--host=HOST] [--build=BUILD]
-       [--prefix=DIR] [--gxx-include-dir=DIR] [--local-pref=DIR] [--exec-pref=DIR]
-       [--with-gnu-as] [--with-gnu-ld] [--with-stabs] [--with-elf] [--nfp] TARGET" 1>&2
-	echo "Where HOST, TARGET and BUILD are three-part configuration names " 1>&2
-		if [ -r config.status ]
-		then
-			tail +2 config.status 1>&2
-		fi
-		exit 1
-	fi
 fi
 
-# If $host was not specified, use $build.
-if [ x$host = x ]
-then
-	host=$build
+
+for ac_func in malloc realloc calloc free bcopy bzero bcmp \
+	index rindex getenv atol sbrk abort atof strerror getcwd getwd
+do
+echo $ac_n "checking whether $ac_func must be declared""... $ac_c" 1>&6
+echo "configure:2046: checking whether $ac_func must be declared" >&5
+if eval "test \"`echo '$''{'gcc_cv_decl_needed_$ac_func'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2051 "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+#ifdef HAVE_STRING_H
+#include <string.h>
+#else
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifndef HAVE_RINDEX
+#define rindex strrchr
+#endif
+#ifndef HAVE_INDEX
+#define index strchr
+#endif
+
+int main() {
+char *(*pfn) = (char *(*)) $ac_func
+; return 0; }
+EOF
+if { (eval echo configure:2079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  eval "gcc_cv_decl_needed_$ac_func=no"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "gcc_cv_decl_needed_$ac_func=yes"
+fi
+rm -f conftest*
 fi
 
-# If $target was not specified, use $host.
-if [ x$target = x ]
-then
-	target=$host
+if eval "test \"`echo '$gcc_cv_decl_needed_'$ac_func`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  gcc_tr_decl=NEED_DECLARATION_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+  cat >> confdefs.h <<EOF
+#define $gcc_tr_decl 1
+EOF
+
+else
+  echo "$ac_t""no" 1>&6
 fi
 
+done
+
+
+for ac_func in getrlimit setrlimit
+do
+echo $ac_n "checking whether $ac_func must be declared""... $ac_c" 1>&6
+echo "configure:2108: checking whether $ac_func must be declared" >&5
+if eval "test \"`echo '$''{'gcc_cv_decl_needed_$ac_func'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2113 "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+#ifdef HAVE_STRING_H
+#include <string.h>
+#else
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifndef HAVE_RINDEX
+#define rindex strrchr
+#endif
+#ifndef HAVE_INDEX
+#define index strchr
+#endif
+#include <sys/types.h>
+#ifdef HAVE_SYS_RESOURCE_H
+#include <sys/resource.h>
+#endif
+
+int main() {
+char *(*pfn) = (char *(*)) $ac_func
+; return 0; }
+EOF
+if { (eval echo configure:2145: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  eval "gcc_cv_decl_needed_$ac_func=no"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "gcc_cv_decl_needed_$ac_func=yes"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$gcc_cv_decl_needed_'$ac_func`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  gcc_tr_decl=NEED_DECLARATION_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+  cat >> confdefs.h <<EOF
+#define $gcc_tr_decl 1
+EOF
+
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+done
+
+
+echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6
+echo "configure:2172: checking for sys_siglist declaration in signal.h or unistd.h" >&5
+if eval "test \"`echo '$''{'ac_cv_decl_sys_siglist'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2177 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <signal.h>
+/* NetBSD declares sys_siglist in unistd.h.  */
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+int main() {
+char *msg = *(sys_siglist + 1);
+; return 0; }
+EOF
+if { (eval echo configure:2189: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  ac_cv_decl_sys_siglist=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_decl_sys_siglist=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_decl_sys_siglist" 1>&6
+if test $ac_cv_decl_sys_siglist = yes; then
+  cat >> confdefs.h <<\EOF
+#define SYS_SIGLIST_DECLARED 1
+EOF
+
+fi
+
+
+# File extensions
+manext='.1'
+objext='.o'
+
+
+
 build_xm_file=
+build_xm_defines=
+build_install_headers_dir=install-headers-tar
+build_exeext=
 host_xm_file=
+host_xm_defines=
 host_xmake_file=
-host_broken_install=
-host_install_headers_dir=install-headers-tar
 host_truncate_target=
-
-# Validate the specs, and canonicalize them.
-canon_build=`/bin/sh $srcdir/config.sub $build` || exit 1
-canon_host=`/bin/sh $srcdir/config.sub $host` || exit 1
-canon_target=`/bin/sh $srcdir/config.sub $target` || exit 1
+host_exeext=
+cpp_install_dir=
 
 # Decode the host machine, then the target machine.
 # For the host machine, we save the xm_file variable as host_xm_file;
 # then we decode the target machine and forget everything else
 # that came from the host machine.
-for machine in $canon_build $canon_host $canon_target; do
+for machine in $build $host $target; do
 
-	cpu_type=
-	xm_file=
-	tm_file=
 	out_file=
 	xmake_file=
 	tmake_file=
@@ -491,15 +2237,18 @@ for machine in $canon_build $canon_host $canon_target; do
 	extra_parts=
 	extra_programs=
 	extra_objs=
+	extra_host_objs=
 	extra_gcc_objs=
+	xm_defines=
+	float_format=
 	# Set this to force installation and use of collect2.
 	use_collect2=
 	# Set this to override the default target model.
 	target_cpu_default=
-	# Set this to force use of install.sh.
-	broken_install=
 	# Set this to control which fixincludes program to use.
-	fixincludes=fixincludes
+	if [ x$fast_fixinc != xyes ] ; then
+		fixincludes=fixincludes
+	else fixincludes=fixinc.sh ; fi
 	# Set this to control how the header file directory is installed.
 	install_headers_dir=install-headers-tar
 	# Set this to a non-empty list of args to pass to cpp if the target
@@ -509,6 +2258,74 @@ for machine in $canon_build $canon_host $canon_target; do
 	truncate_target=
 	# Set this if gdb needs a dir command with `dirname $out_file`
 	gdb_needs_out_file_path=
+	# Set this if the build machine requires executables to have a
+	# file name suffix.
+	exeext=
+	# Set this to control which thread package will be used.
+	thread_file=
+	# Reinitialize these from the flag values every loop pass, since some
+	# configure entries modify them.
+	gas="$gas_flag"
+	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.
+	cpu_type=`echo $machine | sed 's/-.*$//'`
+	case $machine in
+	alpha*-*-*)
+		cpu_type=alpha
+		;;
+	arm*-*-*)
+		cpu_type=arm
+		;;
+	c*-convex-*)
+		cpu_type=convex
+		;;
+	i[34567]86-*-*)
+		cpu_type=i386
+		;;
+	hppa*-*-*)
+		cpu_type=pa
+		;;
+	m68000-*-*)
+		cpu_type=m68k
+		;;
+	mips*-*-*)
+		cpu_type=mips
+		;;
+	powerpc*-*-*)
+		cpu_type=rs6000
+		;;
+	pyramid-*-*)
+		cpu_type=pyr
+		;;
+	sparc*-*-*)
+		cpu_type=sparc
+		;;
+	esac
+
+	tm_file=${cpu_type}/${cpu_type}.h
+	xm_file=${cpu_type}/xm-${cpu_type}.h
+	
+	# Common parts for linux-gnu and openbsd systems
+	case $machine in
+	*-*-linux-gnu*)
+		xm_defines="HAVE_ATEXIT POSIX BSTRING"
+		;;
+	*-*-openbsd*)
+		tm_file=${cpu_type}/openbsd.h
+		# On OpenBSD systems, the headers are okay
+		fixincludes=Makefile.in
+		tmake_file="t-libc-ok t-openbsd"
+		# avoid surprises, always provide an xm-openbsd file 
+		xm_file=${cpu_type}/xm-openbsd.h
+ 		if test x$enable_threads = xyes; then
+ 			thread_file='posix'
+			tmake_file="${tmake_file} t-openbsd-thread"
+		fi
+		;;
+	esac
 
 	case $machine in
 	# Support site-specific machine types.
@@ -529,74 +2346,147 @@ for machine in $canon_build $canon_host $canon_target; do
 	1750a-*-*)
 		;;
 	a29k-*-bsd* | a29k-*-sym1*)
-		tm_file=a29k/unix.h
-		xm_file=a29k/xm-unix.h
+		tm_file="${tm_file} a29k/unix.h"
+		xm_defines=USG
 		xmake_file=a29k/x-unix
-		tmake_file=a29k/t-a29k
 		use_collect2=yes
 		;;
 	a29k-*-udi | a29k-*-coff)
+		tm_file="${tm_file} dbxcoff.h a29k/udi.h"
 		tmake_file=a29k/t-a29kbare
-		tm_file=a29k/a29k-udi.h
 		;;
-	a29k-*-vxworks*)
+	a29k-wrs-vxworks*)
+		tm_file="${tm_file} dbxcoff.h a29k/udi.h a29k/vx29k.h"
 		tmake_file=a29k/t-vx29k
-		tm_file=a29k/vx29k.h
 		extra_parts="crtbegin.o crtend.o"
+		thread_file='vxworks'
 		;;
 	a29k-*-*)			# Default a29k environment.
 		use_collect2=yes
 		;;
-	alpha-dec-osf[23456789]*)
-		tm_file=alpha/osf2.h
+	alpha*-*-linux-gnuecoff*)
+		tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
+		target_cpu_default="MASK_GAS"
+		gas=no
+		xmake_file=none
+		gas=yes gnu_ld=yes
+		;;
+	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"
+		extra_parts="crtbegin.o crtend.o"
+		fixincludes=fixinc.wrap
+		xmake_file=none
+		gas=yes gnu_ld=yes
+ 		if [ x$enable_threads = xyes ]; then
+ 			thread_file='posix'
+ 		fi
+		;;
+	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"
+		extra_parts="crtbegin.o crtend.o"
+		xmake_file=none
+		fixincludes=Makefile.in
+		gas=yes gnu_ld=yes
+ 		if [ x$enable_threads = xyes ]; then
+ 			thread_file='posix'
+ 		fi
+		;;
+	alpha*-*-freebsd*)
+		tm_file="${tm_file} freebsd.h alpha/freebsd.h"
+		xm_file="${xm_file} xm-freebsd.h"
+		target_cpu_default="MASK_GAS"
+		tmake_file="t-freebsd alpha/t-crtbe"
+		xmake_file=none
+		fixincludes=fixinc.wrap
+		gas=yes gnu_ld=yes
+		;;
+	alpha*-*-netbsd*)
+		tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsdl-elf.h"
+		xm_file="xm-netbsd.h ${xm_file}"
+		target_cpu_default="MASK_GAS"
+		tmake_file="alpha/t-crtbe"
+		extra_parts="crtbegin.o crtend.o"
+		xmake_file=none
+		fixincludes=fixinc.wrap
+		gas=yes gnu_ld=yes
+		;;
+
+	alpha*-*-openbsd*)
+		# default x-alpha is only appropriate for dec-osf.
+		target_cpu_default="MASK_GAS"
+		xmake_file=none
+		;;
+		
+	alpha*-dec-osf*)
 		if [ x$stabs = xyes ]
 		then
-			tm_file=alpha/gdb-osf2.h
+			tm_file="${tm_file} dbx.h"
 		fi
 		if [ x$gas != xyes ]
 		then
 			extra_passes="mips-tfile mips-tdump"
 		fi
-		broken_install=yes
 		use_collect2=yes
+		case $machine in
+		  *-*-osf1*)
+		    tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
+		    ;;
+		  *-*-osf[23]*)
+		    tm_file="${tm_file} alpha/osf.h alpha/osf2or3.h"
+		    ;;
+		  *-*-osf4*)
+		    tm_file="${tm_file} alpha/osf.h"
+		    # Some versions of OSF4 (specifically X4.0-9 296.7) have
+		    # a broken tar, so we use cpio instead.
+		    install_headers_dir=install-headers-cpio
+		    ;;
+		esac
+		case $machine in
+		  *-*-osf4.0[b-z] | *-*-osf4.[1-9]*)
+		    target_cpu_default=MASK_SUPPORT_ARCH
+		    ;;
+		esac
 		;;
-	alpha-dec-osf1.2)
-		tm_file=alpha/osf12.h
-		if [ x$stabs = xyes ]
-		then
-			tm_file=alpha/gdb-osf12.h
-		fi
-		if [ x$gas != xyes ]
+ 	alpha*-*-vxworks*)
+		tm_file="${tm_file} dbx.h alpha/vxworks.h"
+		if  x$gas != xyes 
 		then
 			extra_passes="mips-tfile mips-tdump"
 		fi
-		broken_install=yes
 		use_collect2=yes
 		;;
-	alpha-*-osf*)
-		if [ x$stabs = xyes ]
-		then
-			tm_file=alpha/gdb.h
-		fi
-		if [ x$gas != xyes ]
-		then
-			extra_passes="mips-tfile mips-tdump"
-		fi
-		broken_install=yes
-		use_collect2=yes
-		;;
-	alpha-*-winnt3*)
-		tm_file=alpha/win-nt.h
-		xm_file=alpha/xm-winnt.h
+	alpha*-*-winnt*)
+		tm_file="${tm_file} alpha/win-nt.h"
+		xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
 		tmake_file=t-libc-ok
 		xmake_file=winnt/x-winnt
-		extra_objs=oldnames.o
+		extra_host_objs=oldnames.o
 		extra_gcc_objs="spawnv.o oldnames.o"
 		fixincludes=fixinc.winnt
 		if [ x$gnu_ld != xyes ]
 		then
 			extra_programs=ld.exe
 		fi
+ 		if [ x$enable_threads = xyes ]; then
+			thread_file='win32'
+		fi
+		;;
+	alpha*-dec-vms*)
+		tm_file=alpha/vms.h
+		xm_file="${xm_file} alpha/xm-vms.h"
+		tmake_file=alpha/t-vms
+		fixincludes=Makefile.in
+		;;
+	arc-*-elf*)
+		extra_parts="crtinit.o crtfini.o"
+		;;
+	arm-*-coff* | armel-*-coff*)
+		tm_file=arm/coff.h
+		tmake_file=arm/t-bare
 		;;
 	arm-*-riscix1.[01]*)		# Acorn RISC machine (early versions)
 		tm_file=arm/riscix1-1.h
@@ -614,51 +2504,65 @@ for machine in $canon_build $canon_host $canon_target; do
 		use_collect2=yes
 		;;
 	arm-semi-aout | armel-semi-aout)
-		cpu_type=arm
 		tm_file=arm/semi.h
 		tmake_file=arm/t-semi
 		fixincludes=Makefile.in # There is nothing to fix
 		;;
-	arm-*-*)			# generic version
+	arm-semi-aof | armel-semi-aof)
+		tm_file=arm/semiaof.h
+		tmake_file=arm/t-semiaof
+		fixincludes=Makefile.in # There is nothing to fix
+		;;
+	arm*-*-netbsd*)
+		tm_file=arm/netbsd.h
+		xm_file="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
+		cpu_type=arm
+		xmake_file=x-linux
+		tm_file=arm/linux-gas.h
+		tmake_file=arm/t-linux
+		fixincludes=Makefile.in
+		gnu_ld=yes
+		;;
+	arm-*-aout)
+		tm_file=arm/aout.h
+		tmake_file=arm/t-bare
 		;;
 	c1-convex-*)			# Convex C1
-		cpu_type=convex
-		tm_file=convex/convex1.h
+		target_cpu_default=1
 		use_collect2=yes
 		fixincludes=Makefile.in
 		;;
 	c2-convex-*)			# Convex C2
-		cpu_type=convex
-		tm_file=convex/convex2.h
+		target_cpu_default=2
 		use_collect2=yes
 		fixincludes=Makefile.in
 		;;
 	c32-convex-*)
-		cpu_type=convex
-		tm_file=convex/convex32.h	# Convex C32xx
+		target_cpu_default=4
 		use_collect2=yes
 		fixincludes=Makefile.in
 		;;
 	c34-convex-*)
-		cpu_type=convex
-		tm_file=convex/convex34.h	# Convex C34xx
+		target_cpu_default=8
 		use_collect2=yes
 		fixincludes=Makefile.in
 		;;
 	c38-convex-*)
-		cpu_type=convex
-		tm_file=convex/convex38.h	# Convex C38xx
+		target_cpu_default=16		
 		use_collect2=yes
 		fixincludes=Makefile.in
 		;;
 	clipper-intergraph-clix*)
-		broken_install=yes
-		cpu_type=clipper
+		tm_file="${tm_file} svr3.h clipper/clix.h"
 		xm_file=clipper/xm-clix.h
-		tm_file=clipper/clix.h
+		xmake_file=clipper/x-clix
 		extra_headers=va-clipper.h
 		extra_parts="crtbegin.o crtend.o"
-		xmake_file=clipper/x-clix
 		install_headers_dir=install-headers-cpio
 		;;
 	dsp16xx-*)
@@ -670,182 +2574,196 @@ for machine in $canon_build $canon_host $canon_target; do
 #	fx80-alliant-*)			# Alliant FX/80
 #		;;
 	h8300-*-*)
-		cpu_type=h8300
+		float_format=i32
+		;;
+	hppa*-*-openbsd*)
+		target_cpu_default="MASK_SNAKE"
+     tmake_file=pa/t-openbsd
+		;;
+	hppa1.1-*-pro*)
+		tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h"
+		xm_file=pa/xm-papro.h
+		tmake_file=pa/t-pro
 		;;
 	hppa1.1-*-osf*)
-		cpu_type=pa
-		tm_file=pa/pa1-osf.h
+		target_cpu_default=1
+		tm_file="${tm_file} pa/pa-osf.h"
 		use_collect2=yes
 		fixincludes=Makefile.in
 		;;
+	hppa1.1-*-rtems*)
+		tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h pa/rtems.h"
+		xm_file=pa/xm-papro.h
+		tmake_file=pa/t-pro
+		;;
 	hppa1.0-*-osf*)
-		cpu_type=pa
-		tm_file=pa/pa-osf.h
+		tm_file="${tm_file} pa/pa-osf.h"
 		use_collect2=yes
 		fixincludes=Makefile.in
 		;;
 	hppa1.1-*-bsd*)
-		cpu_type=pa
-		tm_file=pa/pa1.h
+		target_cpu_default=1
 		use_collect2=yes
 		fixincludes=Makefile.in
 		;;
 	hppa1.0-*-bsd*)
-		cpu_type=pa
 		use_collect2=yes
 		fixincludes=Makefile.in
 		;;
 	hppa1.0-*-hpux7*)
-		cpu_type=pa
+		tm_file="pa/pa-oldas.h ${tm_file} pa/pa-hpux7.h"
 		xm_file=pa/xm-pahpux.h
 		xmake_file=pa/x-pa-hpux
-		tmake_file=pa/t-pa
 		if [ x$gas = xyes ]
 		then
-			tm_file=pa/pa-gux7.h
-		else
-			tm_file=pa/pa-hpux7.h
+			tm_file="${tm_file} pa/gas.h"
 		fi
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		use_collect2=yes
 		;;
 	hppa1.0-*-hpux8.0[0-2]*)
-		cpu_type=pa
+		tm_file="${tm_file} pa/pa-hpux.h"
 		xm_file=pa/xm-pahpux.h
 		xmake_file=pa/x-pa-hpux
-		tmake_file=pa/t-pa
 		if [ x$gas = xyes ]
 		then
-			tm_file=pa/pa-ghpux.h
+			tm_file="${tm_file} pa/pa-gas.h"
 		else
-			tm_file=pa/pa-oldas.h
+			tm_file="pa/pa-oldas.h ${tm_file}"
 		fi
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		use_collect2=yes
 		;;
 	hppa1.1-*-hpux8.0[0-2]*)
-		cpu_type=pa
+		target_cpu_default=1
+		tm_file="${tm_file} pa/pa-hpux.h"
 		xm_file=pa/xm-pahpux.h
 		xmake_file=pa/x-pa-hpux
-		tmake_file=pa/t-pa
 		if [ x$gas = xyes ]
 		then
-			tm_file=pa/pa1-ghpux.h
+			tm_file="${tm_file} pa/pa-gas.h"
 		else
-			tm_file=pa/pa1-oldas.h
+			tm_file="pa/pa-oldas.h ${tm_file}"
+		fi
+		install_headers_dir=install-headers-cpio
+		use_collect2=yes
+		;;
+	hppa1.1-*-hpux8*)
+		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 ]
+		then
+			tm_file="${tm_file} pa/pa-gas.h"
+		fi
+		install_headers_dir=install-headers-cpio
+		use_collect2=yes
+		;;
+	hppa1.0-*-hpux8*)
+		tm_file="${tm_file} pa/pa-hpux.h"
+		xm_file=pa/xm-pahpux.h
+		xmake_file=pa/x-pa-hpux
+		if [ x$gas = xyes ]
+		then
+			tm_file="${tm_file} pa/pa-gas.h"
 		fi
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		use_collect2=yes
 		;;
-	hppa1.1-*-hpux9* | \
 	hppa1.1-*-hpux10*)
-		cpu_type=pa
+		target_cpu_default=1
+		tm_file="${tm_file} 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
 		if [ x$gas = xyes ]
 		then
-			tm_file=pa/pa1-ghpux9.h
-		else
-			tm_file=pa/pa1-hpux9.h
+			tm_file="${tm_file} pa/pa-gas.h"
+		fi
+		if [ x$enable_threads = x ]; then
+		    enable_threads=$have_pthread_h
+		fi
+ 		if [ x$enable_threads = xyes ]; then
+			thread_file='dce'
+			tmake_file="${tmake_file} pa/t-dce-thr"
 		fi
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		use_collect2=yes
 		;;
-	hppa1.0-*-hpux9* | \
 	hppa1.0-*-hpux10*)
-		cpu_type=pa
+		tm_file="${tm_file} 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
 		if [ x$gas = xyes ]
 		then
-			tm_file=pa/pa-ghpux9.h
-		else
-			tm_file=pa/pa-hpux9.h
+			tm_file="${tm_file} pa/pa-gas.h"
+		fi
+		if [ x$enable_threads = x ]; then
+		    enable_threads=$have_pthread_h
+		fi
+ 		if [ x$enable_threads = xyes ]; then
+			thread_file='dce'
+			tmake_file="${tmake_file} pa/t-dce-thr"
 		fi
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		use_collect2=yes
 		;;
 	hppa1.1-*-hpux*)
-		cpu_type=pa
+		target_cpu_default=1
+		tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
 		xm_file=pa/xm-pahpux.h
 		xmake_file=pa/x-pa-hpux
-		tmake_file=pa/t-pa
 		if [ x$gas = xyes ]
 		then
-			tm_file=pa/pa1-ghpux.h
-		else
-			tm_file=pa/pa1-hpux.h
+			tm_file="${tm_file} pa/pa-gas.h"
 		fi
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		use_collect2=yes
 		;;
 	hppa1.0-*-hpux*)
-		cpu_type=pa
+		tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
 		xm_file=pa/xm-pahpux.h
 		xmake_file=pa/x-pa-hpux
-		tmake_file=pa/t-pa
 		if [ x$gas = xyes ]
 		then
-			tm_file=pa/pa-ghpux.h
-		else
-			tm_file=pa/pa-hpux.h
+			tm_file="${tm_file} pa/pa-gas.h"
 		fi
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		use_collect2=yes
 		;;
 	hppa1.1-*-hiux*)
-		cpu_type=pa
+		target_cpu_default=1
+		tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
 		xm_file=pa/xm-pahpux.h
 		xmake_file=pa/x-pa-hpux
-		tmake_file=pa/t-pa
 		if [ x$gas = xyes ]
 		then
-			tm_file=pa/pa1-ghiux.h
-		else
-			tm_file=pa/pa1-hiux.h
+			tm_file="${tm_file} pa/pa-gas.h"
 		fi
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		use_collect2=yes
 		;;
 	hppa1.0-*-hiux*)
-		cpu_type=pa
+		tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
 		xm_file=pa/xm-pahpux.h
 		xmake_file=pa/x-pa-hpux
-		tmake_file=pa/t-pa
 		if [ x$gas = xyes ]
 		then
-			tm_file=pa/pa-ghiux.h
-		else
-			tm_file=pa/pa-hiux.h
+			tm_file="${tm_file} pa/pa-gas.h"
 		fi
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		use_collect2=yes
 		;;
 	hppa*-*-lites*)
-		cpu_type=pa
-		tm_file=pa/pa1.h
+		target_cpu_default=1
 		use_collect2=yes
 		fixincludes=Makefile.in
 		;;
 	i370-*-mvs*)
-		cpu_type=i370
-		tm_file=i370/mvs.h
-		xm_file=i370/xm-mvs.h
-		out_file=i370/mvs370.c
 		;;
-	i[345]86-ibm-aix*)		# IBM PS/2 running AIX
-		cpu_type=i386
+	i[34567]86-ibm-aix*)		# IBM PS/2 running AIX
                 if [ x$gas = xyes ]
 		then
 			tm_file=i386/aix386.h
@@ -855,28 +2773,34 @@ for machine in $canon_build $canon_host $canon_target; do
 			tm_file=i386/aix386ng.h
 			use_collect2=yes
 		fi
-		xm_file=i386/xm-aix.h
+		xm_file="xm-alloca.h i386/xm-aix.h ${xm_file}"
+		xm_defines=USG
 		xmake_file=i386/x-aix
-		broken_install=yes
 		;;
-	i486-ncr-sysv4*)		# NCR 3000 - i486 running system V.4
-		cpu_type=i386
-		xm_file=i386/xm-sysv4.h
+	i[34567]86-ncr-sysv4*)	# NCR 3000 - ix86 running system V.4
+		xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
+		xm_defines="USG POSIX SMALL_ARG_MAX"
 		xmake_file=i386/x-ncr3000
-		tm_file=i386/sysv4.h
+		if [ x$stabs = xyes -a x$gas = xyes ]
+		then
+			tm_file=i386/sysv4gdb.h
+		else
+			tm_file=i386/sysv4.h
+		fi
 		extra_parts="crtbegin.o crtend.o"
 		tmake_file=i386/t-crtpic
 		;;
-	i[345]86-next-*)
-		cpu_type=i386
+	i[34567]86-next-*)
 		tm_file=i386/next.h
-		out_file=i386/next.c
 		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
+			thread_file='mach'
+		fi
 		;;
-	i[345]86-sequent-bsd*) 		# 80386 from Sequent
-		cpu_type=i386
+	i[34567]86-sequent-bsd*) 		# 80386 from Sequent
 		use_collect2=yes
 		if [ x$gas = xyes ]
 		then
@@ -885,160 +2809,183 @@ for machine in $canon_build $canon_host $canon_target; do
 			tm_file=i386/sequent.h
 		fi
 		;;
-	i[345]86-sequent-ptx1*)
-		cpu_type=i386
-		xm_file=i386/xm-sysv3.h
+	i[34567]86-sequent-ptx1*)
+		xm_defines="USG SVR3"
 		xmake_file=i386/x-sysv3
 		tm_file=i386/seq-sysv3.h
 		tmake_file=i386/t-crtstuff
 		fixincludes=fixinc.ptx
 		extra_parts="crtbegin.o crtend.o"
 		install_headers_dir=install-headers-cpio
-		broken_install=yes
 		;;
-	i[345]86-sequent-ptx2* | i[345]86-sequent-sysv*)
-		cpu_type=i386
-		xm_file=i386/xm-sysv3.h
+	i[34567]86-sequent-ptx2* | i[34567]86-sequent-sysv3*)
+		xm_defines="USG SVR3"
 		xmake_file=i386/x-sysv3
 		tm_file=i386/seq2-sysv3.h
 		tmake_file=i386/t-crtstuff
 		extra_parts="crtbegin.o crtend.o"
 		fixincludes=fixinc.ptx
 		install_headers_dir=install-headers-cpio
-		broken_install=yes
+		;;
+	i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
+		xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
+		xm_defines="USG POSIX SMALL_ARG_MAX"
+		xmake_file=x-svr4
+		tm_file=i386/ptx4-i.h
+		tmake_file=t-svr4
+		extra_parts="crtbegin.o crtend.o"
+		fixincludes=fixinc.ptx
+		install_headers_dir=install-headers-cpio
 		;;
 	i386-sun-sunos*)		# Sun i386 roadrunner
-		xm_file=i386/xm-sun.h
+		xm_defines=USG
 		tm_file=i386/sun.h
 		use_collect2=yes
 		;;
-	i[345]86-*-aout*)
-		cpu_type=i386
+	i[34567]86-wrs-vxworks*)
+		tm_file=i386/vxi386.h
+		tmake_file=i386/t-i386bare
+		;;
+	i[34567]86-*-aout*)
 		tm_file=i386/i386-aout.h
 		tmake_file=i386/t-i386bare
 		;;
-	i[345]86-*-bsdi* | i[345]86-*-bsd386*)
-		cpu_type=i386
+	i[34567]86-*-bsdi* | i[34567]86-*-bsd386*)
 		tm_file=i386/bsd386.h
-		xm_file=i386/xm-bsd386.h
 #		tmake_file=t-libc-ok
 		;;
-	i[345]86-*-bsd*)
-		cpu_type=i386
+	i[34567]86-*-bsd*)
 		tm_file=i386/386bsd.h
-		xm_file=i386/xm-bsd386.h
 #		tmake_file=t-libc-ok
 # Next line turned off because both 386BSD and BSD/386 use GNU ld.
 #		use_collect2=yes
 		;;
-	alpha-*-freebsd*)
-		cpu_type=alpha
-		tm_file=alpha/freebsd-elf.h
-		xm_file=alpha/xm-freebsd.h
-		# On FreeBSD, the headers are already ok.
-		fixincludes=Makefile.in
-		xmake_file=alpha/x-freebsd
+	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
+		tm_file=i386/freebsd-aout.h
+		# On FreeBSD, the headers are already ok, except for math.h.
+		fixincludes=fixinc.wrap
+		tmake_file=t-freebsd
+		;;
+	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+		tm_file="i386/i386.h i386/att.h svr4.h i386/freebsd.h i386/perform.h"
+		# On FreeBSD, the headers are already ok, except for math.h.
+		fixincludes=fixinc.wrap
+		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+		tmake_file=t-freebsd
 		gas=yes
 		gnu_ld=yes
 		stabs=yes
 		;;
-	i[345]86-*-freebsdelf*)
-		cpu_type=i386
-		tm_file=i386/freebsd-elf.h
-		xm_file=i386/xm-freebsd.h
-		# On FreeBSD, the headers are already ok.
-		fixincludes=Makefile.in
-		xmake_file=i386/x-freebsd
-		gas=yes
-		gnu_ld=yes
-		stabs=yes
-		;;
-	i[345]86-*-freebsd*)
-		cpu_type=i386
-		tm_file=i386/freebsd.h
-		xm_file=i386/xm-freebsd.h
-		# On FreeBSD, the headers are already ok.
-		fixincludes=Makefile.in
-		xmake_file=i386/x-freebsd
-		;;
-	i[345]86-*-netbsd*)
-		cpu_type=i386
+	i[34567]86-*-netbsd*)
 		tm_file=i386/netbsd.h
-		xm_file=i386/xm-netbsd.h
-		# On NetBSD, the headers are already okay.
-		fixincludes=Makefile.in
-		tmake_file=t-libc-ok
-		xmake_file=x-netbsd
+		xm_file="xm-netbsd.h ${xm_file}"
+		# On NetBSD, the headers are already okay, except for math.h.
+		fixincludes=fixinc.wrap
+		tmake_file=t-netbsd
 		;;
-	i[345]86-*-coff*)
-		cpu_type=i386
+ 	i[34567]86-*-openbsd*)
+ 		# Remove when the math emulator is fixed
+ 		target_cpu_default="MASK_NO_FANCY_MATH_387"
+ 		# we need collect2 until our bug is fixed...
+ 		use_collect2=yes
+ 		;;
+	i[34567]86-*-coff*)
 		tm_file=i386/i386-coff.h
 		tmake_file=i386/t-i386bare
 		;;
-	i[345]86-*-gnu*)
-		cpu_type=i386	# GNU supports this CPU; rest done below.
-		;;
-	i[345]86-*-isc*)		# 80386 running ISC system
-		cpu_type=i386
-		xm_file=i386/xm-isc.h
+	i[34567]86-*-isc*)		# 80386 running ISC system
+		xm_file="${xm_file} i386/xm-isc.h"
+		xm_defines="USG SVR3"
 		case $machine in
-		  i[345]86-*-isc[34]*)
+		  i[34567]86-*-isc[34]*)
 		    xmake_file=i386/x-isc3
 		    ;;
 		  *)
 		    xmake_file=i386/x-isc
 		    ;;
 		esac
-		echo $xmake_file
                 if [ x$gas = xyes -a x$stabs = xyes ]
 		then
 			tm_file=i386/iscdbx.h
 			tmake_file=i386/t-svr3dbx
-			extra_parts="crtbegin.o crtend.o svr3.ifile svr3z.ifile"
+			extra_parts="svr3.ifile svr3z.ifile"
 		else
 			tm_file=i386/isccoff.h
 			tmake_file=i386/t-crtstuff
 			extra_parts="crtbegin.o crtend.o"
 		fi
 		install_headers_dir=install-headers-cpio
-		broken_install=yes
 		;;
-	i[345]86-*-linux*oldld*)	# Intel 80386's running Linux
-		cpu_type=i386		# with a.out format using pre BFD linkers
-		xm_file=i386/xm-linux.h
-		xmake_file=x-linux
+	i[34567]86-*-linux-gnuoldld*)	# Intel 80386's running GNU/Linux
+					# 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.
-		broken_install=yes
 		gnu_ld=yes
+		float_format=i386
 		;;
-	i[345]86-*-linux*aout*)		# Intel 80386's running Linux
-		cpu_type=i386		# with a.out format
-		xm_file=i386/xm-linux.h
-		xmake_file=x-linux
+	i[34567]86-*-linux-gnuaout*)	# Intel 80386's running GNU/Linux
+					# 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.
-		broken_install=yes
 		gnu_ld=yes
+		float_format=i386
 		;;
-	i[345]86-*-linux*)		# Intel 80386's running Linux
-		cpu_type=i386		# with ELF format
-		xm_file=i386/xm-linux.h
+	i[34567]86-*-linux-gnulibc1)	# Intel 80386's running GNU/Linux
+					# with ELF format using the
+					# GNU/Linux C library 5
+		xmake_file=x-linux	
+		tm_file=i386/linux.h	
+		tmake_file="t-linux t-linux-gnulibc1 i386/t-crtstuff"
+		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+		fixincludes=Makefile.in #On Linux, the headers are ok already.
+		gnu_ld=yes
+		float_format=i386
+ 		if [ 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
+					# aka GNU/Linux C library 6
 		xmake_file=x-linux
 		tm_file=i386/linux.h
+		tmake_file="t-linux i386/t-crtstuff"
+		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
 		fixincludes=Makefile.in #On Linux, the headers are ok already.
-		broken_install=yes
 		gnu_ld=yes
-		# Don't use it. Linux uses a slightly different one.
-		# The real one comes with the Linux C library.
-		#extra_parts="crtbegin.o crtend.o"
+		float_format=i386
+ 		if [ x$enable_threads = xyes ]; then
+ 			thread_file='posix'
+ 		fi
 		;;
-      i[345]86-go32-msdos | i[345]86-*-go32)
-              cpu_type=i386
-              tm_file=i386/go32.h
-              ;;
-	i[345]86-*-lynxos*)
-		cpu_type=i386
+	i[34567]86-*-gnu*)
+		float_format=i386
+		;;
+	i[34567]86-go32-msdos | i[34567]86-*-go32*)
+		xm_file=i386/xm-go32.h
+		tm_file=i386/go32.h
+		tmake_file=i386/t-go32
+		;;
+	i[34567]86-pc-msdosdjgpp*)
+		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*)
+		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 ]
 		then
 			tm_file=i386/lynx.h
@@ -1049,14 +2996,12 @@ for machine in $canon_build $canon_host $canon_target; do
 		tmake_file=i386/t-i386bare
 		xmake_file=x-lynx
 		;;
-	i[345]86-*-mach*)
-		cpu_type=i386
+	i[34567]86-*-mach*)
 		tm_file=i386/mach.h
 #		tmake_file=t-libc-ok
 		use_collect2=yes
 		;;
-	i[345]86-*-osfrose*)		# 386 using OSF/rose
-		cpu_type=i386
+	i[34567]86-*-osfrose*)		# 386 using OSF/rose
                 if [ x$elf = xyes ]
 		then
 			tm_file=i386/osfelf.h
@@ -1065,16 +3010,48 @@ for machine in $canon_build $canon_host $canon_target; do
 			tm_file=i386/osfrose.h
 			use_collect2=yes
 		fi
-		xm_file=i386/xm-osf.h
+		xm_file="i386/xm-osf.h ${xm_file}"
 		xmake_file=i386/x-osfrose
+		tmake_file=i386/t-osf
 		extra_objs=halfpic.o
 		;;
-	i[345]86-*-sco3.2v4*)	 	# 80386 running SCO 3.2v4 system
+	i[34567]86-go32-rtems*)
 		cpu_type=i386
-		xm_file=i386/xm-sco.h
+		xm_file=i386/xm-go32.h
+		tm_file=i386/go32-rtems.h
+		tmake_file="i386/t-go32 t-rtems"
+		;;
+	i[34567]86-*-rtemself*)
+		cpu_type=i386
+		tm_file=i386/rtemself.h
+		tmake_file="i386/t-i386bare t-rtems"
+		;;
+	i[34567]86-*-rtems*)
+		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
+		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
+		if [ 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="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
+		;;
+	i[34567]86-*-sco3.2v4*) 	# 80386 running SCO 3.2v4 system
+		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
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
                 if [ x$stabs = xyes ]
 		then
@@ -1086,12 +3063,11 @@ for machine in $canon_build $canon_host $canon_target; do
 			tmake_file=i386/t-crtstuff
 			extra_parts="crtbegin.o crtend.o"
 		fi
+		truncate_target=yes
 		;;
-	i[345]86-*-sco*)	 	# 80386 running SCO system
-		cpu_type=i386
+	i[34567]86-*-sco*)	 	# 80386 running SCO system
 		xm_file=i386/xm-sco.h
 		xmake_file=i386/x-sco
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
                 if [ x$stabs = xyes ]
 		then
@@ -1105,32 +3081,70 @@ for machine in $canon_build $canon_host $canon_target; do
 		fi
 		truncate_target=yes
 		;;
-	i[345]86-*-solaris2* | i[345]86-*-sunos5*)
-		cpu_type=i386
-		xm_file=i386/xm-sysv4.h
-		tm_file=i386/sol2.h
-		tmake_file=i386/t-sol2
-		extra_parts="crt1.o crti.o crtn.o crtbegin.o crtend.o"
-		xmake_file=x-svr4
-		fixincludes=fixinc.svr4
-		broken_install=yes
-		;;
-	i[345]86-*-sysv4*)		# Intel 80386's running system V.4
-		cpu_type=i386
-		xm_file=i386/xm-sysv4.h
+	i[34567]86-*-solaris2*)
+		xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
+		xm_defines="USG POSIX SMALL_ARG_MAX"
 		if [ x$stabs = xyes ]
 		then
-			tm_file=i386/sysv4gdb.h
+			tm_file=i386/sol2dbg.h
 		else
-			tm_file=i386/sysv4.h
+			tm_file=i386/sol2.h
+		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
+		case $machine in
+		*-*-solaris2.[0-4])
+			fixincludes=fixinc.svr4;;
+		*)
+			fixincludes=fixinc.wrap;;
+		esac
+ 		if [ x$enable_threads = xyes ]; then
+			thread_file='solaris'
+		fi
+		;;
+       i[34567]86-*-sysv5*)           # Intel x86 on System V Release 5
+               xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
+               xm_defines="USG POSIX"
+               tm_file=i386/sysv4.h
+               if [ 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=fixinc.svr4
+               ;;
+	i[34567]86-*-sysv4*)		# Intel 80386's running system V.4
+		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 ]
+		then
+			tm_file="${tm_file} dbx.h"
 		fi
 		tmake_file=i386/t-crtpic
 		xmake_file=x-svr4
 		extra_parts="crtbegin.o crtend.o"
 		;;
-	i[345]86-*-sysv*)		# Intel 80386's running system V
+	i[34567]86-*-osf1*)		# Intel 80386's running OSF/1 1.3+
 		cpu_type=i386
-		xm_file=i386/xm-sysv3.h
+		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 ]
+		then
+			tm_file=i386/osf1elfgdb.h
+		else
+			tm_file=i386/osf1elf.h
+		fi
+		tmake_file=i386/t-osf1elf
+		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
+		xm_defines="USG SVR3"
 		xmake_file=i386/x-sysv3
 		if [ x$gas = xyes ]
 		then
@@ -1151,106 +3165,156 @@ for machine in $canon_build $canon_host $canon_target; do
 		fi
 		;;
 	i386-*-vsta)			# Intel 80386's running VSTa kernel
-		xm_file=i386/xm-vsta.h
+		xm_file="${xm_file} i386/xm-vsta.h"
 		tm_file=i386/vsta.h
 		tmake_file=i386/t-vsta
 		xmake_file=i386/x-vsta
 		;;
-	i[345]86-*-winnt3*)
-		cpu_type=i386
+	i[34567]86-*-pe | i[34567]86-*-cygwin32)
+		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
+			thread_file='win32'
+		fi
+		exeext=.exe
+		;;
+	i[34567]86-*-mingw32*)
+		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
+			thread_file='win32'
+		fi
+		exeext=.exe
+		case $machine in
+			*mingw32msv*)
+				;;
+			*mingw32crt* | *mingw32*)
+				tm_file="${tm_file} i386/crtdll.h"
+				;;
+		esac
+		;;
+	i[34567]86-*-winnt3*)
 		tm_file=i386/win-nt.h
 		out_file=i386/i386.c
-		xm_file=i386/xm-winnt.h
+		xm_file="xm-winnt.h ${xm_file}"
 		xmake_file=winnt/x-winnt
 		tmake_file=i386/t-winnt
-		extra_objs="winnt.o oldnames.o"
+		extra_host_objs="winnt.o oldnames.o"
 		extra_gcc_objs="spawnv.o oldnames.o"
 		fixincludes=fixinc.winnt
 		if [ x$gnu_ld != xyes ]
 		then
 			extra_programs=ld.exe
 		fi
+ 		if [ x$enable_threads = xyes ]; then
+			thread_file='win32'
+		fi
 		;;
+	i[34567]86-dg-dgux*)
+		xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
+		xm_defines="USG POSIX"
+		out_file=i386/dgux.c
+		tm_file=i386/dgux.h
+		tmake_file=i386/t-dgux
+		xmake_file=i386/x-dgux
+		fixincludes=fixinc.dgux
+		install_headers_dir=install-headers-cpio
+              ;;
 	i860-alliant-*)		# Alliant FX/2800
-		xm_file=i860/xm-fx2800.h
+		tm_file="${tm_file} svr4.h i860/sysv4.h i860/fx2800.h"
+		xm_file="${xm_file}"
 		xmake_file=i860/x-fx2800
-		tm_file=i860/fx2800.h
 		tmake_file=i860/t-fx2800
 		extra_parts="crtbegin.o crtend.o"
 		;;
 	i860-*-bsd*)
+		tm_file="${tm_file} i860/bsd.h"
 		if [ x$gas = xyes ]
 		then
-			tm_file=i860/bsd-gas.h
-		else
-			tm_file=i860/bsd.h
+			tm_file="${tm_file} i860/bsd-gas.h"
 		fi
 		use_collect2=yes
 		;;
 	i860-*-mach*)
-		xm_file=i860/xm-i860.h
-		tm_file=i860/mach.h
+		tm_file="${tm_file} i860/mach.h"
 		tmake_file=t-libc-ok
 		;;
 	i860-*-osf*)			# Intel Paragon XP/S, OSF/1AD
-		xm_file=i860/xm-paragon.h
-		tm_file=i860/paragon.h
+		tm_file="${tm_file} svr3.h i860/paragon.h"
+		xm_defines="USG SVR3"
 		tmake_file=t-osf
-		broken_install=yes
 		;;
 	i860-*-sysv3*)
-		xm_file=i860/xm-sysv3.h
+		tm_file="${tm_file} svr3.h i860/sysv3.h"
+		xm_defines="USG SVR3"
 		xmake_file=i860/x-sysv3
-		tm_file=i860/sysv3.h
 		extra_parts="crtbegin.o crtend.o"
 		;;
 	i860-*-sysv4*)
-		xm_file=i860/xm-sysv4.h
+		tm_file="${tm_file} svr4.h i860/sysv4.h"
+		xm_defines="USG SVR3"
 		xmake_file=i860/x-sysv4
-		tm_file=i860/sysv4.h
 		tmake_file=t-svr4
 		extra_parts="crtbegin.o crtend.o"
 		;;
 	i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
+		tm_file="${tm_file} i960/vx960.h"
 		tmake_file=i960/t-vxworks960
-		tm_file=i960/vx960.h
 		use_collect2=yes
+		thread_file='vxworks'
 		;;
-	i960-wrs-vxworks5*)
+	i960-wrs-vxworks5* | i960-wrs-vxworks)
+		tm_file="${tm_file} dbxcoff.h i960/i960-coff.h i960/vx960-coff.h"
 		tmake_file=i960/t-vxworks960
-		tm_file=i960/vx960-coff.h
 		use_collect2=yes
+		thread_file='vxworks'
 		;;
 	i960-wrs-vxworks*)
+		tm_file="${tm_file} i960/vx960.h"
 		tmake_file=i960/t-vxworks960
-		tm_file=i960/vx960.h
 		use_collect2=yes
+		thread_file='vxworks'
 		;;
 	i960-*-coff*)
+		tm_file="${tm_file} dbxcoff.h i960/i960-coff.h libgloss.h"
 		tmake_file=i960/t-960bare
-		tm_file=i960/i960-coff.h
+		use_collect2=yes
+		;;
+	i960-*-rtems)
+		tmake_file="i960/t-960bare t-rtems"
+		tm_file="${tm_file} dbxcoff.h i960/rtems.h"
 		use_collect2=yes
 		;;
 	i960-*-*)			# Default i960 environment.
 		use_collect2=yes
 		;;
+	m32r-*-elf*)
+		extra_parts="crtinit.o crtfini.o"
+		;;
 	m68000-convergent-sysv*)
-		cpu_type=m68k
-		xm_file=m68k/xm-3b1.h
 		tm_file=m68k/ctix.h
+		xm_file="m68k/xm-3b1.h ${xm_file}"
+		xm_defines=USG
 		use_collect2=yes
 		extra_headers=math-68881.h
 		;;
 	m68000-hp-bsd*)			# HP 9000/200 running BSD
-		cpu_type=m68k
 		tm_file=m68k/hp2bsd.h
 		xmake_file=m68k/x-hp2bsd
 		use_collect2=yes
 		extra_headers=math-68881.h
 		;;
 	m68000-hp-hpux*)		# HP 9000 series 300
-		cpu_type=m68k
-		xm_file=m68k/xm-hp320.h
+		xm_file="xm_alloca.h ${xm_file}"
+		xm_defines="USG NO_SYS_SIGLIST"
 		if [ x$gas = xyes ]
 		then
 			xmake_file=m68k/x-hp320g
@@ -1259,26 +3323,23 @@ for machine in $canon_build $canon_host $canon_target; do
 			xmake_file=m68k/x-hp320
 			tm_file=m68k/hp310.h
 		fi
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		use_collect2=yes
 		extra_headers=math-68881.h
 		;;
 	m68000-sun-sunos3*)
-		cpu_type=m68k
 		tm_file=m68k/sun2.h
 		use_collect2=yes
 		extra_headers=math-68881.h
 		;;
 	m68000-sun-sunos4*)
-		cpu_type=m68k
 		tm_file=m68k/sun2o4.h
 		use_collect2=yes
 		extra_headers=math-68881.h
 		;;
 	m68000-att-sysv*)
-		cpu_type=m68k
-		xm_file=m68k/xm-3b1.h
+		xm_file="m68k/xm-3b1.h ${xm_file}"
+		xm_defines=USG
 		if [ x$gas = xyes ]
 		then
 			tm_file=m68k/3b1g.h
@@ -1288,17 +3349,40 @@ for machine in $canon_build $canon_host $canon_target; do
 		use_collect2=yes
 		extra_headers=math-68881.h
 		;;
+	m68k-apple-aux*)		# Apple Macintosh running A/UX
+		xm_defines="USG AUX"
+		tmake_file=m68k/t-aux
+		install_headers_dir=install-headers-cpio
+		extra_headers=math-68881.h
+		extra_parts="crt1.o mcrt1.o maccrt1.o crt2.o crtn.o"
+		tm_file=
+		if [ "$gnu_ld" = yes ]
+		then
+			tm_file="${tm_file} m68k/auxgld.h"
+		else
+			tm_file="${tm_file} m68k/auxld.h"
+		fi
+		if [ "$gas" = yes ]
+		then
+			tm_file="${tm_file} m68k/auxgas.h"
+		else
+			tm_file="${tm_file} m68k/auxas.h"
+		fi
+		tm_file="${tm_file} m68k/a-ux.h"
+		float_format=m68k
+		;;
 	m68k-apollo-*)
-		xmake_file=m68k/x-apollo68
 		tm_file=m68k/apollo68.h
+		xmake_file=m68k/x-apollo68
 		use_collect2=yes
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-altos-sysv*)		   # Altos 3068
 		if [ x$gas = xyes ]
 		then
-		        xm_file=m68k/xm-altos3068.h
 		        tm_file=m68k/altos3068.h
+			xm_defines=USG
 		else
 			echo "The Altos is supported only with the GNU assembler" 1>&2
 			exit 1
@@ -1317,95 +3401,122 @@ for machine in $canon_build $canon_host $canon_target; do
 		else
 			tm_file=m68k/dpx2.h
 		fi
-		xm_file=m68k/xm-m68kv.h
+		xm_file="xm-alloca.h ${xm_file}"
+		xm_defines=USG
 		xmake_file=m68k/x-dpx2
 		use_collect2=yes
 		extra_headers=math-68881.h
 		;;
 	m68k-atari-sysv4*)              # Atari variant of V.4.
 		tm_file=m68k/atari.h
-		xm_file=m68k/xm-atari.h
+		xm_file="xm-alloca.h ${xm_file}"
+		xm_defines="USG FULL_PROTOTYPES"
 		tmake_file=t-svr4
 		extra_parts="crtbegin.o crtend.o"
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-motorola-sysv*)
-		xm_file=m68k/xm-mot3300.h
-		xmake_file=m68k/x-mot3300
+		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 ]
 		then
-			tm_file=m68k/mot3300g.h
+			xmake_file=m68k/x-mot3300-gas
+			if [ x$gnu_ld = xyes ]
+			then
+				tmake_file=m68k/t-mot3300-gald
+			else
+				tmake_file=m68k/t-mot3300-gas
+				use_collect2=yes
+			fi
 		else
-			tm_file=m68k/mot3300.h
-			gdb_needs_out_file_path=yes
+			xmake_file=m68k/x-mot3300
+			if [ x$gnu_ld = xyes ]
+			then
+				tmake_file=m68k/t-mot3300-gld
+			else
+				tmake_file=m68k/t-mot3300
+				use_collect2=yes
+			fi
 		fi
-		use_collect2=yes
+		gdb_needs_out_file_path=yes
+		extra_parts="crt0.o mcrt0.o"
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-ncr-sysv*)			# NCR Tower 32 SVR3
 		tm_file=m68k/tower-as.h
-		xm_file=m68k/xm-tower.h
+		xm_defines="USG SVR3"
 		xmake_file=m68k/x-tower
 		extra_parts="crtbegin.o crtend.o"
 		extra_headers=math-68881.h
 		;;
         m68k-plexus-sysv*)
 		tm_file=m68k/plexus.h
-		xm_file=m68k/xm-plexus.h
+		xm_file="xm-alloca.h m68k/xm-plexus.h ${xm_file}"
+		xm_defines=USG
 		use_collect2=yes
 		extra_headers=math-68881.h
 		;;
 	m68k-tti-*)
 		tm_file=m68k/pbb.h
-		xm_file=m68k/xm-m68kv.h
+		xm_file="xm-alloca.h ${xm_file}"
+		xm_defines=USG
 		extra_headers=math-68881.h
 		;;
 	m68k-crds-unos*)
-		xm_file=m68k/xm-crds.h
+		xm_file="xm-alloca.h m68k/xm-crds.h ${xm_file}"
+		xm_defines="USG unos"
 		xmake_file=m68k/x-crds
 		tm_file=m68k/crds.h
-		broken_install=yes
 		use_collect2=yes
 		extra_headers=math-68881.h
 		;;
 	m68k-cbm-sysv4*)		# Commodore variant of V.4.
 		tm_file=m68k/amix.h
-		xm_file=m68k/xm-amix.h
+		xm_file="xm-alloca.h ${xm_file}"
+		xm_defines="USG FULL_PROTOTYPES"
 		xmake_file=m68k/x-amix
 		tmake_file=t-svr4
 		extra_parts="crtbegin.o crtend.o"
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-ccur-rtu)
 		tm_file=m68k/ccur-GAS.h
 		xmake_file=m68k/x-ccur
 		extra_headers=math-68881.h
 		use_collect2=yes
-		broken_install=yes
+		float_format=m68k
 		;;
 	m68k-hp-bsd4.4*)		# HP 9000/3xx running 4.4bsd
 		tm_file=m68k/hp3bsd44.h
 		xmake_file=m68k/x-hp3bsd44
 		use_collect2=yes
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-hp-bsd*)			# HP 9000/3xx running Berkeley Unix
 		tm_file=m68k/hp3bsd.h
 		use_collect2=yes
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-isi-bsd*)
-		if [ x$nfp = xyes ]
+		if [ x$with_fp = xno ]
 		then
 			tm_file=m68k/isi-nfp.h
 		else
 			tm_file=m68k/isi.h
+			float_format=m68k
 		fi
 		use_collect2=yes
 		extra_headers=math-68881.h
 		;;
 	m68k-hp-hpux7*)	# HP 9000 series 300 running HPUX version 7.
-		xm_file=m68k/xm-hp320.h
+		xm_file="xm_alloca.h ${xm_file}"
+		xm_defines="USG NO_SYS_SIGLIST"
 		if [ x$gas = xyes ]
 		then
 			xmake_file=m68k/x-hp320g
@@ -1414,13 +3525,14 @@ for machine in $canon_build $canon_host $canon_target; do
 			xmake_file=m68k/x-hp320
 			tm_file=m68k/hpux7.h
 		fi
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		use_collect2=yes
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-hp-hpux*)	# HP 9000 series 300
-		xm_file=m68k/xm-hp320.h
+		xm_file="xm_alloca.h ${xm_file}"
+		xm_defines="USG NO_SYS_SIGLIST"
 		if [ x$gas = xyes ]
 		then
 			xmake_file=m68k/x-hp320g
@@ -1429,15 +3541,16 @@ for machine in $canon_build $canon_host $canon_target; do
 			xmake_file=m68k/x-hp320
 			tm_file=m68k/hp320.h
 		fi
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		use_collect2=yes
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-sun-mach*)
 		tm_file=m68k/sun3mach.h
 		use_collect2=yes
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-sony-newsos3*)
 		if [ x$gas = xyes ]
@@ -1448,6 +3561,7 @@ for machine in $canon_build $canon_host $canon_target; do
 		fi
 		use_collect2=yes
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-sony-bsd* | m68k-sony-newsos*)
 		if [ x$gas = xyes ]
@@ -1458,40 +3572,48 @@ for machine in $canon_build $canon_host $canon_target; do
 		fi
 		use_collect2=yes
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-next-nextstep2*)
 		tm_file=m68k/next21.h
-		out_file=m68k/next.c
-		xm_file=m68k/xm-next.h
+		xm_file="m68k/xm-next.h ${xm_file}"
 		tmake_file=m68k/t-next
 		xmake_file=m68k/x-next
+		extra_objs=nextstep.o
 		extra_headers=math-68881.h
 		use_collect2=yes
+		float_format=m68k
                 ;;
 	m68k-next-nextstep3*)
 		tm_file=m68k/next.h
-		out_file=m68k/next.c
-		xm_file=m68k/xm-next.h
+		xm_file="m68k/xm-next.h ${xm_file}"
 		tmake_file=m68k/t-next
 		xmake_file=m68k/x-next
+		extra_objs=nextstep.o
 		extra_headers=math-68881.h
+		float_format=m68k
+ 		if [ x$enable_threads = xyes ]; then
+			thread_file='mach'
+		fi
 		;;
 	m68k-sun-sunos3*)
-		if [ x$nfp = xyes ]
+		if [ x$with_fp = xno ]
 		then
 			tm_file=m68k/sun3n3.h
 		else
 			tm_file=m68k/sun3o3.h
+			float_format=m68k
 		fi
 		use_collect2=yes
 		extra_headers=math-68881.h
 		;;
 	m68k-sun-sunos*)			# For SunOS 4 (the default).
-		if [ x$nfp = xyes ]
+		if [ x$with_fp = xno ]
 		then
 			tm_file=m68k/sun3n.h
 		else
 			tm_file=m68k/sun3.h
+			float_format=m68k
 		fi
 		use_collect2=yes
 		extra_headers=math-68881.h
@@ -1500,16 +3622,20 @@ for machine in $canon_build $canon_host $canon_target; do
 		tm_file=m68k/vxm68k.h
 		tmake_file=m68k/t-vxworks68
 		extra_headers=math-68881.h
+		thread_file='vxworks'
+		float_format=m68k
 		;;
 	m68k-*-aout*)
 		tmake_file=m68k/t-m68kbare
-		tm_file=m68k/m68k-aout.h
+		tm_file="m68k/m68k-aout.h libgloss.h"
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-*-coff*)
 		tmake_file=m68k/t-m68kbare
-		tm_file=m68k/m68k-coff.h
+		tm_file="m68k/m68k-coff.h dbx.h libgloss.h"
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-*-lynxos*)
 		if [ x$gas = xyes ]
@@ -1522,75 +3648,111 @@ for machine in $canon_build $canon_host $canon_target; do
 		xmake_file=x-lynx
 		tmake_file=m68k/t-lynx
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
-	m68k-*-netbsd*)
-		cpu_type=m68k
+	m68k*-*-netbsd*)
 		tm_file=m68k/netbsd.h
-		xm_file=m68k/xm-netbsd.h
-		# On NetBSD, the headers are already okay.
-		fixincludes=Makefile.in
-		tmake_file=t-libc-ok
-		xmake_file=x-netbsd
+		xm_file="xm-netbsd.h ${xm_file}"
+		# On NetBSD, the headers are already okay, except for math.h.
+		fixincludes=fixinc.wrap
+		tmake_file=t-netbsd
+		float_format=m68k
+		;;
+	m68k*-*-openbsd*)
+		float_format=m68k
+		# we need collect2 until our bug is fixed...
+		use_collect2=yes
 		;;
 	m68k-*-sysv3*)			# Motorola m68k's running system V.3
-		xm_file=m68k/xm-m68kv.h
+		xm_file="xm-alloca.h ${xm_file}"
+		xm_defines=USG
 		xmake_file=m68k/x-m68kv
 		extra_parts="crtbegin.o crtend.o"
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
 	m68k-*-sysv4*)			# Motorola m68k's running system V.4
 		tm_file=m68k/m68kv4.h
-		xm_file=m68k/xm-m68kv.h
+		xm_file="xm-alloca.h ${xm_file}"
+		xm_defines=USG
 		tmake_file=t-svr4
 		extra_parts="crtbegin.o crtend.o"
 		extra_headers=math-68881.h
+		float_format=m68k
 		;;
-	m68k-*-linux*aout*)		# Motorola m68k's running Linux
-		xm_file=m68k/xm-linux.h	# with a.out format
+	m68k-*-linux-gnuaout*)		# Motorola m68k's running GNU/Linux
+					# with a.out format
 		xmake_file=x-linux
 		tm_file=m68k/linux-aout.h
-		tmake_file=m68k/t-linux
-		fixincludes=Makefile.in #On Linux, the headers are ok already.
+		tmake_file="t-linux-aout m68k/t-linux-aout"
+		fixincludes=Makefile.in # The headers are ok already.
 		extra_headers=math-68881.h
+		float_format=m68k
 		gnu_ld=yes
 		;;
-	m68k-*-linux*)			# Motorola m68k's running Linux
-		xm_file=m68k/xm-linux.h	# with ELF format
+	m68k-*-linux-gnulibc1)		# Motorola m68k's running GNU/Linux
+					# with ELF format using the
+					# GNU/Linux C library 5
 		xmake_file=x-linux
 		tm_file=m68k/linux.h
-		tmake_file=m68k/t-linux
-		fixincludes=Makefile.in #On Linux, the headers are ok already.
+		tmake_file="t-linux t-linux-gnulibc1 m68k/t-linux"
+		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+		fixincludes=Makefile.in # The headers are ok already.
 		extra_headers=math-68881.h
+		float_format=m68k
 		gnu_ld=yes
-		# Don't use it. Linux uses a slightly different one.
-		# The real one comes with the Linux C library.
-		#extra_parts="crtbegin.o crtend.o"
 		;;
+	m68k-*-linux-gnu*)		# Motorola m68k's running GNU/Linux
+					# with ELF format using glibc 2
+					# aka the GNU/Linux C library 6.
+		xmake_file=x-linux
+		tm_file=m68k/linux.h
+		tmake_file="t-linux m68k/t-linux"
+		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+		fixincludes=Makefile.in # The headers are ok already.
+		extra_headers=math-68881.h
+		float_format=m68k
+		gnu_ld=yes
+		if [ x$enable_threads = xyes ]; then
+			thread_file='posix'
+		fi
+		;;
+	m68k-*-psos*)
+		tmake_file=m68k/t-m68kbare
+		tm_file=m68k/m68k-psos.h
+		extra_headers=math-68881.h
+		float_format=m68k
+		;;
+	m68k-*-rtems*)
+		tmake_file="m68k/t-m68kbare t-rtems"
+		tm_file=m68k/rtems.h
+		extra_headers=math-68881.h
+		float_format=m68k
+		;;
+
 	m88k-dg-dgux*)
 		case $machine in
 		  m88k-dg-dguxbcs*)
 		    tm_file=m88k/dguxbcs.h
-		    xmake_file=m88k/x-dguxbcs
+		    tmake_file=m88k/t-dguxbcs
 		    ;;
 		  *)
 		    tm_file=m88k/dgux.h
-		    xmake_file=m88k/x-dgux
+		    tmake_file=m88k/t-dgux
 		    ;;
 		esac
 		extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
-		broken_install=yes
+		xmake_file=m88k/x-dgux
 		if [ x$gas = xyes ]
 		then
 			tmake_file=m88k/t-dgux-gas
-		else
-			tmake_file=m88k/t-dgux
 		fi
 		fixincludes=fixinc.dgux
 		;;
 	m88k-dolphin-sysv3*)
 		tm_file=m88k/dolph.h
 		extra_parts="crtbegin.o crtend.o"
-		xm_file=m88k/xm-sysv3.h
+		xm_file="m88k/xm-sysv3.h ${xm_file}"
 		xmake_file=m88k/x-dolph
 		if [ x$gas = xyes ]
 		then
@@ -1600,7 +3762,7 @@ for machine in $canon_build $canon_host $canon_target; do
 	m88k-tektronix-sysv3)
 		tm_file=m88k/tekXD88.h
 		extra_parts="crtbegin.o crtend.o"
-		xm_file=m88k/xm-sysv3.h
+		xm_file="m88k/xm-sysv3.h ${xm_file}"
 		xmake_file=m88k/x-tekXD88
 		if [ x$gas = xyes ]
 		then
@@ -1608,11 +3770,9 @@ for machine in $canon_build $canon_host $canon_target; do
 		fi
 		;;
 	m88k-*-aout*)
-		cpu_type=m88k
 		tm_file=m88k/m88k-aout.h
 		;;
 	m88k-*-coff*)
-		cpu_type=m88k
 		tm_file=m88k/m88k-coff.h
 		tmake_file=m88k/t-bug
 		;;
@@ -1626,10 +3786,13 @@ for machine in $canon_build $canon_host $canon_target; do
 			tmake_file=m88k/t-luna
 		fi
 		;;
+	m88k-*-openbsd*)
+		tmake_file="${tmake_file} m88k/t-luna-gas"
+		;;
 	m88k-*-sysv3*)
 		tm_file=m88k/sysv3.h
 		extra_parts="crtbegin.o crtend.o"
-		xm_file=m88k/xm-sysv3.h
+		xm_file="m88k/xm-sysv3.h ${xm_file}"
 		xmake_file=m88k/x-sysv3
 		if [ x$gas = xyes ]
 		then
@@ -1645,52 +3808,83 @@ for machine in $canon_build $canon_host $canon_target; do
 	mips-sgi-irix6*)		# SGI System V.4., IRIX 6
 		tm_file=mips/iris6.h
 		xm_file=mips/xm-iris6.h
-		broken_install=yes
-		fixincludes=Makefile.in
+		fixincludes=fixinc.irix
 		xmake_file=mips/x-iris6
 		tmake_file=mips/t-iris6
-		# See comment in mips/iris[56].h files.
-		use_collect2=yes
+ 		if [ x$enable_threads = xyes ]; then
+: not ported yet	thread_file='irix'
+		fi
 		;;
+	mips-wrs-vxworks)
+		tm_file="mips/elf.h libgloss.h"
+ 		tmake_file=mips/t-ecoff
+ 		gas=yes
+		gnu_ld=yes
+ 		extra_parts="crtbegin.o crtend.o"
+#		thread_file='vxworks'
+ 		;;
 	mips-sgi-irix5cross64)		# Irix5 host, Irix 6 target, cross64
-		tm_file=mips/cross64.h
-		xm_file=mips/xm-iris5.h
-		broken_install=yes
+		tm_file="mips/iris6.h mips/cross64.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
+: not ported yet	thread_file='irix'
+		fi
 		;;
-	mips-sgi-irix5*)		# SGI System V.4., IRIX 5
+        mips-sni-sysv4)
 		if [ x$gas = xyes ]
 		then
 			if [ x$stabs = xyes ]
 			then
 				tm_file=mips/iris5gdb.h
 			else
-				tm_file=mips/iris5gas.h
+				tm_file="mips/sni-svr4.h mips/sni-gas.h"
+			fi
+		else
+			tm_file=mips/sni-svr4.h
+		fi
+		xm_defines=USG
+                xmake_file=mips/x-sni-svr4
+                tmake_file=mips/t-mips-gas
+                if [ x$gnu_ld != xyes ]
+                then
+                        use_collect2=yes
+                fi
+                ;;
+	mips-sgi-irix5*)		# SGI System V.4., IRIX 5
+		if [ x$gas = xyes ]
+		then
+			tm_file="mips/iris5.h mips/iris5gas.h"
+			if [ x$stabs = xyes ]
+			then
+				tm_file="${tm_file} dbx.h"
 			fi
 		else
 			tm_file=mips/iris5.h
 		fi
-		xm_file=mips/xm-iris5.h
-		broken_install=yes
-		fixincludes=Makefile.in
+		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
+: not ported yet	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
-			tm_file=mips/iris4gl.h
-		else
-			tm_file=mips/iris4loser.h
+			tm_file="${tm_file} dbx.h"
 		fi
-		xm_file=mips/xm-iris4.h
-		broken_install=yes
+		xm_defines=USG
 		xmake_file=mips/x-iris
 		if [ x$gas = xyes ]
 		then
@@ -1702,15 +3896,16 @@ for machine in $canon_build $canon_host $canon_target; do
 		then
 			use_collect2=yes
 		fi
+ 		if [ x$enable_threads = xyes ]; then
+: not ported yet	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
-			tm_file=mips/iris4-gdb.h
-		else
-			tm_file=mips/iris4.h
+			tm_file="${tm_file} dbx.h"
 		fi
-		xm_file=mips/xm-iris4.h
-		broken_install=yes
+		xm_defines=USG
 		xmake_file=mips/x-iris
 		if [ x$gas = xyes ]
 		then
@@ -1722,15 +3917,16 @@ for machine in $canon_build $canon_host $canon_target; do
 		then
 			use_collect2=yes
 		fi
+ 		if [ x$enable_threads = xyes ]; then
+: not ported yet	thread_file='irix'
+		fi
 		;;
 	mips-sgi-*)			# Mostly like a MIPS.
+		tm_file="mips/iris3.h ${tm_file}"
 		if [ x$stabs = xyes ]; then
-			tm_file=mips/iris3-gdb.h
-		else
-			tm_file=mips/iris3.h
+			tm_file="${tm_file} dbx.h"
 		fi
-		xm_file=mips/xm-iris3.h
-		broken_install=yes
+		xm_defines=USG
 		xmake_file=mips/x-iris3
 		if [ x$gas = xyes ]
 		then
@@ -1744,17 +3940,16 @@ for machine in $canon_build $canon_host $canon_target; do
 		fi
 		;;
 	mips-dec-osfrose*)		# Decstation running OSF/1 reference port with OSF/rose.
-		tm_file=mips/osfrose.h
+		tm_file="mips/osfrose.h ${tm_file}"
 		xmake_file=mips/x-osfrose
 		tmake_file=mips/t-osfrose
 		extra_objs=halfpic.o
 		use_collect2=yes
 		;;
 	mips-dec-osf*)			# Decstation running OSF/1 as shipped by DIGITAL
+		tm_file=mips/dec-osf1.h
 		if [ x$stabs = xyes ]; then
-			tm_file=mips/dec-gosf1.h
-		else
-			tm_file=mips/dec-osf1.h
+			tm_file="${tm_file} dbx.h"
 		fi
 		xmake_file=mips/x-dec-osf1
 		if [ x$gas = xyes ]
@@ -1771,8 +3966,6 @@ for machine in $canon_build $canon_host $canon_target; do
 		;;
 	mips-dec-bsd*)                  # Decstation running 4.4 BSD
               tm_file=mips/dec-bsd.h
-              xmake_file=
-              tmake_file=
               fixincludes=
 	      if [ x$gas = xyes ]
 	      then
@@ -1786,19 +3979,27 @@ for machine in $canon_build $canon_host $canon_target; do
 			use_collect2=yes
 	      fi
 	      ;;
-	mips-dec-netbsd*)                  # Decstation running NetBSD
+	mipsel-*-netbsd* | mips-dec-netbsd*)    # Decstation running NetBSD
 		tm_file=mips/netbsd.h
-		xm_file=mips/xm-netbsd.h
-		xmake_file=x-netbsd
-		tmake_file=t-libc-ok
-		fixincludes=Makefile.in
-		prefix=$native_prefix
+		xm_file="xm-netbsd.h ${xm_file}"
+		# On NetBSD, the headers are already okay, except for math.h.
+		fixincludes=fixinc.wrap
+		tmake_file=t-netbsd
+		;;
+	mips*el-*-openbsd*)	# mips little endian
+		target_cpu_default="MASK_GAS|MASK_ABICALLS"
+		tm_file=mips/openbsd.h
+		xmake_file=none
+		;;
+	mips*-*-openbsd*)		# mips big endian
+		target_cpu_default="MASK_GAS|MASK_ABICALLS"
+		tm_file=mips/openbsd-be.h
+		xmake_file=none
 		;;
 	mips-sony-bsd* | mips-sony-newsos*)	# Sony NEWS 3600 or risc/news.
+		tm_file="mips/news4.h ${tm_file}"
 		if [ x$stabs = xyes ]; then
-			tm_file=mips/news4-gdb.h
-		else
-			tm_file=mips/news4.h
+			tm_file="${tm_file} dbx.h"
 		fi
 		if [ x$gas = xyes ]
 		then
@@ -1815,12 +4016,12 @@ for machine in $canon_build $canon_host $canon_target; do
 	mips-sony-sysv*)		# Sony NEWS 3800 with NEWSOS5.0.
 					# 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
-			tm_file=mips/news5-gdb.h
-		else
-			tm_file=mips/news5.h
+			tm_file="${tm_file} dbx.h"
 		fi
-		xm_file=mips/xm-news.h
+		xm_file="xm-siglist.h ${xm_file}"
+		xm_defines=USG
 		if [ x$gas = xyes ]
 		then
 			tmake_file=mips/t-mips-gas
@@ -1833,12 +4034,12 @@ for machine in $canon_build $canon_host $canon_target; do
 		fi
 		;;
 	mips-tandem-sysv4*)		# Tandem S2 running NonStop UX
+		tm_file="mips/svr4-5.h mips/svr4-t.h"
 		if [ x$stabs = xyes ]; then
-			tm_file=mips/svr4-t-gdb.h
-		else
-			tm_file=mips/svr4-t.h
+			tm_file="${tm_file} dbx.h"
 		fi
-		xm_file=mips/xm-sysv4.h
+		xm_file="xm-siglist.h ${xm_file}"
+		xm_defines=USG
 		xmake_file=mips/x-sysv
 		if [ x$gas = xyes ]
 		then
@@ -1852,13 +4053,11 @@ for machine in $canon_build $canon_host $canon_target; do
 		then
 			use_collect2=yes
 		fi
-		broken_install=yes
 		;;
 	mips-*-ultrix* | mips-dec-mach3)	# Decstation.
+		tm_file="mips/ultrix.h ${tm_file}"
 		if [ x$stabs = xyes ]; then
-			tm_file=mips/ultrix-gdb.h
-		else
-			tm_file=mips/ultrix.h
+			tm_file="${tm_file} dbx.h"
 		fi
 		xmake_file=mips/x-ultrix
 		if [ x$gas = xyes ]
@@ -1874,10 +4073,9 @@ for machine in $canon_build $canon_host $canon_target; do
 		fi
 	        ;;
 	mips-*-riscos[56789]bsd*)
-		if [ x$stabs = xyes ]; then	# MIPS BSD 4.3, RISC-OS 5.0
-			tm_file=mips/bsd-5-gdb.h
-		else
-			tm_file=mips/bsd-5.h
+		tm_file=mips/bsd-5.h	# MIPS BSD 4.3, RISC-OS 5.0
+		if [ x$stabs = xyes ]; then
+			tm_file="${tm_file} dbx.h"
 		fi
 		if [ x$gas = xyes ]
 		then
@@ -1890,13 +4088,11 @@ for machine in $canon_build $canon_host $canon_target; do
 		then
 			use_collect2=yes
 		fi
-		broken_install=yes
 	        ;;
 	mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*)
-		if [ x$stabs = xyes ]; then	# MIPS BSD 4.3, RISC-OS 4.0
-			tm_file=mips/bsd-4-gdb.h
-		else
-			tm_file=mips/bsd-4.h
+		tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
+		if [ x$stabs = xyes ]; then
+			tm_file="${tm_file} dbx.h"
 		fi
 		if [ x$gas = xyes ]
 		then
@@ -1909,15 +4105,13 @@ for machine in $canon_build $canon_host $canon_target; do
 		then
 			use_collect2=yes
 		fi
-		broken_install=yes
 	        ;;
 	mips-*-riscos[56789]sysv4*)
-		if [ x$stabs = xyes ]; then	# MIPS System V.4., RISC-OS 5.0
-			tm_file=mips/svr4-5-gdb.h
-		else
-			tm_file=mips/svr4-5.h
+		tm_file=mips/svr4-5.h	# MIPS System V.4., RISC-OS 5.0
+		if [ x$stabs = xyes ]; then
+			tm_file="${tm_file} dbx.h"
 		fi
-		xm_file=mips/xm-sysv4.h
+		xm_file="xm-siglist.h ${xm_file}"
 		xmake_file=mips/x-sysv
 		if [ x$gas = xyes ]
 		then
@@ -1930,15 +4124,13 @@ for machine in $canon_build $canon_host $canon_target; do
 		then
 			use_collect2=yes
 		fi
-		broken_install=yes
 		;;
 	mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*)
-		if [ x$stabs = xyes ]; then	# MIPS System V.4. RISC-OS 4.0
-			tm_file=mips/svr4-4-gdb.h
-		else
-			tm_file=mips/svr4-4.h
+		tm_file="mips/svr4-4.h ${tm_file}"
+		if [ x$stabs = xyes ]; then
+			tm_file="${tm_file} dbx.h"
 		fi
-		xm_file=mips/xm-sysv.h
+		xm_defines=USG
 		xmake_file=mips/x-sysv
 		if [ x$gas = xyes ]
 		then
@@ -1951,15 +4143,13 @@ for machine in $canon_build $canon_host $canon_target; do
 		then
 			use_collect2=yes
 		fi
-		broken_install=yes
 		;;
 	mips-*-riscos[56789]sysv*)
-		if [ x$stabs = xyes ]; then	# MIPS System V.3, RISC-OS 5.0
-			tm_file=mips/svr3-5-gdb.h
-		else
-			tm_file=mips/svr3-5.h
+		tm_file=mips/svr3-5.h	# MIPS System V.3, RISC-OS 5.0
+		if [ x$stabs = xyes ]; then
+			tm_file="${tm_file} dbx.h"
 		fi
-		xm_file=mips/xm-sysv.h
+		xm_defines=USG
 		xmake_file=mips/x-sysv
 		if [ x$gas = xyes ]
 		then
@@ -1972,15 +4162,13 @@ for machine in $canon_build $canon_host $canon_target; do
 		then
 			use_collect2=yes
 		fi
-		broken_install=yes
 		;;
 	mips-*-sysv* | mips-*-riscos*sysv*)
-		if [ x$stabs = xyes ]; then	# MIPS System V.3, RISC-OS 4.0
-			tm_file=mips/svr3-4-gdb.h
-		else
-			tm_file=mips/svr3-4.h
+		tm_file="mips/svr3-4.h ${tm_file}"
+		if [ x$stabs = xyes ]; then
+			tm_file="${tm_file} dbx.h"
 		fi
-		xm_file=mips/xm-sysv.h
+		xm_defines=USG
 		xmake_file=mips/x-sysv
 		if [ x$gas = xyes ]
 		then
@@ -1993,13 +4181,11 @@ for machine in $canon_build $canon_host $canon_target; do
 		then
 			use_collect2=yes
 		fi
-		broken_install=yes
 		;;
-	mips-*-riscos[56789]*)			# Default MIPS RISC-OS 5.0.
+	mips-*-riscos[56789]*)		# Default MIPS RISC-OS 5.0.
+		tm_file=mips/mips-5.h
 		if [ x$stabs = xyes ]; then
-			tm_file=mips/mips-5-gdb.h
-		else
-			tm_file=mips/mips-5.h
+			tm_file="${tm_file} dbx.h"
 		fi
 		if [ x$gas = xyes ]
 		then
@@ -2011,64 +4197,62 @@ for machine in $canon_build $canon_host $canon_target; do
 		then
 			use_collect2=yes
 		fi
-		broken_install=yes
 		;;
 	mips-*-gnu*)
-		cpu_type=mips	# GNU supports this CPU; rest done below.
 		;;
 	mipsel-*-ecoff*)
-		cpu_type=mips
+		tm_file=mips/ecoffl.h
 		if [ x$stabs = xyes ]; then
-		    tm_file=mips/ecoffl-gdb.h
-		else
-		    tm_file=mips/ecoffl.h
+			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
-		    tm_file=mips/ecoff-gdb.h
-		else
-		    tm_file=mips/ecoff.h
+			tm_file="${tm_file} dbx.h"
 		fi
 		tmake_file=mips/t-ecoff
-		broken_install=yes
 		;;
 	mipsel-*-elf*)
-		cpu_type=mips
-		tm_file=mips/elfl.h
+		tm_file="mips/elfl.h libgloss.h"
 		tmake_file=mips/t-ecoff
 		;;
 	mips-*-elf*)
-		cpu_type=mips
-		tm_file=mips/elf.h
+		tm_file="mips/elf.h libgloss.h"
 		tmake_file=mips/t-ecoff
 		;;
 	mips64el-*-elf*)
-		cpu_type=mips
-		tm_file=mips/elfl64.h
+		tm_file="mips/elfl64.h libgloss.h"
 		tmake_file=mips/t-ecoff
 		;;
 	mips64orionel-*-elf*)
-		cpu_type=mips
-		tm_file=mips/elflorion.h
+		tm_file="mips/elforion.h mips/elfl64.h libgloss.h"
 		tmake_file=mips/t-ecoff
 		;;
 	mips64-*-elf*)
-		cpu_type=mips
-		tm_file=mips/elf64.h
+		tm_file="mips/elf64.h libgloss.h"
 		tmake_file=mips/t-ecoff
 		;;
 	mips64orion-*-elf*)
-		cpu_type=mips
-		tm_file=mips/elforion.h
+		tm_file="mips/elforion.h mips/elf64.h libgloss.h"
 		tmake_file=mips/t-ecoff
 		;;
+	mips64orion-*-rtems*)
+		tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
+		tmake_file="mips/t-ecoff t-rtems"
+		;;
+	mipstx39el-*-elf*)
+		tm_file="mips/r3900.h mips/elfl.h mips/abi64.h libgloss.h"
+		tmake_file=mips/t-r3900
+		;;
+	mipstx39-*-elf*)
+		tm_file="mips/r3900.h mips/elf.h mips/abi64.h libgloss.h"
+		tmake_file=mips/t-r3900
+		;;
 	mips-*-*)				# Default MIPS RISC-OS 4.0.
 		if [ x$stabs = xyes ]; then
-			tm_file=mips/mips-4-gdb.h
-		else
-			tm_file=mips/mips.h
+			tm_file="${tm_file} dbx.h"
 		fi
 		if [ x$gas = xyes ]
 		then
@@ -2081,6 +4265,24 @@ for machine in $canon_build $canon_host $canon_target; do
 			use_collect2=yes
 		fi
 		;;
+	mn10200-*-*)
+		cpu_type=mn10200
+		tm_file="mn10200/mn10200.h"
+		if [ x$stabs = xyes ]
+		then
+			tm_file="${tm_file} dbx.h"
+		fi
+		use_collect2=no
+		;;
+	mn10300-*-*)
+		cpu_type=mn10300
+		tm_file="mn10300/mn10300.h"
+		if [ x$stabs = xyes ]
+		then
+			tm_file="${tm_file} dbx.h"
+		fi
+		use_collect2=no
+		;;
 	ns32k-encore-bsd*)
 		tm_file=ns32k/encore.h
 		use_collect2=yes
@@ -2091,20 +4293,17 @@ for machine in $canon_build $canon_host $canon_target; do
 		;;
 	ns32k-tek6100-bsd*)
 		tm_file=ns32k/tek6100.h
-		broken_install=yes
 		use_collect2=yes
 		;;
 	ns32k-tek6200-bsd*)
 		tm_file=ns32k/tek6200.h
-		broken_install=yes
 		use_collect2=yes
 		;;
 # This has not been updated to GCC 2.
 #	ns32k-ns-genix*)
-#		xm_file=ns32k/xm-genix.h
+#		xm_defines=USG
 #		xmake_file=ns32k/x-genix
 #		tm_file=ns32k/genix.h
-#		broken_install=yes
 #		use_collect2=yes
 #		;;
 	ns32k-merlin-*)
@@ -2117,16 +4316,24 @@ for machine in $canon_build $canon_host $canon_target; do
 		;;
 	ns32k-pc532-minix*)
 		tm_file=ns32k/pc532-min.h
-		xm_file=ns32k/xm-pc532-min.h
+		xm_file="ns32k/xm-pc532-min.h ${xm-file}"
+		xm_defines=USG
 		use_collect2=yes
 		;;
-	ns32k-pc532-netbsd*)
+	ns32k-*-netbsd*)
 		tm_file=ns32k/netbsd.h
-		xm_file=ns32k/xm-netbsd.h
-		tmake_file=t-libc-ok
-		# On NetBSD, the headers are already okay.
-		fixincludes=Makefile.in
-		xmake_file=x-netbsd
+		xm_file="xm-netbsd.h ${xm_file}"
+		# On NetBSD, the headers are already okay, except for math.h.
+		fixincludes=fixinc.wrap
+		tmake_file=t-netbsd
+		;;
+        pdp11-*-bsd)
+		tm_file="${tm_file} pdp11/2bsd.h"
+                ;;
+        pdp11-*-*)
+		;;
+	ns32k-*-openbsd*)
+		# Nothing special
 		;;
 	pyramid-*-*)
 		cpu_type=pyr
@@ -2140,149 +4347,333 @@ for machine in $canon_build $canon_host $canon_target; do
 		xmake_file=romp/x-mach
 		use_collect2=yes
 		;;
-	powerpc-ibm-aix[456789].*)
-		cpu_type=rs6000
-		tm_file=rs6000/aix41ppc.h
-		tmake_file=rs6000/t-newas
-		use_collect2=yes
+	romp-*-openbsd*)
+		# Nothing special
 		;;
-	powerpc-ibm-aix*)
-		cpu_type=rs6000
-		tm_file=rs6000/powerpc.h
-		tmake_file=rs6000/t-rs6000
-		use_collect2=yes
+	powerpc-*-openbsd*)
+		tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
+		xmake_file=none
 		;;
-	powerpc-*-sysv4* | powerpc-*-elf*)
+	powerpc-*-beos*)
 		cpu_type=rs6000
-		xm_file=rs6000/xm-sysv4.h
+		tm_file=rs6000/beos.h
+		xm_file=rs6000/xm-beos.h
+		tmake_file=rs6000/t-beos
+		xmake_file=rs6000/x-beos
+		;;
+	powerpc-*-sysv* | powerpc-*-elf*)
 		tm_file=rs6000/sysv4.h
+		xm_file="xm-siglist.h rs6000/xm-sysv4.h"
+		xm_defines="USG POSIX"
+		extra_headers=ppc-asm.h
 		if [ x$gas = xyes ]
 		then
-		     tmake_file=rs6000/t-ppcgas
+			tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
 		else
-		     tmake_file=rs6000/t-ppc
+			tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
 		fi
 		xmake_file=rs6000/x-sysv4
 		;;
 	powerpc-*-eabiaix*)
-		cpu_type=rs6000
 		tm_file=rs6000/eabiaix.h
-		tmake_file=rs6000/t-eabiaix
+		tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
 		fixincludes=Makefile.in
+		extra_headers=ppc-asm.h
 		;;
 	powerpc-*-eabisim*)
-		cpu_type=rs6000
 		tm_file=rs6000/eabisim.h
-		tmake_file=rs6000/t-eabisim
+		tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
 		fixincludes=Makefile.in
+		extra_headers=ppc-asm.h
 		;;
 	powerpc-*-eabi*)
-		cpu_type=rs6000
 		tm_file=rs6000/eabi.h
 		if [ x$gas = xyes ]
 		then
-		     tmake_file=rs6000/t-eabigas
+			tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
 		else
-		     tmake_file=rs6000/t-eabi
+			tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
 		fi
 		fixincludes=Makefile.in
+		extra_headers=ppc-asm.h
 		;;
-	powerpcle-*-sysv4* | powerpcle-*-elf*)
-		cpu_type=rs6000
-		xm_file=rs6000/xm-sysv4.h
-		tm_file=rs6000/sysv4le.h
+	powerpc-*-rtems*)
+		tm_file=rs6000/rtems.h
 		if [ x$gas = xyes ]
 		then
-		     tmake_file=rs6000/t-ppclegas
+		     tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
 		else
-		     tmake_file=rs6000/t-ppc
+		     tmake_file="rs6000/t-ppc t-rtems rs6000/t-ppccomm"
+		fi
+		fixincludes=Makefile.in
+		extra_headers=ppc-asm.h
+		;;
+	powerpc-*-linux-gnulibc1)
+		tm_file=rs6000/linux.h
+		xm_file=rs6000/xm-sysv4.h
+		out_file=rs6000/rs6000.c
+		if [ x$gas = xyes ]
+		then
+			tmake_file="rs6000/t-ppcos t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
+		else
+			tmake_file="rs6000/t-ppc t-linux t-linux-gnulibc1 rs6000/t-ppccomm"
+		fi
+		xmake_file=x-linux
+		fixincludes=Makefile.in
+		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+		extra_headers=ppc-asm.h
+		if [ x$enable_threads = xyes ]; then
+			thread_file='posix'
+		fi
+		;;
+	powerpc-*-linux-gnu*)
+		tm_file=rs6000/linux.h
+		xm_file="xm-siglist.h rs6000/xm-sysv4.h"
+		xm_defines="USG ${xm_defines}"
+		out_file=rs6000/rs6000.c
+		if [ x$gas = xyes ]
+		then
+			tmake_file="rs6000/t-ppcos t-linux rs6000/t-ppccomm"
+		else
+			tmake_file="rs6000/t-ppc t-linux rs6000/t-ppccomm"
+		fi
+		xmake_file=x-linux
+		fixincludes=Makefile.in
+		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+		extra_headers=ppc-asm.h
+		if [ x$enable_threads = xyes ]; then
+			thread_file='posix'
+		fi
+		;;
+        powerpc-wrs-vxworks*)
+                cpu_type=rs6000
+		xm_file="xm-siglist.h rs6000/xm-sysv4.h"
+		xm_defines="USG POSIX"
+                tm_file=rs6000/vxppc.h
+                tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
+		extra_headers=ppc-asm.h
+		thread_file='vxworks'
+                ;;
+	powerpcle-*-sysv* | powerpcle-*-elf*)
+		tm_file=rs6000/sysv4le.h
+		xm_file="xm-siglist.h rs6000/xm-sysv4.h"
+		xm_defines="USG POSIX"
+		if [ x$gas = xyes ]
+		then
+			tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
+		else
+			tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
 		fi
 		xmake_file=rs6000/x-sysv4
+		extra_headers=ppc-asm.h
 		;;
 	powerpcle-*-eabisim*)
-		cpu_type=rs6000
 		tm_file=rs6000/eabilesim.h
-		tmake_file=rs6000/t-eabisim
+		tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
 		fixincludes=Makefile.in
+		extra_headers=ppc-asm.h
 		;;
 	powerpcle-*-eabi*)
-		cpu_type=rs6000
 		tm_file=rs6000/eabile.h
 		if [ x$gas = xyes ]
 		then
-		     tmake_file=rs6000/t-eabilegas
+			tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
 		else
-		     tmake_file=rs6000/t-eabi
+			tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
 		fi
 		fixincludes=Makefile.in
+		extra_headers=ppc-asm.h
+		;;
+        powerpcle-*-winnt* )
+                tm_file=rs6000/win-nt.h
+                tmake_file=rs6000/t-winnt
+#               extra_objs=pe.o
+		fixincludes=Makefile.in
+ 		if [ x$enable_threads = xyes ]; then
+			thread_file='win32'
+		fi
+		extra_headers=ppc-asm.h
+		;;
+	powerpcle-*-pe | powerpcle-*-cygwin32)
+		tm_file=rs6000/cygwin32.h
+		xm_file="rs6000/xm-cygwin32.h ${xm_file}"
+		tmake_file=rs6000/t-winnt
+		xmake_file=rs6000/x-cygwin32
+#		extra_objs=pe.o
+		fixincludes=Makefile.in
+ 		if [ x$enable_threads = xyes ]; then
+			thread_file='win32'
+		fi
+		exeext=.exe
+		extra_headers=ppc-asm.h
+		;;
+	powerpcle-*-solaris2*)
+		tm_file=rs6000/sol2.h
+		xm_file="xm-siglist.h rs6000/xm-sysv4.h"
+		xm_defines="USG POSIX"
+		if [ x$gas = xyes ]
+		then
+			tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
+		else
+			tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
+		fi
+		xmake_file=rs6000/x-sysv4
+		case $machine in
+		*-*-solaris2.[0-4])
+			fixincludes=fixinc.svr4;;
+		*)
+			fixincludes=fixinc.wrap;;
+		esac
+		extra_headers=ppc-asm.h
 		;;
 	rs6000-ibm-aix3.[01]*)
 		tm_file=rs6000/aix31.h
-		tmake_file=rs6000/t-rs6000
 		xmake_file=rs6000/x-aix31
 		use_collect2=yes
 		;;
-	rs6000-ibm-aix3.2.[456789]*)
+	rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
 		tm_file=rs6000/aix3newas.h
-		tmake_file=rs6000/t-newas
+		if [ x$host != x$target ]
+		then
+			tmake_file=rs6000/t-xnewas
+		else
+			tmake_file=rs6000/t-newas
+		fi
 		use_collect2=yes
 		;;
-	rs6000-ibm-aix[456789].*)
+	rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
 		tm_file=rs6000/aix41.h
-		tmake_file=rs6000/t-newas
-		xmake_file=rs6000/x-aix31
+		if [ x$host != x$target ]
+		then
+			tmake_file=rs6000/t-xnewas
+		else
+			tmake_file=rs6000/t-newas
+		fi
+		xmake_file=rs6000/x-aix41
+		use_collect2=yes
+		;;
+	rs6000-ibm-aix4.[3456789].* | powerpc-ibm-aix4.[3456789].*)
+		tm_file=rs6000/aix43.h
+		if [ 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[56789].* | powerpc-ibm-aix[56789].*)
+		tm_file=rs6000/aix43.h
+		if [ 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*)
 		use_collect2=yes
-		tmake_file=rs6000/t-rs6000
 		;;
 	rs6000-bull-bosx)
-		tmake_file=rs6000/t-rs6000
 		use_collect2=yes
 		;;
 	rs6000-*-mach*)
-		xm_file=rs6000/xm-mach.h
 		tm_file=rs6000/mach.h
-		tmake_file=rs6000/t-rs6000
+		xm_file="${xm_file} rs6000/xm-mach.h"
 		xmake_file=rs6000/x-mach
 		use_collect2=yes
 		;;
 	rs6000-*-lynxos*)
-		xmake_file=rs6000/x-lynx
-		xm_file=rs6000/xm-lynx.h
 		tm_file=rs6000/lynx.h
+		xm_file=rs6000/xm-lynx.h
 		tmake_file=rs6000/t-rs6000
+		xmake_file=rs6000/x-lynx
 		use_collect2=yes
 		;;
+	sh-*-elf*)
+		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
+		float_format=sh
+		;;
 	sh-*-*)
-		cpu_type=sh
+		float_format=sh
 		;;
 	sparc-tti-*)
 		tm_file=sparc/pbd.h
-		xm_file=sparc/xm-pbd.h
+		xm_file="xm-alloca.h ${xm_file}"
+		xm_defines=USG
 		;;
 	sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
-		cpu_type=sparc
 		tm_file=sparc/vxsparc.h
 		tmake_file=sparc/t-vxsparc
 		use_collect2=yes
+		thread_file='vxworks'
 		;;
 	sparc-*-aout*)
 		tmake_file=sparc/t-sparcbare
-		tm_file=sparc/sparc-aout.h
+		tm_file="sparc/aout.h libgloss.h"
 		;;
 	sparc-*-netbsd*)
 		tm_file=sparc/netbsd.h
-		xm_file=sparc/xm-netbsd.h
-		# On NetBSD, the headers are already okay.
-		fixincludes=Makefile.in
-		tmake_file=t-libc-ok
-		xmake_file=x-netbsd
+		xm_file="xm-netbsd.h ${xm_file}"
+		# On NetBSD, the headers are already okay, except for math.h.
+		fixincludes=fixinc.wrap
+		tmake_file=t-netbsd
+		;;
+	sparc-*-openbsd*)
+		# we need collect2 until our bug is fixed...
+		use_collect2=yes
 		;;
 	sparc-*-bsd*)
 		tm_file=sparc/bsd.h
 		;;
+	sparc-*-elf*)
+		tm_file=sparc/elf.h
+		tmake_file=sparc/t-elf
+		extra_parts="crti.o crtn.o crtbegin.o crtend.o"
+		#float_format=i128
+		float_format=i64
+		;;
+	sparc-*-linux-gnuaout*)		# Sparc's running GNU/Linux, a.out
+		xm_file="${xm_file} sparc/xm-linux.h"
+		tm_file=sparc/linux-aout.h
+		xmake_file=x-linux
+		fixincludes=Makefile.in #On Linux, the headers are ok already.
+		gnu_ld=yes
+		;;
+	sparc-*-linux-gnulibc1*)	# Sparc's running GNU/Linux, libc5
+		xm_file="${xm_file} sparc/xm-linux.h"
+		xmake_file=x-linux
+		tm_file=sparc/linux.h
+		tmake_file="t-linux t-linux-gnulibc1"
+		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+		fixincludes=Makefile.in #On Linux, the headers are ok already.
+		gnu_ld=yes
+		;;
+	sparc-*-linux-gnu*)		# Sparc's running GNU/Linux, libc6
+		xm_file="${xm_file} sparc/xm-linux.h"
+		xmake_file=x-linux
+		tm_file=sparc/linux.h
+		tmake_file="t-linux"
+		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
+ 			thread_file='posix'
+ 		fi
+		;;
 	sparc-*-lynxos*)
 		if [ x$gas = xyes ]
 		then
@@ -2294,14 +4685,42 @@ for machine in $canon_build $canon_host $canon_target; do
 		tmake_file=sparc/t-sunos41
 		xmake_file=x-lynx
 		;;
-	sparc-*-solaris2* | sparc-*-sunos5*)
-		xm_file=sparc/xm-sol2.h
-		tm_file=sparc/sol2.h
+	sparc-*-rtems*)
+		tmake_file="sparc/t-sparcbare t-rtems"
+		tm_file=sparc/rtems.h
+		;;
+	sparc-*-solaris2*)
+		if [ x$gnu_ld = xyes ]
+		then
+			tm_file=sparc/sol2.h
+		else
+			tm_file=sparc/sol2-sld.h
+		fi
+		xm_file="xm-siglist.h 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 gmon.o crtbegin.o crtend.o"
-		fixincludes=fixinc.svr4
-		broken_install=yes
+		extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
+		case $machine in
+		*-*-solaris2.[0-4])
+			fixincludes=fixinc.svr4;;
+		*)
+			fixincludes=fixinc.wrap;;
+		esac
+		float_format=i128
+		if [ x${enable_threads} = x ]; then
+		    enable_threads=$have_pthread_h
+		    if [ 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
+			thread_file='posix'
+		    else
+			thread_file='solaris'
+		    fi
+		fi
 		;;
 	sparc-*-sunos4.0*)
 		tm_file=sparc/sunos4.h
@@ -2312,86 +4731,123 @@ for machine in $canon_build $canon_host $canon_target; do
 		tm_file=sparc/sunos4.h
 		tmake_file=sparc/t-sunos41
 		use_collect2=yes
+		if [ x$gas = xyes ]; then
+			tm_file="${tm_file} sparc/sun4gas.h"
+		fi
 		;;
 	sparc-*-sunos3*)
 		tm_file=sparc/sun4o3.h
 		use_collect2=yes
 		;;
 	sparc-*-sysv4*)
-		xm_file=sparc/xm-sysv4.h
 		tm_file=sparc/sysv4.h
+		xm_file="xm-siglist.h 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_defines="USG POSIX"
+		tm_file=sparc/vxsim.h
+		tmake_file=sparc/t-vxsparc
+		xmake_file=sparc/x-sysv4
+		;;
+	sparclet-*-aout*)
+		tm_file="sparc/splet.h libgloss.h"
+		tmake_file=sparc/t-splet
+		;;
 	sparclite-*-coff*)
-		cpu_type=sparc
-		tm_file=sparc/litecoff.h
+		tm_file="sparc/litecoff.h libgloss.h"
 		tmake_file=sparc/t-sparclite
 		;;
-	sparclite-*-*)
-		cpu_type=sparc
-		tm_file=sparc/lite.h
+	sparclite-*-aout*)
+		tm_file="sparc/lite.h aoutos.h libgloss.h"
 		tmake_file=sparc/t-sparclite
-		use_collect2=yes
 		;;
 	sparc64-*-aout*)
-		cpu_type=sparc
 		tmake_file=sparc/t-sp64
 		tm_file=sparc/sp64-aout.h
 		;;
 	sparc64-*-elf*)
-		cpu_type=sparc
 		tmake_file=sparc/t-sp64
 		tm_file=sparc/sp64-elf.h
 		extra_parts="crtbegin.o crtend.o"
 		;;
+	sparc64-*-linux*)		# 64-bit Sparc's running GNU/Linux
+		tmake_file=sparc/t-sp64
+		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.
+		gnu_ld=yes
+		;;
 # This hasn't been upgraded to GCC 2.
 #	tahoe-harris-*)			# Harris tahoe, using COFF.
 #		tm_file=tahoe/harris.h
 #		;;
 #	tahoe-*-bsd*)			# tahoe running BSD
 #		;;
+	thumb-*-coff* | thumbel-*-coff*)
+		tm_file=arm/tcoff.h
+		out_file=arm/thumb.c
+		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-*-*)
 #		cpu_type=gmicro
 #		use_collect2=yes
 #		;;
+	v850-*-*)
+		cpu_type=v850
+		tm_file="v850/v850.h"
+		xm_file="v850/xm-v850.h"
+		tmake_file=v850/t-v850
+		if [ x$stabs = xyes ]
+		then
+			tm_file="${tm_file} dbx.h"
+		fi
+		use_collect2=no
+		;;
 	vax-*-bsd*)			# vaxen running BSD
 		use_collect2=yes
+		float_format=vax
 		;;
 	vax-*-sysv*)			# vaxen running system V
-		xm_file=vax/xm-vaxv.h
-		tm_file=vax/vaxv.h
+		tm_file="${tm_file} vax/vaxv.h"
+		xm_defines=USG
+		float_format=vax
 		;;
 	vax-*-netbsd*)
-		tm_file=vax/netbsd.h
-		xm_file=vax/xm-netbsd.h
-		tmake_file=t-libc-ok
-		# On NetBSD, the headers are already okay.
-		fixincludes=Makefile.in
-		xmake_file=x-netbsd
+		tm_file="${tm_file} netbsd.h vax/netbsd.h"
+		xm_file="xm-netbsd.h ${xm_file}"
+		# On NetBSD, the headers are already okay, except for math.h.
+		fixincludes=fixinc.wrap
+		tmake_file=t-netbsd
+		float_format=vax
+		;;
+	vax-*-openbsd*)
+		tmake_file="${tm_file} vax/t-openbsd"
 		;;
 	vax-*-ultrix*)			# vaxen running ultrix
-		tm_file=vax/ultrix.h
+		tm_file="${tm_file} vax/ultrix.h"
 		use_collect2=yes
+		float_format=vax
 		;;
 	vax-*-vms*)			# vaxen running VMS
 		xm_file=vax/xm-vms.h
 		tm_file=vax/vms.h
+		float_format=vax
 		;;
-        pdp11-*-bsd)
-		xm_file=pdp11/xm-pdp11.h
-		tm_file=pdp11/2bsd.h
-		tmake_file=pdp11/t-pdp11
-                ;;
-        pdp11-*-*)
-		xm_file=pdp11/xm-pdp11.h
-		tm_file=pdp11/pdp11.h
-		tmake_file=pdp11/t-pdp11
+	vax-*-*)			# vax default entry
+		float_format=vax
 		;;
 	we32k-att-sysv*)
-		cpu_type=we32k
+		xm_file="${xm_file} xm-svr3"
 		use_collect2=yes
 		;;
 	*)
@@ -2401,13 +4857,15 @@ for machine in $canon_build $canon_host $canon_target; do
 	esac
 
 	case $machine in
+	*-*-linux-gnu*)
+	        ;; # Existing GNU/Linux systems do not use the GNU setup.
 	*-*-gnu*)
 		# On the GNU system, the setup is just about the same on
 		# each different CPU.  The specific machines that GNU
 		# supports are matched above and just set $cpu_type.
-		xm_file=${cpu_type}/xm-gnu.h
+		xm_file="xm-gnu.h ${xm_file}"
 		tm_file=${cpu_type}/gnu.h
-		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+		extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
 		# GNU always uses ELF.
 		elf=yes
 		# GNU tools are the only tools.
@@ -2415,129 +4873,374 @@ for machine in $canon_build $canon_host $canon_target; do
 		gas=yes
 		# On GNU, the headers are already okay.
 		fixincludes=Makefile.in
-		# Don't build libgcc1.c, because there is no non-GNU
-		# compiler to build it with.  The GNU system C library will
-		# include assembly versions of any needed functions.
-		tmake_file=t-libc-ok
+		xmake_file=x-linux	# These details are the same as Linux.
+		tmake_file=t-gnu	# These are not.
 		;;
 	*-*-sysv4*)
 		fixincludes=fixinc.svr4
 		xmake_try_sysv=x-sysv
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		;;
 	*-*-sysv*)
-		broken_install=yes
 		install_headers_dir=install-headers-cpio
 		;;
 	esac
 
-	# Distinguish i386 from i486/i586.
-	# ??? For the moment we treat i586 as an i486.
+	# Distinguish i[34567]86
 	# Also, do not run mips-tfile on MIPS if using gas.
+	# Process --with-cpu= for PowerPC/rs6000
+	target_cpu_default2=
 	case $machine in
-	i[45]86-*-*)
-		target_cpu_default=2
+	i486-*-*)
+		target_cpu_default2=1
+		;;
+	i586-*-*)
+		target_cpu_default2=2
+		;;
+	i686-*-* | i786-*-*)
+		target_cpu_default2=3
+		;;
+	alpha*-*-*)
+		case $machine in
+			alphaev6*)
+				target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_CIX|MASK_MAX"
+				;;
+			alphapca56*)
+				target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
+				;;
+			alphaev56*)
+				target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
+				;;
+			alphaev5*)
+				target_cpu_default2="MASK_CPU_EV5"
+				;;
+		esac
+				
+		if [ x$gas = xyes ]
+		then
+			if [ "$target_cpu_default2" = "" ]
+			then
+				target_cpu_default2="MASK_GAS"
+			else
+				target_cpu_default2="${target_cpu_default2}|MASK_GAS"
+			fi
+		fi
+		;;
+	arm*-*-*)
+		case "x$with_cpu" in
+			x)
+				# The most generic
+				target_cpu_default2="TARGET_CPU_generic"
+				;;
+
+			# Distinguish cores, and major variants
+			# arm7m doesn't exist, but D & I don't affect code
+			xarm23678 | xarm250 | xarm67010 \
+			| xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
+			| xarm7100 | xarm7500 | xarm7500fe | xarm810 \
+			| xstrongarm | xstrongarm110)
+				target_cpu_default2="TARGET_CPU_$with_cpu"
+				;;
+
+			xyes | xno)
+				echo "--with-cpu must be passed a value" 1>&2
+				exit 1
+				;;
+
+			*)
+				if [ x$pass2done = xyes ]
+				then
+					echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
+					exit 1
+				fi
+				;;
+		esac
+		;;
+
+	mips*-*-ecoff* | mips*-*-elf*)
+		if [ x$gas = xyes ]
+		then
+			if [ x$gnu_ld = xyes ]
+			then
+				target_cpu_default2=20
+			else
+				target_cpu_default2=16
+			fi
+		fi
 		;;
 	mips*-*-*)
 		if [ x$gas = xyes ]
 		then
-			target_cpu_default=16
+			target_cpu_default2=16
 		fi
 		;;
-	alpha-*-*)
-		if [ x$gas = xyes ]
-		then
-			target_cpu_default=4
-		fi
+	powerpc*-*-* | rs6000-*-*)
+		case "x$with_cpu" in
+			x)
+				;;
+
+			xcommon | xpower | xpower2 | xpowerpc | xrios \
+			  | xrios1 | xrios2 | xrsc | xrsc1 \
+			  | x601 | x602 | x603 | x603e | x604 | x604e | x620 \
+			  | x403 | x505 | x801 | x821 | x823 | x860)
+				target_cpu_default2="\"$with_cpu\""
+				;;
+
+			xyes | xno)
+				echo "--with-cpu must be passed a value" 1>&2
+				exit 1
+				;;
+
+			*)
+				if [ x$pass2done = xyes ]
+				then
+					echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
+					exit 1
+				fi
+				;;
+		esac
+		;;
+	sparc*-*-*)
+		case ".$with_cpu" in
+			.)
+				target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
+				;;
+			.supersparc | .ultrasparc | .v7 | .v8 | .v9)
+				target_cpu_default2="TARGET_CPU_$with_cpu"
+				;;
+			*)
+				if [ x$pass2done = xyes ]
+				then
+					echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
+					exit 1
+				fi
+				;;
+		esac
 		;;
 	esac
 
+	if [ "$target_cpu_default2" != "" ]
+	then
+		if [ "$target_cpu_default" != "" ]
+		then
+			target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
+		else
+			target_cpu_default=$target_cpu_default2
+		fi
+	fi
+
 	# No need for collect2 if we have the GNU linker.
-	case x$gnu_ld in 
-	xyes)
-		use_collect2=
-		;;
-	esac
-
-# Default certain vars that apply to both host and target in turn.
-	if [ x$cpu_type = x ]
-	then cpu_type=`echo $machine | sed 's/-.*$//'`
-	fi
+	# 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 ]
 	then
-		if [ x$xm_file = x ]
+		if [ x"$xm_file" = x ]
 		then build_xm_file=$cpu_type/xm-$cpu_type.h
 		else build_xm_file=$xm_file
 		fi
+		build_xm_defines=$xm_defines
+		build_install_headers_dir=$install_headers_dir
+		build_exeext=$exeext
 		pass1done=yes
 	else
 		if [ x$pass2done = x ]
 		then
-			if [ x$xm_file = x ]
+			if [ x"$xm_file" = x ]
 			then host_xm_file=$cpu_type/xm-$cpu_type.h
 			else host_xm_file=$xm_file
 			fi
-			if [ x$xmake_file = x ]
+			host_xm_defines=$xm_defines
+			if [ x"$xmake_file" = x ]
 			then xmake_file=$cpu_type/x-$cpu_type
 			fi
-			host_xmake_file=$xmake_file
-			host_broken_install=$broken_install
-			host_install_headers_dir=$install_headers_dir
+			host_xmake_file="$xmake_file"
 			host_truncate_target=$truncate_target
+			host_extra_gcc_objs=$extra_gcc_objs
+			host_extra_objs=$extra_host_objs
+			host_exeext=$exeext
 			pass2done=yes
 		fi
 	fi
 done
 
+extra_objs="${host_extra_objs} ${extra_objs}"
+
 # Default the target-machine variables that were not explicitly set.
-if [ x$tm_file = x ]
+if [ x"$tm_file" = x ]
 then tm_file=$cpu_type/$cpu_type.h; fi
 
 if [ x$extra_headers = x ]
 then extra_headers=; fi
 
-if [ x$xm_file = x ]
+if [ x"$xm_file" = x ]
 then xm_file=$cpu_type/xm-$cpu_type.h; fi
 
-md_file=$cpu_type/$cpu_type.md
+if [ x$md_file = x ]
+then md_file=$cpu_type/$cpu_type.md; fi
 
 if [ x$out_file = x ]
 then out_file=$cpu_type/$cpu_type.c; fi
 
-if [ x$tmake_file = x ]
+if [ x"$tmake_file" = x ]
 then tmake_file=$cpu_type/t-$cpu_type
 fi
 
+if [ x$float_format = x ]
+then float_format=i64
+fi
+
+if [ x$enable_haifa = x ]
+then
+  case $target in
+    alpha*-* | hppa1.?-* | powerpc*-* | rs6000-* | *sparc*-* | m32r*-*)
+      enable_haifa=yes;;
+  esac
+fi
+
+# Handle cpp installation.
+if [ x$enable_cpp != x ]
+then
+  tmake_file="$tmake_file t-install-cpp"
+  case x$enable_cpp in
+    xyes | xno) ;;
+    x/*) cpp_install_dir=$enable_cpp ;;
+    x.*) echo "alternate cpp script installation directory must be an absolute path" 1>&2
+	exit 1
+	;;
+  esac
+fi
+
 # Say what files are being used for the output code and MD file.
 echo "Using \`$srcdir/config/$out_file' to output insns."
 echo "Using \`$srcdir/config/$md_file' as machine description file."
-echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
-echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
-if [ $host_xm_file != $build_xm_file ]; then
-	echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
+
+count=a
+for f in $tm_file; do
+	count=${count}x
+done
+if [ $count = ax ]; then
+	echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
+else
+	echo "Using the following target machine macro files:"
+	for f in $tm_file; do
+		echo "	$srcdir/config/$f"
+	done
 fi
 
-# Set up the list of links to be made.
-# $links is the list of link names, and $files is the list of names to link to.
-files="$host_xm_file $tm_file $xm_file $build_xm_file"
+count=a
+for f in $host_xm_file; do
+	count=${count}x
+done
+if [ $count = ax ]; then
+	echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
+else
+	echo "Using the following host machine macro files:"
+	for f in $host_xm_file; do
+		echo "	$srcdir/config/$f"
+	done
+fi
+
+if [ "$host_xm_file" != "$build_xm_file" ]; then
+	count=a
+	for f in $build_xm_file; do
+		count=${count}x
+	done
+	if [ $count = ax ]; then
+		echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
+	else
+		echo "Using the following build machine macro files:"
+		for f in $build_xm_file; do
+			echo "	$srcdir/config/$f"
+		done
+	fi
+fi
+
+if [ x$thread_file = x ]; then
+	if [ x$target_thread_file != x ]; then
+		thread_file=$target_thread_file
+	else
+		thread_file='single'
+	fi
+fi
+
+# Set up the header files.
+# $links is the list of header files to create.
+# $vars is the list of shell variables with file names to include.
+# auto-host.h is the file containing items generated by autoconf and is
+# the first file included by config.h.
+null_defines=
+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 ]
+then
+	build_xm_file="auto-host.h ${build_xm_file}"
+else
+	# We create a subdir, then run autoconf in the subdir.
+	# To prevent recursion we set host and build for the new
+	# invocation of configure to the build for this invocation
+	# of configure. 
+	tempdir=build.$$
+	rm -rf $tempdir
+	mkdir $tempdir
+	cd $tempdir
+	case ${srcdir} in
+	/*) realsrcdir=${srcdir};;
+	*) realsrcdir=../${srcdir};;
+	esac
+	CC=${CC_FOR_BUILD} ${realsrcdir}/configure \
+		--target=$target --host=$build --build=$build
+
+	# We just finished tests for the build machine, so rename
+	# the file auto-build.h in the gcc directory.
+	mv auto-host.h ../auto-build.h
+	cd ..
+	rm -rf $tempdir
+	build_xm_file="auto-build.h ${build_xm_file}"
+fi
+
+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"
 
 rm -f config.bak
 if [ -f config.status ]; then mv -f config.status config.bak; fi
 
 # Make the links.
-while [ -n "$files" ]
+while [ -n "$vars" ]
 do
-	# set file to car of files, files to cdr of files
-	set $files; file=$1; shift; files=$*
+	set $vars; var=$1; shift; vars=$*
 	set $links; link=$1; shift; links=$*
+	set $defines; define=$1; shift; defines=$*
 
 	rm -f $link
-	echo "#include \"$file\"" >$link
+
+	# Define TARGET_CPU_DEFAULT if the system wants one.
+	# This substitutes for lots of *.h files.
+	if [ "$target_cpu_default" != "" -a $link = tm.h ]
+	then
+		echo "#define TARGET_CPU_DEFAULT ($target_cpu_default)" >>$link
+	fi
+
+	for file in `eval echo '$'$var`; do
+		echo "#include \"$file\"" >>$link
+	done
+
+	for def in `eval echo '$'$define`; do
+		echo "#ifndef $def" >>$link
+		echo "#define $def" >>$link
+		echo "#endif" >>$link
+	done
 done
 
 # Truncate the target if necessary
@@ -2545,12 +5248,245 @@ if [ 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 [ "${with_gcc_version_trigger+set}" = set ]; then
+	gcc_version_trigger=$with_gcc_version_trigger
+else
+	gcc_version_trigger=${srcdir}/version.c
+fi
+gcc_version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${gcc_version_trigger}`
 
-# For the current directory and all of the language subdirectories,
-# do the rest of the script ...
+# Get an absolute path to the GCC top-level source directory
+holddir=`pwd`
+cd $srcdir
+topdir=`pwd`
+cd $holddir
 
+# Conditionalize the makefile for this host machine.
+# Make-host contains the concatenation of all host makefile fragments
+# [there can be more than one].  This file is built by configure.frag.
+host_overrides=Make-host
+dep_host_xmake_file=
+for f in .. ${host_xmake_file}
+do
+	if [ -f ${srcdir}/config/$f ]
+	then
+		dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
+	fi
+done
+
+# Conditionalize the makefile for this target machine.
+# Make-target contains the concatenation of all host makefile fragments
+# [there can be more than one].  This file is built by configure.frag.
+target_overrides=Make-target
+dep_tmake_file=
+for f in .. ${tmake_file}
+do
+	if [ -f ${srcdir}/config/$f ]
+	then
+		dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
+	fi
+done
+
+# If the host doesn't support symlinks, modify CC in
+# FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
+# Otherwise, we can use "CC=$(CC)".
+rm -f symtest.tem
+if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
+then
+	cc_set_by_configure="\$(CC)"
+	stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
+else
+	rm -f symtest.tem
+	if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
+	then
+		symbolic_link="cp -p"
+	else
+		symbolic_link="cp"
+	fi
+	cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
+	stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
+fi
+rm -f symtest.tem
+
+out_object_file=`basename $out_file .c`.o
+
+tm_file_list=
+for f in $tm_file; do
+	tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
+done
+
+host_xm_file_list=
+for f in $host_xm_file; do
+	if test $f != "auto-host.h"; then
+		host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f"
+	else
+		host_xm_file_list="${host_xm_file_list} auto-host.h"
+	fi
+done
+
+build_xm_file_list=
+for f in $build_xm_file; do
+	if test $f != "auto-build.h"; then
+		if test $f != "auto-host.h"; then
+			build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f"
+		else
+			build_xm_file_list="${build_xm_file_list} auto-host.h"
+		fi
+	else
+		build_xm_file_list="${build_xm_file_list} auto-build.h"
+	fi
+done
+
+# Define macro CROSS_COMPILE in compilation
+# if this is a cross-compiler.
+# Also use all.cross instead of all.internal
+# and add cross-make to Makefile.
+cross_overrides="/dev/null"
+if [ x$host != x$target ]
+then
+	cross_defines="CROSS=-DCROSS_COMPILE"
+	cross_overrides="${topdir}/cross-make"
+fi
+
+# When building gcc with a cross-compiler, we need to fix a few things.
+# This must come after cross-make as we want all.build to override
+# all.cross.
+build_overrides="/dev/null"
+if [ x$build != x$host ]
+then
+	build_overrides="${topdir}/build-make"
+fi
+
+# Expand extra_headers to include complete path.
+# This substitutes for lots of t-* files.
+extra_headers_list=
+if [ "x$extra_headers" = x ]
+then true
+else
+	# Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
+	for file in $extra_headers;
+	do
+		extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/${file}"
+	done
+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 ]
+then
+	will_use_collect2=
+	maybe_use_collect2=
+else
+	will_use_collect2="collect2"
+	maybe_use_collect2="-DUSE_COLLECT2"
+fi
+
+# NEED TO CONVERT
+# Set MD_DEPS if the real md file is in md.pre-cpp.
+# Set MD_CPP to the cpp to pass the md file through.  Md files use ';'
+# for line oriented comments, so we must always use a GNU cpp.  If
+# 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 ]
+then
+	md_file_sub=$srcdir/config/$md_file
+else
+	md_file=md
+fi
+
+# If we have gas in the build tree, make a link to it.
+if [ -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 [ -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
+#		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
+#	fi
+fi
+
+# Figure out what assembler alignment features are present.
+echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6
+echo "configure:5413: checking assembler alignment features" >&5
+gcc_cv_as=
+gcc_cv_as_alignment_features=
+gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,gcc$,gas,'`
+if [ -x as$host_exeext ]; then
+	# Build using assembler in the current directory.
+	gcc_cv_as=./as$host_exeext
+elif [ -f $gcc_cv_as_gas_srcdir/configure.in ]; then
+	# Single tree build which includes gas.
+	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
+			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]*\)"`
+	if [ 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 [ "$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"
+			cat >> confdefs.h <<\EOF
+#define HAVE_GAS_BALIGN_AND_P2ALIGN 1
+EOF
+
+		fi
+		# 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"
+			cat >> confdefs.h <<\EOF
+#define HAVE_GAS_MAX_SKIP_P2ALIGN 1
+EOF
+
+		fi
+	fi
+elif [ x$host = x$target ]; then
+	# Native build.
+	gcc_cv_as=as$host_exeext
+fi
+if [ 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"
+		cat >> confdefs.h <<\EOF
+#define HAVE_GAS_BALIGN_AND_P2ALIGN 1
+EOF
+
+	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
+	if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+		gcc_cv_as_alignment_features=".p2align including maximum skip"
+		cat >> confdefs.h <<\EOF
+#define HAVE_GAS_MAX_SKIP_P2ALIGN 1
+EOF
+
+	fi
+	rm -f conftest.s conftest.o
+fi
+echo "$ac_t""$gcc_cv_as_alignment_features" 1>&6
+
+# Figure out what language subdirectories are present.
 subdirs=
 for lang in ${srcdir}/*/config-lang.in ..
 do
@@ -2563,12 +5499,14 @@ do
 	esac
 done
 
-# Are we using gcc as the native compiler?
-case $canon_host in
-*linux*)	# All Linux's use gcc as the native compiler.
-	prefix=$native_prefix
-	;;
-esac
+# Make gthr-default.h if we have a thread file.
+gthread_flags=
+if [ $thread_file != single ]; then
+    rm -f gthr-default.h
+    echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
+    gthread_flags=-DHAVE_GTHR_DEFAULT
+fi
+
 
 # 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.
@@ -2589,502 +5527,226 @@ do
 	fi
 done
 
-# Define SET_MAKE if this old version of `make' doesn't define $(MAKE).
-rm -f Makefile.xx
-(echo 'all:'; echo '	@echo maketemp=$(MAKE)') >Makefile.xx
-case `${MAKE-make} -f Makefile.xx 2>/dev/null | grep maketemp=` in
-'maketemp=')
-	SET_MAKE="MAKE = ${MAKE-make}"
-	;;
-*)
-	SET_MAKE=
-	;;
-esac
-rm -f Makefile.xx
+# These (without "all_") are set in each config-lang.in.
+# `language' must be a single word so is spelled singularly.
+all_languages=
+all_boot_languages=
+all_compilers=
+all_stagestuff=
+all_diff_excludes=
+all_outputs=Makefile
+# List of language makefile fragments.
+all_lang_makefiles=
+all_headers=
+all_lib2funcs=
 
-savesrcdir=$srcdir
-for subdir in . $subdirs
+# Add the language fragments.
+# Languages are added via two mechanisms.  Some information must be
+# recorded in makefile variables, these are defined in config-lang.in.
+# We accumulate them and plug them into the main Makefile.
+# The other mechanism is a set of hooks for each of the main targets
+# like `clean', `install', etc.
+
+language_fragments="Make-lang"
+language_hooks="Make-hooks"
+oldstyle_subdirs=
+
+for s in .. $subdirs
 do
-	oldsrcdir=$savesrcdir
-
-	# Re-adjust the path
-	case $oldsrcdir in
-	/*)
-		srcdir=$oldsrcdir/$subdir
-		;;
-	*)
-		case $subdir in
-		.)
-			;;
-		*)
-			oldsrcdir=../${oldsrcdir}
-			srcdir=$oldsrcdir/$subdir
-			;;
-		esac
-		;;
-	esac
-	mainsrcdir=$oldsrcdir
-	STARTDIR=`pwd`
-	test -d $subdir || mkdir $subdir
-	cd $subdir
-
-	# Create Makefile.tem from Makefile.in.
-	# Make it set VPATH if necessary so that the sources are found.
-	# Also change its value of srcdir.
-	# Also create a .gdbinit file which runs the one in srcdir
-	# and tells GDB to look there for source files.
-	case $srcdir in
-	. | ./$subdir | .././$subdir)
-		rm -f Makefile.tem
-		cp Makefile.in Makefile.tem
-		chmod +w Makefile.tem
-		;;
-	*)
-		rm -f Makefile.tem
-		echo "VPATH = ${srcdir}" \
-		  | cat - ${srcdir}/Makefile.in \
-		  | sed "s@^srcdir = \.@srcdir = ${srcdir}@" > Makefile.tem
-		rm -f .gdbinit
-		echo "dir ." > .gdbinit
-		echo "dir ${srcdir}" >> .gdbinit
-		if [ x$gdb_needs_out_file_path = xyes ]
+	if [ $s != ".." ]
+	then
+		language=
+		boot_language=
+		compilers=
+		stagestuff=
+		diff_excludes=
+		headers=
+		outputs=
+		lib2funcs=
+		. ${srcdir}/$s/config-lang.in
+		if [ "x$language" = x ]
 		then
-			echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
+			echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
+			exit 1
 		fi
-		if [ "x$subdirs" != x ]; then
-			for s in $subdirs
-			do
-				echo "dir ${srcdir}/$s" >> .gdbinit
-			done
-		fi
-		echo "source ${srcdir}/.gdbinit" >> .gdbinit
-		;;
-	esac
-	
-	# Conditionalize the makefile for this host machine.
-	if [ -f ${mainsrcdir}/config/${host_xmake_file} ]
-	then
-		rm -f Makefile.xx
-		sed -e "/####host/  r ${mainsrcdir}/config/${host_xmake_file}" Makefile.tem > Makefile.xx
-		echo "Merged ${host_xmake_file}."
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-		dep_host_xmake_file=${host_xmake_file}
-	else
-	# Say in the makefile that there is no host_xmake_file,
-	# by using a name which (when interpreted relative to $srcdir/config)
-	# will duplicate another dependency: $srcdir/Makefile.in.
-		dep_host_xmake_file=../Makefile.in
-	fi
-
-	# Add a definition for MAKE if system wants one.
-	case "$SET_MAKE" in
-	?*)
-		rm -f Makefile.xx
-		(echo "$SET_MAKE"; cat Makefile.tem) >Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-	esac
-
-	# Add a definition for INSTALL if system wants one.
-	# This substitutes for lots of x-* files.
-	if [ x$host_broken_install = x ]
-	then true
-	else
-		rm -f Makefile.xx
-		abssrcdir=`cd ${srcdir}; pwd`
-		sed "s|^INSTALL = .*|INSTALL = ${abssrcdir}/install.sh -c|" Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-	fi
-
-	# Some of the following don't make sense in the language makefiles,
-	# but rather than introduce another level of nesting, we leave them
-	# as is.
-
-	# Set EXTRA_HEADERS according to extra_headers.
-	# This substitutes for lots of t-* files.
-	if [ "x$extra_headers" = x ]
-	then true
-	else
-		# Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
-		list=
-		for file in $extra_headers;
-		do
-			list="${list} ${srcdir}/ginclude/${file}"
-		done
-		rm -f Makefile.xx
-		sed "s|^EXTRA_HEADERS =|EXTRA_HEADERS = ${list}|" Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-	fi
-	
-	# Set EXTRA_PASSES according to extra_passes.
-	# This substitutes for lots of t-* files.
-	if [ "x$extra_passes" = x ]
-	then true
-	else
-		rm -f Makefile.xx
-		sed "s/^EXTRA_PASSES =/EXTRA_PASSES = $extra_passes/" Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-	fi
-	
-	# Set EXTRA_PARTS according to extra_parts.
-	# This substitutes for lots of t-* files.
-	if [ "x$extra_parts" = x ]
-	then true
-	else
-		rm -f Makefile.xx
-		sed "s/^EXTRA_PARTS =/EXTRA_PARTS = $extra_parts/" Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-	fi
-
-	# Set EXTRA_PROGRAMS according to extra_programs.
-	if [ "x$extra_programs" = x ]
-	then true
-	else
-		rm -f Makefile.xx
-		sed "s/^EXTRA_PROGRAMS =/EXTRA_PROGRAMS = $extra_programs/" Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-	fi
-
-	# Set EXTRA_OBJS according to extra_objs.
-	# This substitutes for lots of t-* files.
-	if [ "x$extra_objs" = x ]
-	then true
-	else
-		rm -f Makefile.xx
-		sed "s|^EXTRA_OBJS =|EXTRA_OBJS = $extra_objs|" Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-	fi
-
-	# Set EXTRA_GCC_OBJS according to extra_gcc_objs.
-	# This substitutes for lots of t-* files.
-	if [ "x$extra_gcc_objs" = x ]
-	then true
-	else
-		rm -f Makefile.xx
-		sed "s|^EXTRA_GCC_OBJS =|EXTRA_GCC_OBJS = $extra_gcc_objs|" Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-	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 ]
-	then true
-	else
-		rm -f Makefile.xx
-		(echo "USE_COLLECT2 = ld"; echo "MAYBE_USE_COLLECT2 = -DUSE_COLLECT2")\
-	 	   | cat - Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-	fi
-	
-	# Add -DTARGET_CPU_DEFAULT for toplev.c if system wants one.
-	# This substitutes for lots of *.h files.
-	if [ x$target_cpu_default = x ]
-	then true
-	else
-		rm -f Makefile.xx
-	# This used cat, but rfg@netcom.com said that ran into NFS bugs.
-		sed -e "/^# Makefile for GNU C compiler./c\\
-MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFAULT=$target_cpu_default\\
-\# Makefile for GNU C compiler." Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-	fi
-	
-	# Set MD_DEPS if the real md file is in md.pre-cpp.
-	# Set MD_CPP to the cpp to pass the md file through.  Md files use ';'
-	# for line oriented comments, so we must always use a GNU cpp.  If
-	# building gcc with a cross compiler, use the cross compiler just
-	# built.  Otherwise, we can use the cpp just built.
-	if [ "x$md_cppflags" = x ]
-	then
-		md_file=$srcdir/config/$md_file
-	else
-		rm -f Makefile.xx
-	  	(if [ x$host = x$build ] ; then
-			echo "MD_DEPS = $(md_file) cpp" ; echo "MD_CPP = ./cpp"
-		else
-			echo "MD_DEPS = md.pre-cpp" ; echo "MD_CPP = \$(HOST_CC) -x c -E"
-		fi
-		md_file=md
-		echo "MD_CPPFLAGS = $md_cppflags") | \
-		  cat - Makefile.tem | sed -e "s|^MD_FILE[ 	]*=.*|MD_FILE = md|" > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-	fi
-	
-	# If we have gas in the build tree, make a link to it.
-	if [ -f ../gas/Makefile ]; then
-		rm -f as; $symbolic_link ../gas/as.new as 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
-			rm -f ld; $symbolic_link ../ld/ld.new ld 2>/dev/null
-		else
-			rm -f collect-ld; $symbolic_link ../ld/ld.new collect-ld 2>/dev/null
-		fi
-	fi
-	
-	# If using -program-transform-name, override the installation names.
-	if [ "x${program_transform_set}" = "xyes" ] ; then
-		sed -e "s/^program_transform_name[ 	]*=.*$/program_transform_name = $program_transform_name/" \
-		    -e "s/^program_transform_cross_name[ 	]*=.*$/program_transform_cross_name = $program_transform_name/" \
-		    Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-	fi
-	
-	# Conditionalize the makefile for this target machine.
-	if [ -f ${mainsrcdir}/config/${tmake_file} ]
-	then
-		rm -f Makefile.xx
-		sed -e "/####target/  r ${mainsrcdir}/config/${tmake_file}" Makefile.tem > Makefile.xx
-		echo "Merged ${tmake_file}."
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-		dep_tmake_file=${tmake_file}
-	else
-	# Say in the makefile that there is no tmake_file,
-	# by using a name which (when interpreted relative to $srcdir/config)
-	# will duplicate another dependency: $srcdir/Makefile.in.
-		dep_tmake_file=../Makefile.in
-	fi
-	
-	# If this is the top level Makefile, add the language fragments.
-	# Languages are added via two mechanisms.  Some information must be
-	# recorded in makefile variables, these are defined in config-lang.in.
-	# We accumulate them and plug them into the main Makefile.
-	# The other mechanism is a set of hooks for each of the main targets
-	# like `clean', `install', etc.
-	if [ $subdir = . ]
-	then
-		# These (without "all_") are set in each config-lang.in.
-		# `language' must be a single word so is spelled singularly.
-		all_languages=
-		all_compilers=
-		all_stagestuff=
-		all_diff_excludes=
-		# List of language makefile fragments.
-		all_lang_makefiles=
-
-		rm -f Makefile.xx Makefile.ll
-		touch Makefile.ll
-		for s in .. $subdirs
-		do
-			if [ $s != ".." ]
-			then
-				language=
-				compilers=
-				stagestuff=
-				diff_excludes=
-				. ${mainsrcdir}/$s/config-lang.in
-				if [ "x$language" = x ]
-				then
-					echo "${mainsrcdir}/$s/config-lang.in doesn't set \$language." 1>&2
-					exit 1
-				fi
-				all_lang_makefiles="$all_lang_makefiles ${mainsrcdir}/$s/Make-lang.in ${mainsrcdir}/$s/Makefile.in"
-				all_languages="$all_languages $language"
-				all_compilers="$all_compilers $compilers"
-				all_stagestuff="$all_stagestuff $stagestuff"
-				all_diff_excludes="$all_diff_excludes $diff_excludes"
-
-				cat ${mainsrcdir}/$s/Make-lang.in >> Makefile.ll
-			fi
-		done
-		sed -e "/####language fragments/ r Makefile.ll" Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-		sed -e "s|^SUBDIRS[ 	]*=.*$|SUBDIRS = $subdirs|" \
-		    -e "s|^LANGUAGES[ 	]*=[ 	]*\(.*\)$|LANGUAGES = \1 $all_languages|" \
-		    -e "s|^COMPILERS[ 	]*=[ 	]*\(.*\)$|COMPILERS = \1 $all_compilers|" \
-		    -e "s|^LANG_MAKEFILES[ 	]*=.*$|LANG_MAKEFILES = $all_lang_makefiles|" \
-		    -e "s|^LANG_STAGESTUFF[ 	]*=.*$|LANG_STAGESTUFF = $all_stagestuff|" \
-		    -e "s|^LANG_DIFF_EXCLUDES[ 	]*=.*$|LANG_DIFF_EXCLUDES = $all_diff_excludes|" \
-		    Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-
-		# Since we can't use `::' targets, we link each language in
-		# with a set of hooks, reached indirectly via lang.${target}.
-
-		target_list="all.build all.cross start.encap rest.encap \
-			info dvi \
-			install-normal install-common install-info install-man \
-			uninstall distdir \
-			mostlyclean clean distclean extraclean maintainer-clean \
-			stage1 stage2 stage3 stage4"
-		rm -f Makefile.ll
-		for t in $target_list
-		do
-			x=
-			for l in .. $all_languages
-			do
-				if [ $l != ".." ]; then
-					x="$x $l.$t"
-				fi
-			done
-			echo "lang.$t: $x" >> Makefile.ll
-		done
-		sed -e "/####language hooks/ r Makefile.ll" Makefile.tem > Makefile.xx
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-		rm -f Makefile.ll
-
-		# If the host doesn't support symlinks, modify CC in
-		# FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
-		# Otherwise, we can use "CC=$(CC)".
-		rm -f symtest.tem
-		if $symbolic_link symtest1.tem symtest.tem 2>/dev/null
+		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 ]
 		then
-			sed -e 's,CC=set-by-configure,CC=$(CC),' \
-			    Makefile.tem > Makefile.xx
-		else
-			sed -e "s,CC=set-by-configure,CC=\`case '$(CC)' in stage*) echo '$(CC)' | sed -e 's|stage|../stage|g';; *) echo '$(CC)';; esac\`," \
-			    Makefile.tem > Makefile.xx
+			all_boot_languages="$all_boot_languages $language"
 		fi
-		rm -f Makefile.tem
-		mv Makefile.xx Makefile.tem
-		rm -f symtest.tem
-
-		if [ "x$all_languages" != x ]
+		all_compilers="$all_compilers $compilers"
+		all_stagestuff="$all_stagestuff $stagestuff"
+		all_diff_excludes="$all_diff_excludes $diff_excludes"
+		all_headers="$all_headers $headers"
+		all_outputs="$all_outputs $outputs"
+		if [ x$outputs = x ]
 		then
-			# Missing space after `Merged' is intentional.
-			echo "Merged$all_languages fragment(s)."
+			oldstyle_subdirs="$oldstyle_subdirs $s"
 		fi
+		all_lib2funcs="$all_lib2funcs $lib2funcs"
+	fi
+done
 
-	# Otherwise, this is a language subdirectory.  If the host supports
-	# symlinks, point stage[123] at ../stage[123] so bootstrapping and the
-	# installation procedure can still use CC="stage1/xgcc -Bstage1/".
-	# If the host doesn't support symlinks, FLAGS_TO_PASS has been
-	# modified to solve the problem there.
-	else
-		for t in stage1 stage2 stage3 stage4 include
+# Since we can't use `::' targets, we link each language in
+# with a set of hooks, reached indirectly via lang.${target}.
+
+rm -f Make-hooks
+touch Make-hooks
+target_list="all.build all.cross start.encap rest.encap \
+	info dvi \
+	install-normal install-common install-info install-man \
+	uninstall distdir \
+	mostlyclean clean distclean extraclean maintainer-clean \
+	stage1 stage2 stage3 stage4"
+for t in $target_list
+do
+	x=
+	for l in .. $all_languages
+	do
+		if [ $l != ".." ]; then
+			x="$x $l.$t"
+		fi
+	done
+	echo "lang.$t: $x" >> Make-hooks
+done
+
+# If we're not building in srcdir, create .gdbinit.
+
+if [ ! -f Makefile.in ]; then
+	echo "dir ." > .gdbinit
+	echo "dir ${srcdir}" >> .gdbinit
+	if [ x$gdb_needs_out_file_path = xyes ]
+	then
+		echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
+	fi
+	if [ "x$subdirs" != x ]; then
+		for s in $subdirs
 		do
-			rm -f $t
-			$symbolic_link ../$t $t 2>/dev/null
+			echo "dir ${srcdir}/$s" >> .gdbinit
 		done
 	fi
-
-	out_object_file=`basename $out_file .c`.o
-	
-	# Remove all formfeeds, since some Makes get confused by them.
-	# Also arrange to give the variables `target', `host_xmake_file',
-	# `tmake_file', `prefix', `local_prefix', `exec_prefix', `FIXINCLUDES'
-	# `out_file', `out_object', `md_file', `lang_specs_files',
-	# `lang_options_files', and `INSTALL_HEADERS_DIR' values in the
-	# Makefile from the values they have in this script.
-	rm -f Makefile.xx
-	rm -f aux-output.c aux-output.o md
-	# Create an empty Makefile.sed first, to work around a Nextstep 3.3 bug.
-	echo 's|||' > Makefile.sed
-	rm Makefile.sed
-	echo 's|||' > Makefile.sed
-	echo "s|^target=.*$|target=${target}|" >> Makefile.sed
-	echo "s|^xmake_file=.*$|xmake_file=${dep_host_xmake_file}|" >> Makefile.sed
-	echo "s|^tmake_file=.*$|tmake_file=${dep_tmake_file}|" >> Makefile.sed
-	echo "s|^version=.*$|version=${version}|" >> Makefile.sed
-	echo "s|^version=.*$|version=${version}|" >> Makefile.sed
-	echo "s|^out_file=.*$|out_file=${srcdir}/config/${out_file}|" >> Makefile.sed
-	echo "s|^out_object_file=.*$|out_object_file=${out_object_file}|" >> Makefile.sed
-	echo "s|^md_file=.*$|md_file=${md_file}|" >> Makefile.sed
-	echo "s|^tm_file=.*$|tm_file=${srcdir}/config/${tm_file}|" >> Makefile.sed
-	echo "s|^host_xm_file=.*$|host_xm_file=${srcdir}/config/${host_xm_file}|" >> Makefile.sed
-	echo "s|^build_xm_file=.*$|build_xm_file=${srcdir}/config/${build_xm_file}|" >> Makefile.sed
-	echo "s|^lang_specs_files=.*$|lang_specs_files=${lang_specs_files}|" >> Makefile.sed
-	echo "s|^lang_options_files=.*$|lang_options_files=${lang_options_files}|" >> Makefile.sed
-	echo "s|^prefix[ 	]*=.*|prefix = $prefix|" >> Makefile.sed
-	echo "s|^gxx_include_dir[ 	]*=.*|gxx_include_dir = $gxx_include_dir|" >> Makefile.sed
-	echo "s|^local_prefix[ 	]*=.*|local_prefix = $local_prefix|" >> Makefile.sed
-	echo "s|^exec_prefix[ 	]*=.*|exec_prefix = $exec_prefix|" >> Makefile.sed
-	echo "s|^FIXINCLUDES[ 	]*=.*|FIXINCLUDES = $fixincludes|" >> Makefile.sed
-	echo "s|^INSTALL_HEADERS_DIR[ 	]*=.*$|INSTALL_HEADERS_DIR = ${host_install_headers_dir}|" >> Makefile.sed
-	sed -f Makefile.sed Makefile.tem > Makefile.xx
-	rm -f Makefile.tem Makefile.sed
-	mv Makefile.xx Makefile.tem
-	
-	# Install Makefile for real, after making final changes.
-	# Define macro CROSS_COMPILE in compilation if this is a cross-compiler.
-	# Also use all.cross instead of all.internal, and add cross-make to Makefile.
-	if [ x$canon_host = x$canon_target ]
-	then
-		rm -f Makefile
-	  	if [ x$canon_host = x$canon_build ]
-		then
-			mv Makefile.tem Makefile
-		else
-	#		When building gcc with a cross-compiler, we need to fix a
-	#		few things.
-			echo "build= $build" > Makefile
-	    		sed -e "s|objc-runtime$||" \
-			    -e "/####build/  r ${mainsrcdir}/build-make" Makefile.tem >> Makefile
-			rm -f Makefile.tem Makefile.xx
-		fi
-	else
-		rm -f Makefile
-		echo "CROSS=-DCROSS_COMPILE" > Makefile
-		sed -e "/####cross/  r ${mainsrcdir}/cross-make" Makefile.tem >> Makefile
-		rm -f Makefile.tem Makefile.xx
-	fi
-
-	echo "Created \`$subdir/Makefile'."
-
-	# If a subdirectory has a configure script, run it.
-	if [ x$subdir != x. ]
-	then
-		if [ -f $srcdir/configure ]
-		then
-			${CONFIG_SHELL-sh} $srcdir/configure $arguments --srcdir=$srcdir
-		fi
-	fi
-
-	cd $STARTDIR
-done   # end of current-dir SUBDIRS loop
-	
-srcdir=$savesrcdir
-
-# Describe the chosen configuration in config.status.
-# Make that file a shellscript which will reestablish the same configuration.
-echo "#!/bin/sh
-# GCC was configured as follows:
-${srcdir}/configure" $arguments > config.new
-echo echo host=$canon_host target=$canon_target build=$canon_build >> config.new
-chmod a+x config.new
-if [ -f config.bak ] && cmp config.bak config.new >/dev/null 2>/dev/null;
-then
-	mv -f config.bak config.status
-	rm -f config.new
-else
-	mv -f config.new config.status
-	rm -f config.bak
+	echo "source ${srcdir}/.gdbinit" >> .gdbinit
 fi
 
-str2=
-str3=
-str4=.
+# Define variables host_canonical and build_canonical
+# because some Cygnus local changes in the Makefile depend on them.
+build_canonical=${build}
+host_canonical=${host}
+target_subdir=
+if [ "${host}" != "${target}" ] ; then
+    target_subdir=${target}/
+fi
 
-if [ x$canon_host = x$canon_target ]
+
+
+	
+# If this is using newlib, then define inhibit_libc in
+# LIBGCC2_CFLAGS.  This will cause __eprintf to be left out of
+# libgcc.a, but that's OK because newib should have its own version of
+# assert.h.
+inhibit_libc=
+if [ x$with_newlib = xyes ]; then
+	inhibit_libc=-Dinhibit_libc
+fi
+
+
+# Override SCHED_OBJ and SCHED_CFLAGS to enable the Haifa scheduler.
+sched_prefix=
+sched_cflags=
+if [ x$enable_haifa = xyes ]; then
+    echo "Using the Haifa scheduler."
+    sched_prefix=haifa-
+    sched_cflags=-DHAIFA
+fi
+
+
+if [ 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
+	    echo "Removing $x"
+	    rm -f $x
+	fi
+    done
+fi
+
+# Nothing to do for FLOAT_H, float_format already handled.
+objdir=`pwd`
+
+
+# Process the language and host/target makefile fragments.
+${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
+
+# Substitute configuration variables
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Echo that links are built
+if [ x$host = x$target ]
 then
 	str1="native "
 else
 	str1="cross-"
-	str2=" from $canon_host"
+	str2=" from $host"
 fi
 
-if [ x$canon_host != x$canon_build ]
+if [ x$host != x$build ]
 then
-	str3=" on a $canon_build system"
+	str3=" on a $build system"
 fi
 
 if [ "x$str2" != x ] || [ "x$str3" != x ]
@@ -3092,11 +5754,523 @@ then
 	str4=
 fi
 
-echo "Links are now set up to build a ${str1}compiler for ${canon_target}$str4" 1>&2
+echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
 
 if [ "x$str2" != x ] || [ "x$str3" != x ]
 then
 	echo " ${str2}${str3}." 1>&2
 fi
 
+# Truncate the target if necessary
+if [ x$host_truncate_target != x ]; then
+	target=`echo $target | sed -e 's/\(..............\).*/\1/'`
+fi
+
+# Configure the subdirectories
+# AC_CONFIG_SUBDIRS($subdirs)
+
+# Create the Makefile
+# and configure language subdirectories
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs.  It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already.  You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+  case `(ac_space=' '; set | grep ac_space) 2>&1` in
+  *ac_space=\ *)
+    # `set' does not quote correctly, so add quotes (double-quote substitution
+    # turns \\\\ into \\, and sed turns \\ into \).
+    sed -n \
+      -e "s/'/'\\\\''/g" \
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+    ;;
+  *)
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+    ;;
+  esac >> confcache
+if cmp -s $cache_file confcache; then
+  :
+else
+  if test -w $cache_file; then
+    echo "updating cache $cache_file"
+    cat confcache > $cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+DEFS=-DHAVE_CONFIG_H
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+  case "\$ac_option" in
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+    echo "$CONFIG_STATUS generated by autoconf version 2.13"
+    exit 0 ;;
+  -help | --help | --hel | --he | --h)
+    echo "\$ac_cs_usage"; exit 0 ;;
+  *) echo "\$ac_cs_usage"; exit 1 ;;
+  esac
+done
+
+ac_given_srcdir=$srcdir
+
+trap 'rm -fr `echo "$all_outputs auto-host.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@target@%$target%g
+s%@target_alias@%$target_alias%g
+s%@target_cpu@%$target_cpu%g
+s%@target_vendor@%$target_vendor%g
+s%@target_os@%$target_os%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@CC@%$CC%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@AWK@%$AWK%g
+s%@LEX@%$LEX%g
+s%@LEXLIB@%$LEXLIB%g
+s%@LN@%$LN%g
+s%@LN_S@%$LN_S%g
+s%@RANLIB@%$RANLIB%g
+s%@YACC@%$YACC%g
+s%@INSTALL@%$INSTALL%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@CPP@%$CPP%g
+s%@vfprintf@%$vfprintf%g
+s%@doprint@%$doprint%g
+s%@manext@%$manext%g
+s%@objext@%$objext%g
+s%@gthread_flags@%$gthread_flags%g
+s%@build_canonical@%$build_canonical%g
+s%@host_canonical@%$host_canonical%g
+s%@target_subdir@%$target_subdir%g
+s%@inhibit_libc@%$inhibit_libc%g
+s%@sched_prefix@%$sched_prefix%g
+s%@sched_cflags@%$sched_cflags%g
+s%@objdir@%$objdir%g
+s%@subdirs@%$subdirs%g
+s%@all_languages@%$all_languages%g
+s%@all_boot_languages@%$all_boot_languages%g
+s%@all_compilers@%$all_compilers%g
+s%@all_lang_makefiles@%$all_lang_makefiles%g
+s%@all_stagestuff@%$all_stagestuff%g
+s%@all_diff_excludes@%$all_diff_excludes%g
+s%@all_lib2funcs@%$all_lib2funcs%g
+s%@all_headers@%$all_headers%g
+s%@cpp_main@%$cpp_main%g
+s%@extra_passes@%$extra_passes%g
+s%@extra_programs@%$extra_programs%g
+s%@extra_parts@%$extra_parts%g
+s%@extra_c_objs@%$extra_c_objs%g
+s%@extra_cxx_objs@%$extra_cxx_objs%g
+s%@extra_c_flags@%$extra_c_flags%g
+s%@extra_objs@%$extra_objs%g
+s%@host_extra_gcc_objs@%$host_extra_gcc_objs%g
+s%@extra_headers_list@%$extra_headers_list%g
+s%@dep_host_xmake_file@%$dep_host_xmake_file%g
+s%@dep_tmake_file@%$dep_tmake_file%g
+s%@out_file@%$out_file%g
+s%@out_object_file@%$out_object_file%g
+s%@md_file@%$md_file%g
+s%@tm_file_list@%$tm_file_list%g
+s%@build_xm_file_list@%$build_xm_file_list%g
+s%@host_xm_file_list@%$host_xm_file_list%g
+s%@lang_specs_files@%$lang_specs_files%g
+s%@lang_options_files@%$lang_options_files%g
+s%@thread_file@%$thread_file%g
+s%@gcc_version@%$gcc_version%g
+s%@gcc_version_trigger@%$gcc_version_trigger%g
+s%@local_prefix@%$local_prefix%g
+s%@gxx_include_dir@%$gxx_include_dir%g
+s%@fixincludes@%$fixincludes%g
+s%@build_install_headers_dir@%$build_install_headers_dir%g
+s%@build_exeext@%$build_exeext%g
+s%@host_exeext@%$host_exeext%g
+s%@float_format@%$float_format%g
+s%@will_use_collect2@%$will_use_collect2%g
+s%@maybe_use_collect2@%$maybe_use_collect2%g
+s%@cc_set_by_configure@%$cc_set_by_configure%g
+s%@stage_prefix_set_by_configure@%$stage_prefix_set_by_configure%g
+s%@install@%$install%g
+s%@symbolic_link@%$symbolic_link%g
+s%@cpp_install_dir@%$cpp_install_dir%g
+/@target_overrides@/r $target_overrides
+s%@target_overrides@%%g
+/@host_overrides@/r $host_overrides
+s%@host_overrides@%%g
+s%@cross_defines@%$cross_defines%g
+/@cross_overrides@/r $cross_overrides
+s%@cross_overrides@%%g
+/@build_overrides@/r $build_overrides
+s%@build_overrides@%%g
+/@language_fragments@/r $language_fragments
+s%@language_fragments@%%g
+/@language_hooks@/r $language_hooks
+s%@language_hooks@%%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+  if test $ac_beg -gt 1; then
+    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+  else
+    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+  fi
+  if test ! -s conftest.s$ac_file; then
+    ac_more_lines=false
+    rm -f conftest.s$ac_file
+  else
+    if test -z "$ac_sed_cmds"; then
+      ac_sed_cmds="sed -f conftest.s$ac_file"
+    else
+      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+    fi
+    ac_file=`expr $ac_file + 1`
+    ac_beg=$ac_end
+    ac_end=`expr $ac_end + $ac_max_sed_cmds`
+  fi
+done
+if test -z "$ac_sed_cmds"; then
+  ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"$all_outputs"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+  # Remove last slash and all that follows it.  Not all systems have dirname.
+  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+    # The file is in a subdirectory.
+    test ! -d "$ac_dir" && mkdir "$ac_dir"
+    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+    # A "../" for each directory in $ac_dir_suffix.
+    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+  else
+    ac_dir_suffix= ac_dots=
+  fi
+
+  case "$ac_given_srcdir" in
+  .)  srcdir=.
+      if test -z "$ac_dots"; then top_srcdir=.
+      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+  *) # Relative path.
+    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+    top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+
+  echo creating "$ac_file"
+  rm -f "$ac_file"
+  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+  case "$ac_file" in
+  *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+  *) ac_comsub= ;;
+  esac
+
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+  sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s%^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
+ac_dB='\([ 	][ 	]*\)[^ 	]*%\1#\2'
+ac_dC='\3'
+ac_dD='%g'
+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+ac_uA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
+ac_uB='\([ 	]\)%\1#\2define\3'
+ac_uC=' '
+ac_uD='\4%g'
+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_eA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
+ac_eB='$%\1#\2define\3'
+ac_eC=' '
+ac_eD='%g'
+
+if test "${CONFIG_HEADERS+set}" != set; then
+EOF
+cat >> $CONFIG_STATUS <<EOF
+  CONFIG_HEADERS="auto-host.h:config.in"
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+fi
+for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  echo creating $ac_file
+
+  rm -f conftest.frag conftest.in conftest.out
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+  cat $ac_file_inputs > conftest.in
+
+EOF
+
+# Transform confdefs.h into a sed script conftest.vals that substitutes
+# the proper values into config.h.in to produce config.h.  And first:
+# Protect against being on the right side of a sed subst in config.status.
+# Protect against being in an unquoted here document in config.status.
+rm -f conftest.vals
+cat > conftest.hdr <<\EOF
+s/[\\&%]/\\&/g
+s%[\\$`]%\\&%g
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+s%ac_d%ac_u%gp
+s%ac_u%ac_e%gp
+EOF
+sed -n -f conftest.hdr confdefs.h > conftest.vals
+rm -f conftest.hdr
+
+# This sed command replaces #undef with comments.  This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >> conftest.vals <<\EOF
+s%^[ 	]*#[ 	]*undef[ 	][ 	]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+EOF
+
+# Break up conftest.vals because some shells have a limit on
+# the size of here documents, and old seds have small limits too.
+
+rm -f conftest.tail
+while :
+do
+  ac_lines=`grep -c . conftest.vals`
+  # grep -c gives empty output for an empty file on some AIX systems.
+  if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
+  # Write a limited-size here document to conftest.frag.
+  echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
+  echo 'CEOF
+  sed -f conftest.frag conftest.in > conftest.out
+  rm -f conftest.in
+  mv conftest.out conftest.in
+' >> $CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
+  rm -f conftest.vals
+  mv conftest.tail conftest.vals
+done
+rm -f conftest.vals
+
+cat >> $CONFIG_STATUS <<\EOF
+  rm -f conftest.frag conftest.h
+  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
+  cat conftest.in >> conftest.h
+  rm -f conftest.in
+  if cmp -s $ac_file conftest.h 2>/dev/null; then
+    echo "$ac_file is unchanged"
+    rm -f conftest.h
+  else
+    # Remove last slash and all that follows it.  Not all systems have dirname.
+      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+      # The file is in a subdirectory.
+      test ! -d "$ac_dir" && mkdir "$ac_dir"
+    fi
+    rm -f $ac_file
+    mv conftest.h $ac_file
+  fi
+fi; done
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+host='${host}'
+build='${build}'
+target='${target}'
+target_alias='${target_alias}'
+srcdir='${srcdir}'
+subdirs='${subdirs}'
+oldstyle_subdirs='${oldstyle_subdirs}'
+symbolic_link='${symbolic_link}'
+program_transform_set='${program_transform_set}'
+program_transform_name='${program_transform_name}'
+dep_host_xmake_file='${dep_host_xmake_file}'
+host_xmake_file='${host_xmake_file}'
+dep_tmake_file='${dep_tmake_file}'
+tmake_file='${tmake_file}'
+thread_file='${thread_file}'
+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}'
+host_exeext='${host_exeext}'
+out_file='${out_file}'
+gdb_needs_out_file_path='${gdb_needs_out_file_path}'
+SET_MAKE='${SET_MAKE}'
+target_list='${target_list}'
+target_overrides='${target_overrides}'
+host_overrides='${host_overrides}'
+cross_defines='${cross_defines}'
+cross_overrides='${cross_overrides}'
+build_overrides='${build_overrides}'
+cpp_install_dir='${cpp_install_dir}'
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+. $srcdir/configure.lang
+case x$CONFIG_HEADERS in
+xauto-host.h:config.in)
+echo > cstamp-h ;;
+esac
+# If the host supports symlinks, point stage[1234] at ../stage[1234] so
+# bootstrapping and the installation procedure can still use
+# CC="stage1/xgcc -Bstage1/".  If the host doesn't support symlinks,
+# 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
+ for d in .. ${subdirs} ; do
+   if [ $d != .. ]; then
+	STARTDIR=`pwd`
+	cd $d
+	for t in stage1 stage2 stage3 stage4 include
+	do
+		rm -f $t
+		$symbolic_link ../$t $t 2>/dev/null
+	done
+	cd $STARTDIR
+   fi
+ done
+else true ; fi
+
 exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+