File:  [DragonFly] / src / contrib / gcc / Attic / configure.in
Revision 1.2: download - view: text, annotated - select for diffs
Wed Nov 19 00:51:31 2003 UTC (10 years, 9 months ago) by dillon
Branches: MAIN
CVS tags: HEAD, DragonFly_Stable, DragonFly_Snap29Sep2004, DragonFly_Snap13Sep2004, DragonFly_RELEASE_1_2_Slip, DragonFly_RELEASE_1_2, DragonFly_1_0_REL, DragonFly_1_0_RC1, DragonFly_1_0A_REL
Change the system name from 'FreeBSD' to 'DragonFly'.  We are now officially
DragonFly 1.0-CURRENT.  The change is fairly straight forward but involves
adding support for the 'DragonFly' OS type in various gnu contributed pieces
(typically configure based), as well as compiler and BFD support for building
GCC and friends (basically just copied the FreeBSD files for DragonFly).

Additionally, hack the ports makefiles with UNAME_xxx environment variables
so ports builds think its still a FreeBSD-4.8 system.  Otherwise most of the
ports will fail.

# configure.in for GNU CC
# Process this file with autoconf to generate a configuration script.

# Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
#
# $DragonFly: src/contrib/gcc/configure.in,v 1.2 2003/11/19 00:51:31 dillon Exp $

#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.

# Initialization and defaults
AC_PREREQ(2.12.1)
AC_INIT(tree.c)
AC_CONFIG_HEADER(auto-host.h:config.in)

remove=rm
hard_link=ln
symbolic_link='ln -s'
copy=cp

# Check for bogus environment variables.
# Test if LIBRARY_PATH contains the notation for the current directory
# since this would lead to problems installing/building glibc.
# LIBRARY_PATH contains the current directory if one of the following
# is true:
# - one of the terminals (":" and ";") is the first or last sign
# - two terminals occur directly after each other
# - the path contains an element with a dot in it
AC_MSG_CHECKING(LIBRARY_PATH variable)
changequote(,)dnl
case ${LIBRARY_PATH} in
  [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
    library_path_setting="contains current directory"
    ;;
  *)
    library_path_setting="ok"
    ;;
esac
changequote([,])dnl
AC_MSG_RESULT($library_path_setting)
if test "$library_path_setting" != "ok"; then
AC_MSG_ERROR([
*** LIBRARY_PATH shouldn't contain the current directory when
*** building gcc. Please change the environment variable
*** and run configure again.])
fi

# Test if GCC_EXEC_PREFIX contains the notation for the current directory
# since this would lead to problems installing/building glibc.
# GCC_EXEC_PREFIX contains the current directory if one of the following
# is true:
# - one of the terminals (":" and ";") is the first or last sign
# - two terminals occur directly after each other
# - the path contains an element with a dot in it
AC_MSG_CHECKING(GCC_EXEC_PREFIX variable)
changequote(,)dnl
case ${GCC_EXEC_PREFIX} in
  [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
    gcc_exec_prefix_setting="contains current directory"
    ;;
  *)
    gcc_exec_prefix_setting="ok"
    ;;
esac
changequote([,])dnl
AC_MSG_RESULT($gcc_exec_prefix_setting)
if test "$gcc_exec_prefix_setting" != "ok"; then
AC_MSG_ERROR([
*** GCC_EXEC_PREFIX shouldn't contain the current directory when
*** building gcc. Please change the environment variable
*** and run configure again.])
fi

# Check for additional parameters

# With GNU ld
AC_ARG_WITH(gnu-ld,
[  --with-gnu-ld           arrange to work with GNU ld.],
gnu_ld_flag="$with_gnu_ld",
gnu_ld_flag=no)

# With pre-defined ld
AC_ARG_WITH(ld,
[  --with-ld               arrange to use the specified ld (full pathname).],
DEFAULT_LINKER="$with_ld")
if test x"${DEFAULT_LINKER+set}" = x"set"; then
  if test ! -x "$DEFAULT_LINKER"; then
    AC_MSG_WARN([cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER])
  elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
    gnu_ld_flag=yes
  fi
  AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER")
fi

# With GNU as
AC_ARG_WITH(gnu-as,
[  --with-gnu-as           arrange to work with GNU as.],
gas_flag="$with_gnu_as",
gas_flag=no)

AC_ARG_WITH(as,
[  --with-as               arrange to use the specified as (full pathname).],
DEFAULT_ASSEMBLER="$with_as")
if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
  if test ! -x "$DEFAULT_ASSEMBLER"; then
    AC_MSG_WARN([cannot execute: $DEFAULT_ASSEMBLER: check --with-as or env. var. DEFAULT_ASSEMBLER])
  elif $DEFAULT_ASSEMBLER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
    gas_flag=yes
  fi
  AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$DEFAULT_ASSEMBLER")
fi

# With stabs
AC_ARG_WITH(stabs,
[  --with-stabs            arrange to use stabs instead of host debug format.],
stabs="$with_stabs",
stabs=no)

# With ELF
AC_ARG_WITH(elf,
[  --with-elf              arrange to use ELF instead of host debug format.],
elf="$with_elf",
elf=no)

# Specify the local prefix
local_prefix=
AC_ARG_WITH(local-prefix,
[  --with-local-prefix=DIR specifies directory to put local include.],
[case "${withval}" in
yes)	AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
no)	;;
*)	local_prefix=$with_local_prefix ;;
esac])

# Default local prefix if it is empty
if test x$local_prefix = x; then
	local_prefix=/usr/local
fi

# Don't set gcc_gxx_include_dir to gxx_include_dir since that's only
# passed in by the toplevel make and thus we'd get different behavior
# depending on where we built the sources.
gcc_gxx_include_dir=
# Specify the g++ header file directory
AC_ARG_WITH(gxx-include-dir,
[  --with-gxx-include-dir=DIR
                          specifies directory to put g++ header files.],
[case "${withval}" in
yes)	AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;;
no)	;;
*)	gcc_gxx_include_dir=$with_gxx_include_dir ;;
esac])

if test x${gcc_gxx_include_dir} = x; then
  if test x${enable_version_specific_runtime_libs} = xyes; then
    gcc_gxx_include_dir='${libsubdir}/include/g++'
  else
    topsrcdir=${srcdir}/.. . ${srcdir}/../config.if
changequote(<<, >>)dnl
    gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/g++"-${libstdcxx_interface}
changequote([, ])dnl
  fi
fi

# Enable expensive internal checks
AC_ARG_ENABLE(checking,
[  --enable-checking       enable expensive run-time checks.],
[case "${enableval}" in
yes)	AC_DEFINE(ENABLE_CHECKING) ;;
no)	;;
*)	AC_MSG_ERROR(bad value ${enableval} given for checking option) ;;
esac])

AC_ARG_ENABLE(cpp,
[  --disable-cpp           don't provide a user-visible C preprocessor.],
[], [enable_cpp=yes])

AC_ARG_WITH(cpp_install_dir,
[  --with-cpp-install-dir=DIR
                          install the user visible C preprocessor in DIR
                          (relative to PREFIX) as well as PREFIX/bin.],
[if test x$withval = xyes; then
  AC_MSG_ERROR([option --with-cpp-install-dir requires an argument])
elif test x$withval != xno; then
  cpp_install_dir=$withval
fi])

# Use cpplib+cppmain for the preprocessor, but don't link it with the compiler.
cpp_main=cccp
AC_ARG_ENABLE(cpplib,
[  --enable-cpplib         use cpplib for the C preprocessor.],
if test x$enable_cpplib != xno; then
  cpp_main=cppmain
fi)

# Link cpplib into the compiler proper, for C/C++/ObjC.
AC_ARG_ENABLE(c-cpplib,
[  --enable-c-cpplib       link cpplib directly into C and C++ compilers
                          (EXPERIMENTAL) (implies --enable-cpplib).],
if test x$enable_c_cpplib != xno; then
  extra_c_objs="${extra_c_objs} libcpp.a"
  extra_cxx_objs="${extra_cxx_objs} ../libcpp.a"
  extra_c_flags="${extra_c_flags} -DUSE_CPPLIB=1"
  cpp_main=cppmain
fi)

# Enable Multibyte Characters for C/C++
AC_ARG_ENABLE(c-mbchar,
[  --enable-c-mbchar       enable multibyte characters for C and C++.],
if test x$enable_c_mbchar != xno; then
  extra_c_flags=-DMULTIBYTE_CHARS=1
fi)

# Disable fast fixincludes
AC_ARG_ENABLE(fast-fixincludes,
[  --disable-fast-fixincludes
                         Disable the new fast fixincludes.
                         Run the old fixincludes script unconditionally],
if test x$enable_fast_fixincludes = xno ; then
  cp $srcdir/fixincludes ./fixinc.sh
fi)

# Enable Haifa scheduler.
AC_ARG_ENABLE(haifa,
[  --enable-haifa          use the experimental scheduler.
  --disable-haifa         don't use the experimental scheduler for the
                          targets which normally enable it.])

# Enable threads
# Pass with no value to take the default
# Pass with a value to specify a thread package
AC_ARG_ENABLE(threads,
[  --enable-threads        enable thread usage for target GCC.
  --enable-threads=LIB    use LIB thread package for target GCC.],
if test x$enable_threads = xno; then
	enable_threads=''
fi,
enable_threads='')

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
		;;
esac

AC_ARG_ENABLE(objc-gc,
[  --enable-objc-gc	  enable the use of Boehm's garbage collector with
			  the GNU Objective-C runtime.],
if [[[ x$enable_objc_gc = xno ]]]; then
	objc_boehm_gc=''
else
	objc_boehm_gc=1
fi,
objc_boehm_gc='')

AC_ARG_ENABLE(java-gc,
changequote(<<,>>)dnl
<<  --enable-java-gc=TYPE   choose garbage collector [boehm]>>,
changequote([,])
  JAVAGC=$enableval,
  JAVAGC=boehm)

AC_ARG_WITH(dwarf2,
[  --enable-dwarf2	  enable DWARF2 debugging as default.],
dwarf2="$with_dwarf2",
dwarf2=no)

# Determine the host, build, and target systems
AC_CANONICAL_SYSTEM

# Find the native compiler
AC_PROG_CC

# If the native compiler is GCC, we can enable warnings even in stage1.  
# That's useful for people building cross-compilers, or just running a
# quick `make'.
if test "x$GCC" = "xyes"; then 
  stage1_warn_cflags='$(WARN_CFLAGS)'
else
  stage1_warn_cflags=""
fi
AC_SUBST(stage1_warn_cflags)

AC_PROG_MAKE_SET

AC_MSG_CHECKING([whether a default assembler was specified])
if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
    if test x"$gas_flag" = x"no"; then
    	AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER)])
    else
	AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER - GNU as)])
    fi
else
    AC_MSG_RESULT(no)
fi

AC_MSG_CHECKING([whether a default linker was specified])
if test x"${DEFAULT_LINKER+set}" = x"set"; then
    if test x"$gnu_ld_flag" = x"no"; then
	AC_MSG_RESULT([yes ($DEFAULT_LINKER)])
    else
	AC_MSG_RESULT([yes ($DEFAULT_LINKER - GNU ld)])
    fi
else
    AC_MSG_RESULT(no)
fi

# Find some useful tools
AC_PROG_AWK
AC_PROG_LEX
GCC_PROG_LN
GCC_PROG_LN_S
GCC_C_VOLATILE
AC_PROG_RANLIB
AC_PROG_YACC
EGCS_PROG_INSTALL

AC_HEADER_STDC
AC_HEADER_TIME
GCC_HEADER_STRING
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h fcntl.h unistd.h stab.h sys/file.h sys/time.h sys/resource.h sys/param.h sys/times.h sys/stat.h direct.h)

# Check for thread headers.
AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])

# See if GNAT has been installed
AC_CHECK_PROG(gnat, gnatbind, yes, no)

# See if the system preprocessor understands the ANSI C preprocessor
# stringification operator.
AC_MSG_CHECKING(whether cpp understands the stringify operator)
AC_CACHE_VAL(gcc_cv_c_have_stringify,
[AC_TRY_COMPILE(,
[#define S(x)   #x
char *test = S(foo);],
gcc_cv_c_have_stringify=yes, gcc_cv_c_have_stringify=no)])
AC_MSG_RESULT($gcc_cv_c_have_stringify)
if test $gcc_cv_c_have_stringify = yes; then
  AC_DEFINE(HAVE_CPP_STRINGIFY)
fi

# Use <inttypes.h> only if it exists,
# doesn't clash with <sys/types.h>, and declares intmax_t.
AC_MSG_CHECKING(for inttypes.h)
AC_CACHE_VAL(gcc_cv_header_inttypes_h,
[AC_TRY_COMPILE(
  [#include <sys/types.h>
#include <inttypes.h>],
  [intmax_t i = -1;],
  [gcc_cv_header_inttypes_h=yes],
  gcc_cv_header_inttypes_h=no)])
AC_MSG_RESULT($gcc_cv_header_inttypes_h)
if test $gcc_cv_header_inttypes_h = yes; then
  AC_DEFINE(HAVE_INTTYPES_H)
fi

AC_CHECK_FUNCS(strtoul bsearch strerror putenv popen bcopy bzero bcmp \
	index rindex strchr strrchr kill getrlimit setrlimit atoll atoq \
	sysconf isascii gettimeofday strsignal putc_unlocked fputc_unlocked \
	fputs_unlocked)

# Make sure wchar_t is available
#AC_CHECK_TYPE(wchar_t, unsigned int)

GCC_FUNC_VFPRINTF_DOPRNT
GCC_FUNC_PRINTF_PTR

case "${host}" in
*-*-uwin*)
  AC_MSG_ERROR([
*** UWIN may not be used as a host platform because
*** linking with posix.dll is not allowed by the GNU GPL])
  ;;
esac
AC_FUNC_VFORK

GCC_NEED_DECLARATIONS(malloc realloc calloc free bcopy bzero bcmp \
	index rindex getenv atol sbrk abort atof strerror getcwd getwd \
	strsignal putc_unlocked fputs_unlocked strstr)

GCC_NEED_DECLARATIONS(getrlimit setrlimit, [
#include <sys/types.h>
#ifdef HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
#endif
])

AC_DECL_SYS_SIGLIST

# mkdir takes a single argument on some systems. 
GCC_FUNC_MKDIR_TAKES_ONE_ARG

# File extensions
manext='.1'
objext='.o'
AC_SUBST(manext)
AC_SUBST(objext)

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_truncate_target=
host_exeext=

# 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 $build $host $target; do

	out_file=
	xmake_file=
	tmake_file=
	extra_headers=
	extra_passes=
	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 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
	# wants its .md file passed through cpp.
	md_cppflags=
	# Set this if directory names should be truncated to 14 characters.
	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
		;;
changequote(,)dnl
	i[34567]86-*-*)
changequote([,])dnl
		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
		tmake_file="t-libc-ok t-openbsd"
		# avoid surprises, always provide an xm-openbsd file 
		xm_file=${cpu_type}/xm-openbsd.h
		# don't depend on processor x-fragments as well
		xmake_file=none
 		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.
	*local*)
		cpu_type=`echo $machine | sed -e 's/-.*//'`
		rest=`echo $machine | sed -e "s/$cpu_type-//"`
		xm_file=${cpu_type}/xm-$rest.h
		tm_file=${cpu_type}/$rest.h
		if test -f $srcdir/config/${cpu_type}/x-$rest; \
		then xmake_file=${cpu_type}/x-$rest; \
		else true; \
		fi
		if test -f $srcdir/config/${cpu_type}/t-$rest; \
		then tmake_file=${cpu_type}/t-$rest; \
		else true; \
		fi
		;;
	1750a-*-*)
		;;
	a29k-*-bsd* | a29k-*-sym1*)
		tm_file="${tm_file} a29k/unix.h"
		xm_defines=USG
		xmake_file=a29k/x-unix
		use_collect2=yes
		;;
	a29k-*-udi | a29k-*-coff)
		tm_file="${tm_file} dbxcoff.h a29k/udi.h"
		tmake_file=a29k/t-a29kbare
		;;
	a29k-wrs-vxworks*)
		tm_file="${tm_file} dbxcoff.h a29k/udi.h a29k/vx29k.h"
		tmake_file=a29k/t-vx29k
		extra_parts="crtbegin.o crtend.o"
		thread_file='vxworks'
		;;
	a29k-*-*)			# Default a29k environment.
		use_collect2=yes
		;;
	alpha-*-interix)
		tm_file="${tm_file} alpha/alpha32.h interix.h alpha/alpha-interix.h"

		# GAS + IEEE_CONFORMANT+IEEE (no inexact);
		#target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT|MASK_IEEE"

		# GAS + IEEE_CONFORMANT
		target_cpu_default="MASK_GAS|MASK_IEEE_CONFORMANT"

		xm_file="alpha/xm-alpha-interix.h xm-interix.h"
		xmake_file="x-interix alpha/t-pe"
		tmake_file="alpha/t-interix alpha/t-ieee"
 		if test x$enable_threads = xyes ; then
			thread_file='posix'
		fi
		if test x$stabs = xyes ; then
			tm_file="${tm_file} dbxcoff.h"
		fi
		#prefix='$$INTERIX_ROOT'/usr/contrib
		#local_prefix='$$INTERIX_ROOT'/usr/contrib
		;;
	alpha*-*-linux-gnuecoff*)
		tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
		target_cpu_default="MASK_GAS"
		tmake_file="alpha/t-ieee"
		gas=no
		xmake_file=none
		gas=yes gnu_ld=yes
		;;
	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 alpha/t-ieee"
		extra_parts="crtbegin.o crtend.o"
		xmake_file=none
		gas=yes gnu_ld=yes
 		if test x$enable_threads = xyes; then
 			thread_file='posix'
 		fi
		;;
	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 alpha/t-ieee"
		extra_parts="crtbegin.o crtend.o"
		xmake_file=none
		gas=yes gnu_ld=yes
 		if test x$enable_threads = xyes; then
 			thread_file='posix'
 		fi
		;;
	alpha*-*-netbsd*)
		tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
		target_cpu_default="MASK_GAS"
		tmake_file="alpha/t-crtbe alpha/t-ieee"
		extra_parts="crtbegin.o crtend.o"
		xmake_file=none
		gas=yes gnu_ld=yes
		;;

	alpha*-*-openbsd*)
		# default x-alpha is only appropriate for dec-osf.
		target_cpu_default="MASK_GAS"
		tmake_file="alpha/t-ieee"
		;;
		
	alpha*-dec-osf*)
		if test x$stabs = xyes
		then
			tm_file="${tm_file} dbx.h"
		fi
		if test x$gas != xyes
		then
			extra_passes="mips-tfile mips-tdump"
		fi
		use_collect2=yes
		tmake_file="alpha/t-ieee"
		case $machine in
		  *-*-osf1*)
		    tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
		    ;;
changequote(,)dnl
		  *-*-osf[23]*)
changequote([,])dnl
		    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
changequote(,)dnl
		  *-*-osf4.0[b-z] | *-*-osf4.[1-9]*)
changequote([,])dnl
		    target_cpu_default=MASK_SUPPORT_ARCH
		    ;;
		esac
		;;
 	alpha*-*-vxworks*)
		tm_file="${tm_file} dbx.h alpha/vxworks.h"
		tmake_file="alpha/t-ieee"
		if [ x$gas != xyes ]
		then
			extra_passes="mips-tfile mips-tdump"
		fi
		use_collect2=yes
		thread_file='vxworks'
		;;
	alpha*-*-winnt*)
	 	tm_file="${tm_file} alpha/alpha32.h alpha/win-nt.h winnt/win-nt.h"
		xm_file="${xm_file} config/winnt/xm-winnt.h alpha/xm-winnt.h"
		tmake_file="t-libc-ok alpha/t-ieee"
		xmake_file=winnt/x-winnt
		extra_host_objs=oldnames.o
		extra_gcc_objs="spawnv.o oldnames.o"
		if test x$gnu_ld != xyes
		then
			extra_programs=ld.exe
		fi
 		if test 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 alpha/t-ieee"
		;;
	arc-*-elf*)
		extra_parts="crtinit.o crtfini.o"
		;;
	arm-*-coff* | armel-*-coff*)
		tm_file=arm/coff.h
		tmake_file=arm/t-bare
		;;
	arm-*-vxworks*)
		tm_file=arm/vxarm.h
		tmake_file=arm/t-bare
		thread_file='vxworks'
		;;
changequote(,)dnl
	arm-*-riscix1.[01]*)		# Acorn RISC machine (early versions)
changequote([,])dnl
		tm_file=arm/riscix1-1.h
		use_collect2=yes
		;;
	arm-*-riscix*)			# Acorn RISC machine
		if test x$gas = xyes
		then
		    tm_file=arm/rix-gas.h
		else
		    tm_file=arm/riscix.h
		fi
		xmake_file=arm/x-riscix
		tmake_file=arm/t-riscix
		use_collect2=yes
		;;
	arm-semi-aout | armel-semi-aout)
		tm_file=arm/semi.h
		tmake_file=arm/t-semi
		;;
	arm-semi-aof | armel-semi-aof)
		tm_file=arm/semiaof.h
		tmake_file=arm/t-semiaof
		;;
	arm*-*-netbsd*)
		tm_file=arm/netbsd.h
		xm_file="arm/xm-netbsd.h ${xm_file}"
		tmake_file="t-netbsd arm/t-netbsd"
       use_collect2=yes
		;;
	arm*-*-linux-gnuaout*)		# ARM GNU/Linux with a.out
		cpu_type=arm
		xmake_file=x-linux
		tm_file=arm/linux-aout.h
		tmake_file=arm/t-linux
		gnu_ld=yes
		;;
	arm*-*-linux-gnuoldld*)		# ARM GNU/Linux with old ELF linker
		xm_file=arm/xm-linux.h
		xmake_file=x-linux
		tm_file="arm/linux-oldld.h arm/linux-elf.h"
		case $machine in
		armv2*-*-*)
			tm_file="arm/linux-elf26.h $tm_file"
			;;
		esac
		tmake_file="t-linux arm/t-linux"
		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
		gnu_ld=yes
		case x${enable_threads} in
		x | xyes | xpthreads | xposix)
			thread_file='posix'
			;;
		esac
		;;
	arm*-*-linux-gnu*)		# ARM GNU/Linux with ELF
		xm_file=arm/xm-linux.h
		xmake_file=x-linux
		tm_file="arm/linux-elf.h"
		case $machine in
		armv2*-*-*)
			tm_file="arm/linux-elf26.h $tm_file"
			;;
		esac
		tmake_file="t-linux arm/t-linux"
		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
		gnu_ld=yes
		case x${enable_threads} in
		x | xyes | xpthreads | xposix)
			thread_file='posix'
			;;
		esac
		;;
	arm*-*-aout)
		tm_file=arm/aout.h
		tmake_file=arm/t-bare
		;;
        arm*-*-ecos-elf)
		tm_file=arm/ecos-elf.h
		tmake_file=arm/t-elf
		;; 
	arm*-*-elf)
		tm_file=arm/unknown-elf.h
		tmake_file=arm/t-arm-elf
		;;
        arm*-*-oabi)
		tm_file=arm/unknown-elf-oabi.h
		tmake_file=arm/t-arm-elf
		;;
	c1-convex-*)			# Convex C1
		target_cpu_default=1
		use_collect2=yes
		;;
	c2-convex-*)			# Convex C2
		target_cpu_default=2
		use_collect2=yes
		;;
	c32-convex-*)
		target_cpu_default=4
		use_collect2=yes
		;;
	c34-convex-*)
		target_cpu_default=8
		use_collect2=yes
		;;
	c38-convex-*)
		target_cpu_default=16		
		use_collect2=yes
		;;
 	c4x-*)
 		cpu_type=c4x
 		tmake_file=c4x/t-c4x
 		;;
	clipper-intergraph-clix*)
		tm_file="${tm_file} svr3.h clipper/clix.h"
		xm_file=clipper/xm-clix.h
		xmake_file=clipper/x-clix
		extra_headers=va-clipper.h
		extra_parts="crtbegin.o crtend.o"
		install_headers_dir=install-headers-cpio
		;;
	dsp16xx-*)
		;;
	elxsi-elxsi-*)
		use_collect2=yes
		;;
# This hasn't been upgraded to GCC 2.
#	fx80-alliant-*)			# Alliant FX/80
#		;;
	h8300-*-*)
		float_format=i32
		;;
	hppa*-*-openbsd*)
		target_cpu_default="MASK_PA_11"
		tmake_file=pa/t-openbsd
		;;
	hppa1.1-*-pro*)
		tm_file="pa/pa-pro.h ${tm_file} pa/pa-pro-end.h libgloss.h"
		xm_file=pa/xm-papro.h
		tmake_file=pa/t-pro
		;;
	hppa1.1-*-osf*)
		target_cpu_default="MASK_PA_11"
		tm_file="${tm_file} pa/pa-osf.h"
		use_collect2=yes
		;;
	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*)
		tm_file="${tm_file} pa/pa-osf.h"
		use_collect2=yes
		;;
	hppa1.1-*-bsd*)
		target_cpu_default="MASK_PA_11"
		use_collect2=yes
		;;
	hppa1.0-*-bsd*)
		use_collect2=yes
		;;
	hppa1.0-*-hpux7*)
		tm_file="pa/pa-oldas.h ${tm_file} pa/pa-hpux7.h"
		xm_file=pa/xm-pahpux.h
		xmake_file=pa/x-pa-hpux
		if test x$gas = xyes
		then
			tm_file="${tm_file} pa/gas.h"
		fi
		install_headers_dir=install-headers-cpio
		use_collect2=yes
		;;
changequote(,)dnl
	hppa1.0-*-hpux8.0[0-2]*)
changequote([,])dnl
		tm_file="${tm_file} pa/pa-hpux.h"
		xm_file=pa/xm-pahpux.h
		xmake_file=pa/x-pa-hpux
		if test x$gas = xyes
		then
			tm_file="${tm_file} pa/pa-gas.h"
		else
			tm_file="pa/pa-oldas.h ${tm_file}"
		fi
		install_headers_dir=install-headers-cpio
		use_collect2=yes
		;;
changequote(,)dnl
	hppa1.1-*-hpux8.0[0-2]*)
changequote([,])dnl
		target_cpu_default="MASK_PA_11"
		tm_file="${tm_file} pa/pa-hpux.h"
		xm_file=pa/xm-pahpux.h
		xmake_file=pa/x-pa-hpux
		if test x$gas = xyes
		then
			tm_file="${tm_file} pa/pa-gas.h"
		else
			tm_file="pa/pa-oldas.h ${tm_file}"
		fi
		install_headers_dir=install-headers-cpio
		use_collect2=yes
		;;
	hppa1.1-*-hpux8*)
		target_cpu_default="MASK_PA_11"
		tm_file="${tm_file} pa/pa-hpux.h"
		xm_file=pa/xm-pahpux.h
		xmake_file=pa/x-pa-hpux
		if test x$gas = xyes
		then
			tm_file="${tm_file} pa/pa-gas.h"
		fi
		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 test x$gas = xyes
		then
			tm_file="${tm_file} pa/pa-gas.h"
		fi
		install_headers_dir=install-headers-cpio
		use_collect2=yes
		;;
	hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
		target_cpu_default="MASK_PA_11"
		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 test x$gas = xyes
		then
			tm_file="${tm_file} pa/pa-gas.h"
		fi
		if test x$enable_threads = x; then
		    enable_threads=$have_pthread_h
		fi
 		if test x$enable_threads = xyes; then
			thread_file='dce'
			tmake_file="${tmake_file} pa/t-dce-thr"
		fi
		install_headers_dir=install-headers-cpio
		use_collect2=yes
		;;
	hppa1.0-*-hpux10*)
		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 test x$gas = xyes
		then
			tm_file="${tm_file} pa/pa-gas.h"
		fi
		if test x$enable_threads = x; then
		    enable_threads=$have_pthread_h
		fi
 		if test x$enable_threads = xyes; then
			thread_file='dce'
			tmake_file="${tmake_file} pa/t-dce-thr"
		fi
		install_headers_dir=install-headers-cpio
		use_collect2=yes
		;;
	hppa1.1-*-hpux* | hppa2*-*-hpux*)
		target_cpu_default="MASK_PA_11"
		tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
		xm_file=pa/xm-pahpux.h
		xmake_file=pa/x-pa-hpux
		if test x$gas = xyes
		then
			tm_file="${tm_file} pa/pa-gas.h"
		fi
		install_headers_dir=install-headers-cpio
		use_collect2=yes
		;;
	hppa1.0-*-hpux*)
		tm_file="${tm_file} pa/pa-hpux.h pa/pa-hpux9.h"
		xm_file=pa/xm-pahpux.h
		xmake_file=pa/x-pa-hpux
		if test x$gas = xyes
		then
			tm_file="${tm_file} pa/pa-gas.h"
		fi
		install_headers_dir=install-headers-cpio
		use_collect2=yes
		;;
	hppa1.1-*-hiux* | hppa2*-*-hiux*)
		target_cpu_default="MASK_PA_11"
		tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
		xm_file=pa/xm-pahpux.h
		xmake_file=pa/x-pa-hpux
		if test x$gas = xyes
		then
			tm_file="${tm_file} pa/pa-gas.h"
		fi
		install_headers_dir=install-headers-cpio
		use_collect2=yes
		;;
	hppa1.0-*-hiux*)
		tm_file="${tm_file} pa/pa-hpux.h pa/pa-hiux.h"
		xm_file=pa/xm-pahpux.h
		xmake_file=pa/x-pa-hpux
		if test x$gas = xyes
		then
			tm_file="${tm_file} pa/pa-gas.h"
		fi
		install_headers_dir=install-headers-cpio
		use_collect2=yes
		;;
	hppa*-*-lites*)
		target_cpu_default="MASK_PA_11"
		use_collect2=yes
		;;
	i370-*-mvs*)
		;;
changequote(,)dnl
	i[34567]86-ibm-aix*)		# IBM PS/2 running AIX
changequote([,])dnl
                if test x$gas = xyes
		then
			tm_file=i386/aix386.h
			extra_parts="crtbegin.o crtend.o"
			tmake_file=i386/t-crtstuff
		else
			tm_file=i386/aix386ng.h
			use_collect2=yes
		fi
		xm_file="xm-alloca.h i386/xm-aix.h ${xm_file}"
		xm_defines=USG
		xmake_file=i386/x-aix
		;;
changequote(,)dnl
	i[34567]86-ncr-sysv4*)		# NCR 3000 - ix86 running system V.4
changequote([,])dnl
		xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
		xm_defines="USG POSIX SMALL_ARG_MAX"
		xmake_file=i386/x-ncr3000
		if test 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
		;;
changequote(,)dnl
	i[34567]86-next-*)
changequote([,])dnl
		tm_file=i386/next.h
		xm_file=i386/xm-next.h
		tmake_file=i386/t-next
		xmake_file=i386/x-next
		extra_objs=nextstep.o
		extra_parts="crtbegin.o crtend.o"
 		if test x$enable_threads = xyes; then
			thread_file='mach'
		fi
		;;
changequote(,)dnl
	i[34567]86-sequent-bsd*) 		# 80386 from Sequent
changequote([,])dnl
		use_collect2=yes
		if test x$gas = xyes
		then
			tm_file=i386/seq-gas.h
		else
			tm_file=i386/sequent.h
		fi
		;;
changequote(,)dnl
	i[34567]86-sequent-ptx1*)
changequote([,])dnl
		xm_defines="USG SVR3"
		xmake_file=i386/x-sysv3
		tm_file=i386/seq-sysv3.h
		tmake_file=i386/t-crtstuff
		extra_parts="crtbegin.o crtend.o"
		install_headers_dir=install-headers-cpio
		;;
changequote(,)dnl
	i[34567]86-sequent-ptx2* | i[34567]86-sequent-sysv3*)
changequote([,])dnl
		xm_defines="USG SVR3"
		xmake_file=i386/x-sysv3
		tm_file=i386/seq2-sysv3.h
		tmake_file=i386/t-crtstuff
		extra_parts="crtbegin.o crtend.o"
		install_headers_dir=install-headers-cpio
		;;
changequote(,)dnl
	i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
changequote([,])dnl
		xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
		xm_defines="USG POSIX SMALL_ARG_MAX"
		xmake_file=x-svr4
		tm_file=i386/ptx4-i.h
		tmake_file=t-svr4
		extra_parts="crtbegin.o crtend.o"
		install_headers_dir=install-headers-cpio
		;;
	i386-sun-sunos*)		# Sun i386 roadrunner
		xm_defines=USG
		tm_file=i386/sun.h
		use_collect2=yes
		;;
changequote(,)dnl
	i[34567]86-wrs-vxworks*)
changequote([,])dnl
		tm_file=i386/vxi386.h
		tmake_file=i386/t-i386bare
		thread_file='vxworks'
		;;
changequote(,)dnl
	i[34567]86-*-aout*)
changequote([,])dnl
		tm_file=i386/i386-aout.h
		tmake_file=i386/t-i386bare
		;;
changequote(,)dnl
	i[34567]86-*-bsdi* | i[34567]86-*-bsd386*)
changequote([,])dnl
		tm_file=i386/bsd386.h
#		tmake_file=t-libc-ok
		;;
changequote(,)dnl
	i[34567]86-*-bsd*)
changequote([,])dnl
		tm_file=i386/386bsd.h
#		tmake_file=t-libc-ok
# Next line turned off because both 386BSD and BSD/386 use GNU ld.
#		use_collect2=yes
		;;
changequote(,)dnl
	i[34567]86-*-freebsdelf*)
changequote([,])dnl
		tm_file="i386/i386.h i386/att.h svr4.h i386/freebsd-elf.h i386/perform.h"
		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
		tmake_file=t-freebsd
		gas=yes
		gnu_ld=yes
		stabs=yes
		;;
changequote(,)dnl
	i[34567]86-*-dragonflyelf*)
changequote([,])dnl
		tm_file="i386/i386.h i386/att.h svr4.h i386/dragonfly-elf.h i386/perform.h"
		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
		tmake_file=t-dragonfly
		gas=yes
		gnu_ld=yes
		stabs=yes
		;;
changequote(,)dnl
	i[34567]86-*-freebsd*)
changequote([,])dnl
		tm_file=i386/freebsd.h
		tmake_file=t-freebsd
		;;
changequote(,)dnl
	i[34567]86-*-dragonfly*)
changequote([,])dnl
		tm_file=i386/dragonfly.h
		tmake_file=t-dragonfly
		;;
changequote(,)dnl
	i[34567]86-*-netbsd*)
changequote([,])dnl
		tm_file=i386/netbsd.h
		tmake_file=t-netbsd
       use_collect2=yes
		;;
changequote(,)dnl
	i[34567]86-*-openbsd*)
changequote([,])dnl
		# we need collect2 until our bug is fixed...
		use_collect2=yes
		;;
changequote(,)dnl
	i[34567]86-*-coff*)
changequote([,])dnl
		tm_file=i386/i386-coff.h
		tmake_file=i386/t-i386bare
		;;
changequote(,)dnl
	i[34567]86-*-isc*)		# 80386 running ISC system
changequote([,])dnl
		xm_file="${xm_file} i386/xm-isc.h"
		xm_defines="USG SVR3"
		case $machine in
changequote(,)dnl
		  i[34567]86-*-isc[34]*)
changequote([,])dnl
		    xmake_file=i386/x-isc3
		    ;;
		  *)
		    xmake_file=i386/x-isc
		    ;;
		esac
                if test x$gas = xyes -a x$stabs = xyes
		then
			tm_file=i386/iscdbx.h
			tmake_file=i386/t-svr3dbx
			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
		;;
changequote(,)dnl
	i[34567]86-*-linux-gnuoldld*)	# Intel 80386's running GNU/Linux
changequote([,])dnl			# with a.out format using
					# pre BFD linkers
		xmake_file=x-linux-aout
		tmake_file="t-linux-aout i386/t-crtstuff"
		tm_file=i386/linux-oldld.h
		gnu_ld=yes
		float_format=i386
		;;
changequote(,)dnl
	i[34567]86-*-linux-gnuaout*)	# Intel 80386's running GNU/Linux
changequote([,])dnl			# with a.out format
		xmake_file=x-linux-aout
		tmake_file="t-linux-aout i386/t-crtstuff"
		tm_file=i386/linux-aout.h
		gnu_ld=yes
		float_format=i386
		;;
changequote(,)dnl
	i[34567]86-*-linux-gnulibc1)	# Intel 80386's running GNU/Linux
changequote([,])dnl			# with ELF format using the
					# GNU/Linux C library 5
		xmake_file=x-linux	
		tm_file=i386/linux.h	
		tmake_file="t-linux t-linux-gnulibc1 i386/t-crtstuff"
		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
		gnu_ld=yes
		float_format=i386
 		if test x$enable_threads = xyes; then
 			thread_file='single'
 		fi
		;;
changequote(,)dnl
	i[34567]86-*-linux-gnu*)	# Intel 80386's running GNU/Linux
changequote([,])dnl			# with ELF format using glibc 2
					# aka GNU/Linux C library 6
		xmake_file=x-linux
		tm_file=i386/linux.h
		tmake_file="t-linux i386/t-crtstuff"
		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
		gnu_ld=yes
		float_format=i386
 		if test x$enable_threads = xyes; then
 			thread_file='posix'
 		fi
		;;
changequote(,)dnl
	i[34567]86-*-gnu*)
		float_format=i386
changequote([,])dnl
		;;
changequote(,)dnl
	i[34567]86-go32-msdos | i[34567]86-*-go32*)
changequote([,])dnl
		echo "GO32/DJGPP V1.X is no longer supported. Use *-pc-msdosdjgpp for DJGPP V2.X instead."
		exit 1
		;;
changequote(,)dnl
	i[34567]86-pc-msdosdjgpp*)
changequote([,])dnl
		xm_file=i386/xm-djgpp.h
		tm_file=i386/djgpp.h
		tmake_file=i386/t-djgpp
		xmake_file=i386/x-djgpp
		gnu_ld=yes
		gas=yes
		exeext=.exe
		case $host in *pc-msdosdjgpp*)
			target_alias=djgpp
			;;
		esac
		;;
changequote(,)dnl
	i[34567]86-moss-msdos* | i[34567]86-*-moss*)
changequote([,])dnl
		tm_file=i386/moss.h
		tmake_file=t-libc-ok
		gnu_ld=yes
		gas=yes
		;;
changequote(,)dnl
	i[34567]86-*-lynxos*)
changequote([,])dnl
		if test x$gas = xyes
		then
			tm_file=i386/lynx.h
		else
			tm_file=i386/lynx-ng.h
		fi
		xm_file=i386/xm-lynx.h
		tmake_file=i386/t-i386bare
		xmake_file=x-lynx
		;;
changequote(,)dnl
	i[34567]86-*-mach*)
changequote([,])dnl
		tm_file=i386/mach.h
#		tmake_file=t-libc-ok
		use_collect2=yes
		;;
changequote(,)dnl
	i[34567]86-*-osfrose*)		# 386 using OSF/rose
changequote([,])dnl
                if test x$elf = xyes
		then
			tm_file=i386/osfelf.h
			use_collect2=
		else
			tm_file=i386/osfrose.h
			use_collect2=yes
		fi
		xm_file="i386/xm-osf.h ${xm_file}"
		xmake_file=i386/x-osfrose
		tmake_file=i386/t-osf
		extra_objs=halfpic.o
		;;
changequote(,)dnl
	i[34567]86-go32-rtems*)
changequote([,])dnl
		cpu_type=i386
		xm_file=i386/xm-go32.h
		tm_file=i386/go32-rtems.h
		tmake_file="i386/t-go32 t-rtems"
		;;
changequote(,)dnl
	i[34567]86-*-rtemself*)
changequote([,])dnl
		cpu_type=i386
		tm_file=i386/rtemself.h
		tmake_file="i386/t-i386bare t-rtems"
		;;
changequote(,)dnl
	i[34567]86-*-rtems*)
changequote([,])dnl
		cpu_type=i386
		tm_file=i386/rtems.h
		tmake_file="i386/t-i386bare t-rtems"
		;;
changequote(,)dnl
	i[34567]86-*-sco3.2v5*)	# 80386 running SCO Open Server 5
changequote([,])dnl
		xm_file="xm-siglist.h xm-alloca.h ${xm_file} i386/xm-sco5.h"
		xm_defines="USG SVR3"
		xmake_file=i386/x-sco5
		install_headers_dir=install-headers-cpio
		tm_file=i386/sco5.h
		if test x$gas = xyes
		then
			tm_file="i386/sco5gas.h ${tm_file}"
			tmake_file=i386/t-sco5gas
		else
			tmake_file=i386/t-sco5
		fi
		extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
		;;
changequote(,)dnl
	i[34567]86-*-sco3.2v4*) 	# 80386 running SCO 3.2v4 system
changequote([,])dnl
		xm_file="${xm_file} i386/xm-sco.h"
		xm_defines="USG SVR3 BROKEN_LDEXP SMALL_ARG_MAX NO_SYS_SIGLIST"
		xmake_file=i386/x-sco4
		install_headers_dir=install-headers-cpio
                if test x$stabs = xyes
		then
			tm_file=i386/sco4dbx.h
			tmake_file=i386/t-svr3dbx
			extra_parts="svr3.ifile svr3z.rfile"
		else
			tm_file=i386/sco4.h
			tmake_file=i386/t-crtstuff
			extra_parts="crtbegin.o crtend.o"
		fi
		truncate_target=yes
		;;
changequote(,)dnl
	i[34567]86-*-sco*)	 	# 80386 running SCO system
changequote([,])dnl
		xm_file=i386/xm-sco.h
		xmake_file=i386/x-sco
		install_headers_dir=install-headers-cpio
                if test x$stabs = xyes
		then
			tm_file=i386/scodbx.h
			tmake_file=i386/t-svr3dbx
			extra_parts="svr3.ifile svr3z.rfile"
		else
			tm_file=i386/sco.h
			extra_parts="crtbegin.o crtend.o"
			tmake_file=i386/t-crtstuff
		fi
		truncate_target=yes
		;;
changequote(,)dnl
	i[34567]86-*-solaris2*)
changequote([,])dnl
		xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
		xm_defines="USG POSIX SMALL_ARG_MAX"
		tm_file=i386/sol2.h
		if test x$gas = xyes; then
			# Only needed if gas does not support -s
			tm_file="i386/sol2gas.h ${tm_file}"
		fi
		tmake_file=i386/t-sol2
		extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
		xmake_file=x-svr4
 		if test x$enable_threads = xyes; then
			thread_file='solaris'
		fi
		;;
changequote(,)dnl
       i[34567]86-*-sysv5*)           # Intel x86 on System V Release 5
changequote([,])dnl
               xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
               xm_defines="USG POSIX"
               tm_file=i386/sysv5.h
               if test x$stabs = xyes
               then
                       tm_file="${tm_file} dbx.h"
               fi
               tmake_file=i386/t-crtpic
               xmake_file=x-svr4
               extra_parts="crtbegin.o crtend.o"
	       if test x$enable_threads = xyes; then
		       thread_file='posix'
	       fi
               ;;
changequote(,)dnl
	i[34567]86-*-sysv4*)		# Intel 80386's running system V.4
changequote([,])dnl
		xm_file="xm-siglist.h xm-alloca.h ${xm_file}"
		xm_defines="USG POSIX SMALL_ARG_MAX"
		tm_file=i386/sysv4.h
		if test x$stabs = xyes
		then
			tm_file="${tm_file} dbx.h"
		fi
		tmake_file=i386/t-crtpic
		xmake_file=x-svr4
		extra_parts="crtbegin.o crtend.o"
		;;
changequote(,)dnl
	i[34567]86-*-udk*)      # Intel x86 on SCO UW/OSR5 Dev Kit
changequote([,])dnl
		xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
		xm_defines="USG POSIX"
		tm_file=i386/udk.h
		tmake_file="i386/t-crtpic i386/t-udk"
		xmake_file=x-svr4
		extra_parts="crtbegin.o crtend.o"
		install_headers_dir=install-headers-cpio
		;;
changequote(,)dnl
	i[34567]86-*-osf1*)		# Intel 80386's running OSF/1 1.3+
changequote([,])dnl
		cpu_type=i386
		xm_file="${xm_file} xm-svr4.h i386/xm-sysv4.h i386/xm-osf1elf.h"
		xm_defines="USE_C_ALLOCA SMALL_ARG_MAX"
		if test 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"
		;;
changequote(,)dnl
	i[34567]86-*-sysv*)		# Intel 80386's running system V
changequote([,])dnl
		xm_defines="USG SVR3"
		xmake_file=i386/x-sysv3
		if test x$gas = xyes
		then
			if test x$stabs = xyes
			then
				tm_file=i386/svr3dbx.h
				tmake_file=i386/t-svr3dbx
				extra_parts="svr3.ifile svr3z.rfile"
			else
				tm_file=i386/svr3gas.h
				extra_parts="crtbegin.o crtend.o"
				tmake_file=i386/t-crtstuff
			fi
		else
			tm_file=i386/sysv3.h
			extra_parts="crtbegin.o crtend.o"
			tmake_file=i386/t-crtstuff
		fi
		;;
	i386-*-vsta)			# Intel 80386's running VSTa kernel
		xm_file="${xm_file} i386/xm-vsta.h"
		tm_file=i386/vsta.h
		tmake_file=i386/t-vsta
		xmake_file=i386/x-vsta
		;;
changequote(,)dnl
	i[34567]86-*-win32)
changequote([,])dnl
		xm_file="${xm_file} i386/xm-cygwin.h"
		tmake_file=i386/t-cygwin
		tm_file=i386/win32.h
		xmake_file=i386/x-cygwin
		extra_objs=winnt.o
 		if test x$enable_threads = xyes; then
			thread_file='win32'
		fi
		exeext=.exe
		;;
changequote(,)dnl
	i[34567]86-*-pe | i[34567]86-*-cygwin*)
changequote([,])dnl
		xm_file="${xm_file} i386/xm-cygwin.h"
		tmake_file=i386/t-cygwin
		tm_file=i386/cygwin.h
		xmake_file=i386/x-cygwin
		extra_objs=winnt.o
 		if test x$enable_threads = xyes; then
			thread_file='win32'
		fi
		exeext=.exe
		;;
changequote(,)dnl
	i[34567]86-*-mingw32*)
changequote([,])dnl
		tm_file=i386/mingw32.h
		xm_file="${xm_file} i386/xm-mingw32.h"
		tmake_file="i386/t-cygwin i386/t-mingw32"
		extra_objs=winnt.o
		xmake_file=i386/x-cygwin
 		if test x$enable_threads = xyes; then
			thread_file='win32'
		fi
		exeext=.exe
		case $machine in
			*mingw32msv*)
				;;
			*minwg32crt* | *mingw32*)
				tm_file="${tm_file} i386/crtdll.h"
				;;
		esac
		;;
changequote(,)dnl
	i[34567]86-*-uwin*)
changequote([,])dnl
		tm_file=i386/uwin.h
		tmake_file="i386/t-cygwin i386/t-uwin"
		extra_objs=winnt.o
		xmake_file=i386/x-cygwin
 		if test x$enable_threads = xyes; then
			thread_file='win32'
		fi
		exeext=.exe
		;;
changequote(,)dnl
	i[34567]86-*-interix*)
changequote([,])dnl
		tm_file="i386/i386-interix.h interix.h"
		xm_file="i386/xm-i386-interix.h xm-interix.h"
		xm_defines="USG NO_SYS_SIGLIST"
		tmake_file="i386/t-interix"
		extra_objs=interix.o
		xmake_file=x-interix
 		if test x$enable_threads = xyes ; then
			thread_file='posix'
		fi
 		if test x$stabs = xyes ; then
			tm_file="${tm_file} dbxcoff.h"
		fi
		;;
changequote(,)dnl
	i[34567]86-*-winnt3*)
changequote([,])dnl
		tm_file=i386/win-nt.h
		out_file=i386/i386.c
		xm_file="xm-winnt.h ${xm_file}"
		xmake_file=winnt/x-winnt
		tmake_file=i386/t-winnt
		extra_host_objs="winnt.o oldnames.o"
		extra_gcc_objs="spawnv.o oldnames.o"
		if test x$gnu_ld != xyes
		then
			extra_programs=ld.exe
		fi
 		if test x$enable_threads = xyes; then
			thread_file='win32'
		fi
		;;
changequote(,)dnl
	i[34567]86-dg-dgux*)
changequote([,])dnl
		xm_file="xm-alloca.h xm-siglist.h ${xm_file}"
		xm_defines="USG POSIX"
		out_file=i386/dgux.c
		tm_file=i386/dgux.h
		tmake_file=i386/t-dgux
		xmake_file=i386/x-dgux
		install_headers_dir=install-headers-cpio
              ;;
	i860-alliant-*)		# Alliant FX/2800
		tm_file="${tm_file} svr4.h i860/sysv4.h i860/fx2800.h"
		xm_file="${xm_file}"
		xmake_file=i860/x-fx2800
		tmake_file=i860/t-fx2800
		extra_parts="crtbegin.o crtend.o"
		;;
	i860-*-bsd*)
		tm_file="${tm_file} i860/bsd.h"
		if test x$gas = xyes
		then
			tm_file="${tm_file} i860/bsd-gas.h"
		fi
		use_collect2=yes
		;;
	i860-*-mach*)
		tm_file="${tm_file} i860/mach.h"
		tmake_file=t-libc-ok
		;;
	i860-*-osf*)			# Intel Paragon XP/S, OSF/1AD
		tm_file="${tm_file} svr3.h i860/paragon.h"
		xm_defines="USG SVR3"
		tmake_file=t-osf
		;;
	i860-*-sysv3*)
		tm_file="${tm_file} svr3.h i860/sysv3.h"
		xm_defines="USG SVR3"
		xmake_file=i860/x-sysv3
		extra_parts="crtbegin.o crtend.o"
		;;
	i860-*-sysv4*)
		tm_file="${tm_file} svr4.h i860/sysv4.h"
		xm_defines="USG SVR3"
		xmake_file=i860/x-sysv4
		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
		use_collect2=yes
		thread_file='vxworks'
		;;
	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
		use_collect2=yes
		thread_file='vxworks'
		;;
	i960-wrs-vxworks*)
		tm_file="${tm_file} i960/vx960.h"
		tmake_file=i960/t-vxworks960
		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
		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*)
		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
		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
		xm_file="xm-alloca.h ${xm_file}"
		xm_defines="USG NO_SYS_SIGLIST"
		if test x$gas = xyes
		then
			xmake_file=m68k/x-hp320g
			tm_file=m68k/hp310g.h
		else
			xmake_file=m68k/x-hp320
			tm_file=m68k/hp310.h
		fi
		install_headers_dir=install-headers-cpio
		use_collect2=yes
		extra_headers=math-68881.h
		;;
	m68000-sun-sunos3*)
		tm_file=m68k/sun2.h
		use_collect2=yes
		extra_headers=math-68881.h
		;;
	m68000-sun-sunos4*)
		tm_file=m68k/sun2o4.h
		use_collect2=yes
		extra_headers=math-68881.h
		;;
	m68000-att-sysv*)
		xm_file="m68k/xm-3b1.h ${xm_file}"
		xm_defines=USG
		if test x$gas = xyes
		then
			tm_file=m68k/3b1g.h
		else
			tm_file=m68k/3b1.h
		fi
		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 test "$gnu_ld" = yes
		then
			tm_file="${tm_file} m68k/auxgld.h"
		else
			tm_file="${tm_file} m68k/auxld.h"
		fi
		if test "$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-*)
		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 test x$gas = xyes
		then
		        tm_file=m68k/altos3068.h
			xm_defines=USG
		else
			echo "The Altos is supported only with the GNU assembler" 1>&2
			exit 1
		fi
		extra_headers=math-68881.h
	        ;;
	m68k-bull-sysv*)		# Bull DPX/2
		if test x$gas = xyes
		then
			if test x$stabs = xyes
			then
				tm_file=m68k/dpx2cdbx.h
			else
				tm_file=m68k/dpx2g.h
			fi
		else
			tm_file=m68k/dpx2.h
		fi
		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="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*)
		tm_file=m68k/mot3300.h
		xm_file="xm-alloca.h m68k/xm-mot3300.h ${xm_file}"
		xm_defines=NO_SYS_SIGLIST
		if test x$gas = xyes
		then
			xmake_file=m68k/x-mot3300-gas
			if test x$gnu_ld = xyes
			then
				tmake_file=m68k/t-mot3300-gald
			else
				tmake_file=m68k/t-mot3300-gas
				use_collect2=yes
			fi
		else
			xmake_file=m68k/x-mot3300
			if test x$gnu_ld = xyes
			then
				tmake_file=m68k/t-mot3300-gld
			else
				tmake_file=m68k/t-mot3300
				use_collect2=yes
			fi
		fi
		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_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="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="xm-alloca.h ${xm_file}"
		xm_defines=USG
		extra_headers=math-68881.h
		;;
	m68k-crds-unos*)
		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
		use_collect2=yes
		extra_headers=math-68881.h
		;;
	m68k-cbm-sysv4*)		# Commodore variant of V.4.
		tm_file=m68k/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
		float_format=m68k
		;;
	m68k-hp-bsd4.4*)		# HP 9000/3xx running 4.4bsd
		tm_file=m68k/hp3bsd44.h
		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 test 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="xm-alloca.h ${xm_file}"
		xm_defines="USG NO_SYS_SIGLIST"
		if test x$gas = xyes
		then
			xmake_file=m68k/x-hp320g
			tm_file=m68k/hp320g.h
		else
			xmake_file=m68k/x-hp320
			tm_file=m68k/hpux7.h
		fi
		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="xm-alloca.h ${xm_file}"
		xm_defines="USG NO_SYS_SIGLIST"
		if test x$gas = xyes
		then
			xmake_file=m68k/x-hp320g
			tm_file=m68k/hp320g.h
		else
			xmake_file=m68k/x-hp320
			tm_file=m68k/hp320.h
		fi
		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 test x$gas = xyes
		then
			tm_file=m68k/news3gas.h
		else
			tm_file=m68k/news3.h
		fi
		use_collect2=yes
		extra_headers=math-68881.h
		float_format=m68k
		;;
	m68k-sony-bsd* | m68k-sony-newsos*)
		if test x$gas = xyes
		then
			tm_file=m68k/newsgas.h
		else
			tm_file=m68k/news.h
		fi
		use_collect2=yes
		extra_headers=math-68881.h
		float_format=m68k
		;;
	m68k-next-nextstep2*)
		tm_file=m68k/next21.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
		xm_file="m68k/xm-next.h ${xm_file}"
		tmake_file=m68k/t-next
		xmake_file=m68k/x-next
		extra_objs=nextstep.o
		extra_parts="crtbegin.o crtend.o"
		extra_headers=math-68881.h
		float_format=m68k
 		if test x$enable_threads = xyes; then
			thread_file='mach'
		fi
		;;
	m68k-sun-sunos3*)
		if test 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 test 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
		;;
	m68k-wrs-vxworks*)
		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 libgloss.h"
		extra_headers=math-68881.h
		float_format=m68k
		;;
	m68k-*-coff*)
		tmake_file=m68k/t-m68kbare
		tm_file="m68k/m68k-coff.h dbx.h libgloss.h"
		extra_headers=math-68881.h
		float_format=m68k
		;;
	m68020-*-elf* | m68k-*-elf*)
		tm_file="m68k/m68020-elf.h libgloss.h"
		xm_file=m68k/xm-m68kv.h
		tmake_file=m68k/t-m68kelf
		header_files=math-68881.h
		;;
	m68k-*-lynxos*)
		if test x$gas = xyes
		then
			tm_file=m68k/lynx.h
		else
			tm_file=m68k/lynx-ng.h
		fi
		xm_file=m68k/xm-lynx.h
		xmake_file=x-lynx
		tmake_file=m68k/t-lynx
		extra_headers=math-68881.h
		float_format=m68k
		;;
	m68k*-*-netbsd*)
		tm_file=m68k/netbsd.h
		tmake_file=t-netbsd
		float_format=m68k
       use_collect2=yes
		;;
	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="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="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-gnuaout*)		# Motorola m68k's running GNU/Linux
					# with a.out format
		xmake_file=x-linux
		tm_file=m68k/linux-aout.h
		tmake_file="t-linux-aout m68k/t-linux-aout"
		extra_headers=math-68881.h
		float_format=m68k
		gnu_ld=yes
		;;
	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="t-linux t-linux-gnulibc1 m68k/t-linux"
		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
		extra_headers=math-68881.h
		float_format=m68k
		gnu_ld=yes
		;;
	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"
		extra_headers=math-68881.h
		float_format=m68k
		gnu_ld=yes
		if test 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
		    tmake_file=m88k/t-dguxbcs
		    ;;
		  *)
		    tm_file=m88k/dgux.h
		    tmake_file=m88k/t-dgux
		    ;;
		esac
		extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
		xmake_file=m88k/x-dgux
		if test x$gas = xyes
		then
			tmake_file=m88k/t-dgux-gas
		fi
		;;
	m88k-dolphin-sysv3*)
		tm_file=m88k/dolph.h
		extra_parts="crtbegin.o crtend.o"
		xm_file="m88k/xm-sysv3.h ${xm_file}"
		xmake_file=m88k/x-dolph
		if test x$gas = xyes
		then
			tmake_file=m88k/t-m88k-gas
		fi
		;;
	m88k-tektronix-sysv3)
		tm_file=m88k/tekXD88.h
		extra_parts="crtbegin.o crtend.o"
		xm_file="m88k/xm-sysv3.h ${xm_file}"
		xmake_file=m88k/x-tekXD88
		if test x$gas = xyes
		then
			tmake_file=m88k/t-m88k-gas
		fi
		;;
	m88k-*-aout*)
		tm_file=m88k/m88k-aout.h
		;;
	m88k-*-coff*)
		tm_file=m88k/m88k-coff.h
		tmake_file=m88k/t-bug
		;;
	m88k-*-luna*)
		tm_file=m88k/luna.h
		extra_parts="crtbegin.o crtend.o"
		if test x$gas = xyes
		then
			tmake_file=m88k/t-luna-gas
		else
			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}"
		xmake_file=m88k/x-sysv3
		if test x$gas = xyes
		then
			tmake_file=m88k/t-m88k-gas
		fi
		;;
	m88k-*-sysv4*)
		tm_file=m88k/sysv4.h
		extra_parts="crtbegin.o crtend.o"
		xmake_file=m88k/x-sysv4
		tmake_file=m88k/t-sysv4
		;;
	mips-sgi-irix6*)		# SGI System V.4., IRIX 6
		tm_file=mips/iris6.h
		xm_file=mips/xm-iris6.h
		xmake_file=mips/x-iris6
		tmake_file=mips/t-iris6
# 		if test x$enable_threads = xyes; then
#			thread_file='irix'
#		fi
		;;
	mips-wrs-vxworks)
		tm_file="mips/elf.h libgloss.h mips/vxworks.h"
 		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/iris6.h mips/cross64.h"
		xm_defines=USG
		xm_file="mips/xm-iris5.h"
		xmake_file=mips/x-iris
		tmake_file=mips/t-cross64
		# See comment in mips/iris[56].h files.
		use_collect2=yes
# 		if test x$enable_threads = xyes; then
#			thread_file='irix'
#		fi
		;;
        mips-sni-sysv4)
		if test x$gas = xyes
		then
			if test x$stabs = xyes
			then
				tm_file=mips/iris5gdb.h
			else
				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 test x$gnu_ld != xyes
                then
                        use_collect2=yes
                fi
                ;;
	mips-sgi-irix5*)		# SGI System V.4., IRIX 5
		if test x$gas = xyes
		then
			tm_file="mips/iris5.h mips/iris5gas.h"
			if test x$stabs = xyes
			then
				tm_file="${tm_file} dbx.h"
			fi
		else
			tm_file=mips/iris5.h
		fi
		xm_defines=USG
		xm_file="mips/xm-iris5.h"
		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 test x$enable_threads = xyes; then
#			thread_file='irix'
#		fi
		;;
	mips-sgi-irix4loser*)		# Mostly like a MIPS.
		tm_file="mips/iris4loser.h mips/iris3.h ${tm_file} mips/iris4.h"
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		xm_defines=USG
		xmake_file=mips/x-iris
		if test x$gas = xyes
		then
			tmake_file=mips/t-mips-gas
		else
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
# 		if test x$enable_threads = xyes; then
#			thread_file='irix'
#		fi
		;;
	mips-sgi-irix4*)		# Mostly like a MIPS.
		tm_file="mips/iris3.h ${tm_file} mips/iris4.h"
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		xm_defines=USG
		xmake_file=mips/x-iris
		if test x$gas = xyes
		then
			tmake_file=mips/t-mips-gas
		else
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
# 		if test x$enable_threads = xyes; then
#			thread_file='irix'
#		fi
		;;
	mips-sgi-*)			# Mostly like a MIPS.
		tm_file="mips/iris3.h ${tm_file}"
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		xm_defines=USG
		xmake_file=mips/x-iris3
		if test x$gas = xyes
		then
			tmake_file=mips/t-mips-gas
		else
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
		;;
	mips-dec-osfrose*)		# Decstation running OSF/1 reference port with OSF/rose.
		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 test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		xmake_file=mips/x-dec-osf1
		if test x$gas = xyes
		then
			tmake_file=mips/t-mips-gas
		else
			tmake_file=mips/t-ultrix
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
		;;
	mips-dec-bsd*)                  # Decstation running 4.4 BSD
              tm_file=mips/dec-bsd.h
	      if test x$gas = xyes
	      then
		   	tmake_file=mips/t-mips-gas
	      else
			tmake_file=mips/t-ultrix
			extra_passes="mips-tfile mips-tdump"
	      fi
	      if test x$gnu_ld != xyes
	      then
			use_collect2=yes
	      fi
	      ;;
	mipsel-*-netbsd* | mips-dec-netbsd*)    # Decstation running NetBSD
		tm_file=mips/netbsd.h
		# On NetBSD, the headers are already okay, except for math.h.
		tmake_file=t-netbsd
		;;
       mips*-*-linux*)                         # Linux MIPS, either endian.
		xmake_file=x-linux
		xm_file="xm-siglist.h ${xm_file}"
               case $machine in
                       mipsel-*)  tm_file="mips/elfl.h mips/linux.h" ;;
                       *)         tm_file="mips/elf.h mips/linux.h" ;;
               esac
		extra_parts="crtbegin.o crtend.o"
		gnu_ld=yes
		gas=yes
		;;
	mips*el-*-openbsd*)	# mips little endian
		target_cpu_default="MASK_GAS|MASK_ABICALLS"
		tm_file=mips/openbsd.h
		;;
	mips*-*-openbsd*)		# mips big endian
		target_cpu_default="MASK_GAS|MASK_ABICALLS"
		tm_file=mips/openbsd-be.h
		;;
	mips-sony-bsd* | mips-sony-newsos*)	# Sony NEWS 3600 or risc/news.
		tm_file="mips/news4.h ${tm_file}"
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		if test x$gas = xyes
		then
			tmake_file=mips/t-mips-gas
		else
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
		xmake_file=mips/x-sony
		;;
	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 test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		xm_file="xm-siglist.h ${xm_file}"
		xm_defines=USG
		if test x$gas = xyes
		then
			tmake_file=mips/t-mips-gas
		else
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
		;;
	mips-tandem-sysv4*)		# Tandem S2 running NonStop UX
		tm_file="mips/svr4-5.h mips/svr4-t.h"
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		xm_file="xm-siglist.h ${xm_file}"
		xm_defines=USG
		xmake_file=mips/x-sysv
		if test x$gas = xyes
		then
			tmake_file=mips/t-mips-gas
			extra_parts="crtbegin.o crtend.o"
		else
			tmake_file=mips/t-mips
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
		;;
	mips-*-ultrix* | mips-dec-mach3)	# Decstation.
		tm_file="mips/ultrix.h ${tm_file}"
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		xmake_file=mips/x-ultrix
		if test x$gas = xyes
		then
			tmake_file=mips/t-mips-gas
		else
			tmake_file=mips/t-ultrix
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
	        ;;
changequote(,)dnl
	mips-*-riscos[56789]bsd*)
changequote([,])dnl
		tm_file=mips/bsd-5.h	# MIPS BSD 4.3, RISC-OS 5.0
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		if test x$gas = xyes
		then
			tmake_file=mips/t-bsd-gas
		else
			tmake_file=mips/t-bsd
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
	        ;;
changequote(,)dnl
	mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*)
changequote([,])dnl
		tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		if test x$gas = xyes
		then
			tmake_file=mips/t-bsd-gas
		else
			tmake_file=mips/t-bsd
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
	        ;;
changequote(,)dnl
	mips-*-riscos[56789]sysv4*)
changequote([,])dnl
		tm_file=mips/svr4-5.h	# MIPS System V.4., RISC-OS 5.0
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		xm_file="xm-siglist.h ${xm_file}"
		xmake_file=mips/x-sysv
		if test x$gas = xyes
		then
			tmake_file=mips/t-svr4-gas
		else
			tmake_file=mips/t-svr4
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
		;;
changequote(,)dnl
	mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*)
changequote([,])dnl
		tm_file="mips/svr4-4.h ${tm_file}"
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		xm_defines=USG
		xmake_file=mips/x-sysv
		if test x$gas = xyes
		then
			tmake_file=mips/t-svr4-gas
		else
			tmake_file=mips/t-svr4
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
		;;
changequote(,)dnl
	mips-*-riscos[56789]sysv*)
changequote([,])dnl
		tm_file=mips/svr3-5.h	# MIPS System V.3, RISC-OS 5.0
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		xm_defines=USG
		xmake_file=mips/x-sysv
		if test x$gas = xyes
		then
			tmake_file=mips/t-svr3-gas
		else
			tmake_file=mips/t-svr3
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
		;;
	mips-*-sysv* | mips-*-riscos*sysv*)
		tm_file="mips/svr3-4.h ${tm_file}"
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		xm_defines=USG
		xmake_file=mips/x-sysv
		if test x$gas = xyes
		then
			tmake_file=mips/t-svr3-gas
		else
			tmake_file=mips/t-svr3
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
		;;
changequote(,)dnl
	mips-*-riscos[56789]*)		# Default MIPS RISC-OS 5.0.
changequote([,])dnl
		tm_file=mips/mips-5.h
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		if test x$gas = xyes
		then
			tmake_file=mips/t-mips-gas
		else
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
		;;
	mips-*-gnu*)
		;;
	mipsel-*-ecoff*)
		tm_file=mips/ecoffl.h
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		tmake_file=mips/t-ecoff
		;;
	mips-*-ecoff*)
		tm_file="gofast.h mips/ecoff.h"
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		tmake_file=mips/t-ecoff
		;;
	mipsel-*-elf*)
		tm_file="mips/elfl.h libgloss.h"
		tmake_file=mips/t-elf
		;;
	mips-*-elf*)
		tm_file="mips/elf.h"
		tmake_file=mips/t-elf
		;;
	mips64el-*-elf*)
		tm_file="mips/elfl64.h"
		tmake_file=mips/t-elf
		;;
	mips64orionel-*-elf*)
		tm_file="mips/elforion.h mips/elfl64.h libgloss.h"
		tmake_file=mips/t-elf
		;;
	mips64-*-elf*)
		tm_file="mips/elf64.h"
		tmake_file=mips/t-elf
		;;
	mips64orion-*-elf*)
		tm_file="mips/elforion.h mips/elf64.h libgloss.h"
		tmake_file=mips/t-elf
		;;
	mips64orion-*-rtems*)
		tm_file="mips/elforion.h mips/elf64.h mips/rtems64.h"
		tmake_file="mips/t-ecoff t-rtems"
		;;
	mipstx39el-*-elf*)
		tm_file="mips/r3900.h mips/elfl.h mips/abi64.h"
		tmake_file=mips/t-r3900
		;;
	mipstx39-*-elf*)
		tm_file="mips/r3900.h mips/elf.h mips/abi64.h"
		tmake_file=mips/t-r3900
		;;
	mips-*-*)				# Default MIPS RISC-OS 4.0.
		if test x$stabs = xyes; then
			tm_file="${tm_file} dbx.h"
		fi
		if test x$gas = xyes
		then
			tmake_file=mips/t-mips-gas
		else
			extra_passes="mips-tfile mips-tdump"
		fi
		if test x$gnu_ld != xyes
		then
			use_collect2=yes
		fi
		;;
	mn10200-*-*)
		cpu_type=mn10200
		tm_file="mn10200/mn10200.h"
		if test x$stabs = xyes
		then
			tm_file="${tm_file} dbx.h"
		fi
		use_collect2=no
		;;
	mn10300-*-*)
		cpu_type=mn10300
		tm_file="mn10300/mn10300.h"
		if test 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
		;;
	ns32k-sequent-bsd*)
		tm_file=ns32k/sequent.h
		use_collect2=yes
		;;
	ns32k-tek6100-bsd*)
		tm_file=ns32k/tek6100.h
		use_collect2=yes
		;;
	ns32k-tek6200-bsd*)
		tm_file=ns32k/tek6200.h
		use_collect2=yes
		;;
# This has not been updated to GCC 2.
#	ns32k-ns-genix*)
#		xm_defines=USG
#		xmake_file=ns32k/x-genix
#		tm_file=ns32k/genix.h
#		use_collect2=yes
#		;;
	ns32k-merlin-*)
		tm_file=ns32k/merlin.h
		use_collect2=yes
		;;
	ns32k-pc532-mach*)
		tm_file=ns32k/pc532-mach.h
		use_collect2=yes
		;;
	ns32k-pc532-minix*)
		tm_file=ns32k/pc532-min.h
		xm_file="ns32k/xm-pc532-min.h ${xm-file}"
		xm_defines=USG
		use_collect2=yes
		;;
	ns32k-*-netbsd*)
		tm_file=ns32k/netbsd.h
		xm_file="ns32k/xm-netbsd.h ${xm_file}"
		# On NetBSD, the headers are already okay, except for math.h.
		tmake_file=t-netbsd
       use_collect2=yes
		;;
        pdp11-*-bsd)
		tm_file="${tm_file} pdp11/2bsd.h"
                ;;
        pdp11-*-*)
		;;
	ns32k-*-openbsd*)
		# Nothing special
		;;
	pyramid-*-*)
		cpu_type=pyr
		xmake_file=pyr/x-pyr
		use_collect2=yes
		;;
	romp-*-aos*)
		use_collect2=yes
		;;
	romp-*-mach*)
		xmake_file=romp/x-mach
		use_collect2=yes
		;;
	romp-*-openbsd*)
		# Nothing special
		;;
	powerpc-*-openbsd*)
		tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
		;;
	powerpc-*-beos*)
		cpu_type=rs6000
		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 test 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
		;;
	powerpc-*-eabiaix*)
		tm_file=rs6000/eabiaix.h
		tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
		extra_headers=ppc-asm.h
		;;
	powerpc-*-eabisim*)
		tm_file=rs6000/eabisim.h
		tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
		extra_headers=ppc-asm.h
		;;
	powerpc-*-eabi*)
		tm_file=rs6000/eabi.h
		if test x$gas = xyes
		then
			tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
		else
			tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
		fi
		extra_headers=ppc-asm.h
		;;
	powerpc-*-rtems*)
		tm_file=rs6000/rtems.h
		if test x$gas = xyes
		then
		     tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
		else
		     tmake_file="rs6000/t-ppc t-rtems rs6000/t-ppccomm"
		fi
		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 test 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
		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
		extra_headers=ppc-asm.h
		if test 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 test 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
		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
		extra_headers=ppc-asm.h
		if test 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 test 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*)
		tm_file=rs6000/eabilesim.h
		tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
		extra_headers=ppc-asm.h
		;;
	powerpcle-*-eabi*)
		tm_file=rs6000/eabile.h
		if test x$gas = xyes
		then
			tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
		else
			tmake_file="rs6000/t-ppc rs6000/t-ppccomm"
		fi
		extra_headers=ppc-asm.h
		;;
        powerpcle-*-winnt* )
                tm_file=rs6000/win-nt.h
                tmake_file=rs6000/t-winnt
#               extra_objs=pe.o
 		if test x$enable_threads = xyes; then
			thread_file='win32'
		fi
		extra_headers=ppc-asm.h
		;;
	powerpcle-*-pe | powerpcle-*-cygwin*)
		tm_file=rs6000/cygwin.h
		xm_file="rs6000/xm-cygwin.h ${xm_file}"
		tmake_file=rs6000/t-winnt
		xmake_file=rs6000/x-cygwin
#		extra_objs=pe.o
 		if test 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 test 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
		;;
changequote(,)dnl
	rs6000-ibm-aix3.[01]*)
changequote([,])dnl
		tm_file=rs6000/aix31.h
		xmake_file=rs6000/x-aix31
		float_format=none
		use_collect2=yes
		;;
changequote(,)dnl
	rs6000-ibm-aix3.2.[456789]* | powerpc-ibm-aix3.2.[456789]*)
changequote([,])dnl
		tm_file=rs6000/aix3newas.h
		if test x$host != x$target
		then
			tmake_file=rs6000/t-xnewas
		else
			tmake_file=rs6000/t-newas
		fi
		float_format=none
		use_collect2=yes
		;;
changequote(,)dnl
	rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
changequote([,])dnl
		tm_file=rs6000/aix41.h
		if test x$host != x$target
		then
			tmake_file=rs6000/t-xnewas
		else
			tmake_file=rs6000/t-newas
		fi
		if test "$gnu_ld" = yes
		then
			xmake_file=rs6000/x-aix41-gld
		else
			xmake_file=rs6000/x-aix41
		fi
		float_format=none
		use_collect2=yes
		;;
changequote(,)dnl
	rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
changequote([,])dnl
		tm_file=rs6000/aix43.h
		if test x$host != x$target
		then
			tmake_file=rs6000/t-xaix43
		else
			tmake_file=rs6000/t-aix43
		fi
		xmake_file=rs6000/x-aix43
		float_format=none
		use_collect2=yes
		;;
changequote(,)dnl
	rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
changequote([,])dnl
		tm_file=rs6000/aix43.h
		if test x$host != x$target
		then
			tmake_file=rs6000/t-xaix43
		else
			tmake_file=rs6000/t-aix43
		fi
		xmake_file=rs6000/x-aix43
		float_format=none
		use_collect2=yes
		;;
	rs6000-ibm-aix*)
		float_format=none
		use_collect2=yes
		;;
	rs6000-bull-bosx)
		float_format=none
		use_collect2=yes
		;;
	rs6000-*-mach*)
		tm_file=rs6000/mach.h
		xm_file="${xm_file} rs6000/xm-mach.h"
		xmake_file=rs6000/x-mach
		use_collect2=yes
		;;
	rs6000-*-lynxos*)
		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-*-*)
		float_format=sh
		;;
	sparc-tti-*)
		tm_file=sparc/pbd.h
		xm_file="xm-alloca.h ${xm_file}"
		xm_defines=USG
		;;
	sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
		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/aout.h libgloss.h"
		;;
	sparc-*-netbsd*)
		tm_file=sparc/netbsd.h
		tmake_file=t-netbsd
       use_collect2=yes
		;;
	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
		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"
		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"
		gnu_ld=yes
 		if test x$enable_threads = xyes; then
 			thread_file='posix'
 		fi
		;;
	sparc-*-lynxos*)
		if test x$gas = xyes
		then
			tm_file=sparc/lynx.h
		else
			tm_file=sparc/lynx-ng.h
		fi
		xm_file=sparc/xm-lynx.h
		tmake_file=sparc/t-sunos41
		xmake_file=x-lynx
		;;
	sparc-*-rtems*)
		tmake_file="sparc/t-sparcbare t-rtems"
		tm_file=sparc/rtems.h
		;;
	sparcv9-*-solaris2*)
		tm_file=sparc/sol2-sld-64.h
		xm_file="sparc/xm-sysv4-64.h sparc/xm-sol2.h"
		xm_defines="USG POSIX"
		tmake_file="sparc/t-sol2 sparc/t-sol2-64"
		xmake_file=sparc/x-sysv4
		extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
		float_format=none
		if test x${enable_threads} = x ; then
		    enable_threads=$have_pthread_h
		    if test x${enable_threads} = x ; then
			enable_threads=$have_thread_h
		    fi
		fi
		if test x${enable_threads} = xyes ; then
		    if test x${have_pthread_h} = xyes ; then
			thread_file='posix'
		    else
			thread_file='solaris'
		    fi
		fi
		;;
        sparc-hal-solaris2*)
                xm_file="xm-siglist.h sparc/xm-sysv4.h sparc/xm-sol2.h"
                xm_defines="USG POSIX"
                tm_file="sparc/sol2.h sparc/hal.h"
                tmake_file="sparc/t-halos sparc/t-sol2"
                xmake_file=sparc/x-sysv4
                extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
                case $machine in
                *-*-solaris2.[0-4])
                        float_format=i128
                ;;
                *)
                        float_format=none
                        ;;
                esac
		thread_file='solaris'
                ;;
	sparc-*-solaris2*)
		if test 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 gcrt1.o gmon.o crtbegin.o crtend.o"
		case $machine in
changequote(,)dnl
		*-*-solaris2.[0-4])
changequote([,])dnl
			float_format=i128
			;;
		*)
			float_format=none
			;;
		esac
		if test x${enable_threads} = x; then
		    enable_threads=$have_pthread_h
		    if test x${enable_threads} = x; then
			enable_threads=$have_thread_h
		    fi
		fi
		if test x${enable_threads} = xyes; then
		    if test x${have_pthread_h} = xyes; then
			thread_file='posix'
		    else
			thread_file='solaris'
		    fi
		fi
		;;
	sparc-*-sunos4.0*)
		tm_file=sparc/sunos4.h
		tmake_file=sparc/t-sunos40
		use_collect2=yes
		;;
	sparc-*-sunos4*)
		tm_file=sparc/sunos4.h
		tmake_file=sparc/t-sunos41
		use_collect2=yes
		if test x$gas = xyes; then
			tm_file="${tm_file} sparc/sun4gas.h"
		fi
		;;
	sparc-*-sunos3*)
		tm_file=sparc/sun4o3.h
		use_collect2=yes
		;;
	sparc-*-sysv4*)
		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*)
		tm_file="sparc/litecoff.h libgloss.h"
		tmake_file=sparc/t-sparclite
		;;
	sparclite-*-aout*)
		tm_file="sparc/lite.h aoutos.h libgloss.h"
		tmake_file=sparc/t-sparclite
		;;
	sparc64-*-aout*)
		tmake_file=sparc/t-sp64
		tm_file=sparc/sp64-aout.h
		;;
	sparc64-*-elf*)
		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="t-linux sparc/t-linux64"
		xm_file="sparc/xm-sp64.h sparc/xm-linux.h"
		tm_file=sparc/linux64.h
		xmake_file=x-linux
		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
		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
		;;
	thumb-wrs-vxworks)
		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
		thread_file='vxworks'
		;;
# 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 test 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
		tm_file="${tm_file} vax/vaxv.h"
		xm_defines=USG
		float_format=vax
		;;
	vax-*-netbsd*)
		tm_file="${tm_file} netbsd.h vax/netbsd.h"
		tmake_file=t-netbsd
		float_format=vax
       use_collect2=yes
		;;
	vax-*-openbsd*)
		tmake_file="${tmake_file} vax/t-openbsd"
		;;
	vax-*-ultrix*)			# vaxen running ultrix
		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
		;;
	vax-*-*)			# vax default entry
		float_format=vax
		;;
	we32k-att-sysv*)
		xm_file="${xm_file} xm-svr3"
		use_collect2=yes
		;;
	*)
		echo "Configuration $machine not supported" 1>&2
		exit 1
		;;
	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="xm-gnu.h ${xm_file}"
		tm_file=${cpu_type}/gnu.h
		extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
		# GNU always uses ELF.
		elf=yes
		# GNU tools are the only tools.
		gnu_ld=yes
		gas=yes
		xmake_file=x-linux	# These details are the same as Linux.
		tmake_file=t-gnu	# These are not.
		;;
	*-*-sysv4*)
		xmake_try_sysv=x-sysv
		install_headers_dir=install-headers-cpio
		;;
	*-*-sysv*)
		install_headers_dir=install-headers-cpio
		;;
	esac

	# 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
	i486-*-*)
		target_cpu_default2=1
		;;
	i586-*-*)
		case $target_alias in
			k6-*)
				target_cpu_default2=4
				;;
			*)
				target_cpu_default2=2
				;;
		esac
		;;
	i686-*-* | i786-*-*)
		target_cpu_default2=3
		;;
	alpha*-*-*)
		case $machine in
			alphaev6*)
				target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
				;;
			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 test x$gas = xyes
		then
			if test "$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
			xarm[23678] | xarm250 | xarm[67][01]0 \
			| xarm7m | xarm7dm | xarm7dmi | xarm7tdmi \
			| xarm7100 | xarm7500 | xarm7500fe | xarm810 \
			| xstrongarm | xstrongarm110 | xstrongarm1100)
				target_cpu_default2="TARGET_CPU_$with_cpu"
				;;

			xyes | xno)
				echo "--with-cpu must be passed a value" 1>&2
				exit 1
				;;

			*)
				if test x$pass2done = xyes
				then
					echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
					exit 1
				fi
				;;
		esac
		;;

	mips*-*-ecoff* | mips*-*-elf*)
		if test x$gas = xyes
		then
			if test x$gnu_ld = xyes
			then
				target_cpu_default2=20
			else
				target_cpu_default2=16
			fi
		fi
		;;
	mips*-*-*)
		if test x$gas = xyes
		then
			target_cpu_default2=16
		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 \
			  | xec603e | x740 | x750 | x401 \
			  | 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 test 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 | .hypersparc | .ultrasparc | .v7 | .v8 | .v9)
				target_cpu_default2="TARGET_CPU_$with_cpu"
				;;
			*)
				if test x$pass2done = xyes
				then
					echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
					exit 1
				fi
				;;
		esac
		;;
	esac

	if test "$target_cpu_default2" != ""
	then
		if test "$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.
	# 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 test x$pass1done = x
	then
		if test 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 test x$pass2done = x
		then
			if test x"$xm_file" = x
			then host_xm_file=$cpu_type/xm-$cpu_type.h
			else host_xm_file=$xm_file
			fi
			host_xm_defines=$xm_defines
			if test x"$xmake_file" = x
			then xmake_file=$cpu_type/x-$cpu_type
			fi
			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 test x"$tm_file" = x
then tm_file=$cpu_type/$cpu_type.h; fi

if test x$extra_headers = x
then extra_headers=; fi

if test x"$xm_file" = x
then xm_file=$cpu_type/xm-$cpu_type.h; fi

if test x$md_file = x
then md_file=$cpu_type/$cpu_type.md; fi

if test x$out_file = x
then out_file=$cpu_type/$cpu_type.c; fi

if test x"$tmake_file" = x
then tmake_file=$cpu_type/t-$cpu_type
fi

if test x"$dwarf2" = xyes
then tm_file="tm-dwarf2.h $tm_file"
fi

if test x$float_format = x
then float_format=i64
fi

if test $float_format = none
then float_h_file=Makefile.in
else float_h_file=float-$float_format.h
fi

if test x$enable_haifa = x
then
  case $target in
    alpha*-* | hppa*-* | powerpc*-* | rs6000-* | *sparc*-* | m32r*-*)
      enable_haifa=yes;;
  esac
fi

# Handle cpp installation.
if test x$enable_cpp != xno
then
  tmake_file="$tmake_file t-install-cpp"
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."

count=a
for f in $tm_file; do
	count=${count}x
done
if test $count = ax; then
	echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
else
	echo "Using the following target machine macro files:"
	for f in $tm_file; do
		echo "	$srcdir/config/$f"
	done
fi

count=a
for f in $host_xm_file; do
	count=${count}x
done
if test $count = ax; then
	echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
else
	echo "Using the following host machine macro files:"
	for f in $host_xm_file; do
		echo "	$srcdir/config/$f"
	done
fi

if test "$host_xm_file" != "$build_xm_file"; then
	count=a
	for f in $build_xm_file; do
		count=${count}x
	done
	if test $count = ax; then
		echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
	else
		echo "Using the following build machine macro files:"
		for f in $build_xm_file; do
			echo "	$srcdir/config/$f"
		done
	fi
fi

if test x$thread_file = x; then
	if test 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 gansidecl.h ${host_xm_file} hwint.h"

# 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 test x$host = x$build
then
	build_xm_file="auto-host.h gansidecl.h ${build_xm_file} hwint.h"
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 gansidecl.h ${build_xm_file} hwint.h"
fi

xm_file="gansidecl.h ${xm_file}"
tm_file="gansidecl.h ${tm_file}"

vars="host_xm_file tm_file xm_file build_xm_file"
links="config.h tm.h tconfig.h hconfig.h"
defines="host_xm_defines null_defines xm_defines build_xm_defines"

rm -f config.bak
if test -f config.status; then mv -f config.status config.bak; fi

# Make the links.
while test -n "$vars"
do
	set $vars; var=$1; shift; vars=$*
	set $links; link=$1; shift; links=$*
	set $defines; define=$1; shift; defines=$*

	rm -f $link

	# Define TARGET_CPU_DEFAULT if the system wants one.
	# This substitutes for lots of *.h files.
	if test "$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
		case $file in
		auto-config.h)
			;;
		*)
			echo '#ifdef IN_GCC' >>$link
			;;
		esac
		echo "#include \"$file\"" >>$link
		case $file in
		auto-config.h)
			;;
		*)
			echo '#endif' >>$link
			;;
		esac
	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
if test x$host_truncate_target != x; then
	target=`echo $target | sed -e 's/\(..............\).*/\1/'`
fi

# Get the version trigger filename from the toplevel
if test "${with_gcc_version_trigger+set}" = set; then
	gcc_version_trigger=$with_gcc_version_trigger
else
	gcc_version_trigger=${srcdir}/version.c
fi
changequote(,)dnl
gcc_version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < ${gcc_version_trigger}`
changequote([,])dnl

# Internationalization
PACKAGE=gcc
VERSION="$gcc_version"
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)

ALL_LINGUAS="en_UK"

# NLS support is still experimental, so disable it by default for now.
AC_ARG_ENABLE(nls,
[  --enable-nls            use Native Language Support (disabled by default).
                          EXPERIMENTAL, see ABOUT-GCC-NLS.],
  , enable_nls=no)

AM_GNU_GETTEXT
XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"

# 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 test -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 test -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)"
	quoted_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\`"
	quoted_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
  case $f in
    gansidecl.h )
       tm_file_list="${tm_file_list} $f" ;;
    *) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" ;;
  esac
done

host_xm_file_list=
for f in $host_xm_file; do
  case $f in
    auto-host.h | gansidecl.h | hwint.h )
       host_xm_file_list="${host_xm_file_list} $f" ;;
    *) host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f" ;;
  esac
done

build_xm_file_list=
for f in $build_xm_file; do
  case $f in
    auto-build.h | auto-host.h | gansidecl.h | hwint.h )
       build_xm_file_list="${build_xm_file_list} $f" ;;
    *) build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f" ;;
  esac
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 test 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 test 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 test "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

if test x$use_collect2 = xno; then
	use_collect2=
fi

# Add a definition of USE_COLLECT2 if system wants one.
# Also tell toplev.c what to do.
# This substitutes for lots of t-* files.
if test 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 test "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 test -f ../gas/Makefile; then
	rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
fi

# If we have nm in the build tree, make a link to it.
if test -f ../binutils/Makefile; then
	rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
fi

# If we have ld in the build tree, make a link to it.
if test -f ../ld/Makefile; then
#	if test x$use_collect2 = x; then
#		rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
#	else
		rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
#	fi
fi

# Figure out what assembler alignment features are present.
AC_MSG_CHECKING(assembler alignment features)
gcc_cv_as=
gcc_cv_as_alignment_features=
gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
if test -x "$DEFAULT_ASSEMBLER"; then
	gcc_cv_as="$DEFAULT_ASSEMBLER"
elif test -x "$AS"; then
	gcc_cv_as="$AS"
elif test -x as$host_exeext; then
	# Build using assembler in the current directory.
	gcc_cv_as=./as$host_exeext
elif test -f $gcc_cv_as_gas_srcdir/configure.in -a -f ../gas/Makefile; 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
changequote(,)dnl
		gcc_cv_gas_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
changequote([,])dnl
		if test x$gcc_cv_gas_version != x; then
			break
		fi
	done
changequote(,)dnl
	gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
	gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
changequote([,])dnl
	if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
		# Gas version 2.6 and later support for .balign and .p2align.
		# bytes to skip when using .p2align.
		if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 6 -o "$gcc_cv_gas_major_version" -gt 2; then
			gcc_cv_as_alignment_features=".balign and .p2align"
			AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
		fi
		# Gas version 2.8 and later support specifying the maximum
		# bytes to skip when using .p2align.
		if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 8 -o "$gcc_cv_gas_major_version" -gt 2; then
			gcc_cv_as_alignment_features=".p2align including maximum skip"
			AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
		fi
	fi
elif test x$host = x$target; then
	# Native build.
	# Search the same directories that the installed compiler will
	# search.  Else we may find the wrong assembler and lose.  If we
	# do not find a suitable assembler binary, then try the user's
	# path.
	#
	# Also note we have to check MD_EXEC_PREFIX before checking the
	# user's path.  Unfortunately, there is no good way to get at the
	# value of MD_EXEC_PREFIX here.  So we do a brute force search
	# through all the known MD_EXEC_PREFIX values.  Ugh.  This needs
	# to be fixed as part of the make/configure rewrite too.

	if test "x$exec_prefix" = xNONE; then
		if test "x$prefix" = xNONE; then
			test_prefix=/usr/local
		else
			test_prefix=$prefix
		fi
	else
		test_prefix=$exec_prefix
	fi

	# If the loop below does not find an assembler, then use whatever
	# one we can find in the users's path.
	# user's path.
	as=as$host_exeext

	test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
		   $test_prefix/lib/gcc-lib/$target \
		   /usr/lib/gcc/$target/$gcc_version \
		   /usr/lib/gcc/$target \
		   $test_prefix/$target/bin/$target/$gcc_version \
		   $test_prefix/$target/bin \
		   /usr/libexec \
		   /usr/ccs/gcc \
		   /usr/ccs/bin \
		   /udk/usr/ccs/bin \
		   /bsd43/usr/lib/cmplrs/cc \
		   /usr/cross64/usr/bin \
		   /usr/lib/cmplrs/cc \
		   /sysv/usr/lib/cmplrs/cc \
		   /svr4/usr/lib/cmplrs/cc \
		   /usr/bin"

	for dir in $test_dirs; do
		if test -f $dir/as$host_exeext; then
			gcc_cv_as=$dir/as$host_exeext
			break;
		fi
	done
fi
if test x$gcc_cv_as != x; then
	# Check if we have .balign and .p2align
	echo ".balign  4" > conftest.s
	echo ".p2align  2" >> conftest.s
	if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
		gcc_cv_as_alignment_features=".balign and .p2align"
		AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
	fi
	rm -f conftest.s conftest.o
	# Check if specifying the maximum bytes to skip when
	# using .p2align is supported.
	echo ".p2align 4,,7" > conftest.s
	if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
		gcc_cv_as_alignment_features=".p2align including maximum skip"
		AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
	fi
	rm -f conftest.s conftest.o
fi
AC_MSG_RESULT($gcc_cv_as_alignment_features)

AC_MSG_CHECKING(assembler subsection support)
gcc_cv_as_subsections=
if test x$gcc_cv_as != x; then
	# Check if we have .subsection
	echo ".subsection 1" > conftest.s
	if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
		gcc_cv_as_subsections=".subsection"
		if test -x nm$host_exeext; then
			gcc_cv_nm=./nm$host_exeext
		elif test x$host = x$target; then
			# Native build.
			gcc_cv_nm=nm$host_exeext
		fi
		if test x$gcc_cv_nm != x; then
			cat > conftest.s <<EOF
conftest_label1: .word 0
.subsection -1
conftest_label2: .word 0
.previous
EOF
			if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
				$gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
				$gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
				if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
					:
				else
					gcc_cv_as_subsections="working .subsection -1"
					AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING)
				fi
			fi
		fi
	fi
	rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
fi
AC_MSG_RESULT($gcc_cv_as_subsections)

AC_MSG_CHECKING(assembler instructions)
gcc_cv_as_instructions=
if test x$gcc_cv_as != x; then
	set "filds fists" "filds mem; fists mem"
	while test $# -gt 0
  	do
		echo "$2" > conftest.s
		if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
			gcc_cv_as_instructions=${gcc_cv_as_instructions}$1" "
			AC_DEFINE_UNQUOTED(HAVE_GAS_`echo "$1" | tr '[a-z ]' '[A-Z_]'`)
		fi
		shift 2
	done
	rm -f conftest.s conftest.o
fi
AC_MSG_RESULT($gcc_cv_as_instructions)

# Figure out what language subdirectories are present.
# Look if the user specified --enable-languages="..."; if not, use
# the environment variable $LANGUAGES if defined. $LANGUAGES might
# go away some day.
if test x"${enable_languages+set}" != xset; then
	if test x"${LANGUAGES+set}" = xset; then
		enable_languages="`echo ${LANGUAGES} | tr ' ' ','`"
	else
		enable_languages=all
	fi
fi
subdirs=
for lang in ${srcdir}/*/config-lang.in ..
do
	case $lang in
	..) ;;
	# The odd quoting in the next line works around
	# an apparent bug in bash 1.12 on linux.
changequote(,)dnl
	${srcdir}/[*]/config-lang.in) ;;
	*)
	  lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ 	]*\).*$,\1,p' $lang`
	  if test "x$lang_alias" = x
	  then
		echo "$lang doesn't set \$language." 1>&2
		exit 1
	  fi
	  if test x"${enable_languages}" = xall; then
	  	add_this_lang=yes
	  else
		case "${enable_languages}" in
		    ${lang_alias} | "${lang_alias},"* | *",${lang_alias},"* | *",${lang_alias}" )
			add_this_lang=yes
			;;
		    * )
			add_this_lang=no
			;;
		esac
	  fi
	  if test x"${add_this_lang}" = xyes; then
		case $lang in
		    ${srcdir}/ada/config-lang.in)
			if test x$gnat = xyes ; then
				subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
			fi
			;;
		    *)
			subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
			;;
		esac
	  fi
	  ;;
changequote([,])dnl
	esac
done

# Make gthr-default.h if we have a thread file.
gthread_flags=
if test $thread_file != single; then
    rm -f gthr-default.h
    echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
    gthread_flags=-DHAVE_GTHR_DEFAULT
fi
AC_SUBST(gthread_flags)

# 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.

lang_specs_files=
lang_options_files=
lang_tree_files=
rm -f specs.h options.h gencheck.h
touch specs.h options.h gencheck.h
for subdir in . $subdirs
do
	if test -f $srcdir/$subdir/lang-specs.h; then
		echo "#include \"$subdir/lang-specs.h\"" >>specs.h
		lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
	fi
	if test -f $srcdir/$subdir/lang-options.h; then
		echo "#include \"$subdir/lang-options.h\"" >>options.h
		lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
	fi
	if test -f $srcdir/$subdir/$subdir-tree.def; then
		echo "#include \"$subdir/$subdir-tree.def\"" >>gencheck.h
		lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
	fi
done

# These (without "all_") are set in each config-lang.in.
# `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 intl/Makefile po/Makefile.in fixinc/Makefile'
# List of language makefile fragments.
all_lang_makefiles=
all_headers=
all_lib2funcs=

# 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
	if test $s != ".."
	then
		language=
		boot_language=
		compilers=
		stagestuff=
		diff_excludes=
		headers=
		outputs=
		lib2funcs=
		. ${srcdir}/$s/config-lang.in
		if test "x$language" = x
		then
			echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
			exit 1
		fi
		all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in ${srcdir}/$s/Makefile.in"
		all_languages="$all_languages $language"
		if test "x$boot_language" = xyes
		then
			all_boot_languages="$all_boot_languages $language"
		fi
		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 test x$outputs = x
		then
			oldstyle_subdirs="$oldstyle_subdirs $s"
		fi
		all_lib2funcs="$all_lib2funcs $lib2funcs"
	fi
done

# 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 lang in .. $all_languages
	do
		if test $lang != ".."; then
			x="$x $lang.$t"
		fi
	done
	echo "lang.$t: $x" >> Make-hooks
done

# If we're not building in srcdir, create .gdbinit.

if test ! -f Makefile.in; then
	echo "dir ." > .gdbinit
	echo "dir ${srcdir}" >> .gdbinit
	if test x$gdb_needs_out_file_path = xyes
	then
		echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
	fi
	if test "x$subdirs" != x; then
		for s in $subdirs
		do
			echo "dir ${srcdir}/$s" >> .gdbinit
		done
	fi
	echo "source ${srcdir}/.gdbinit" >> .gdbinit
fi

# 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 test "${host}" != "${target}" ; then
    target_subdir=${target}/
fi
AC_SUBST(build_canonical)
AC_SUBST(host_canonical)
AC_SUBST(target_subdir)
	
# 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 test x$with_newlib = xyes; then
	inhibit_libc=-Dinhibit_libc
fi
AC_SUBST(inhibit_libc)

# Override SCHED_OBJ and SCHED_CFLAGS to enable the Haifa scheduler.
sched_prefix=
sched_cflags=
if test x$enable_haifa = xyes; then
    echo "Using the Haifa scheduler."
    sched_prefix=haifa-
    sched_cflags=-DHAIFA
fi
AC_SUBST(sched_prefix)
AC_SUBST(sched_cflags)
if test x$enable_haifa != x; then
    # Explicitly remove files that need to be recompiled for the Haifa scheduler.
    for x in genattrtab.o toplev.o *sched.o; do
	if test -f $x; then
	    echo "Removing $x"
	    rm -f $x
	fi
    done
fi

# If $(exec_prefix) exists and is not the same as $(prefix), then compute an
# absolute path for gcc_tooldir based on inserting the number of up-directory
# movements required to get from $(exec_prefix) to $(prefix) into the basic
# $(libsubdir)/@(unlibsubdir) based path.
# Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel
# make and thus we'd get different behavior depending on where we built the
# sources.
if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
    gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_alias)'
else
changequote(<<, >>)dnl
# An explanation of the sed strings:
#  -e 's|^\$(prefix)||'   matches and eliminates 'prefix' from 'exec_prefix'
#  -e 's|/$||'            match a trailing forward slash and eliminates it
#  -e 's|^[^/]|/|'        forces the string to start with a forward slash (*)
#  -e 's|/[^/]*|../|g'    replaces each occurance of /<directory> with ../
#
# (*) Note this pattern overwrites the first character of the string
# with a forward slash if one is not already present.  This is not a
# problem because the exact names of the sub-directories concerned is
# unimportant, just the number of them matters.
#
# The practical upshot of these patterns is like this:
#
#  prefix     exec_prefix        result
#  ------     -----------        ------
#   /foo        /foo/bar          ../
#   /foo/       /foo/bar          ../
#   /foo        /foo/bar/         ../
#   /foo/       /foo/bar/         ../
#   /foo        /foo/bar/ugg      ../../
#
    dollar='$$'
    gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_alias)"
changequote([, ])dnl
fi
AC_SUBST(gcc_tooldir)
AC_SUBST(dollar)

# Nothing to do for FLOAT_H, float_format already handled.
objdir=`pwd`
AC_SUBST(objdir)

# 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
AC_SUBST(subdirs)
AC_SUBST(all_boot_languages)
AC_SUBST(all_compilers)
AC_SUBST(all_diff_excludes)
AC_SUBST(all_headers)
AC_SUBST(all_lang_makefiles)
AC_SUBST(all_languages)
AC_SUBST(all_lib2funcs)
AC_SUBST(all_stagestuff)
AC_SUBST(build_exeext)
AC_SUBST(build_install_headers_dir)
AC_SUBST(build_xm_file_list)
AC_SUBST(cc_set_by_configure)
AC_SUBST(quoted_cc_set_by_configure)
AC_SUBST(cpp_install_dir)
AC_SUBST(cpp_main)
AC_SUBST(dep_host_xmake_file)
AC_SUBST(dep_tmake_file)
AC_SUBST(extra_c_flags)
AC_SUBST(extra_c_objs)
AC_SUBST(extra_cpp_objs)
AC_SUBST(extra_cxx_objs)
AC_SUBST(extra_headers_list)
AC_SUBST(extra_objs)
AC_SUBST(extra_parts)
AC_SUBST(extra_passes)
AC_SUBST(extra_programs)
AC_SUBST(fixinc_defs)
AC_SUBST(float_h_file)
AC_SUBST(gcc_gxx_include_dir)
AC_SUBST(gcc_version)
AC_SUBST(gcc_version_trigger)
AC_SUBST(host_exeext)
AC_SUBST(host_extra_gcc_objs)
AC_SUBST(host_xm_file_list)
AC_SUBST(install)
AC_SUBST(JAVAGC)
AC_SUBST(lang_options_files)
AC_SUBST(lang_specs_files)
AC_SUBST(lang_tree_files)
AC_SUBST(local_prefix)
AC_SUBST(maybe_use_collect2)
AC_SUBST(md_file)
AC_SUBST(objc_boehm_gc)
AC_SUBST(out_file)
AC_SUBST(out_object_file)
AC_SUBST(stage_prefix_set_by_configure)
AC_SUBST(symbolic_link)
AC_SUBST(thread_file)
AC_SUBST(tm_file_list)
AC_SUBST(will_use_collect2)


AC_SUBST_FILE(target_overrides)
AC_SUBST_FILE(host_overrides)
AC_SUBST(cross_defines)
AC_SUBST_FILE(cross_overrides)
AC_SUBST_FILE(build_overrides)
AC_SUBST_FILE(language_fragments)
AC_SUBST_FILE(language_hooks)

# Echo that links are built
if test x$host = x$target
then
	str1="native "
else
	str1="cross-"
	str2=" from $host"
fi

if test x$host != x$build
then
	str3=" on a $build system"
fi

if test "x$str2" != x || test "x$str3" != x
then
	str4=
fi

echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2

if test "x$str2" != x || test "x$str3" != x
then
	echo " ${str2}${str3}." 1>&2
fi

# Truncate the target if necessary
if test 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
AC_OUTPUT($all_outputs,
[
. $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 test "$symbolic_link" = "ln -s"; then
 for d in .. ${subdirs} ; do
   if test $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
# Avoid having to add intl to our include paths.
if test -f intl/libintl.h; then
  echo creating libintl.h
  echo '#include "intl/libintl.h"' >libintl.h
fi
],
[
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}'
])