2007-05-13  Release Manager

	* GCC 4.2.0 released.

2006-11-16  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/29802
	* configure.ac: Call GCC_TOPLEV_SUBDIRS.
	* configure: Regenerate.
	* Makefile.in: Replace host_subdir.

2006-10-16  Brooks Moses  <bmoses@stanford.edu>

	* Makefile.in: Add dummy "pdf" target.

2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.in: Add install-html target.

2005-12-05  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in (FLAGS_TO_PASS): Add GCC_FOR_TARGET.

2005-04-27  James E Wilson  <wilson@specifixinc.com>

	* Makefile.in (html): New.

2005-02-28  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/17383
	* Makefile.in (GCC_DIR): Add $(HOST_SUBDIR) to the definition.

2004-12-03  Nathanael Nerode  <neroden@gcc.gnu.org>

	* Makefile.in: Add stamp file for building libada, to avoid
	duplicate builds every time all-gnattools is called.

2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>

	* Makefile.in: Build gcc/ada/Makefile (by running gcc/ada/configure)
	here.

2004-08-16  Nathanael Nerode  <neroden@gcc.gnu.org>

	* configure.ac: Replace AC_CANONICAL_SYSTEM with _BUILD, _HOST,
	_TARGET.
	* configure: Regenerate.

2004-07-18  Nathanael Nerode  <neroden@gcc.gnu.org>

	* configure.ac, Makefile.in: Remove gnattools-specific code
	(see gnattools directory).
	* Makefile.in: Remove dead rts-* targets.
	* configure: Regenerate.

2004-05-25  Daniel Jacobowitz  <drow@false.org>

	* Makefile.in: Add .NOEXPORT.

2004-04-26  Arnaud Charlet  <charlet@act-europe.fr>

	* Makefile.in: Put back merge of some targets to avoid code duplication.
	Remove at the same obsolete variable GNATLIBLDFLAGS.

2004-04-19  Nathanael Nerode  <neroden@gcc.gnu.org>

	* configure.ac: Fix stupid brain-fade; set default_gnattools_target
	correctly.
	* configure: Regenerate.

2004-04-19  Nathanael Nerode  <neroden@gcc.gnu.org>

	* Makefile.in: Revert most of Arnaud's last change.  Prefer anything
	over error-prone Make abuse.  Remove temporary debug code.
	(gnatlib-zcx): New target.
	(gnattools): Split into gnattools-native, gnattools-cross, to fix
	previous bug; select which on the basis of default_gnattools_target.
	(ada.all.cross): Merged with gnattools-cross target.
	* configure.ac: Set default_gnattools_target.
	* configure: Regenerate.

2004-04-19  Arnaud Charlet  <charlet@act-europe.fr>

	* Makefile.in: Fix errors introduced in previous change (in particular,
	errors when building gnattools were ignored).
	Code clean up and simplification.
	update comments.
	Remove temporary debug code introduced by mistake in previous check in.
	Prefer GNU Make syntax over complex and error-prone sh syntax.
	(gnatlib-zcx): New target.
	(ada.all.cross): Merged with gnattools-cross target.

2004-04-17  Nathanael Nerode  <neroden@gcc.gnu.org>

	* configure.ac: It's gnatlib-plain in the Makefile, not
	gnatlib-simple; make configure match.
	* configure: Regenerate.

2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>

	* Makefile.in: Call gcc/ada/Makefile directly, not through the
	intermediary of gcc/Makefile.  Incorporate all necessary parts of
	rules from gcc/ada/Make-lang.in, including extra gnatlib/gnattools
	targets, rts-zfp, rts-ravenscar.  Get needed bits of GCC
	configuration from (new) gcc/libada-mk.  Decide what gnatlib variant
	to build in configure.ac, not here.
	* configure.ac: Provide Makefile.in with the new information it needs,
	such as GCC's tmake_file and xmake_file.
	* configure: Regenerate.

2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>

	* configure.in: Rename file to ...
	* configure.ac: .. to this. Bump AC_PREREQ to 2.59.
	* configure: Regenerate.

2003-03-02  Arnaud Charlet  <charlet@act-europe.fr>

	PR ada/14350
	* configure.in: Remove hardcoded gcc version.

	* configure: Regenerated.

2004-02-10  Ulrich Weigand  <uweigand@de.ibm.com>

	* Makefile.in (gnattools): Depend on gnatlib.

2003-02-10  Arnaud Charlet  <charlet@act-europe.fr>

	PR ada/6637, PR ada/5911
	* configure.in, Makefile.in, configure: Merge with libada-branch

2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>

	PR ada/6637, PR ada/5911
	* configure.in: Add support for --enable/disable-shared
	* Makefile.in: Add initial, simple support for gnatlib/gnattools
	for native and cross configurations.
	* configure: Regenerate

2003-10-23  Nathanael Nerode  <neroden@gcc.gnu.org>

	* configure.in: Make --enable-maintainer-mode work.
	* configure: Regenerate.

	* Makefile.in, configure.in: New files.
	* configure: Generate.

	* New directory, new ChangeLog.

Copyright 2003, 2004 Free Software Foundation, Inc.

This ChangeLog is free software; the Free Software Foundation gives
unlimited permission to copy, distribute, and modify it.
