diff --git a/ChangeLog b/ChangeLog
index d897d1355..080ed2d2d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,19 @@
+2000-07-20  Jason Merrill  <jason@redhat.com>
+
+	* configure.in: Remove all references to libg++ and librx.
+
+	* configure, configure.in, Makefile.in: Unify gcc and binutils.
+
 2000-07-20  Hans-Peter Nilsson  <hp@axis.com>
 
 	* config.sub: Update to subversions version 2000-07-06.
 
-2000-07-07 Phil Edwards  <pme@sourceware.cygnus.com>
+2000-07-12  Andrew Haley  <aph@cygnus.com>
+
+	* configure.in (host_makefile_frag): Use mh-ia64pic on IA-64 hosts.
+	(target_makefile_frag): Use mt-ia64pic on IA-64 targets.
+
+2000-07-07  Phil Edwards  <pme@sourceware.cygnus.com>
 
 	* symlink-tree:  Check number of arguments.
 
@@ -10,6 +21,13 @@ Thu Jul  6 15:36:55 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
 	* texinfo/texinfo.tex: Update to version 2000-05-28.15.
 
+2000-07-05  Jim Wilson  <wilson@cygnus.com>
+
+	* Makefile.in (CXX_FOR_TARGET): Add libstdc++ to the library
+	search path for a g++ extracted from the build tree.  This
+	will allow link tests run by configure scripts in
+	subdirectories to succeed.
+
 2000-07-01  Koundinya K  <kk@ddeorg.soft.net>
 
         * ltconfig: Add support for mips-dde-sysv4.2MP
@@ -40,8 +58,6 @@ Tue May 30 19:01:12 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
 20000-05-21  H.J. Lu  (hjl@gnu.org)
 
-	* configure: Revert changes made on May 18 and May 19.
-
         * Makefile.in (CC_FOR_TARGET): Make sure as/ld in the gcc
         directory are used if they exist. Make sure
         $(build_tooldir)/include is searched for header files,
@@ -49,29 +65,20 @@ Tue May 30 19:01:12 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 	(GCC_FOR_TARGET): Likewise.
         (CXX_FOR_TARGET): Likewise.
 
-20000-05-19  H.J. Lu  (hjl@gnu.org)
-
-	* configure: Provide --disable-target-dir-sanity-checking to
-	disable the gcc directory checking for cross compiling.
-
-20000-05-18  H.J. Lu  (hjl@gnu.org)
-
-	* configure: Ask to create the gcc directory for cross
-	compiling if necessary.
-
 Thu May 18 10:58:13 2000  Jeffrey A Law  (law@cygnus.com)
 
 	* configure.in (hppa*64*-*-*): Do build ld for this configuration.
 
-2000-05-18  David Edelsohn  <edelsohn@gnu.org>
-
-	* configure.in: Special case powerpc*-*-aix* target_makefile_frag.
-
 Wed May 17 16:03:48 2000  Alexandre Oliva  <aoliva@cygnus.com>
 
 	* Makefile.in (configure-target-libiberty): Depend on
 	configure-target-newlib.
 
+2000-05-16  Alexandre Oliva  <aoliva@cygnus.com>
+
+	* configure.in, Makefile.in: Merge all libffi-related
+	configury stuff from the libgcj tree.
+
 Tue May 16 10:06:21 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
 	Thu Apr 27 11:01:48 2000 Andrew Cagney <cagney@b1.cygnus.com>:
@@ -84,6 +91,10 @@ Tue May 16 09:57:35 2000  Andrew Cagney  <cagney@b1.cygnus.com>
  	current version information.  Add to proto-toplev directory.
 	(gdb-taz): Build do-djunpack.
 
+2000-05-15  David Edelsohn  <edelsohn@gnu.org>
+
+	* configure.in: Special case powerpc*-*-aix* target_makefile_frag.
+
 2000-05-13 Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
 	* ltmain.sh: Preserve in relink_command any environment
@@ -102,14 +113,14 @@ Wed May 10 21:26:51 2000  Jim Wilson  <wilson@cygnus.com>
 	* djunpack.bat: Change the Sed script to replace @V@ in fnchange.lst
         with the version name.
 
+2000-05-01  Benjamin Kosnik  <bkoz@cygnus.com>
+
+	* config.if: Tweak.
+
 2000-04-23  Eli Zaretskii  <eliz@is.elta.co.il>
 
 	* djunpack.bat: New file.
 
-2000-04-21  Michael Meissner  <meissner@redhat.com>
-
-	* config.sub (d30v): Add d30v as a basic machine type.
-
 Wed Apr 19 12:46:26 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
 	* Makefile.in (taz, gdb-taz, gas.tar.bz2, binutils.tar.bz2,
@@ -117,6 +128,11 @@ Wed Apr 19 12:46:26 2000  Andrew Cagney  <cagney@b1.cygnus.com>
  	dejagnu.tar.bz2, gdb+dejagnu.tar.bz2, insight.tar.bz2,
  	insight+dejagnu.tar.bz2, newlib.tar.bz2): Pass MD5PROG to sub-make.
 
+2000-04-16  Dave Pitts  <dpitts@cozx.com>
+
+        * config.sub (case $basic_machine): Change default for "ibm-*"
+        to "openedition".
+
 Wed Apr 12 16:42:48 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
 	* Makefile.in (gdb-taz): New target.  GDB specific archive.
@@ -135,24 +151,23 @@ Fri Apr  7 18:10:29 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
 	* configure (warn_cflags): Delete.
 
-2000-03-30  Christopher Faylor  <cgf@cygnus.com>
+2000-04-05  Benjamin Kosnik  <bkoz@cygnus.com>
+            Martin v. Loewis  <martin@loewis.home.cs.tu-berlin.de>
 
-	* Makefile.in (CC_FOR_TARGET): Add new winsup directory
-	structure stuff to -L library search.
-	(CXX_FOR_TARGET): Ditto.
+        * configure.in (enable_libstdcxx_v3): Add.
+        (target_libs): Add bits here to switch between libstdc++-v2 and
+        libstdc++-v3.
+        * config.if: And this file too.
+        * Makefile.in: Add libstdc++-v3 targets.
+	
+2000-04-05  Michael Meissner  <meissner@redhat.com>
+
+	* config.sub (d30v): Add d30v as a basic machine type.
 
 2000-03-29  Jason Merrill  <jason@casey.cygnus.com>
 
 	* configure.in: -linux-gnu*, not -linux-gnu.
 
-2000-03-10  H.J. Lu  <hjl@gnu.org>
-
-	* Makefile.in (all-gcc): Backed out the last change.
-
-2000-03-10  H.J. Lu  <hjl@gnu.org>
-
-	* Makefile.in (all-gcc): Run ld/ld-new if necessary.
-
 Fri Mar  3 18:44:08 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
 	* Makefile.in (taz): Set PACKAGE to TOOL when not defined.
@@ -197,11 +212,68 @@ Thu Feb 24 16:15:56 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 	* configure (gcc_version): When setting, narrow search to
 	lines containing `version_string'.
 
+2000-02-15  Denis Chertykov  <denisc@overta.ru>
+
+	* config.sub: Add support for avr target.
+
+Tue Feb  1 00:07:46 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* config.sub: Add mmix-knuth-mmixware.
+
+2000-01-27  Christopher Faylor <cgf@redhat.com>
+
+	* Makefile.in (CC_FOR_TARGET): Add new winsup directory
+	structure stuff to -L library search.
+	(CXX_FOR_TARGET): Ditto.
+	(CROSS_CHECK_MODULES): Fix spelling mistake.
+
+2000-01-24  Mark Mitchell  <mark@codesourcery.com>
+
+	* Makefile.in (CXX_FOR_TARGET): Use g++, not xgcc, to invoke
+	the C++ compiler.
+
+2000-01-12  Richard Henderson  <rth@cygnus.com>
+
+	* configure.in: Don't build some bits for beos.
+
+2000-01-12  Joel Sherrill (joel@OARcorp.com)
+
+	* Makefile.in (CC_FOR_TARGET): Use newlib libraries as well
+	as include files.
+
 2000-01-06  Geoff Keating  <geoffk@cygnus.com>
 
 	* configure.in: Use mt-aix43 to handle *_TARGET defs,
 	not mh-aix43.
 
+1999-12-14  Richard Henderson  <rth@cygnus.com>
+
+	* config.guess (alpha-osf, alpha-linux): Detect ev67.
+	* config.sub: Accept alphaev[78], alphaev8.
+
+1999-12-03  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* config.guess, config.sub: Update from autoconf.
+
+Tue Nov 23 00:57:41 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+	* config-ml.in (sparc*-*-*): Disable sparcv9 support if the
+	necessary libraries are missing.
+
+1999-10-25  Andreas Schwab  <schwab@suse.de>
+
+	* configure: Fix quoting inside arguments of eval.
+
+1999-10-21  Nick Clifton  <nickc@cygnus.com>
+
+	* config-ml.in: Allow suppression of some ARM multilibs.
+
+Tue Sep  7 23:33:57 1999  Linas Vepstas  <linas@linas.org>
+
+	* config.guess: Add OS/390 match pattern.
+	* config.sub: Add mvs, openedition targets.
+	* configure.in (i370-ibm-opened*): New.
+
 1999-09-04  Steve Chamberlain  <sac@pobox.com>
 
 	* config.sub: Add support for configuring for pj.
@@ -210,11 +282,16 @@ Thu Feb 24 16:15:56 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 
 	* config.sub (maybe_os): Add support for configuring for fr30.
 
-1999-08-27  Nick Clifton  <nickc@cygnus.com>
+1999-08-25  Nick Clifton  <nickc@cygnus.com>
 
 	* configure.in: Do not configure or build ld for AIX
 	platforms.  ld is known to be broken on these platforms.
 
+Wed Aug 25 01:12:25 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+	* config-ml.in: Pass compiler flag corresponding to multidirs to
+	subdir configures.
+
 1999-08-09  Ian Lance Taylor  <ian@zembu.com>
 
 	* Makefile.in (LDFLAGS): Define.
@@ -235,11 +312,52 @@ Thu Feb 24 16:15:56 2000  Andrew Cagney  <cagney@b1.cygnus.com>
 	* configure (tmpfile): Change cONf$$ to cNf$$ to avoid an overly
 	long file name when using DJGPP on MS-DOS.
 
+Wed Aug  4 02:07:14 1999  Jeffrey A Law  (law@cygnus.com)
+
+	* config.sub (vxworks case): Use os=-vxworks, not os=vxworks.
+
 1999-07-30  Alan Modra  <alan@spri.levels.unisa.edu.au>
 
 	* Makefile.in (check-target-libio): Remove all-target-libstdc++
 	dependency as this causes "make check" to globally "make all"
 
+Tue Jun 22 23:45:18 1999  Tom Tromey  <tromey@cygnus.com>
+
+	* configure.in (target_libs): Added target-zlib.
+	* Makefile.in (ALL_TARGET_MODULES): Added zlib.
+	(CONFIGURE_TARGET_MODULES): Likewise.
+	(CHECK_TARGET_MODULES): Likewise.
+	(INSTALL_TARGET_MODULES): Likewise.
+	(CLEAN_TARGET_MODULES): Likewise.
+	(configure-target-zlib): New target.
+	(all-target-zlib): Likewise.
+	(all-target-libjava): Depend on all-target-zlib.
+	(configure-target-libjava): Depend on configure-target-zlib.
+
+	* Makefile.in (configure-target-libjava): Depend on
+	configure-target-newlib.
+	(configure-target-boehm-gc): New target.
+	(configure-target-qthreads): New target.
+
+        * configure.in (target_libs): Added target-qthreads.
+        * Makefile.in (ALL_TARGET_MODULES): Added qthreads.
+        (CONFIGURE_TARGET_MODULES): Likewise.
+        (CHECK_TARGET_MODULES): Likewise.
+        (INSTALL_TARGET_MODULES): Likewise.
+        (CLEAN_TARGET_MODULES): Likewise.
+        (all-target-qthreads): New target.
+        (configure-target-libjava): Depend on configure-target-qthreads.
+        (all-target-libjava): Depend on all-target-qthreads.
+
+	* Makefile.in (ALL_TARGET_MODULES): Added libjava, boehm-gc.
+	(CONFIGURE_TARGET_MODULES): Likewise.
+	(CHECK_TARGET_MODULES): Likewise.
+	(INSTALL_TARGET_MODULES): Likewise.
+	(CLEAN_TARGET_MODULES): Likewise.
+	(all-target-libjava): New target.
+	(all-target-boehm-gc): Likewise.
+	* configure.in (target_libs): Added libjava, boehm-gc.
+
 1999-07-22  Ian Lance Taylor  <ian@zembu.com>
 
 	* Makefile.in (binutils.tar.bz2): Don't pass makeall.bat and
@@ -281,9 +399,26 @@ Sun May 30 16:03:16 1999  Cort Dougan  <cort@cs.nmt.edu>
 
 	* config.guess (ppc-*-linux-gnu): Also use ld emul elf32ppclinux.
 
+Tue May 25 11:20:46 1999  H.J. Lu  (hjl@gnu.org)
+
+	* config.guess (dummy): Changed to $dummy.
+
 1999-05-24  Nick Clifton  <nickc@cygnus.com>
 
-	* config.sub: Updated to match latest EGCS version.
+	* config.sub: Tidied up case statements.
+
+1999-05-22  Ben Elliston  <bje@cygnus.com>
+
+	* config.guess: Handle NEC UX/4800. Contributed by Jiro Takabatake
+	<jiro@din.or.jp>.
+
+	* config.guess: Merge with FSF version. Future changes will be
+	more accurately recorded in this ChangeLog.
+	* config.sub: Likewise.
+
+Thu May 20 10:00:42 1999   Stephen L Moshier  <moshier@world.std.com>
+
+	 * Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
 
 1999-04-30  Tom Tromey  <tromey@cygnus.com>
 
@@ -299,11 +434,26 @@ Sun May 30 16:03:16 1999  Cort Dougan  <cort@cs.nmt.edu>
 	(noconfigdirs): Don't build any bsp stuff for for arm-oabi targets.
 	Bad merge removed these two changes.
 
+Tue Apr 13 22:50:54 1999  Donn Terry (donn@interix.com)
+                          Martin Heller (Ing.-Buero_Heller@t-online.de)
+
+	* config.guess (interix Alpha): Add.
+
 1999-04-11  Richard Henderson  <rth@cygnus.com>
 
 	* configure.in (i?86-*-beos*): Do config gperf; don't config
 	gdb, newlib, or libgloss.
 
+Sun Apr 11 23:55:34 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+	
+	* config-ml.in: On mips*-*-*, if multidirs contains mabi=64, try to
+	link a trivial program with -mabi=64.  If it fails, remove mabi=64
+	from multidirs.
+
+Sat Apr 10 21:50:01 1999  Philipp Thomas  (kthomas@gwdg.de)
+
+	* config.sub: Set basic_machine to i586 when target_alias = k6-*.
+
 1999-04-08  Nick Clifton  <nickc@cygnus.com>
 
 	* config.sub: Add support for mcore targets.
@@ -487,17 +637,6 @@ Wed Dec 30 01:13:03 1998  Christopher Faylor <cgf@cygnus.com>
 	* Makefile.in: Add libtermcap target.
 	* config/mt-cygwin: New file.  libtermcap target info.
 
-Tue Dec 15 17:02:58 1998  Bob Manson  <manson@charmed.cygnus.com>
-
-	* configure.in: Add cygmon for x86-coff and x86-elf. Configure
- 	cygmon for all sparclite targets, regardless of object format.
-
-1998-12-15  Mark Salter  <msalter@cygnus.com>
-
-	* configure.in: Added target-bsp for several target architectures.
-
-	* Makefile.in: Added rules for bsp.
-
 Wed Dec 23 00:20:50 1998  Jeffrey A Law  (law@cygnus.com)
 
 	* config.sub: Clean up handling of hppa2.0.
@@ -510,6 +649,17 @@ Thu Dec 17 01:22:30 1998  Jeffrey A Law  (law@cygnus.com)
 
 	* config.sub: Handle hppa2.0.
 
+Tue Dec 15 17:02:58 1998  Bob Manson  <manson@charmed.cygnus.com>
+
+	* configure.in: Add cygmon for x86-coff and x86-elf. Configure
+ 	cygmon for all sparclite targets, regardless of object format.
+
+1998-12-15  Mark Salter  <msalter@cygnus.com>
+
+	* configure.in: Added target-bsp for several target architectures.
+
+	* Makefile.in: Added rules for bsp.
+
 Fri Dec  4 01:34:02 1998  Jeffrey A Law  (law@cygnus.com)
 
 	* config.guess: Improve detection of hppa2.0 processors.
@@ -525,7 +675,6 @@ Fri Dec  4 01:33:05 1998  Niall Smart <nialls@euristix.ie>
 	directory is "unwanted".
 	* Makefile.in ($(CONFIGURE_TARGET_MODULES)): Likewise.
 
-
 Wed Nov 18 18:28:45 1998  Geoffrey Noer  <noer@cygnus.com>
 
 	* ltconfig: import from libtool, after changing libtool to
@@ -573,6 +722,10 @@ Mon Nov  2 15:19:33 1998  Geoffrey Noer  <noer@cygnus.com>
 	cygwin* instead of cygwin32*.
 	* config.sub: Check cygwin* instead of cygwin32*.
 
+Thu Oct 22 10:55:25 1998  Robert Lipe  <robertl@dgii.com>
+
+	* config.guess: Match any version of Unixware7.
+
 1998-10-20  Syd Polk  <spolk@cygnus.com>
 
 	* Makefile.in configure.in: Add the ability to use tcl8.1 and tk8.1
@@ -587,10 +740,30 @@ Wed Oct 14 10:29:06 1998  Jeffrey A Law  (law@cygnus.com)
 
 	* Makefile.in (DEVO_SUPPORT): Add config.if.
 
+Tue Oct 13 15:45:36 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+
+	* configure: Add pattern to replace "build_tooldir"'s
+	definition in the generated Makefile with "tooldir"'s
+	actual value.
+
 Tue Oct 13 09:17:06 1998  Jeffrey A Law  (law@cygnus.com)
 
 	* config.sub: Bring back lost sparcv9.
 
+	* Makefile.in (all-snvavigator): Remove all-flexlm dependency.
+
+Mon Oct 12 12:09:44 1998  Jeffrey A Law  (law@cygnus.com)
+
+	* Makefile.in (CHILL_FOR_TARGET): Mirror recent changes to
+	CC_FOR_TARGET and friends.
+
+Mon Oct 12 12:09:30 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+	
+	* Makefile.in (build_tooldir): New variable, same as tooldir.
+	(CC_FOR_TARGET, GCC_FOR_TARGET, CXX_FOR_TARGET): Add
+	-B$(build_tooldir)/bin/.
+	(BASE_FLAGS_TO_PASS): Pass build_tooldir down.
+
 Wed Sep 30 22:20:50 1998  Robert Lipe  <robertl@dgii.com>
 
 	* config.sub: Add support for i[34567]86-pc-udk.
@@ -602,9 +775,18 @@ Wed Sep 30 19:23:48 1998  Geoffrey Noer  <noer@cygnus.com>
 	tools module
 	* configure.in: ditto
 
+Wed Sep 30 03:00:05 1998  Jeffrey A Law  (law@cygnus.com)
+
+	* Makefile.in (TARGET_CONFIGDIRS): Add libobjc.
+	(ALL_TARGET_MODULES): Add all-target-libobjc.
+	(CONFIGURE_TARGET_MODULES, CHECK_TARGET_MODULES): Similarly.
+	(INSTALL_TARGET_MODULES, CLEAN_TARGET_MODULES): Similarly.
+	(all-target-libchill): Add dependencies.
+	* configure.in (target_libs): Add libchill.
+	
 1998-09-30  Manfred Hollstein  <manfred@s-direktnet.de>
 
-	 * configure.in (target_subdir): Remove duplicate line.
+	* configure.in (target_subdir): Remove duplicate line.
 
 Tue Sep 29 22:45:41 1998  Felix Lee  <flee@cygnus.com>
 
@@ -625,7 +807,6 @@ Mon Sep 28 04:04:27 1998  Jeffrey A Law  (law@cygnus.com)
 
 	* Makefile.in (bootstrap): Pass TARGET_FLAGS_TO_PASS to `make all'.
 
-
 Sun Sep 20 00:13:02 1998  Richard Henderson  <rth@cygnus.com>
 
 	* config.sub: Fix typo in last change.
@@ -694,12 +875,12 @@ Fri Aug 28 12:28:26 1998  Per Bothner  <bothner@cygnus.com>
 
 Thu Aug 13 12:49:29 1998  H.J. Lu  <hjl@gnu.org>
 
-	* Makefile.in (taz): Try "chmod -R og=u ." before 
+	* Makefile.in (taz): Try "chmod -R og=u ." before
 	"chmod og=u `find . -print`".
 
 Fri Jul 31 09:38:33 1998  Catherine Moore  <clm@cygnus.com>
 
-        * configure.in: Add arm-elf and thumb-elf support.
+	* configure.in: Add arm-elf and thumb-elf support.
 
 Mon Jul 27 16:23:58 1998  Doug Evans  <devans@canuck.cygnus.com>
 
@@ -866,11 +1047,11 @@ Tue Jun 23 22:42:32 1998  Mark Alexander  <marka@cygnus.com>
 
 Fri Jun 19 02:36:59 1998  Alexandre Oliva <oliva@dcc.unicamp.br>
 
-	* Makefile.in (local-clean): remove *.log
-	(warning.log): built with warn_summary from build.log
-	(mail-report.log): run test_summary
-	(mail-report-with-warnings.log): run test_summary including
-	warning.log in the report
+	* Makefile.in (local-clean): Remove *.log.
+	(warning.log): Built with warn_summary from build.log.
+	(mail-report.log): Run test_summary.
+	(mail-report-with-warnings.log): Run test_summary including
+	warning.log in the report.
 
 Thu Jun 18 11:26:03 1998  Robert Lipe  <robertl@dgii.com>
 
@@ -912,7 +1093,11 @@ Thu May 28 19:31:13 1998  Ian Lance Taylor  <ian@cygnus.com>
 Sat May 23 23:44:13 1998  Alexandre Oliva <oliva@dcc.unicamp.br>
 
 	* Makefile.in (boostrap2-lean, bootstrap3-lean,
-	bootstrap4-lean): new targets
+	bootstrap4-lean): New targets.
+
+Mon May 11 23:55:56 1998  Jeffrey A Law  (law@cygnus.com)
+
+	* mpw-* Delete.  Not used.
 
 Mon May 11 23:11:34 1998  Jeffrey A Law  (law@cygnus.com)
 
@@ -937,8 +1122,8 @@ Tue May  5 18:02:24 1998  Ian Lance Taylor  <ian@cygnus.com>
 
 1998-04-30  Paul Eggert  <eggert@twinsun.com>
 
-        * Makefile.in (EXTRA_GCC_FLAGS): Remove backslash at end;
-        Solaris `make' causes it to continue to next definition. 
+	* Makefile.in (EXTRA_GCC_FLAGS): Remove backslash at end;
+	Solaris `make' causes it to continue to next definition. 
 
 Tue Apr 28 16:24:24 1998  Jason Molenda  (crash@bugshack.cygnus.com)
 
@@ -954,7 +1139,7 @@ Tue Apr 28 07:42:00 1998  Mark Alexander  <marka@cygnus.com>
 	* config.sub: Recognize sparc86x.
 
 Tue Apr 28 07:35:02 1998  Michael Meissner  <meissner@cygnus.com>
- 
+
 	* configure.in (--enable-target-optspace): Remove debug echo.
 
 Thu Apr 23 21:31:16 1998  Jim Wilson  <wilson@cygnus.com>
@@ -985,7 +1170,6 @@ Tue Apr 21 23:06:54 1998  Tom Tromey  <tromey@cygnus.com>
 	(all-gprof): Likewise.
 	(all-ld): Likewise.
 
-
 1998-04-19  Brendan Kehoe  <brendan@cygnus.com>
 
 	* configure.in (host_tools): Fix typo, lbtool -> libtool.
@@ -1022,7 +1206,11 @@ Mon Apr 13 15:37:24 1998  Ian Lance Taylor  <ian@cygnus.com>
 	* ltconfig: Add cygwin32 support.
 
 	* Makefile.in, configure.in: Add libtool as a native only directory
- 	to configure and build.
+	to configure and build.
+
+Sun Apr 12 20:58:46 1998  Jeffrey A Law  (law@cygnus.com)
+
+	* Makefile.in (INSTALL_MODULES): Remove texinfo.
 
 Wed Apr  8 13:18:56 1998  Philippe De Muyter  <phdm@macqel.be>
 
@@ -1050,6 +1238,11 @@ Thu Mar 26 15:00:11 1998  Keith Seitz  <keiths@onions.cygnus.com>
 
 	* configure: Do not disable building gdbtk for cygwin32 hosts.
 
+Wed Mar 25 10:04:18 1998  Nick Clifton  <nickc@cygnus.com>
+
+	* configure.in: Add thumb-coff target.
+	* config.sub: Add thumb-coff target.
+
 Wed Mar 25 11:49:12 1998  Jason Molenda  (crash@bugshack.cygnus.com)
 
 	* Makefile.in: Revert yesterday's change.
@@ -1057,9 +1250,9 @@ Wed Mar 25 11:49:12 1998  Jason Molenda  (crash@bugshack.cygnus.com)
 
 Tue Mar 24 16:58:29 1998  Jason Molenda  (crash@bugshack.cygnus.com)
 
-	* Makefile.in (TARGET_CONFIGDIRS, ALL_TARGET_MODULES, 
-	CONFIGURE_TARGET_MODULES, CHECK_TARGET_MODULES, 
-	INSTALL_TARGET_MODULES, CLEAN_TARGET_MODULES, all-target-winsup): 
+	* Makefile.in (TARGET_CONFIGDIRS, ALL_TARGET_MODULES,
+	CONFIGURE_TARGET_MODULES, CHECK_TARGET_MODULES,
+	INSTALL_TARGET_MODULES, CLEAN_TARGET_MODULES, all-target-winsup):
 	Remove references to librx and libg++.
 
 Tue Mar 24 18:28:12 1998  Eric Mumpower  <nocturne@cygnus.com>
@@ -1097,6 +1290,7 @@ Wed Mar 18 09:24:59 1998  Nick Clifton  <nickc@cygnus.com>
 	* configure.in: Add Thumb-pe target.
 
 Tue Mar 17 16:59:00 1998  Syd Polk <spolk@cygnus.com>
+
 	* Makefile.in - changed sn targets to snavigator
 	* configure.in - changed sn targets to snavigator
 
@@ -1119,7 +1313,6 @@ Fri Mar  6 00:14:55 1998  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
 
 	* configure.in: Revert 3 Jan change for powerpc-linux-gnulibc1.
 
-
 Mon Feb 23 15:09:18 1998  Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de
 
         * config.sub (sco5): Fix typo.
@@ -1134,10 +1327,6 @@ Mon Feb 23 09:53:28 1998  Mark Alexander  <marka@cygnus.com>
 
 	* configure.in: Remove libgloss from noconfigdirs for MN10300.
 
-Fri Feb 20 16:47:24 1998  Tom Tromey  <tromey@cygnus.com>
-
-	* configure: Don't let builds be done in source tree.
-
 Thu Feb 19 13:40:41 1998  Ian Lance Taylor  <ian@cygnus.com>
 
 	* configure.in: Don't build libgui for a cygwin32 target when not on
@@ -1199,11 +1388,20 @@ Mon Feb  2 19:38:19 1998  Ian Lance Taylor  <ian@cygnus.com>
 
 	* config.sub: Add tic30 cases, and map c30 to tic30.
 
+Sun Feb  1 02:40:41 1998  Richard Henderson  <rth@cygnus.com>
+
+	* Makefile.in (TARGET_CONFIGDIRS): Add libf2c.
+	(ALL_TARGET_MODULES, CONFIGURE_TARGET_MODULES): Similarly
+	(CHECK_TARGET_MODULES, INSTALL_TARGET_MODULES): Similarly
+	(CLEAN_TARGET_MODULES): Similarly
+	(all-target-libf2c): Add dependences.
+	* configure.in (target_libs): Add libf2c. 
+
 Fri Jan 30 17:18:32 1998  Geoffrey Noer  <noer@cygnus.com>
 
-        * configure.in: Remove expect from noconfigdirs when target
-        is cygwin32.  OK to build expect and dejagnu with Canadian
-        Cross.
+	* configure.in: Remove expect from noconfigdirs when target
+	is cygwin32.  OK to build expect and dejagnu with Canadian
+	Cross.
 
 Wed Jan 28 12:58:49 1998  Ian Lance Taylor  <ian@cygnus.com>
 
@@ -1236,7 +1434,7 @@ Sat Jan 24 01:59:45 1998  Manfred Hollstein  <manfred@s-direktnet.de>
 	${package_makefile_frag} to where it should be according
 	to the comment.
 
-Fri Jan 23 00:30:21 1998  Philip Blundell  <pb@nexus.co.uk>
+Fri Jan 23 00:29:28 1998  Philip Blundell  <pb@nexus.co.uk>
 
 	* config.guess: Add support for Linux/ARM.
 
@@ -1261,13 +1459,13 @@ Sat Jan 17 21:04:59 1998 H.J. Lu  (hjl@gnu.org)
 
 Fri Jan 16 00:41:37 1998  Alexandre Oliva <oliva@dcc.unicamp.br>
 
-	* configure.in: check whether host and target makefile
-	fragments exist before adding them to *_makefile_frag
+	* configure.in: Check whether host and target makefile
+	fragments exist before adding them to *_makefile_frag.
 
 Wed Jan 14 23:39:10 1998  Bob Manson  <manson@charmed.cygnus.com>
 
 	* configure.in (target_configdirs): Add cygmon for sparc64-elf.
-	
+
 Wed Jan 14 12:48:07 1998  Keith Seitz  <keiths@pizza.cygnus.com>
 
 	* configure.in: Make sure we only replace RPATH_ENVVAR on
@@ -1290,7 +1488,7 @@ Sun Jan  4 01:06:55 1998  Mumit Khan  <khan@xraylith.wisc.edu>
 
 	* config.sub: Add mingw32 support.
 	* configure.in: Likewise.
-	* mh-mingw32: New file.
+	* config/mh-mingw32: New file.
 
 Sat Jan  3 12:11:05 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
 
@@ -1307,17 +1505,20 @@ Wed Dec 24 22:46:55 1997  Jeffrey A Law  (law@cygnus.com)
 	* config.guess: Sync with egcs.  Picks up new alpha support,
 	BeOS & some additional linux support.
 
-Tue Dec 23 12:45:50 1997  Jeffrey A Law  (law@cygnus.com)
+Tue Dec 23 12:44:24 1997  Jeffrey A Law  (law@cygnus.com)
 
 	* config.guess: HP 9000/803 is a PA1.1 machine.
 
+Mon Dec 22 02:39:24 1997  Richard Henderson  <rth@cygnus.com>
+
+	* configure.in: It's alpha*-...
 
 Sun Dec 21 16:53:12 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
 
-        * configure.in (host_makefile_frag, target_makefile_frag):
-        Handle multiple config files.
-        (alpha-*-linux*): Treat alpha-*-linux* as alpha-*-linux* and
-        alpha-*-*.
+	* configure.in (host_makefile_frag, target_makefile_frag):
+	Handle multiple config files.
+	(alpha-*-linux*): Treat alpha-*-linux* as alpha-*-linux* and
+	alpha-*-*.
 
 Thu Dec 18 13:13:03 1997  Doug Evans  <devans@canuck.cygnus.com>
 
@@ -1489,10 +1690,10 @@ Wed Sep 24 15:18:32 1997  Ian Lance Taylor  <ian@cygnus.com>
 
 Thu Sep 18 23:58:27 1997  Jeffrey A Law  (law@cygnus.com)
 
-* Makefile.in (cross): New target.
+	* Makefile.in (cross): New target.
 
 Thu Sep 18 21:43:23 1997  Alexandre Oliva  <oliva@dcc.unicamp.br>
-			  Jeff Law         <law@cygnus.com>
+			  Jeff Law	   <law@cygnus.com>
 
 	* Makefile.in (bootstrap2, bootstrap3): New targets.
 	(all-bootstrap): Remove outdated and confusing target.
@@ -1503,7 +1704,6 @@ Thu Sep 18 15:37:42 1997  Andrew Cagney  <cagney@b1.cygnus.com>
 	* configure (tooldir): enable_gdbtk=YES for cygwin32, NO for
  	windows.  Consistent with gdb/configure.
 
-
 1997-09-15 02:37  Ulrich Drepper  <drepper@cygnus.com>
 
 	* config/mt-linux: Define CXXFLAGS to make sure -fvtable-thunks is
@@ -1522,7 +1722,7 @@ Sun Sep 14 20:53:42 1997  Geoffrey Noer  <noer@cygnus.com>
 	* config/mh-cygwin32: ok to build split texinfo files
 
 Fri Sep 12 16:19:20 1997  Geoffrey Noer  <noer@cygnus.com>
-	
+
 	* configure.in: remove bison from noconfigdirs for Cygwin32 host
 
 Thu Sep 11 16:40:46 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
@@ -1544,6 +1744,10 @@ Mon Sep  8 20:46:20 1997  Ian Lance Taylor  <ian@cygnus.com>
 
 	* config.guess: Merge with FSF.
 
+Sun Sep  7 23:18:32 1997  Fred Fish  <fnf@ninemoons.com>
+
+	* config.sub: Change 'amigados' to 'amigaos' to match current usage.
+
 Sun Sep  7 15:55:28 1997  Gavin Koch  <gavin@cygnus.com>
 
 	* config.sub: Add "marketing-names" patch.
@@ -1556,6 +1760,10 @@ Fri Sep  5 12:27:17 1997  Jeffrey A Law  (law@cygnus.com)
 
 	* config.sub: Handle v850-elf.
 
+Wed Sep  3 22:01:58 1997  Fred Fish  <fnf@ninemoons.com>
+
+	* .cvsignore (*-install): Remove.
+
 Wed Sep  3 12:15:24 1997  Chris Provenzano  <proven@cygnus.com>
 
 	* ltconfig: Set CONFIG_SHELL in libtool.
@@ -1834,7 +2042,7 @@ Thu Jun 12 21:12:28 1997  Bob Manson  <manson@charmed.cygnus.com>
 
 Fri Jun  6 21:38:40 1997  Rob Savoye  <rob@chinadoll.cygnus.com>
 
-	* configure: Use '|' instead of ":" as the seperator in
+	* configure: Use '|' instead of ":" as the separator in
 	sed. Otherwise sed chokes on NT path names with drive
 	designators. Also look for "?:*" as the leading characters in an
 	absolute pathname.
@@ -2386,10 +2594,26 @@ Mon Sep 16 17:00:52 1996  Ian Lance Taylor  <ian@cygnus.com>
 
 	* configure.in: Use a single line for host_tools and native_only.
 
+Tue Sep 16 09:55:07 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+	* Makefile.in (install-itcl): Install tcl first.
+
+Sun Sep 14 20:53:42 1997  Geoffrey Noer  <noer@cygnus.com>
+
+	* config/mh-cygwin32: ok to build split texinfo files
+
+Fri Sep 12 16:19:20 1997  Geoffrey Noer  <noer@cygnus.com>
+
+	* configure.in: remove bison from noconfigdirs for Cygwin32 host
+
 Mon Sep  9 12:21:30 1996  Doug Evans  <dje@canuck.cygnus.com>
 
 	* config.sub, configure.in: Add entries for m32r.
 
+Mon Sep  8 20:46:20 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* config.guess: Merge with FSF.
+
 Thu Sep  5 13:52:47 1996  Tom Tromey  <tromey@creche.cygnus.com>
 
 	* Makefile.in (inet-install): Don't run install-gzip.
@@ -4972,6 +5196,10 @@ Fri Oct  8 14:15:39 1993  Ken Raeburn  (raeburn@cygnus.com)
 	* config.sub: Accept linux*coff and linux*elf as operating
 	systems.
 
+Tue Oct  7 14:24:41 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* ltmain.sh: Handle symlinks in generated script.
+
 Thu Oct  7 12:57:19 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
 	* config.sub: Recognize mips64, and mips3 as an alias for it.
@@ -4993,14 +5221,30 @@ Mon Oct  4 16:15:09 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
 	* configure.in: default to '--with-gnu-as' and '--with-gnu-ld'
 	if gas and ld are in the source tree and are in ${configdirs}.
 	If ${use_gnu_as} or ${use_gnu_ld} are 'no', then don't set the
-	the --with options (but still pass them down on the command line,
+	--with options (but still pass them down on the command line,
 	if they were explicitly specified).
 
+Wed Oct  1 13:11:27 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* configure: Handle autoconf style directory options: --bindir,
+	--datadir, --includedir, --infodir, --libdir, --libexecdir,
+	--mandir, --oldincludedir, --sbindir, --sharedstatedir,
+	--sysconfdir.
+	* Makefile.in (sbindir, libexecdir, sysconfdir): New variables.
+	(sharedstatedir, localstatedir, oldincludedir): New variables.
+	(BASE_FLAGS_TO_PASS): Pass down bindir, datadir, includedir,
+	infodir, libdir, libexecdir, localstatedir, mandir, oldincludedir,
+	sbindir, sharedstatedir, and sysconfdir.
+
 Fri Sep 24 19:11:13 1993  david d `zoo' zuhn  (zoo@rtl.cygnus.com)
 
 	* configure: substitute SHELL value in Makefile.in with
 	${CONFIG_SHELL}
 
+Wed Sep 24 15:18:32 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* ltmain.sh: Tweak shell pattern to avoid bug in NetBSD /bin/sh.
+
 Thu Sep 23 18:05:13 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
 	* configure.in: Build gas, ld, and binutils for *-*-sysv4* and
diff --git a/Makefile.in b/Makefile.in
index f1acbd07f..3fb2114f0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -37,7 +37,8 @@ infodir=${prefix}/info
 mandir=${prefix}/man
 gxx_include_dir=${includedir}/g++
 
-tooldir = $(exec_prefix)/$(target)
+tooldir = $(exec_prefix)/$(target_alias)
+build_tooldir = $(exec_prefix)/$(target_alias)
 
 program_transform_name =
 
@@ -97,9 +98,9 @@ CHILL_LIB = -lchill
 CXX = c++
 
 # Use -O2 to stress test the compiler.
-LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates -fexceptions
+LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
 CXXFLAGS_FOR_TARGET = $(CXXFLAGS)
-LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates -fexceptions
+LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
 
 RANLIB = ranlib
 
@@ -168,9 +169,7 @@ OTHERS =
 
 # This is set by the configure script to the list of directories which
 # should be built using the target tools.
-
-
-TARGET_CONFIGDIRS = libiberty libgloss $(SPECIAL_LIBS) newlib libio librx libstdc++ libg++ winsup opcodes bsp libstub cygmon
+TARGET_CONFIGDIRS = libiberty libgloss $(SPECIAL_LIBS) newlib libio librx libstdc++ libg++ winsup opcodes bsp libstub cygmon libf2c libchill libobjc
 
 # Target libraries are put under this directory:
 # Changed by configure to $(target_alias) if cross.
@@ -216,10 +215,10 @@ CC_FOR_TARGET = ` \
     if [ -f $$r/$(TARGET_SUBDIR)/newlib/Makefile ] ; then \
       case "$(target_canonical)" in \
         i[3456]86-*-cygwin*) \
-          echo $$r/gcc/xgcc -B$$r/gcc/ -B$(build_tooldir)/bin/ -B$$r/$(TARGET_SUBDIR)/newlib/ -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/winsup/include -idirafter $$s/winsup/cygwin/include -idirafter $$s/winsup/w32api/include -idirafter $$s/newlib/libc/include -idirafter $$s/newlib/libc/sys/cygwin -idirafter $$s/newlib/libc/sys/cygwin32 -nostdinc; \
+          echo $$r/gcc/xgcc -B$(build_tooldir)/bin/ -B$$r/$(TARGET_SUBDIR)/newlib/ -B$$r/gcc/ -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/winsup/include -idirafter $$s/winsup/cygwin/include -idirafter $$s/winsup/w32api/include -idirafter $$s/newlib/libc/include -idirafter $$s/newlib/libc/sys/cygwin -idirafter $$s/newlib/libc/sys/cygwin32 -nostdinc; \
           ;; \
         *) \
-          echo $$r/gcc/xgcc -B$$r/gcc/ -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
+          echo $$r/gcc/xgcc -B$(build_tooldir)/bin/ -B$$r/$(TARGET_SUBDIR)/newlib/ -B$$r/gcc/ -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
 	  ;; \
       esac \
     else \
@@ -237,11 +236,11 @@ CC_FOR_TARGET = ` \
 # variable is passed down to the gcc Makefile, where it is used to
 # build libgcc2.a.  We define it here so that it can itself be
 # overridden on the command line.
-GCC_FOR_TARGET = $$r/gcc/xgcc -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -B$$r/gcc/ -I$(build_tooldir)/include
+GCC_FOR_TARGET = $$r/gcc/xgcc -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -B$$r/gcc/ -isystem $(build_tooldir)/include
 
 CHILL_FOR_TARGET = ` \
   if [ -f $$r/gcc/xgcc ] ; then \
-    echo $$r/gcc/xgcc -B$$r/gcc/ -L$$r/gcc/ch/runtime/; \
+    echo $$r/gcc/xgcc -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -B$$r/gcc/ -L$$r/gcc/ch/runtime/; \
   else \
     if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
       echo $(CC); \
@@ -251,18 +250,18 @@ CHILL_FOR_TARGET = ` \
   fi`
 
 CXX_FOR_TARGET = ` \
-  if [ -f $$r/gcc/xgcc ] ; then \
+  if [ -f $$r/gcc/g++ ] ; then \
     if [ -f $$r/$(TARGET_SUBDIR)/newlib/Makefile ] ; then \
       case "$(target_canonical)" in \
         i[3456]86-*-cygwin*) \
-          echo $$r/gcc/xgcc -B$$r/gcc/ -B$(build_tooldir)/bin/ -B$$r/$(TARGET_SUBDIR)/newlib/ -L$$r/$(TARGET_SUBDIR)/winsup -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/winsup/cygwin/include -idirafter $$s/winsup/w32api/include -idirafter $$s/newlib/libc/include -idirafter $$s/newlib/libc/sys/cygwin -idirafter $$s/newlib/libc/sys/cygwin32 -nostdinc; \
+          echo $$r/gcc/g++ -B$(build_tooldir)/bin/ -B$$r/$(TARGET_SUBDIR)/newlib/ -B$$r/gcc/ -L$$r/$(TARGET_SUBDIR)/winsup -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/winsup/cygwin/include -idirafter $$s/winsup/w32api/include -idirafter $$s/newlib/libc/include -idirafter $$s/newlib/libc/sys/cygwin -idirafter $$s/newlib/libc/sys/cygwin32 -nostdinc -L$$r/$(TARGET_SUBDIR)/libstdc++; \
           ;; \
         *) \
-          echo $$r/gcc/xgcc -B$$r/gcc/ -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc; \
+          echo $$r/gcc/g++ -B$(build_tooldir)/bin/ -B$$r/$(TARGET_SUBDIR)/newlib/ -B$$r/gcc/ -idirafter $$r/$(TARGET_SUBDIR)/newlib/targ-include -idirafter $$s/newlib/libc/include -nostdinc -L$$r/$(TARGET_SUBDIR)/libstdc++; \
 	  ;; \
       esac \
     else \
-      echo $$r/gcc/g++ -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -B$$r/gcc/ -I$(build_tooldir)/include; \
+      echo $$r/gcc/g++ -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -B$$r/gcc/ -isystem $(build_tooldir)/include -L$$r/$(TARGET_SUBDIR)/libstdc++; \
     fi; \
   else \
     if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
@@ -423,6 +422,7 @@ BASE_FLAGS_TO_PASS = \
 	"sharedstatedir=$(sharedstatedir)" \
 	"sysconfdir=$(sysconfdir)" \
 	"tooldir=$(tooldir)" \
+	"build_tooldir=$(build_tooldir)" \
 	"gxx_include_dir=$(gxx_include_dir)" \
 	"gcc_version=$(gcc_version)" \
 	"gcc_version_trigger=$(gcc_version_trigger)" \
@@ -565,6 +565,7 @@ ALL_MODULES = \
 	all-send-pr \
 	all-shellutils \
 	all-sim \
+	all-snavigator \
 	all-tar \
 	all-tcl \
 	all-tcl8.1 \
@@ -636,6 +637,7 @@ CROSS_CHECK_MODULES = \
 	check-sed \
 	check-send-pr \
 	check-shellutils \
+	check-snavigator \
 	check-sim \
 	check-tar \
 	check-tcl \
@@ -711,8 +713,8 @@ INSTALL_MODULES = \
 	install-send-pr \
 	install-shellutils \
 	install-sim \
+	install-snavigator \
 	install-tar \
-	install-texinfo \
 	install-textutils \
 	install-tgas \
 	install-time \
@@ -766,9 +768,13 @@ INSTALL_X11_MODULES = \
 ALL_TARGET_MODULES = \
 	all-target-libio \
 	all-target-libstdc++ \
+	all-target-libstdc++-v3 \
 	all-target-librx \
 	all-target-libg++ \
 	all-target-newlib \
+	all-target-libf2c \
+	all-target-libchill \
+	all-target-libobjc \
 	all-target-libtermcap \
 	all-target-winsup \
 	all-target-libgloss \
@@ -776,6 +782,11 @@ ALL_TARGET_MODULES = \
 	all-target-gperf \
 	all-target-examples \
 	all-target-libstub \
+	all-target-libffi \
+	all-target-libjava \
+	all-target-zlib \
+	all-target-boehm-gc \
+	all-target-qthreads \
 	all-target-bsp \
 	all-target-cygmon
 
@@ -784,9 +795,13 @@ ALL_TARGET_MODULES = \
 CONFIGURE_TARGET_MODULES = \
 	configure-target-libio \
 	configure-target-libstdc++ \
+	configure-target-libstdc++-v3 \
 	configure-target-librx \
 	configure-target-libg++ \
 	configure-target-newlib \
+	configure-target-libf2c \
+	configure-target-libchill \
+	configure-target-libobjc \
 	configure-target-libtermcap \
 	configure-target-winsup \
 	configure-target-libgloss \
@@ -794,6 +809,11 @@ CONFIGURE_TARGET_MODULES = \
 	configure-target-gperf \
 	configure-target-examples \
 	configure-target-libstub \
+	configure-target-libffi \
+	configure-target-libjava \
+	configure-target-zlib \
+	configure-target-boehm-gc \
+	configure-target-qthreads \
 	configure-target-bsp \
 	configure-target-cygmon
 
@@ -802,10 +822,19 @@ CONFIGURE_TARGET_MODULES = \
 CHECK_TARGET_MODULES = \
 	check-target-libio \
 	check-target-libstdc++ \
+	check-target-libstdc++-v3 \
 	check-target-libg++ \
 	check-target-newlib \
+	check-target-libf2c \
+	check-target-libchill \
+	check-target-libobjc \
 	check-target-winsup \
 	check-target-libiberty \
+	check-target-libffi \
+	check-target-libjava \
+	check-target-zlib \
+	check-target-boehm-gc \
+	check-target-qthreads \
 	check-target-gperf
 
 # This is a list of the install targets for all of the modules which are
@@ -813,13 +842,21 @@ CHECK_TARGET_MODULES = \
 INSTALL_TARGET_MODULES = \
 	install-target-libio \
 	install-target-libstdc++ \
+	install-target-libstdc++-v3 \
 	install-target-libg++ \
 	install-target-newlib \
+	install-target-libf2c \
+	install-target-libchill \
+	install-target-libobjc \
 	install-target-libtermcap \
 	install-target-winsup \
 	install-target-libgloss \
 	install-target-libiberty \
 	install-target-bsp \
+	install-target-libjava \
+	install-target-zlib \
+	install-target-boehm-gc \
+	install-target-qthreads \
 	install-target-gperf
 
 # This is a list of the targets for which we can do a clean-{target}.
@@ -877,6 +914,7 @@ CLEAN_MODULES = \
 	clean-send-pr \
 	clean-shellutils \
 	clean-sim \
+	clean-snavigator \
 	clean-tar \
 	clean-tcl \
 	clean-texinfo \
@@ -891,15 +929,24 @@ CLEAN_MODULES = \
 CLEAN_TARGET_MODULES = \
 	clean-target-libio \
 	clean-target-libstdc++ \
+	clean-target-libstdc++-v3 \
 	clean-target-librx \
 	clean-target-libg++ \
 	clean-target-newlib \
+	clean-target-libf2c \
+	clean-target-libchill \
+	clean-target-libobjc \
 	clean-target-winsup \
 	clean-target-libgloss \
 	clean-target-libiberty \
 	clean-target-gperf \
 	clean-target-examples \
 	clean-target-libstub \
+	clean-target-libffi \
+	clean-target-libjava \
+	clean-target-zlib \
+	clean-target-boehm-gc \
+	clean-target-qthreads \
 	clean-target-bsp \
 	clean-target-cygmon
 
@@ -1156,7 +1203,6 @@ gcc-no-fixedincludes:
 	  mv gcc/tmp-include gcc/include 2>/dev/null; \
 	else true; fi
 
-
 # This rule is used to build the modules which use FLAGS_TO_PASS.  To
 # build a target all-X means to cd to X and make all.
 #
@@ -1535,6 +1581,8 @@ all-bash:
 all-bfd: all-libiberty all-intl
 all-binutils: all-libiberty all-opcodes all-bfd all-flex all-bison all-byacc all-intl
 all-bison: all-texinfo
+configure-target-boehm-gc: configure-target-newlib configure-target-qthreads
+all-target-boehm-gc: configure-target-boehm-gc
 configure-target-bsp: $(ALL_GCC)
 all-target-bsp: configure-target-bsp all-gcc all-binutils all-target-newlib
 all-byacc:
@@ -1568,6 +1616,7 @@ all-gnuserv:
 configure-target-gperf: $(ALL_GCC)
 all-target-gperf: configure-target-gperf all-target-libiberty all-target-libstdc++
 all-gprof: all-libiberty all-bfd all-opcodes all-intl
+all-grep: all-libiberty
 all-grez: all-libiberty all-bfd all-opcodes
 all-gui: all-gdb all-libproc all-target-librx
 all-guile:
@@ -1588,13 +1637,22 @@ all-target-libio: configure-target-libio all-gas all-ld all-gcc all-target-libib
 check-target-libio:
 all-libgui: all-tcl all-tk all-tcl8.1 all-tk8.1 all-itcl
 all-libiberty:
+configure-target-libffi: $(ALL_GCC) 
+configure-target-libjava: $(ALL_GCC) configure-target-zlib configure-target-boehm-gc configure-target-qthreads configure-target-newlib configure-target-libffi
+all-target-libffi: configure-target-libffi
+all-target-libjava: configure-target-libjava all-gcc all-zip all-target-newlib all-target-zlib all-target-boehm-gc all-target-qthreads all-target-libffi
 configure-target-librx: $(ALL_GCC) configure-target-newlib
 all-target-librx: configure-target-librx
 configure-target-libstdc++: $(ALL_GCC)
+configure-target-libstdc++-v3: $(ALL_GCC)
 all-target-libstdc++: configure-target-libstdc++ all-gas all-ld all-gcc all-target-libiberty all-target-newlib all-target-libio
+all-target-libstdc++-v3: configure-target-libstdc++-v3 all-gas all-ld all-gcc all-target-libiberty all-target-newlib 
 configure-target-libstub: $(ALL_GCC)
 all-target-libstub: configure-target-libstub
 all-libtool:
+all-target-libf2c: configure-target-libf2c all-gas all-ld all-gcc all-target-libiberty all-target-newlib
+all-target-libchill: configure-target-libchill all-gas all-ld all-gcc all-target-libiberty all-target-newlib
+all-target-libobjc: configure-target-libobjc all-gas all-ld all-gcc all-target-libiberty all-target-newlib
 all-m4: all-libiberty
 all-make: all-libiberty
 all-mmalloc:
@@ -1606,6 +1664,8 @@ all-opcodes: all-bfd all-libiberty
 all-patch: all-libiberty
 all-perl:
 all-prms: all-libiberty
+configure-target-qthreads: configure-target-newlib
+all-target-qthreads: configure-target-qthreads
 all-rcs:
 all-readline:
 all-recode: all-libiberty
@@ -1613,6 +1673,7 @@ all-sed: all-libiberty
 all-send-pr: all-prms
 all-shellutils:
 all-sim: all-libiberty all-bfd all-opcodes all-readline
+all-snavigator: all-tcl all-tk all-itcl all-db all-grep all-libgui
 all-tar: all-libiberty
 all-tcl:
 all-tcl8.1:
@@ -1629,6 +1690,8 @@ all-target-winsup: all-target-newlib all-target-libiberty all-target-libtermcap
 configure-target-winsup: configure-target-newlib
 all-uudecode: all-libiberty
 all-zip:
+configure-target-zlib: $(ALL_GCC)
+all-target-zlib: configure-target-zlib
 configure-target-libiberty: $(ALL_GCC) configure-target-newlib
 all-target-libiberty: configure-target-libiberty all-gcc all-ld all-target-newlib
 all-target: $(ALL_TARGET_MODULES)
diff --git a/config-ml.in b/config-ml.in
index 503f7cf1a..60b1d2c1f 100644
--- a/config-ml.in
+++ b/config-ml.in
@@ -280,6 +280,17 @@ arm-*-*)
 	    esac
 	  done
 	fi
+	if [ x"$enable_nofmult" = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *nofmult* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
 	;;
 m68*-*-*)
 	if [ x$enable_softfloat = xno ]
@@ -362,6 +373,28 @@ mips*-*-*)
 	    esac
 	  done
 	fi
+	case " $multidirs " in
+	*" mabi=64 "*)
+	  # We will not be able to create libraries with -mabi=64 if
+	  # we cannot even link a trivial program.  It usually
+	  # indicates the 64bit libraries are missing.
+	  if echo 'main() {}' > conftest.c &&
+	     ${CC-gcc} -mabi=64 conftest.c -o conftest; then
+	    :
+	  else
+	    echo Could not link program with -mabi=64, disabling it.
+	    old_multidirs="${multidirs}"
+	    multidirs=""
+	    for x in ${old_multidirs}; do
+	      case "$x" in
+	      *mabi=64* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	      esac
+	    done
+	  fi
+	  rm -f conftest.c conftest
+	  ;;
+	esac
 	;;
 powerpc*-*-* | rs6000*-*-*)
 	if [ x$enable_softfloat = xno ]
@@ -442,6 +475,30 @@ powerpc*-*-* | rs6000*-*-*)
 	  done
 	fi
 	;;
+sparc*-*-*)
+	case " $multidirs " in
+	*" m64 "*)
+	  # We will not be able to create libraries with -m64 if
+	  # we cannot even link a trivial program.  It usually
+	  # indicates the 64bit libraries are missing.
+	  if echo 'main() {}' > conftest.c &&
+	     ${CC-gcc} -m64 conftest.c -o conftest; then
+	    :
+	  else
+	    echo Could not link program with -m64, disabling it.
+	    old_multidirs="${multidirs}"
+	    multidirs=""
+	    for x in ${old_multidirs}; do
+	      case "$x" in
+	      *m64* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	      esac
+	    done
+	  fi
+	  rm -f conftest.c conftest
+	  ;;
+	esac
+	;;
 esac
 
 # Remove extraneous blanks from multidirs.
@@ -472,6 +529,8 @@ multi-do:
 		flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
 		if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \
 				CFLAGS="$(CFLAGS) $${flags}" \
+				prefix="$(prefix)" \
+				exec_prefix="$(exec_prefix)" \
 				CXXFLAGS="$(CXXFLAGS) $${flags}" \
 				LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
 				LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
@@ -615,7 +674,24 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
       echo "pwd: `pwd`"
     fi
 
-    if [ -d ${ml_dir} ]; then true; else mkdir ${ml_dir}; fi
+    if [ -d ${ml_dir} ]; then true; else
+      # ``mkdir -p ${ml_dir}'' See also mkinstalldirs.
+      pathcomp=""
+      for d in `echo ":${ml_dir}" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`; do
+        pathcomp="$pathcomp$d"
+        case "$pathcomp" in
+          -* ) pathcomp=./$pathcomp ;;
+        esac
+        if test ! -d "$pathcomp"; then
+           echo "mkdir $pathcomp" 1>&2
+           mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$?
+        fi
+        if test ! -d "$pathcomp"; then
+	   exit $lasterr
+        fi
+        pathcomp="$pathcomp/"
+      done
+    fi
     if [ -d ${ml_dir}/${ml_libdir} ]; then true; else mkdir ${ml_dir}/${ml_libdir}; fi
 
     # Eg: if ${ml_dir} = m68000/m68881, dotdot = ../../
@@ -668,7 +744,18 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
     if [ -f ${ml_newsrcdir}/configure ]; then
       ml_recprog=${ml_newsrcdir}/configure
     fi
-    if eval ${ml_config_shell} ${ml_recprog} \
+
+    # find compiler flag corresponding to ${ml_dir}
+    for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do 
+      dir=`echo $i | sed -e 's/;.*$//'`
+      if [ "${dir}" = "${ml_dir}" ]; then
+        flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`
+        break
+      fi
+    done
+    ml_config_env='CC="${CC} $flags"'
+
+    if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \
 	--with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
 	${ml_arguments} ${ml_srcdiroption} ; then
       true
diff --git a/config.if b/config.if
index bcc026908..625a4077e 100644
--- a/config.if
+++ b/config.if
@@ -21,9 +21,15 @@ else
   if_topsrcdir=${top_srcdir}
 fi
 
-if [ -f ${if_topsrcdir}/libstdc++/Makefile.in ]; then
+if [ "${enable_libstdcxx_v3}" = "yes" ] ; then
+  libstdcxx_srcdir=${if_topsrcdir}/libstdc++-v3
+else
+  libstdcxx_srcdir=${if_topsrcdir}/libstdc++
+fi
+
+if [ -f ${libstdcxx_srcdir}/Makefile.in ]; then
 # We check libstdc++ for libstdcxx_interface.
-libstdcxx_interface=`grep "^INTERFACE" ${if_topsrcdir}/libstdc++/Makefile.in | sed 's/INTERFACE[ 	]*=[ 	]*\(.*\)/\1/'`
+libstdcxx_interface=`grep "^INTERFACE" ${libstdcxx_srcdir}/Makefile.in | sed 's/INTERFACE[ 	]*=[ 	]*\(.*\)/\1/'`
 else
 libstdcxx_interface=
 fi
diff --git a/config/mh-ia64pic b/config/mh-ia64pic
new file mode 100644
index 000000000..92e48d90f
--- /dev/null
+++ b/config/mh-ia64pic
@@ -0,0 +1 @@
+PICFLAG=-fpic
diff --git a/config/mt-ia64pic b/config/mt-ia64pic
new file mode 100644
index 000000000..ff9872755
--- /dev/null
+++ b/config/mt-ia64pic
@@ -0,0 +1 @@
+PICFLAG_FOR_TARGET=-fpic
diff --git a/configure b/configure
index 06bd1a130..5bb72227d 100755
--- a/configure
+++ b/configure
@@ -237,7 +237,7 @@ do
 		esac
 
 		enableopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
-		eval "$enableopt='$optarg'"
+		eval "$enableopt=\$optarg"
 		enableoptions="$enableoptions '$option'"
 		;;
 	--exec-prefix* | --ex*)
@@ -370,7 +370,7 @@ do
 		esac
 
 		withopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
-		eval $withopt="$optarg"
+		eval $withopt="\$optarg"
 		withoptions="$withoptions $option"
 		;;
 	--without-*)
@@ -576,7 +576,6 @@ case "${srcdir}" in
         fi
 esac
 
-
 # default exec_prefix
 case "${exec_prefixoption}" in
 "") exec_prefix="\$(prefix)" ;;
@@ -912,9 +911,10 @@ if [ "${build}" != "${host}" ]; then
   tools="${tools} HOST_PREFIX_1 LD LD_FOR_TARGET LEX MAKEINFO NM"
   tools="${tools} NM_FOR_TARGET RANLIB RANLIB_FOR_TARGET"
   tools="${tools} WINDRES WINDRES_FOR_TARGET YACC"
+  tools="${tools} OBJCOPY OBJDUMP"
 
   for var in ${tools}; do
-    if [ -z "`eval 'echo $'"${var}"`" ] && [ -r Makefile ]; then
+    if eval [ -z \"\$${var}\" ] && [ -r Makefile ]; then
       sed -n -e ':loop
 /\\$/ N
 s/\\\n//g
@@ -923,7 +923,7 @@ t loop
 	< Makefile > Makefile.v
       t=`tail -1 Makefile.v`
       if [ -n "${t}" ]; then
-	eval "${var}='${t}'"
+	eval "${var}=\${t}"
       fi
       rm -f Makefile.v
     fi
@@ -955,6 +955,8 @@ t loop
   RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET-${target_alias}-ranlib}
   WINDRES=${WINDRES-${host_alias}-windres}
   WINDRES_FOR_TARGET=${WINDRES_FOR_TARGET-${target_alias}-windres}
+  OBJCOPY=${OBJCOPY-${host_alias}-objcopy}
+  OBJDUMP=${OBJDUMP-${host_alias}-objdump}
 
   if [ -z "${YACC}" ]; then
     IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}:"
@@ -1005,6 +1007,8 @@ t loop
   export NM
   export RANLIB
   export WINDRES
+  export OBJCOPY
+  export OBJDUMP
 else
   # If CC is still not set, try to get gcc.
   if [ -z "${CC}" ]; then
@@ -1408,6 +1412,7 @@ EOF
                     -e "s:^program_suffix[ 	]*=.*$:program_suffix = ${program_suffix}:" \
                     -e "s:^program_transform_name[ 	]*=.*$:program_transform_name = ${program_transform_name}:" \
                     -e "s|^tooldir[ 	]*=.*$|tooldir = ${tooldir}|" \
+                    -e "s|^build_tooldir[ 	]*=.*$|build_tooldir = ${tooldir}|" \
 		    -e "s:^DEFAULT_YACC[	 ]*=.*$:DEFAULT_YACC = ${DEFAULT_YACC}:" \
 		    -e "s:^DEFAULT_LEX[	 ]*=.*$:DEFAULT_LEX = ${DEFAULT_LEX}:" \
 		    -e "s:^DEFAULT_M4[  ]*=.*$:DEFAULT_M4 = ${DEFAULT_M4}:" \
@@ -1420,7 +1425,7 @@ EOF
 	    # tools.
 	    if [ "${build}" != "${host}" ]; then
 		for var in ${tools}; do
-		    val=`eval 'echo $'"${var}"`
+		    eval val=\$${var}
 		    sed -e "/^${var}[ 	]*=/{
 			   :loop1
 			   /\\\\$/ N
diff --git a/configure.in b/configure.in
index 3759cd88f..f371c105e 100644
--- a/configure.in
+++ b/configure.in
@@ -47,6 +47,13 @@ if [ "${enable_gdbgui}" = "yes" ] ; then
 	host_libs="${host_libs} libgui"
 fi
 
+# Set up configure/Makefile variables if libstdc++-v3 is to be built.
+if [ "${enable_libstdcxx_v3}" = "yes" ] ; then
+        libstdcxx_version="target-libstdc++-v3"
+else
+        libstdcxx_version="target-libio target-libstdc++"
+fi
+
 # these tools are built for the host environment
 # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
 # know that we are building the simulator.
@@ -58,10 +65,15 @@ host_tools="texinfo byacc flex bison binutils ld gas gcc sim gdb make patch prms
 target_libs="target-libiberty \
 		target-libgloss \
 		target-newlib \
-		target-libio \
-		target-librx \
-		target-libstdc++ \
-		target-libg++"
+		${libstdcxx_version} \
+		target-libf2c \
+		target-libchill \
+		target-libffi \
+		target-libjava \
+		target-zlib \
+		target-boehm-gc \
+		target-qthreads \
+		target-libobjc"
 
 # these tools are built using the target libs, and are intended to run only
 # in the target environment
@@ -154,6 +166,9 @@ case "${host}" in
   mips*-*-sysv*)
     host_makefile_frag="${host_makefile_frag} config/mh-riscos"
     ;;
+  i370-ibm-opened*)
+    host_makefile_frag="${host_makefile_frag} config/mh-openedition"
+    ;;
   i[3456]86-*-sysv5*)
     host_makefile_frag="${host_makefile_frag} config/mh-sysv5"
     ;;
@@ -291,6 +306,9 @@ if [ x${shared} = xyes ]; then
     i370-*-*)
       host_makefile_frag="${host_makefile_frag} config/mh-i370pic"
       ;;
+    ia64-*-*)
+      host_makefile_frag="${host_makefile_frag} config/mh-ia64pic"
+      ;;
     sparc64-*-*)
       host_makefile_frag="${host_makefile_frag} config/mh-sparcpic"
       ;;
@@ -524,7 +542,7 @@ case "${host}" in
     noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext"
     ;;
   i[3456]86-*-go32* | i[3456]86-*-msdosdjgpp*)
-    noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext"
+    noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext libffi"
 	;;
   i[3456]86-*-mingw32*)
     # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv"
@@ -542,18 +560,21 @@ case "${host}" in
   ppc*-*-pe)
      noconfigdirs="patch diff make tk tcl expect dejagnu cvssrc autoconf automake texinfo bison send-pr gprof rcs guile perl apache inet itcl tix db snavigator gnuserv"
     ;;
+  powerpc-*-beos*)
+    noconfigdirs="$noconfigdirs tk itcl tix libgui gdb dejagnu readline"
+    ;;
 esac
 
 
 case "${target}" in
   *-*-netware)
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-librx target-newlib target-libiberty target-libgloss"
+    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-newlib target-libiberty target-libgloss target-libffi"
     ;;
   *-*-rtems*)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   *-*-vxworks*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi"
     ;;
   alpha*-dec-osf*)
     # ld works, but does not support shared libraries.  emacs doesn't
@@ -562,13 +583,7 @@ case "${target}" in
     noconfigdirs="$noconfigdirs gas ld emacs fileutils target-newlib target-libgloss"
     ;;
   alpha*-*-*vms*)
-    noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss"
-    ;;
-  alpha*-*-linux*)
-    # newlib is not 64 bit ready
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
-    # linux has rx in libc
-    skipdirs="$skipdirs target-librx"
+    noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss target-libffi"
     ;;
   alpha*-*-*)
     # newlib is not 64 bit ready
@@ -577,20 +592,20 @@ case "${target}" in
   sh*-*-pe|mips*-*-pe|*arm-wince-pe)
     noconfigdirs="$noconfigdirs target-libjava target-libffi target-zlib"
     noconfigdirs="$noconfigdirs target-boehm-gc target-qthreads target-examples"
-    noconfigdirs="$noconfigdirs target-librx target-libiberty texinfo send-pr"
+    noconfigdirs="$noconfigdirs target-libiberty texinfo send-pr"
     noconfigdirs="$noconfigdirs tcl tix tk itcl libgui sim"
     noconfigdirs="$noconfigdirs expect dejagnu"
     # the C++ libraries don't build on top of CE's C libraries
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio"
+    noconfigdirs="$noconfigdirs ${libstdcxx_version}"
     skipdirs="$skipdirs target-newlib"
     case "${host}" in
       *-*-cygwin*) ;; # keep gdb and readline
-      *) noconfigdirs="$noconfigdirs gdb readline target-libio target-libstdc++ target-libg++"
+      *) noconfigdirs="$noconfigdirs gdb readline ${libstdcxx_version}"
 	 ;;
     esac
     ;;
   arc-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   arm-*-pe*)
     noconfigdirs="$noconfigdirs target-libgloss"
@@ -608,43 +623,43 @@ case "${target}" in
     fi
     ;;
   arm-*-oabi*)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   c4x-*-*)
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
+    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi"
     ;;
   c54x*-*-* | tic54x-*-*)
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss gcc gdb newlib"
+    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi gcc gdb newlib"
     ;;
   thumb-*-coff)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   thumb-*-elf)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   thumb-*-oabi)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   strongarm-*-elf)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     if [ x${is_cross_compiler} != xno ] ; then
 	   target_configdirs="${target_configdirs} target-bsp target-cygmon"
     fi
     ;;
   strongarm-*-coff)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     if [ x${is_cross_compiler} != xno ] ; then
 	   target_configdirs="${target_configdirs} target-bsp target-cygmon"
     fi
     ;;
   thumb-*-pe)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   arm-*-riscix*)
-    noconfigdirs="$noconfigdirs ld target-libgloss"
+    noconfigdirs="$noconfigdirs ld target-libgloss target-libffi"
     ;;
   d10v-*-*)
-    noconfigdirs="$noconfigdirs target-librx target-libg++ target-libstdc++ target-libio"
+    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi"
     ;;
   d30v-*-*)
     ;;
@@ -655,13 +670,13 @@ case "${target}" in
     ;;
   h8300*-*-* | \
   h8500-*-*)
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
+    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi"
     ;;
   hppa*-*-*elf* | \
   hppa*-*-linux-gnu* | \
   hppa*-*-lites* | \
   hppa*64*-*-*)
-    # Do configure ld/binutils/gas for the above cases.
+    # Do configure ld/binutils/gas for this case.
     ;;
   hppa*-*-*)
     # HP's C compiler doesn't handle Emacs correctly (but on BSD and Mach
@@ -684,11 +699,11 @@ case "${target}" in
     ;;
   i[3456]86-*-go32* | i[3456]-*-msdosdjgpp*)
     # but don't build gdb
-    noconfigdirs="$noconfigdirs gdb target-libg++ target-libstdc++ target-libio target-librx"
+    noconfigdirs="$noconfigdirs gdb ${libstdcxx_version} target-libffi"
     ;;
   i[3456]86-*-mingw32*)
     target_configdirs="$target_configdirs target-mingw"
-    noconfigdirs="$noconfigdirs expect target-libgloss"
+    noconfigdirs="$noconfigdirs expect target-libgloss target-libffi"
 
     # Can't build gdb for mingw32 if not native.
     case "${host}" in
@@ -699,7 +714,7 @@ case "${target}" in
     ;;    
   *-*-cygwin*)
     target_configdirs="$target_configdirs target-libtermcap target-winsup"
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-gperf target-libgloss target-libffi"
     # always build newlib.
     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
 
@@ -711,15 +726,15 @@ case "${target}" in
     esac
     ;;    
   i[3456]86-*-pe)
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
+    noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi"
     ;;
   i[3456]86-*-sco3.2v5*)
     # The linker does not yet know about weak symbols in COFF,
     # and is not configured to handle mixed ELF and COFF.
-    noconfigdirs="$noconfigdirs ld target-libgloss"
+    noconfigdirs="$noconfigdirs ld target-libgloss target-libffi"
     ;;
   i[3456]86-*-sco*)
-    noconfigdirs="$noconfigdirs gprof target-libgloss"
+    noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi"
     ;;
   i[3456]86-*-solaris2*)
     noconfigdirs="$noconfigdirs target-libgloss"
@@ -731,7 +746,7 @@ case "${target}" in
         *) ;;
     esac
     # but that's okay since emacs doesn't work anyway
-    noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss"
+    noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss target-libffi"
     ;;
   i[3456]86-*-beos*)
      noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
@@ -747,13 +762,13 @@ case "${target}" in
     fi
     ;;
   mn10200-*-*)
-    noconfigdirs="$noconfigdirs"
+    noconfigdirs="$noconfigdirs target-libffi"
     if [ x${is_cross_compiler} != xno ] ; then
 	   target_configdirs="${target_configdirs} target-libstub target-cygmon"
     fi
     ;;
   mn10300-*-*)
-    noconfigdirs="$noconfigdirs"
+    noconfigdirs="$noconfigdirs target-libffi"
     if [ x${is_cross_compiler} != xno ] ; then
 	   target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
     fi
@@ -764,18 +779,21 @@ case "${target}" in
     # GNU ld is known to be broken for AIX 4.2 and 4.3 (at least)
     # The symptom is that GDBtk 4.18 fails at startup with a segfault
     # if linked by GNU ld, but not if linked by the native ld.
-    noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss ld"
+    noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss target-libffi ld"
     use_gnu_ld=no
     ;;
   powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
     target_configdirs="$target_configdirs target-winsup"
-    noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv"
+    noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv target-libffi"
     # always build newlib.
     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
     ;;
     # This is temporary until we can link against shared libraries
   powerpcle-*-solaris*)
-    noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv"
+    noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv target-libffi"
+    ;;
+  powerpc-*-beos*)
+    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
     ;;
   powerpc-*-eabi)
     if [ x${is_cross_compiler} != xno ] ; then
@@ -784,22 +802,21 @@ case "${target}" in
     ;;
   rs6000-*-lynxos*)
     # The CVS server code doesn't work on the RS/6000
-    # Newlib makes problems for libg++ in crosses.
-    noconfigdirs="$noconfigdirs target-newlib gprof cvssrc"
+    noconfigdirs="$noconfigdirs target-newlib gprof cvssrc target-libffi"
     ;;
   rs6000-*-aix*)
     # The configure and build of ld are currently disabled because
     # GNU ld is known to be broken for AIX 4.2 and 4.3 (at least)
     # The symptom is that GDBtk 4.18 fails at startup with a segfault
     # if linked by GNU ld, but not if linked by the native ld.
-    noconfigdirs="$noconfigdirs gprof ld"
+    noconfigdirs="$noconfigdirs gprof target-libffi ld"
     use_gnu_ld=no
     ;;
   rs6000-*-*)
-    noconfigdirs="$noconfigdirs gprof"
+    noconfigdirs="$noconfigdirs gprof target-libffi"
     ;;
   m68k-apollo-*)
-    noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss"
+    noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss target-libffi"
     ;;
   mips*-*-irix5*)
     # The GNU linker does not support shared libraries.
@@ -811,26 +828,21 @@ case "${target}" in
     # emacs is emacs 18, which does not work on Irix 5 (emacs19 does work)
     noconfigdirs="$noconfigdirs gas gprof emacs target-libgloss"
     ;;
-  mips*-*-linux*)
-    noconfigdirs="$noconfigdirs gprof"
-    # linux has rx in libc
-    skipdirs="$skipdirs target-librx"
-    ;;
   mips*-dec-bsd*)
-    noconfigdirs="$noconfigdirs gprof target-libgloss"
+    noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi"
     ;;
   mips*-*-bsd*)
-    noconfigdirs="$noconfigdirs gprof target-libgloss"
+    noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi"
     ;;
   mipstx39-*-*)
-    noconfigdirs="$noconfigdirs gprof"   # same as generic mips
+    noconfigdirs="$noconfigdirs gprof target-libffi"   # same as generic mips
     target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
    ;;
   mips*-*-*)
-    noconfigdirs="$noconfigdirs gprof"
+    noconfigdirs="$noconfigdirs gprof target-libffi"
     ;;
   romp-*-*)
-    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss"
+    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss target-libffi"
     ;;
   sh-*-*)
     case "${host}" in
@@ -839,7 +851,7 @@ case "${target}" in
       i[3456]86-*-msdosdjgpp*) ;; # don't add gprof back in
       *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
     esac
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   sparc-*-elf*)
     if [ x${is_cross_compiler} != xno ] ; then
@@ -850,11 +862,13 @@ case "${target}" in
     if [ x${is_cross_compiler} != xno ] ; then
 	   target_configdirs="${target_configdirs} target-libstub target-cygmon"
     fi
+    noconfigdirs="target-libffi"
     ;;
   sparclite-*-*)
     if [ x${is_cross_compiler} != xno ] ; then
 	   target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
     fi
+    noconfigdirs="target-libffi"
     ;;
   sparc-*-sunos4*)
     if [ x${is_cross_compiler} != xno ] ; then
@@ -864,35 +878,31 @@ case "${target}" in
     fi
     ;;
   v810-*-*)
-    noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libio target-libg++ target-libstdc++ opcodes target-libgloss"
+    noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} opcodes target-libgloss target-libffi"
     ;;
   v850-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   v850e-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   v850ea-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   vax-*-vms)
-    noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss"
+    noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss target-libffi"
     ;;
   vax-*-*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
-    ;;
-  *-*-linux*)
-    # linux has rx in libc
-    skipdirs="$skipdirs target-librx"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi"
     ;;
   *-*-lynxos*)
-    # Newlib makes problems for libg++ in crosses.
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi"
     ;; 
   *-*-macos* | \
   *-*-mpw*)
     # Macs want a resource compiler.
     configdirs="$configdirs grez"
+    noconfigdirs="target-libffi"
     ;;    
 esac
 
@@ -1176,7 +1186,7 @@ fi
 
 # provide a proper gxx_include_dir.
 # Note, if you change the default, make sure to fix both here and in
-# the gcc, libio, libstdc++ and libg++ subdirectories.
+# the gcc, libio, and libstdc++ subdirectories.
 # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
 gxx_include_dir=
 if test -n "${with_gxx_include_dir}"; then