4.4BSD/usr/src/contrib/gcc-2.3.3/configure

#!/bin/sh
# Configuration script for GNU CC
#   Copyright (C) 1988, 1990, 1991, 1992 Free Software Foundation, Inc.

#This file is part of GNU CC.

#GNU CC is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 2, or (at your option)
#any later version.

#GNU CC is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#GNU General Public License for more details.

#You should have received a copy of the GNU General Public License
#along with GNU CC; see the file COPYING.  If not, write to
#the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

#
# Shell script to create proper links to machine-dependent files in
# preparation for compiling gcc.
#
# Options: --srcdir=DIR		specifies directory where sources are.
# 	   --host=HOST		specifies host configuration.
#	   --target=TARGET	specifies target configuration.
#	   --build=TARGET	specifies configuration of machine you are
#				using to compile GCC.
#	   --prefix=DIR		specifies directory to install in.
#	   --exec-prefix=DIR	specifies directory to install executables in.
#	   --with-gnu-ld	arrange to work with GNU ld.
#	   --with-gnu-as	arrange to work with GAS.
#	   --with-stabs		arrange to use stabs instead of host debug format.
#	   --nfp		assume system has no FPU.
#
# If configure succeeds, it leaves its status in config.status.
# If configure fails after disturbing the status quo, 
# 	config.status is removed.
#

progname=$0

# Default --srcdir to the directory where the script is found, 
# if a directory was specified.
# The second sed call is to convert `.//configure' to `./configure'.
srcdir=`echo $0 | sed 's|//|/|' | sed 's|/[^/]*$||'`
if [ x$srcdir = x$0 ]
then
srcdir=
fi

host=

# Default prefix to /usr/local.
#prefix=/usr/local
prefix=/usr/libexec
# Default is to let the Makefile set exec_prefix from $(prefix)
#exec_prefix='$(prefix)'
exec_prefix='$(prefix)/gcc2'

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

# Record all the arguments, to write them in config.status.
arguments=$*

#for Test
#remove="echo rm"
#hard_link="echo ln"
#symbolic_link="echo ln -s"

target=
host=
build=

for arg in $*;
do
  case $next_arg in
  --srcdir)
    srcdir=$arg
    next_arg=
    ;;
  --host)
    host=$arg
    next_arg=
    ;;
  --target)
    target=$arg
    next_arg=
    ;;
  --build)
    build=$arg
    next_arg=
    ;;
  --prefix)
    prefix=$arg
    next_arg=
    ;;
  --exec-prefix)
    exec_prefix=$arg
    next_arg=
    ;;
  *)
    case $arg in
     -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s)
	next_arg=--srcdir
	;;
     -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*)
	srcdir=`echo $arg | sed 's/-*s[a-z]*=//'`
	;;
     -host | --host | --hos | --ho | --h)
	next_arg=--host
	;;
     -host=* | --host=* | --hos=* | --ho=* | --h=*)
	host=`echo $arg | sed 's/-*h[a-z]*=//'`
	;; 
     -target | --target | --targe | --targ | --tar | --ta | --t)
	next_arg=--target
	;;
     -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
	target=`echo $arg | sed 's/-*t[a-z]*=//'`
	;; 
     -build | --build | --buil | --bui | --bu | --b)
	next_arg=--build
	;;
     -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
	build=`echo $arg | sed 's/-*b[a-z]*=//'`
	;; 
     -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
	next_arg=--prefix
	;;
     -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
	prefix=`echo $arg | sed 's/-*p[a-z]*=//'`
	;;
     -exec-prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre \
	| --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
	next_arg=--exec-prefix
	;;
     -exec-prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* \
	| --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* \
	| --exe=* | --ex=* | --e=*)
	exec_prefix=`echo $arg | sed 's/-*e[-a-z]*=//'`
	;;
     -with-gnu-ld | --with-gnu-ld | --with-gnu-l)
	gnu_ld=yes
	;;
     -gas | --gas | --ga | --g | -with-gnu-as | --with-gnu-as | -with-gnu-a)
        gas=yes
	;;
     -nfp | --nfp | --nf | --n)
	nfp=yes
	;;
     -with-stabs | -with-stab | -with-sta | -with-st | -with-s \
	| --with-stabs | --with-stab | --with-sta | --with-st | --with-s \
	| -stabs | -stab | -sta | -st  \
	| --stabs | --stab | --sta | --st)
	stabs=yes
	;;
     -with-* | --with-*) ;; #ignored
     -x | --x) ;; # ignored
     -*)
	echo "Invalid option \`$arg'" 1>&2
	exit 1
	;;
     *)
# Allow configure HOST TARGET
	if [ x$host = x ]
	then
		host=$target
	fi
	target=$arg
	;;
    esac
  esac
done

# Find the source files, if location was not specified.
if [ x$srcdir = x ]
then
	srcdirdefaulted=1
	srcdir=.
	if [ ! -r tree.c ]
	then
		srcdir=..
	fi
fi

if [ ! -r ${srcdir}/tree.c ]
then
	if [ x$srcdirdefaulted = x ]
	then
	  echo "$progname: Can't find compiler sources in \`${srcdir}'" 1>&2
	else
	  echo "$progname: Can't find compiler sources in \`.' or \`..'" 1>&2
	fi
	exit 1
fi

if [ -r ${srcdir}/config.status ] && [ x$srcdir != x. ]
then
	echo "$progname: \`configure' has been run in \`${srcdir}'" 1>&2
	exit 1
fi

# Complain if an arg is missing
if [ x$target = x ]
then
	echo "No target specified." 1>&2

	echo "\
Usage: `basename $progname` [--host=HOST] [--build=BUILD]
       [--prefix=DIR] [--exec-pref=DIR]
       [--with-gnu-as] [--with-gnu-ld] [--with-stabs] [--nfp] TARGET" 1>&2
	echo "Where HOST, TARGET and BUILD are three-part configuration names " 1>&2
	if [ -r config.status ]
	then
		tail +2 config.status 1>&2
	fi
	exit 1
fi

# Default other arg
if [ x$host = x ]
then
	host=$target
fi
# If $build was not specified, use $host.
if [ x$build = x ]
then
	build=$host
fi

build_xm_file=
host_xm_file=
host_xmake_file=
host_broken_install=

# Validate the specs, and canonicalize them.
canon_build=`$srcdir/config.sub $build` || exit 1
canon_host=`$srcdir/config.sub $host` || exit 1
canon_target=`$srcdir/config.sub $target` || exit 1

# Decode the host machine, then the target machine.
# For the host machine, we save the xm_file variable as host_xm_file;
# then we decode the target machine and forget everything else
# that came from the host machine.
for machine in $canon_build $canon_host $canon_target; do

	cpu_type=
	xm_file=
	tm_file=
	out_file=
	xmake_file=
	tmake_file=
	header_files=
	# Set this to force installation and use of collect2.
	use_collect2=
	# Set this to override the default target model.
	target_cpu_default=
	# Set this to force use of install.sh.
	broken_install=
	# Set this to control which fixincludes program to use.
	fixincludes=fixincludes

	case $machine in
	# Support site-specific machine types.
	*local*)
		cpu_type=$machine
		xm_file=xm-$machine.h
		tm_file=$machine.h
		if [ -f $srcdir/config/x-$machine ] ; \
		then xmake_file=x-$machine; \
		else true; \
		fi
		if [ -f $srcdir/config/t-$machine ] ; \
		then tmake_file=t-$machine; \
		else true; \
		fi
		;;
	vax-*-bsd*)			# vaxen running BSD
		tm_file=vax.h
		use_collect2=yes
		;;
	vax-*-ultrix*)			# vaxen running ultrix
		tm_file=ultrix.h
		use_collect2=yes
		;;
	vax-*-vms*)			# vaxen running VMS
		xm_file=xm-vax-vms.h
		tm_file=vax-vms.h
		;;
	vax-*-sysv*)			# vaxen running system V
		xm_file=xm-vaxv.h
		tm_file=vaxv.h
		;;
# This hasn't been upgraded to GCC 2.
#	tahoe-harris-*)			# Harris tahoe, using COFF.
#		tm_file=harris.h
#		;;
#	tahoe-*-bsd*)			# tahoe running BSD
#		xm_file=xm-tahoe.h
#		tm_file=tahoe.h
#		;;
	i[34]86-*-osfrose*)		# 386 using OSF/rose
		tm_file=i386rose.h
		xmake_file=x-i386rose
		tmake_file=t-i386rose
		use_collect2=yes
		;;
	i[34]86-sequent-bsd*) 		# 80386 from Sequent
		xm_file=xm-i386.h
		use_collect2=yes
		if [ x$gas = xyes ]
		then
			tm_file=seq386gas.h
		else
			tm_file=seq386.h
		fi
		;;
	i[34]86-*-bsd*)
		xm_file=xm-i386.h
		tm_file=i386bsd.h
#		tmake_file=t-libc-ok
		use_collect2=yes
		;;
	i[34]86-*-mach*)
		xm_file=xm-i386.h
		tm_file=i386mach.h
#		tmake_file=t-libc-ok
		use_collect2=yes
		;;
	i[34]86-*-sco3.2v4*)	 	# 80386 running SCO 3.2v4 system
		xm_file=xm-i386sco.h
		tm_file=i386sco4.h
		xmake_file=x-i386s4
		tmake_file=t-i386sco
		fixincludes=fixinc.sco
		broken_install=yes
		;;
	i[34]86-*-sco*)		 	# 80386 running SCO system
		xm_file=xm-i386sco.h
		tm_file=i386sco.h
		xmake_file=x-i386sco
		tmake_file=t-i386sco
		broken_install=yes
		;;
	i[34]86-*-isc*)			# 80386 running ISC system
		xm_file=xm-i386isc.h
		xmake_file=x-i386isc
                if [ x$gas = xyes ]
		then
			tm_file=i386iscgas.h
			tmake_file=t-i386iscgas
		else
			tm_file=i386isc.h
			tmake_file=t-i386isc
		fi
		broken_install=yes
		;;
	i[34]86-ibm-aix*)		# IBM PS/2 running AIX
                if [ x$gas = xyes ]
		then
			tm_file=aix386.h
		else
			tm_file=aix386ng.h
			use_collect2=yes
		fi
		xm_file=xm-aix386.h
		xmake_file=x-aix386
		broken_install=yes
		;;
	i386-sun-sunos*)		# Sun i386 roadrunner
		xm_file=xm-sun386.h
		tm_file=i386sun.h
		use_collect2=yes
		;;
	i[34]86-*-linux*)               # Intel 80386's running Linux
		cpu_type=i386
		xm_file=xm-linux.h
		xmake_file=x-linux
		tm_file=i386linux.h
		broken_install=yes
		;;
	i486-ncr-sysv4*)		# NCR 3000 - i486 running system V.4
		cpu_type=i386
		xm_file=xm-i38v4.h
		xmake_file=x-ncr3000
		tm_file=i386v4.h
		tmake_file=t-svr4
		;;
	i[34]86-*-sysv4*)		# Intel 80386's running system V.4
		cpu_type=i386
		xm_file=xm-i38v4.h
		tm_file=i386v4.h
		tmake_file=t-svr4
		xmake_file=x-svr4
		;;
	i[34]86-*-sysv*)		# Intel 80386's running system V
		xm_file=xm-i386v.h
		xmake_file=x-i386v
		tmake_file=t-svr3
		if [ x$gas = xyes ]
		then
			if [ x$stabs = xyes ]
			then
				tm_file=i386gstabs.h
			else
				tm_file=i386gas.h
			fi
		else
			tm_file=i386v.h
		fi
		;;
	i860-*-mach*)
		xm_file=xm-i860.h
		tm_file=i860mach.h
		tmake_file=t-libc-ok
		;;
	i860-*-sysv3*)
		xm_file=xm-i86v3.h
		xmake_file=x-i860v3
		tm_file=i860v3.h
		tmake_file=t-svr3
		;;
	i860-*-sysv4*)
		xm_file=xm-i86v4.h
		xmake_file=x-i860v4
		tm_file=i860v4.h
		tmake_file=t-svr4
		;;
	i860-alliant-*)		# Alliant FX/2800
		xm_file=xm-fx2800.h
		xmake_file=x-fx2800
		tm_file=fx2800.h
		tmake_file=t-fx2800
		;;
	i860-*-bsd*)
		if [ x$gas = xyes ]
		then
			tm_file=i860bg.h
		else
			tm_file=i860b.h
		fi
		use_collect2=yes
		;;
	sparc-tti-*)
		tm_file=pbd.h
		xm_file=xm-pbd.h
		use_collect2=yes
		;;
	elxsi-elxsi-*)
		tm_file=elxsi.h
		xm_file=xm-elxsi.h
		use_collect2=yes
		;;
	sparc-*-sunos4*)
		tm_file=sparc.h
		use_collect2=yes
		;;
	sparc-*-sunos3*)
		tm_file=sun4o3.h
		use_collect2=yes
		;;
	sparc-*-sysv4*)
		xm_file=xm-spcv4.h
		tm_file=sparcv4.h
		tmake_file=t-svr4
		xmake_file=x-sparcv4
		;;
	sparc-*-solaris2* | sparc-*-sunos5*)
		xm_file=xm-spc-sol2.h
		tm_file=spc-sol2.h
		tmake_file=t-sol2
		xmake_file=x-sparcv4
		fixincludes=fixinc.svr4
		broken_install=yes
		;;
	m68k-cbm-sysv4*)		# Commodore variant of V.4.
		tm_file=amix.h
		xm_file=xm-amix.h
		xmake_file=x-amix
		tmake_file=t-svr4
		header_files=math-68881.h
		;;
	m68k-*-sysv4*)			# Motorola m68k's running system V.4
		tm_file=m68kv4.h
		xm_file=xm-m68kv.h
		tmake_file=t-svr4
		header_files=math-68881.h
		;;
	m68k-bull-sysv*)		# Bull DPX/2
		if [ x$gas = xyes ]
		then
			tm_file=dpx2g.h
		else
			echo dpx2 supported only with GAS 1>&2
			exit 1
			tm_file=dpx2.h
		fi
		xm_file=xm-m68kv.h
		xmake_file=x-dpx2
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-next-*)
		tm_file=next.h
		out_file=next.c
		xm_file=xm-next.h
		tmake_file=t-next
		xmake_file=x-next
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-sun-sunos3*)
		if [ x$nfp = xyes ]
		then
			tm_file=sun3n3.h
		else
			tm_file=sun3o3.h
		fi
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-sun-sunos*)		# For SunOS 4 (the default).
		if [ x$nfp = xyes ]
		then
			tm_file=sun3n.h
		else
			tm_file=sun3.h
		fi
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-sun-mach*)
		tm_file=sun3mach.h
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-tti-*)
		tm_file=pbb.h
		xm_file=xm-m68kv.h
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-hp-hpux*)	# HP 9000 series 300
		xm_file=xm-hp320.h
		if [ x$gas = xyes ]
		then
			xmake_file=x-hp320g
			tmake_file=t-hp320g
			tm_file=hp320g.h
		else
			xmake_file=x-hp320
			tm_file=hp320.h
		fi
		broken_install=yes
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-hp-bsd*)			# HP 9000/3xx running Berkeley Unix
		tm_file=hp3bsd.h
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-omron-bsd*)		# OMRON LUNA-I/LUNA-II running Berkeley Unix
		tm_file=luna68k.h
		use_collect2=yes
#		header_files=math-68881.h
		;;
	m68k-isi-bsd*)
		if [ x$nfp = xyes ]
		then
			tm_file=isi-nfp.h
		else
			tm_file=isi.h
		fi
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-sony-newsos3*)
	        xm_file=xm-m68k.h
		if [ x$gas = xyes ]
		then
			tm_file=news3gas.h
		else
			tm_file=news3.h
		fi
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-sony-bsd* | m68k-sony-newsos*)
	        xm_file=xm-m68k.h
		if [ x$gas = xyes ]
		then
			tm_file=newsgas.h
		else
			tm_file=news.h
		fi
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-altos-sysv*)		   # Altos 3068
		if [ x$gas = xyes ]
		then
		        xm_file=xm-altos3068.h
		        tm_file=altos3068.h
		else
			echo "The Altos is supported only with the GNU assembler" 1>&2
			exit 1
		fi
		header_files=math-68881.h
	        ;;
	m68k-motorola-sysv*)
		tm_file=mot3300.h
		xm_file=xm-mot3300.h
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-crds-unos*)
		xm_file=xm-crds.h
		xmake_file=x-crds
		tm_file=crds.h
		broken_install=yes
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68k-apollo-*)
		xmake_file=x-apollo68
		tm_file=apollo68.h
		use_collect2=yes
		header_files=math-68881.h
		;;
        m68k-plexus-sysv*)
	        cpu_type=m68k
		tm_file=plexus.h
		use_collect2=yes
		xm_file=xm-plexus.h
		header_files=math-68881.h
		;;
	m68k-ncr-sysv*)			# NCR Tower 32 SVR3
		tm_file=tower-as.h
		xm_file=xm-tower.h
		xmake_file=x-tower
		tmake_file=t-svr3
		header_files=math-68881.h
		;;
	m68k-*-sysv3*)			# Motorola m68k's running system V.3
		tm_file=m68k.h
		xm_file=xm-m68kv.h
		xmake_file=x-m68kv
		tmake_file=t-svr3
		header_files=math-68881.h
		;;
	m68000-sun-sunos3*)
		cpu_type=m68k
		tm_file=sun2.h
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68000-sun-sunos4*)
		cpu_type=m68k
		tm_file=sun2o4.h
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68000-hp-hpux*)		# HP 9000 series 300
		cpu_type=m68k
		xm_file=xm-hp320.h
		if [ x$gas = xyes ]
		then
			xmake_file=x-hp320g
			tm_file=hp310g.h
		else
			xmake_file=x-hp320
			tm_file=hp310.h
		fi
		broken_install=yes
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68000-hp-bsd*)			# HP 9000/200 running BSD
		cpu_type=m68k
		tm_file=hp2bsd.h
		xmake_file=x-hp2bsd
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68000-att-sysv*)
		cpu_type=m68k
		xm_file=xm-3b1.h
		if [ x$gas = xyes ]
		then
			tm_file=3b1g.h
		else
			tm_file=3b1.h
		fi
		use_collect2=yes
		header_files=math-68881.h
		;;
	m68000-convergent-sysv*)
		cpu_type=m68k
		xm_file=xm-3b1.h
		tm_file=ctix.h
		use_collect2=yes
		header_files=math-68881.h
		;;
	ns32k-encore-osf*)		# Encore with OSF/rose
		tm_file=encrose.h
		xmake_file=x-encrose
		tmake_file=t-encrose
		use_collect2=yes
		;;
	ns32k-sequent-bsd*)
		tm_file=sequent.h
		use_collect2=yes
		;;
	ns32k-encore-bsd*)
		tm_file=encore.h
		use_collect2=yes
		;;
# This has not been updated to GCC 2.
#	ns32k-ns-genix*)
#		xm_file=xm-genix.h
#		xmake_file=x-genix
#		tm_file=genix.h
#		broken_install=yes
#		use_collect2=yes
#		;;
	ns32k-merlin-*)
		tm_file=merlin.h
		use_collect2=yes
		;;
	ns32k-tek6100-bsd*)
		tm_file=tek6100.h
		broken_install=yes
		use_collect2=yes
		;;
	ns32k-tek6200-bsd*)
		tm_file=tek6200.h
		broken_install=yes
		use_collect2=yes
		;;
	ns32k-pc532-mach*)
		tm_file=pc532-mach.h
		use_collect2=yes
		;;
	ns32k-pc532-minix*)
		tm_file=pc532-min.h
		xm_file=xm-pc532-min.h
		use_collect2=yes
		;;
	m88k-*-luna*)
		tm_file=m88kluna.h
		tmake_file=t-m88kluna
		;;
	m88k-dg-dgux*)
		tm_file=m88kdgux.h
		xmake_file=x-m88kdgux
		broken_install=yes
		;;
	m88k-*-sysv4*)
		tm_file=m88kv4.h
		xmake_file=x-m88kv4
		tmake_file=t-m88kv4
		;;
	m88k-dolphin-sysv3*)
		tm_file=m88kdolph.h
		xm_file=xm-m88kv3.h
		xmake_file=x-m88kdolph
		;;
	m88k-*-sysv3*)
		tm_file=m88kv3.h
		xm_file=xm-m88kv3.h
		;;
# This hasn't been upgraded to GCC 2.
#	fx80-alliant-*)			# Alliant FX/80
#		tm_file=fx80.h
#		;;
	arm-*-*)			# Acorn RISC machine
		tm_file=arm.h
		;;
	c1-convex-*)			# Convex C1
		tm_file=convex1.h
		cpu_type=convex
		use_collect2=yes
		;;
	c2-convex-*)			# Convex C2
		tm_file=convex2.h
		cpu_type=convex
		use_collect2=yes
		;;
	c32-convex-*)
		tm_file=convex32.h	# Convex C32xx
		cpu_type=convex
		use_collect2=yes
		;;
	c34-convex-*)
		tm_file=convex34.h	# Convex C34xx
		cpu_type=convex
		use_collect2=yes
		;;
	c38-convex-*)
		tm_file=convex38.h	# Convex C38xx
		cpu_type=convex
		use_collect2=yes
		;;
	mips-sgi-irix4*)		# Mostly like a MIPS.
		if [ x$stabs = xyes ]; then
		    tm_file=iris4g.h
		else
		    tm_file=iris4.h
		fi
		xm_file=xm-irix4.h
		broken_install=yes
		xmake_file=x-iris
		use_collect2=yes
		;;
	mips-sgi-*)			# Mostly like a MIPS.
		if [ x$stabs = xyes ]; then
		    tm_file=irisgdb.h
		else
		    tm_file=iris.h
		fi
		xm_file=xm-iris.h
		broken_install=yes
		xmake_file=x-iris
		use_collect2=yes
		;;
	mips-dec-ultrix*)		# Decstation.
		if [ x$stabs = xyes ]; then
		    tm_file=decstabs.h
		else
		    tm_file=decstatn.h
		fi
		tmake_file=t-decstatn
		xmake_file=x-decstatn
		use_collect2=yes
	        ;;
	mips-dec-osfrose*)		# Decstation running OSF/1 reference port with OSF/rose.
		tm_file=decrose.h
		xmake_file=x-decrose
		tmake_file=t-decrose
		use_collect2=yes
		;;
	mips-dec-osf*)			# Decstation running OSF/1 as shipped by DIGITAL
		if [ x$stabs = xyes ]; then
		    tm_file=dec-gosf1.h
		else
		    tm_file=dec-osf1.h
		fi
		xmake_file=x-dec-osf1
		tmake_file=t-decstatn
		use_collect2=yes
		;;
	mips-dec-bsd*)			# Decstation running 4.4 BSD
		tm_file=mips-dec-bsd.h
		xmake_file=x-mipsbsd
		tmake_file=t-mipsbsd
		fixincludes=
		;;
	mips-sony-bsd* | mips-sony-newsos*)	# Sony NEWS 3600 or risc/news.
		if [ x$stabs = xyes ]; then
		    tm_file=mips-gnews.h
		else
		    tm_file=mips-news.h
		fi
		xm_file=xm-mips.h
		use_collect2=yes
		;;
	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.
		if [ x$stabs = xyes ]; then
		    tm_file=mips-gn5.h
		else
		    tm_file=mips-n5.h
		fi
		xm_file=xm-mipsnews.h
		use_collect2=yes
		;;
	mips-*riscos[56789]bsd* | mips-*riscos[56789]-bsd*)
		if [ x$stabs = xyes ]; then	# MIPS BSD 4.3, RISC-OS 5.0
		    tm_file=mips-5gbsd.h
		else
		    tm_file=mips-5bsd.h
		fi
		use_collect2=yes
	        ;;
	mips-*-bsd* | mips-*riscosbsd* | mips-*riscos[1234]bsd* \
		| mips-*riscos-bsd* | mips-*riscos[1234]-bsd*)
		if [ x$stabs = xyes ]; then	# MIPS BSD 4.3, RISC-OS 4.0
		    tm_file=mips-gbsd.h
		else
		    tm_file=mips-bsd.h
		fi
		use_collect2=yes
	        ;;
	mips-*riscos[56789]sysv4* | mips-*riscos[56789]-sysv4*)
		if [ x$stabs = xyes ]; then	# MIPS System V.4., RISC-OS 5.0
		    tm_file=mips-5gsvr4.h
		else
		    tm_file=mips-5svr4.h
		fi
		xm_file=xm-umips.h
		xmake_file=x-mipsv
		;;
	mips-*-sysv4* | mips-*riscos[1234]sysv4* | mips-*riscossysv4* \
		| mips-*riscos[1234]-sysv4* | mips-*riscos-sysv4*)
		if [ x$stabs = xyes ]; then	# MIPS System V.4. RISC-OS 4.0
		    tm_file=mips-gsvr4.h
		else
		    tm_file=mips-svr4.h
		fi
		xm_file=xm-umips.h
		xmake_file=x-mipsv
		;;
	mips-*riscos[56789]sysv* | mips-*-riscos[56788]-sysv*)
		if [ x$stabs = xyes ]; then	# MIPS System V.3, RISC-OS 5.0
		    tm_file=mips-5gsysv.h
		else
		    tm_file=mips-5sysv.h
		fi
		xm_file=xm-umips.h
		xmake_file=x-mipsv
		use_collect2=yes
		;;
	mips-*-sysv* | mips-*riscossysv* | mips-*riscos-sysv*)
		if [ x$stabs = xyes ]; then	# MIPS System V.3, RISC-OS 4.0
		    tm_file=mips-gsysv.h
		else
		    tm_file=mips-sysv.h
		fi
		xm_file=xm-umips.h
		xmake_file=x-mipsv
		use_collect2=yes
		;;
	mips-*riscos[56789]*)			# Default MIPS RISC-OS 5.0.
		if [ x$stabs = xyes ]; then
		    tm_file=mips-5gdb.h
		else
		    tm_file=mips-5.h
		fi
		use_collect2=yes
		;;
	mips-*-*)				# Default MIPS RISC-OS 4.0.
		if [ x$stabs = xyes ]; then
		    tm_file=mips-gdb.h
		else
		    tm_file=mips.h
		fi
		use_collect2=yes
		;;
	pyramid-*-*)
		cpu_type=pyr
		tm_file=pyr.h
		use_collect2=yes
		;;
# This hasn't been upgraded to GCC 2.
#	tron-*-*)
#		cpu_type=gmicro
#		tm_file=gmicro.h
#		use_collect2=yes
#		;;
	a29k-*-bsd*)
		tm_file=a29kunix.h
		xm_file=xm-a29kunix.h
		xmake_file=x-a29kunix
		use_collect2=yes
		;;
	a29k-*-*)			# Default a29k environment.
		use_collect2=yes
		;;
	romp-*-aos*)
		xm_file=xm-romp.h
		tm_file=romp.h
		use_collect2=yes
		;;
	romp-*-mach*)
		xm_file=xm-romp.h
		tm_file=romp.h
		xmake_file=x-romp-mach
		use_collect2=yes
		;;
	rs6000-*-mach*)
		xm_file=xm-rs6k-m.h
		tm_file=rs6000-mach.h
		xmake_file=x-rs6k-mach
		use_collect2=yes
		;;
	rs6000-ibm-aix32)
		xm_file=xm-rs6000.h
		tm_file=rs6000-aix32.h
		use_collect2=yes
		;;
	rs6000-ibm-aix*)
		xm_file=xm-rs6000.h
		tm_file=rs6000.h
		use_collect2=yes
		;;
	hppa1.1-*-bsd*)
		cpu_type=pa
		xm_file=xm-pa.h
		tm_file=pa1.h
		xmake_file=x-pa
		tmake_file=t-pa
		use_collect2=yes
		;;
	hppa1.0-*-bsd*)
		cpu_type=pa
		xm_file=xm-pa.h
		tm_file=pa.h
		xmake_file=x-pa
		tmake_file=t-pa
		use_collect2=yes
		;;
	hppa1.0-*-hpux7*)
		cpu_type=pa
		xm_file=xm-pahpux.h
		xmake_file=x-pa-hpux
		tmake_file=t-libc-ok
		if [ x$gas = xyes ]
		then
			tm_file=pa-gux7.h
		else
			tm_file=pa-hpux7.h
		fi
		broken_install=yes
		use_collect2=yes
		;;
	hppa1.1-*-hpux*)
		cpu_type=pa
		xm_file=xm-pahpux.h
		xmake_file=x-pa-hpux
		tmake_file=t-libc-ok
		if [ x$gas = xyes ]
		then
			tm_file=pa1-ghpux.h
		else
			tm_file=pa1-hpux.h
		fi
		broken_install=yes
		use_collect2=yes
		;;
	hppa1.0-*-hpux*)
		cpu_type=pa
		xm_file=xm-pahpux.h
		xmake_file=x-pa-hpux
		tmake_file=t-libc-ok
		if [ x$gas = xyes ]
		then
			tm_file=pa-ghpux.h
		else
			tm_file=pa-hpux.h
		fi
		broken_install=yes
		use_collect2=yes
		;;
	we32k-att-sysv*)
		cpu_type=we32k
		use_collect2=yes
		;;
	alpha-*-osf*)
		cpu_type=alpha
		broken_install=yes
		use_collect2=yes
		;;
	i960-*-*)			# Default i960 environment.
		use_collect2=yes
		;;
	*)
		echo "Configuration $machine not supported" 1>&2
		exit 1
		;;
	esac

	case $machine in
	*-*-sysv4*)
		fixincludes=fixinc.svr4
		xmake_try_sysv=x-sysv
		broken_install=yes
		;;
	*-*-sysv*)
		broken_install=yes
		;;
	esac

	# Distinguish i386 from i486.
	case $machine in
	i486-*-*)
		target_cpu_default=2
		;;
	esac

	# No need for collect2 if we have the GNU linker.
	case x$gnu_ld in 
	xyes)
		use_collect2=
		;;
	esac

# Default certain vars that apply to both host and target in turn.
	if [ x$cpu_type = x ]
	then cpu_type=`echo $machine | sed 's/-.*$//'`
	fi

# Save data on machine being used to compile GCC in build_xm_file.
# Save data on host machine in vars host_xm_file and host_xmake_file.
	if [ x$pass1done = x ]
	then
		if [ x$xm_file = x ]; then build_xm_file=xm-$cpu_type.h
		else build_xm_file=$xm_file
		fi
		pass1done=yes
	else
		if [ x$pass2done = x ]
		then
			if [ x$xm_file = x ]; then host_xm_file=xm-$cpu_type.h
			else host_xm_file=$xm_file
			fi
			if [ x$xmake_file = x ]
			then xmake_file=x-$cpu_type
			fi
			host_xmake_file=$xmake_file
			host_broken_install=$broken_install
			pass2done=yes
		fi
	fi
done

# Default the target-machine variables that were not explicitly set.
if [ x$tm_file = x ]
then tm_file=$cpu_type.h; fi

if [ x$header_files = x ]
then header_files=; fi

if [ x$xm_file = x ]
then xm_file=xm-$cpu_type.h; fi

md_file=${cpu_type}.md

if [ x$out_file = x ]
then out_file=$cpu_type.c; fi

if [ x$tmake_file = x ]
then tmake_file=t-$cpu_type
fi


# Set up the list of links to be made.
# $links is the list of link names, and $files is the list of names to link to.
files="$host_xm_file $tm_file $md_file $out_file $xm_file $build_xm_file"
links="config.h tm.h md aux-output.c tconfig.h hconfig.h"

# Make the links.
while [ -n "$files" ]
do
	# set file to car of files, files to cdr of files
	set $files; file=$1; shift; files=$*
	set $links; link=$1; shift; links=$*

	if [ ! -r ${srcdir}/config/$file ]
	then
		echo "$progname: cannot create a link \`$link'," 1>&2
		echo "since the file \`config/$file' does not exist" 1>&2
		exit 1
	fi

	$remove -f $link
	rm -f config.status
	# Make a symlink if possible, otherwise try a hard link
	$symbolic_link ${srcdir}/config/$file $link 2>/dev/null || $hard_link ${srcdir}/config/$file $link || $copy ${srcdir}/config/$file $link

	if [ ! -r $link ]
	then
		echo "$progname: unable to link \`$link' to \`${srcdir}/config/$file'" 1>&2
		exit 1
	fi
	echo "Linked \`$link' to \`${srcdir}/config/$file'"
done

# Create Makefile.tem from Makefile.in.
# Make it set VPATH if necessary so that the sources are found.
# Also change its value of srcdir.
# Also create a .gdbinit file which runs the one in srcdir
# and tells GDB to look there for source files.
case $srcdir in
.)
	rm -f Makefile.tem
	cp Makefile.in Makefile.tem
	chmod +w Makefile.tem
	;;
*)
	rm -f Makefile.tem
	echo "VPATH = ${srcdir}" \
	  | cat - ${srcdir}/Makefile.in \
	  | sed "s@^srcdir = \.@srcdir = ${srcdir}@" > Makefile.tem
	rm -f .gdbinit
	echo "dir ." > .gdbinit
	echo "dir ${srcdir}" >> .gdbinit
	echo "source ${srcdir}/.gdbinit" >> .gdbinit
	;;
esac

# Conditionalize the makefile for this host machine.
if [ -f ${srcdir}/config/${host_xmake_file} ]
then
	rm -f Makefile.xx
	sed -e "/####host/  r ${srcdir}/config/${host_xmake_file}" Makefile.tem > Makefile.xx
	echo "Merged ${host_xmake_file}."
	rm -f Makefile.tem
	mv Makefile.xx Makefile.tem
else
# Say in the makefile that there is no host_xmake_file,
# by using a name which (when interpreted relative to $srcdir/config)
# will duplicate another dependency: $srcdir/Makefile.in.
	host_xmake_file=../Makefile.in
fi

# Add a definition for INSTALL if system wants one.
# This substitutes for lots of x-* files.
if [ x$host_broken_install = x ]
then true
else
	rm -f Makefile.xx
	abssrcdir=`cd ${srcdir}; pwd`
	sed "s|^INSTALL = .*|INSTALL = ${abssrcdir}/install.sh -c|" Makefile.tem > Makefile.xx
	rm -f Makefile.tem
	mv Makefile.xx Makefile.tem
fi

# Set EXTRA_HEADERS according to header_files.
# This substitutes for lots of t-* files.
if [ x$header_files = x ]
then true
else
	rm -f Makefile.xx
	sed "s/^EXTRA_HEADERS =/EXTRA_HEADERS = $header_files/" Makefile.tem > Makefile.xx
	rm -f Makefile.tem
	mv Makefile.xx Makefile.tem
fi

# Add a definition of USE_COLLECT2 if system wants one.
# Also tell toplev.c what to do.
# This substitutes for lots of t-* files.
if [ x$use_collect2 = x ]
then true
else
	rm -f Makefile.xx
	(echo "USE_COLLECT2 = ld"; echo "MAYBE_USE_COLLECT2 = -DUSE_COLLECT2")\
 	   | cat - Makefile.tem > Makefile.xx
	rm -f Makefile.tem
	mv Makefile.xx Makefile.tem
fi

# Add -DTARGET_CPU_DEFAULT for toplev.c if system wants one.
# This substitutes for lots of *.h files.
if [ x$target_cpu_default = x ]
then true
else
	rm -f Makefile.xx
	(echo "MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFAULT=$target_cpu_default")\
 	   | cat - Makefile.tem > Makefile.xx
	rm -f Makefile.tem
	mv Makefile.xx Makefile.tem
fi

# Conditionalize the makefile for this target machine.
if [ -f ${srcdir}/config/${tmake_file} ]
then
	rm -f Makefile.xx
	sed -e "/####target/  r ${srcdir}/config/${tmake_file}" Makefile.tem > Makefile.xx
	echo "Merged ${tmake_file}."
	rm -f Makefile.tem
	mv Makefile.xx Makefile.tem
else
# Say in the makefile that there is no tmake_file,
# by using a name which (when interpreted relative to $srcdir/config)
# will duplicate another dependency: $srcdir/Makefile.in.
	tmake_file=../Makefile.in
fi

# Remove all formfeeds, since some Makes get confused by them.
# Also arrange to give the variables `target', `host_xmake_file',
# `tmake_file', `prefix', `exec_prefix' and `FIXINCLUDES'
# values in the Makefile from the values they have in this script.
rm -f Makefile.xx
sed -e "s///" -e "s/^target=.*$/target=${target}/" \
    -e "s|^xmake_file=.*$|xmake_file=${host_xmake_file}|" \
    -e "s|^tmake_file=.*$|tmake_file=${tmake_file}|" \
    -e "s|^prefix[ 	]*=.*|prefix = $prefix|" \
    -e "s|^exec_prefix[ 	]*=.*|exec_prefix = $exec_prefix|" \
    -e "s|^FIXINCLUDES[ 	]*=.*|FIXINCLUDES = $fixincludes|" \
    Makefile.tem > Makefile.xx
rm -f Makefile.tem
mv Makefile.xx Makefile.tem

# Install Makefile for real, after making final changes.
# Define macro CROSS_COMPILE in compilation if this is a cross-compiler.
# Also use all.cross instead of all.internal, and add cross-make to Makefile.
if [ x$host = x$target ]
then
	rm -f Makefile
  	if [ x$host = x$build ]
	then
		mv Makefile.tem Makefile
	else
#		When build gcc with cross-compiler, we need to fix a
#		few things.
		echo "build= $build" > Makefile
		sed -e "/####build/  r ${srcdir}/build-make" Makefile.tem >> Makefile
		rm -f Makefile.tem Makefile.xx
	fi
else
	rm -f Makefile
	echo "CROSS=-DCROSS_COMPILE" > Makefile
	sed -e "/####cross/  r ${srcdir}/cross-make" Makefile.tem >> Makefile
	rm -f Makefile.tem Makefile.xx
fi

echo "Created \`Makefile'."

if [ xx${vint} != xx ]
then
	vintmsg=" (vint)"
fi

# Describe the chosen configuration in config.status.
# Make that file a shellscript which will reestablish the same configuration.
echo "#!/bin/sh
# GCC was configured as follows:
${srcdir}/configure" $arguments > config.status
echo echo host=$canon_host target=$canon_target build=$canon_build >> config.status
chmod a+x config.status

if [ x$canon_host = x$canon_target ]
then
	echo "Links are now set up for target $canon_target."
else
	echo "Links are now set up for host $canon_host and target $canon_target."
fi

exit 0