2009-10-15  Release Manager

	* GCC 4.4.2 released.

2009-07-22  Release Manager

	* GCC 4.4.1 released.

2009-07-13  Eric Botcazou  <ebotcazou@adacore.com>

	* configure.ac: Include multi.m4 and do not call AC_CANONICAL_SYSTEM.
	* configure: Regenerate.

2009-04-21  Release Manager

	* GCC 4.4.0 released.

2009-04-09  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.in: Change copyright header to refer to version
	3 of the GNU General Public License and to point readers at the
	COPYING3 file and the FSF's license web page.
	* configure.ac: Likewise.

2009-04-06  Laurent GUERBY  <laurent@guerby.net>

        * Makefile.in (ADA_RTS_DIR): Define.
        * Makefile.in (gnatlib-*): Link adainclude and adalib to it.

2008-09-21  Laurent Guerby  <laurent@guerby.net>
            Paolo Bonzini  <bonzini@gnu.org>
	
	PR ada/5911
	* Makefile.in (all, install, mostlyclean, clean, distclean): Add
	multilib handling.
	* configure.ac: Add multilib handling.
	* configure: Regenerate.

2008-08-29  Laurent Guerby  <laurent@guerby.net>
	
	* Makefile.in (FLAGS_TO_PASS): renamed to LIBADA_FLAGS_TO_PASS to
	avoid conflicts. Factor more flags to pass.
	(libsubdir): New variable.
	(install-gnatlib): New target.

2008-08-28  Laurent Guerby  <laurent@guerby.net>

	* configure: Regenerate.
	
2008-08-06  Thomas Quinot  <quinot@adacore.com>

	* Makefile.in: generate s-oscons.ads again, previous change was
	unneeded.

2008-08-06  Samuel Tardieu  <sam@rfc1149.net>

	* Makefile.in: Pass FLAGS_TO_PASS to sub-make for target
	oscons.

2008-08-06  Thomas Quinot  <quinot@adacore.com>

	* Makefile.in: Now generate s-oscons-$(THREAD_KIND).

2008-08-05  Thomas Quinot  <quinot@adacore.com>

	* Makefile.in (gnatlib*): Now depend on oscons target.
	(oscons): New target.

2008-08-01  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac (warn_cflags): Substitute.
	* configure: Regenerate.
	* Makefile.in (libdir, WARN_CFLAGS): Substitute.
	(GCC_WARN_CFLAGS): Remove NOCOMMON_FLAG.
	(ADA_CFLAGS, T_ADA_CFLAGS, X_ADA_CFLAGS, ALL_ADA_CFLAGS): Remove,
	they were unused.
	(libada-mk): Do not include.  Include libgcc.mvars instead.
	(tmake_file): Remove, do not include.
	(FLAGS_TO_PASS): Pass dummy values for exeext and CC.
	* configure: Regenerate.

2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure.ac: move sinclude of acx.m4 before AC_INIT,
	also sinclude override.m4.
	* Makefile.in ($(srcdir)/configure): Update dependencies.
	* configure: Regenerate.

2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.in: Add dummy install-pdf target.

2007-01-23  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/30541
	* Makefile.in (STAGE_PREFIX): Do not define.
	(FLAGS_TO_PASS): Do not pass STAGE_PREFIX.

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.
