diff --git a/bfd/configure b/bfd/configure
index 627867a3aa2..8e53d4e686f 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -1,12 +1,9 @@
 #!/bin/sh
-# Do not edit this file.  It is generated automatically from configure.in
-# and a configure template.
+# Please do not edit this file.  It is generated automatically from
+# configure.in and a configure template.
 configdirs=
 
 #!/bin/sh
-# Do not edit this file.  It is generated automatically from configure.in
-# and a configure template.
-configdirs=
 
 # Configuration script template
 #   Copyright (C) 1988, 1990, 1991 Free Software Foundation, Inc.
@@ -27,6 +24,8 @@ configdirs=
 #along with GNU CC; see the file COPYING.  If not, write to
 #the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 
+# $Id$
+
 #
 # Shell script to create proper links to machine-dependent files in
 # preparation for compiling gcc.
@@ -55,6 +54,7 @@ template=
 removing=
 norecurse=
 ansi=
+srcdir=
 
 for arg in $*;
 do
@@ -77,9 +77,9 @@ do
 	-host=* | +host=* | +hos=* | +ho=* | +h=*)
 		host=`echo $arg | sed 's/[+-]h[a-z]*=//'`
 		;; 
-	-languages=* | +languages=* | -languag=* | +languag=* | langua=* \
-		| +langua=* | -langu=* | +langu=* | -lang=* | +lang=* | -lan=* \
-		| +lan=* | -la=* | +la=* | -l=* | +l=*)
+	-languages=* | +languages=* | +language=* | +languag=* \
+		| +langua=* | +langu=* | +lang=* | +lan=* | +la=* \
+		| +l=*)
 		languages="$languages `echo $arg | sed 's/[+-]l[a-z]*=//'`"
 		;;
 	-gas | +gas | +ga | +g)
@@ -97,10 +97,10 @@ do
 done
 
 # process host and target only if not rebuilding configure itself.
-if [ -z "$template" ]
+if [ -z "$template" -a -z "$removing" ]
 then
 	# Complain if an arg is missing
-	if [ x$target = x ]
+	if [ -z "$target" ]
 	then
 		echo "Usage: $progname [+srcdir=DIR] [+host=HOST] [+gas] [+nfp] TARGET"
 		echo -n "Where HOST and TARGET are something like "
@@ -113,478 +113,23 @@ then
 	fi
 
 	# Default other arg
-	if [ x$host = x ]
+	if [ -z "$host" ]
 	then
 		host=$target
 	fi
 
-	# 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 $host $target; do
-
-		# Separate what the user gave into CPU/company and OS (if any).
-		basic_machine=`echo $machine | sed 's/-[^-]*$//'`
-		if [ $basic_machine != $machine ]
-		then os=`echo $machine | sed 's/[^-]*-/-/'`
-		else os=; fi
-
-		# Decode aliases for certain machine/company combinations.
-		case $basic_machine in
-			iris | iris4d)
-				basic_machine=mips/sgi
-				;;
-			news | news800)
-				basic_machine=m68k/sony
-				;;
-			3b1 | 7300 | 7300/att | att-7300)
-				basic_machine=m68k/att
-				;;
-			delta | 3300 | motorola-3300 | motorola-delta \
-			      | 3300/motorola | delta/motorola)
-				basic_machine=m68k/motorola
-				;;
-			vax/dec)
-				basic_machine=vax
-				;;
-			balance)
-				basic_machine=ns32k/sequent
-				;;
-			symmetry)
-				basic_machine=i386/sequent
-				;;
-			sun2)
-				basic_machine=m68000/sun
-				;;
-			sun3)
-				basic_machine=m68k/sun
-				;;
-			sun4)
-				basic_machine=sparc/sun
-				;;
-			sun386 | sun386i)
-				basic_machine=i386/sun
-				;;
-			ps2)
-				basic_machine=i386/ibm
-				;;
-			next)
-				basic_machine=m68k/next
-				;;
-			hp9k3[2-9][0-9])
-				basic_machine=m68k/hp
-				;;
-			hp9k31[0-9] | hp9k2[0-9][0-9])
-				basic_machine=m68000/hp
-				;;
-			isi68)
-				basic_machine=m68k/isi
-				;;
-			apollo68)
-				basic_machine=m68k/apollo
-				;;
-			altos | altos3068)
-				basic_machine=m68k/altos
-				;;
-			miniframe)
-				basic_machine=m68000/convergent
-				;;
-			tower | tower-32)
-				basic_machine=m68k/ncr
-				;;
-			news-3600 | risc-news)
-				basic_machine=mips/sony
-				;;
-			decstation | decstation-3100 | pmax)
-				basic_machine=mips/dec
-				;;
-			gmicro)
-				basic_machine=tron
-				;;
-			convex-c1)
-				basic_machine=c1/convex
-				;;
-			convex-c2)
-				basic_machine=c2/convex
-				;;
-		esac
-
-		# Decode manufacturer-specific aliases for certain operating systems.
-
-		case $os in
-			-newsos*)
-				os=-bsd
-				;;
-			-ultrix*)
-				os=-bsd
-				;;
-			-dynix*)
-				os=-bsd
-				;;
-			-ctix*)
-				os=-sysv
-				;;
-		esac
-
-		machine=$basic_machine$os
-
-		cpu_type=
-		xm_file=
-		tm_file=
-		make_var_file=
-
-		case $machine in
-		vax | vax-bsd*)			# vaxen running BSD
-			;;
-		vax-vms | vms)			# vaxen running VMS
-			cpu_type=vax
-			xm_file=xm-vms.h
-			tm_file=tm-vms.h
-			;;
-		vax-sysv* | vaxv)		# vaxen running system V
-			cpu_type=vax
-			xm_file=xm-vaxv.h
-			tm_file=tm-vaxv.h
-			;;
-		tahoe | tahoe-bsd*)		# tahoe running BSD
-			;;
-		tahoe/harris*)			# Harris tahoe, using COFF.
-			cpu_type=tahoe
-			;;
-		i386/sequent* | i386/sequent-bsd*)  # 80386 from Sequent
-			cpu_type=i386
-			xm_file=xm-i386.h
-			tm_file=tm-seq386.h
-			;;
-		i386-mach | i386/*-mach)
-			cpu_type=i386
-			xm_file=xm-i386.h
-			tm_file=tm-i386gas.h
-			;;
-		i386/sco | i386/sco-sysv* | i386/*-sco) # 80386 running SCO system
-			cpu_type=i386
-			xm_file=xm-i386v.h
-			tm_file=tm-i386sco.h
-			make_var_file=make-i386sco
-			;;
-		i386/isc | i386/isc-sysv* | i386/*-isc)	# 80386 running ISC system
-			cpu_type=i386
-			xm_file=xm-i386v.h
-			tm_file=tm-i386isc.h
-			make_var_file=make-i386isc
-			;;
-		i386/ibm | i386-aix | i386/ibm-aix)	# IBM PS/2 running AIX
-			cpu_type=i386
-			tm_file=tm-i386v.h
-			xm_file=xm-i386v.h
-			make_var_file=make-i386v
-			;;
-		i386/sun*)
-			cpu_type=i386
-			xm_file=xm-sun386i.h
-			tm_file=tm-sun386i.h
-			;;
-		i386-sysv4 | i386/*-sysv4 | i386v4)  # Intel 80386's running system V.4
-			cpu_type=i386
-			xm_file=xm-i386v.h
-			make_var_file=make-i386v
-			tm_file=tm-i386v4.h
-			;;
-		i386-sysv* | i386/*-sysv* | i386v)  # Intel 80386's running system V
-			cpu_type=i386
-			xm_file=xm-i386v.h
-			make_var_file=make-i386v
-			if [ x$gas = xyes ]
-			then
-				tm_file=tm-i386gas.h
-			else
-				tm_file=tm-i386v.h
-			fi
-			;;
-		i860 | i860-sysv* | i860/*-sysv*)
-			cpu_type=i860
-			if [ x$gas = xyes ]
-			then
-				tm_file=tm-i860g.h
-			else
-				tm_file=tm-i860.h
-			fi
-			;;
-		i860-bsd* | i860/*-bsd*)
-			cpu_type=i860
-			if [ x$gas = xyes ]
-			then
-				tm_file=tm-i860bsdg.h
-			else
-				tm_file=tm-i860bsd.h
-			fi
-			;;
-		sparc | sparc/* | sparc-*os4 | sparc/*-*os4)
-			cpu_type=sparc
-			tm_file=tm-sparc.h
-			;;
-		sparc-*os3 | sparc/*-*os3)
-			cpu_type=sparc
-			tm_file=tm-sun4os3.h
-			;;
-		m68k/next)
-			cpu_type=m68k
-			tm_file=tm-next.h
-			out_file=out-next.c
-			xm_file=xm-next.h
-			;;
-		m68k/sun-*os3)
-			cpu_type=m68k
-			if [ x$nfp = xyes ]
-			then
-				tm_file=tm-sun3os3nf.h
-			else
-				tm_file=tm-sun3os3.h
-			fi
-			;;
-		m68k/sun-mach)
-			cpu_type=m68k
-			tm_file=tm-sun3mach.h
-			;;
-		m68k/sun | m68k/sun-*os4)
-			cpu_type=m68k
-			if [ x$nfp = xyes ]
-			then
-				tm_file=tm-sun3nfp.h
-			else
-				tm_file=tm-sun3.h
-			fi
-			;;
-		m68k/hp | m68k/hp-hpux*)	# HP 9000 series 300
-			cpu_type=m68k
-			xm_file=xm-hp9k320.h
-			if [ x$gas = xyes ]
-			then
-				make_var_file=make-hp9k320g
-				tm_file=tm-hp9k320g.h
-			else
-				make_var_file=make-hp9k320
-				tm_file=tm-hp9k320.h
-			fi
-			;;
-		m68k/hp-bsd*)			# HP 9000/3xx running Berkeley Unix
-			cpu_type=m68k
-			tm_file=tm-hp9k3bsd.h
-			;;
-		m68k/isi | m68k/isi-bsd*)
-			cpu_type=m68k
-			if [ x$nfp = xyes ]
-			then
-				tm_file=tm-isi68-nfp.h
-			else
-				tm_file=tm-isi68.h
-			fi
-			;;
-		m68k/sony | m68k/sony-bsd*)
-			xm_file=xm-m68k.h
-			cpu_type=m68k
-			if [ x$gas = xyes ]
-			then
-				tm_file=tm-newsgas.h
-			else
-				tm_file=tm-news.h
-			fi
-			;;
-		m68k/altos | m68k/altos-sysv*)		   # Altos 3068
-			cpu_type=m68k
-			if [ x$gas = xyes ]
-			then
-				xm_file=xm-altos3068.h
-				tm_file=tm-altos3068.h
-			else
-				echo "The Altos is supported only with the GNU assembler" 1>&2
-				exit 1
-			fi
-			;;
-		m68k/motorola | m68k/motorola-sysv*)
-			cpu_type=m68k
-			tm_file=tm-mot3300.h
-			xm_file=xm-mot3300.h
-			;;
-		m68k/crds | m68k/crds-unos | m68k-unos | crds | unos)
-			cpu_type=m68k
-			xm_file=xm-crds.h
-			make_var_file=make-crds
-			tm_file=tm-crds.h
-			;;
-		m68k/apollo)
-			cpu_type=m68k
-			make_var_file=make-apollo68
-			tm_file=tm-apollo68.h
-			;;
-		m68k/ncr | m68k/ncr-sysv*)	# NCR Tower 32 SVR3
-			cpu_type=m68k
-			tm_file=tm-tower-as.h
-			xm_file=xm-tower.h
-			;;
-		m68000/sun | m68000/sun-*os3)
-			cpu_type=m68k
-			tm_file=tm-sun2.h
-			;;
-		m68000/sun-*os4)
-			cpu_type=m68k
-			tm_file=tm-sun2os4.h
-			;;
-		m68000/hp | m68000/hp-hpux*)	# HP 9000 series 300
-			cpu_type=m68k
-			xm_file=xm-hp9k310.h
-			if [ x$gas = xyes ]
-			then
-				make_var_file=make-hp9k320g
-				tm_file=tm-hp9k310g.h
-			else
-				make_var_file=make-hp9k320
-				tm_file=tm-hp9k310.h
-			fi
-			;;
-		m68000/hp-bsd*)			# HP 9000/200 running BSD
-			cpu_type=m68k
-			tm_file=tm-hp9k2bsd.h
-			make_var_file=make-hp9k2bsd
-			;;
-		m68000/att | m68000/att-sysv*)
-			cpu_type=m68k
-			xm_file=xm-3b1.h
-			if [ x$gas = xyes ]
-			then
-				tm_file=tm-3b1g.h
-			else
-				tm_file=tm-3b1.h
-			fi
-			;;
-		m68000/convergent | m68000/convergent-sysv*)
-			cpu_type=m68k
-			xm_file=xm-3b1.h
-			tm_file=tm-ctix.h
-			;;
-		ns32k/sequent | ns32k/sequent-bsd*)
-			cpu_type=ns32k
-			tm_file=tm-sequent.h
-			;;
-		ns32k/encore | ns32k/encore-bsd* | encore | encore-bsd*)
-			cpu_type=ns32k
-			tm_file=tm-encore.h
-			;;
-		ns32k-genix* | ns32k/*-genix* | genix)
-			cpu_type=ns32k
-			xm_file=xm-genix.h
-			make_var_file=make-genix
-			tm_file=tm-genix.h
-			;;
-		merlin)
-			cpu_type=ns32k
-			;;
-		m88k/dg | m88k/dg-dgux* | m88k-dgux*)
-			cpu_type=m88k
-			xm_file=xm-m88kdgux.h
-			make_var_file=make-m88kdgux
-			tm_file=tm-m88kdgux.h
-			;;
-		m88k-v88r32 | m88k/*-v88r32)
-			cpu_type=m88k
-			tm_file=tm-v88r32.h
-			xm_file=xm-v88r32.h
-			;;
-		m88k-sysv* | m88k/*-sysv*)
-			cpu_type=m88k
-			tm_file=tm-m88ksvr4.h
-			xm_file=xm-m88ksvr4.h
-			;;
-		alliant | alliant/alliant)	# Alliant FX/8
-			cpu_type=alliant
-			tm_file=tm-alliant.h
-			;;
-		c1/convex)			# Convex C1
-			if [ -r /usr/include/stdlib.h ]
-			then
-				tm_file=tm-convex1.h
-			else
-				tm_file=tm-conv1os7.h
-			fi
-			cpu_type=convex
-			;;
-		c2/convex)			# Convex C2
-			if [ -r /usr/include/stdlib.h ]
-			then
-				tm_file=tm-convex2.h
-			else
-				tm_file=tm-conv2os7.h
-			fi
-			cpu_type=convex
-			;;
-		mips/sgi | mips/sgi-sysv*)	# Mostly like a MIPS.
-			cpu_type=mips
-			tm_file=tm-iris.h
-			xm_file=xm-iris.h
-			;;
-		mips | mips/mips)		# Default MIPS environment.
-			;;
-		mips/dec | mips/dec-bsd*)	# Decstation.
-			cpu_type=mips
-			tm_file=tm-decstatn.h
-			;;
-		mips/sony | mips/sony-bsd*)	# Sony NEWS 3600 or risc/news.
-			cpu_type=mips
-			tm_file=tm-mips-news.h
-			;;
-		mips/*-sysv* | mips-sysv*)	# SYSV variant of MIPS system.
-			cpu_type=mips
-			tm_file=tm-mips-sysv.h
-			;;
-		mips/*-bsd* | mips-bsd*)	# BSD 4.3 variant of MIPS system.
-			cpu_type=mips
-			tm_file=tm-mips-bsd.h
-			;;
-		pyramid | pyramid/* | pyramid-*)
-			cpu_type=pyr
-			tm_file=tm-pyr.h
-			;;
-		tron | tron/*)
-			cpu_type=gmicro
-			tm_file=tm_gmicro.h
-			;;
-		a29k-bsd* | a29k/*-bsd*)
-			cpu_type=a29k
-			tm_file=tm-a29kunix.h
-			;;
-		i960)				# Default i960 environment.
-			;;
-	#	370)
-	#		;;
-		esac
-		if [ x$pass1done = x ]
-		then
-			if [ x$cpu_type = x ]; then cpu_type=$host; fi
-			if [ x$xm_file = x ]; then host_xm_file=xm-$cpu_type.h
-			else host_xm_file=$xm_file
-			fi
-			if [ x$make_var_file = x ]
-			then make_var_file=make-$cpu_type; fi
-			host_make_var_file=$make_var_file
-			pass1done=yes
-		fi
-	done
-
-	# Default the machine-specific variables that were not explicitly set.
-	if [ x$cpu_type = x ]
-	then cpu_type=$target; fi
-
-	if [ x$tm_file = x ]
-	then tm_file=tm-$target.h; fi
-
-	md_file=${cpu_type}.md
-
-	if [ x$out_file = x ]
-	then out_file=out-$cpu_type.c; fi
 fi
 
-#### configure.in files go here.
+#### configure.in files come in here.
+# This file is a shell script that supplies the information necessary
+# to tailor a template configure script into the configure script
+# appropriate for this directory.  For more information, check any
+# existing configure script.
+
+srctrigger=libbfd.c
+srcname="bfd"
+files=
+links=
 ### end of configure.in
 
 # are we rebuilding config itself?
@@ -598,8 +143,8 @@ then
 
 	mv configure configure.old
 	echo "#!/bin/sh" > configure
-	echo "# Do not edit this file.  It is generated automatically from configure.in" >> configure
-	echo "# and a configure template." >> configure
+	echo "# Please do not edit this file.  It is generated automatically from" >> configure
+	echo "# configure.in and a configure template." >> configure
 	echo "configdirs=" >> configure
 	echo >> configure
 
@@ -612,7 +157,6 @@ then
 
 	chmod a+x configure
 	rm configure.old
-#	echo Rebuilt configure in `pwd` from ${template}.
 	echo Rebuilt configure in `pwd`
 
 	if [ x$norecurse = x ]
@@ -651,44 +195,45 @@ targetsubdir=Target-$target
 
 if [ -n "$removing" ]
 then
-	rm -rf $hostsubdir/$targetsubdir
+#	rm -rf $hostsubdir/$targetsubdir
+#
+#	if [ -z "`(ls $hostsubdir) 2>&1 | grep Target-`" ]
+#	then
+#		rm -rf $hostsubdir
+#	fi
+
+	rm -f .gdbinit Makefile config.status $links
 
-	if [ -z "`(ls $hostsubdir) 2>&1 | grep Target-`" ]
-	then
-		rm -rf $hostsubdir
-	fi
 else
-	if [ ! -d $hostsubdir ] ; then mkdir $hostsubdir ; fi
-	cd $hostsubdir
-
-	if [ ! -d $targetsubdir ] ; then mkdir $targetsubdir ; fi
-	cd $targetsubdir
-
-	srcdir=../..
-
-	## Find the source files, if location was not specified.
-	#if [ x$srcdir = x ]
-	#then
-	#	srcdirdefaulted=1
-	#	srcdir=.
-	#	if [ ! -r ${srctrigger} ]
-	#	then
-	#		srcdir=..
-	#	fi
-	#fi
-	#
-	#if [ ! -r ${srcdir}/${srctrigger} ]
-	#then
-	#	if [ x$srcdirdefaulted = x ]
-	#	then
-	#	  echo "$progname: Can't find ${srcname} sources in \`${srcdir}'." 1>&2
-	#	else
-	#	  echo "$progname: Can't find ${srcname} sources in \`.' or \`..'." 1>&2
-	#	fi
-	#	exit 1
-	#fi
-
+#	if [ ! -d $hostsubdir ] ; then mkdir $hostsubdir ; fi
+#	cd $hostsubdir
+#
+#	if [ ! -d $targetsubdir ] ; then mkdir $targetsubdir ; fi
+#	cd $targetsubdir
+#
+#	srcdir=../..
 
+	# Find the source files, if location was not specified.
+	if [ x$srcdir = x ]
+	then
+		srcdirdefaulted=1
+		srcdir=.
+		if [ ! -r ${srctrigger} ]
+		then
+			srcdir=..
+		fi
+	fi
+	
+	if [ ! -r ${srcdir}/${srctrigger} ]
+	then
+		if [ -z "$srcdirdefaulted" ]
+		then
+		  echo "$progname: Can't find ${srcname} sources in \`${srcdir}'." 1>&2
+		else
+		  echo "$progname: Can't find ${srcname} sources in \`.' or \`..'." 1>&2
+		fi
+		exit 1
+	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.
@@ -700,24 +245,24 @@ else
 		set $files; file=$1; shift; files=$*
 		set $links; link=$1; shift; links=$*
 
-		if [ ! -r ${srcdir}/config/$file ]
+		if [ ! -r ${srcdir}/${file} ]
 		then
-			echo "$progname: cannot create a link \`$link'," 1>&2
-			echo "since the file \`config/$file' does not exist." 1>&2
+			echo "$progname: cannot create a link \"${link}\"," 1>&2
+			echo "since the file \"$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
+		$symbolic_link ${srcdir}/$file $link 2>/dev/null || $hard_link ${srcdir}/$file $link
 
 		if [ ! -r $link ]
 		then
-			echo "$progname: unable to link \`$link' to \`${srcdir}/config/$file'." 1>&2
+			echo "$progname: unable to link \"$link\" to \"${srcdir}/$file\"." 1>&2
 			exit 1
 		fi
-		echo "Linked \`$link' to \`${srcdir}/config/$file'."
+		echo "Linked \"$link\" to \"${srcdir}/${file}\"."
 	done
 
 	# Install a makefile, and make it set VPATH
@@ -811,10 +356,12 @@ else
 	if [ x$host = x$target ]
 	then
 		echo "Links are now set up for use with a $target." \
-			| tee ${srcdir}/config.status
+			> config.status
+#			| tee ${srcdir}/config.status
 	else
 		echo "Links are now set up for host $host and target $target." \
-			| tee ${srcdir}/config.status
+			> config.status
+#			| tee ${srcdir}/config.status
 	fi
 
 	cd ${srcdir}
@@ -822,7 +369,7 @@ fi
 
 # If there are subdirectories, then recurse. 
 
-if [ x$norecurse != x ] ; then exit 0 ; fi
+if [ -n "$norecurse" ] ; then exit 0 ; fi
 
 while [ -n "$configdirs" ]
 do
@@ -837,9 +384,24 @@ do
 	fi
 
 	echo Configuring ${configdir}...
+#	(cd ${configdir} ;
+#		configure +host=${host} ${target} ${removing}) \
+#		| sed 's/^/	/'
+
 	(cd ${configdir} ;
-		configure +host=${host} ${target} ${removing}) \
+		./configure +host=${host} ${target} ${removing}) \
 		| sed 's/^/	/'
 done
 
 exit 0
+
+#
+# $Log$
+# Revision 1.2  1991/04/09 23:20:12  rich
+# First minimally usable checkin.
+#
+#
+#
+
+
+# end of configure.template