2012-03-13  Release Manager

	* GCC 4.4.7 released.

2011-04-16  Release Manager

	* GCC 4.4.6 released.

2010-10-01  Release Manager

	* GCC 4.4.5 released.

2010-04-29  Release Manager

	* GCC 4.4.4 released.

2010-01-21  Release Manager

	* GCC 4.4.3 released.

2009-10-15  Release Manager

	* GCC 4.4.2 released.

2009-07-22  Release Manager

	* GCC 4.4.1 released.

2009-05-18  Bechir Zalila  <bechir.zalila@gmail.com>

	PR ada/40166
	* Makefile.in (TOOLS_TARGET_PAIRS): Use the correct path to the
	target specific sources.

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-02-26  Andreas Schwab  <schwab@suse.de>

	PR ada/39172
	* Makefile.in (fsrcdir): Point to gcc directory, not gcc/ada.
	(INCLUDES_FOR_SUBDIR): Adjust.
	(ADA_INCLUDES_FOR_SUBDIR): Adjust.

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

	* configure.ac (warn_cflags): Substitute.
	* configure: Regenerate.
	* Makefile.in (libdir, exeext, WARN_CFLAGS): Substitute.
	(GCC_WARN_CFLAGS): Remove NOCOMMON_FLAG.
	(ADA_INCLUDE_DIR, ADA_RTL_OBJ_DIR): Remove as they were unused.
	(libsubdir): Remove.
	(libada-mk): Do not include.  Include libgcc.mvars instead.
	(xmake_file): Remove, do not include.

2008-07-30  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac (x_ada_cflags): Remove.
	(ADA_CFLAGS): Substitute.
	* configure: Regenerate.
	* Makefile.in (ADA_CFLAGS): Substitute.
	(T_ADA_CFLAGS, X_ADA_CFLAGS, ALL_ADA_CFLAGS): Remove.
	(TOOLS_FLAGS_TO_PASS_1, TOOLS_FLAGS_TO_PASS_1re,
	TOOLS_FLAGS_TO_PASS_NATIVE, TOOLS_FLAGS_TO_PASS_CROSS):
	Pass ADA_CFLAGS.

2008-07-30  Laurent Guerby  <laurent@guerby.net>

	PR ada/5911
	* gnattools/Makefile.in: Replace stamp-gnatlib by
	stamp-gnatlib-rts.

2008-06-26  Chris Proctor  <chrisp_42@bigpond.com>

	* configure.ac, configure: Fix target specific pairs.

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.

2008-06-07  Joseph Myers  <joseph@codesourcery.com>

	* configure.ac (xscale*-wrs-vx*, xscale*-wrs-coff): Remove.
	* configure: Regenerate.

2008-05-20  Arnaud Charlet  <charlet@adacore.com>

	* Makefile.in (GNATTOOLS2_FILES): Replaced by common-tools target
	in gcc/ada/Makefile.in

2008-05-13  Arnaud Charlet  <charlet@adacore.com>

	PR ada/31808
	* Makefile.in (gnattools-cross): Do not build vxaddr2line

2008-04-05  Arnaud Charlet  <charlet@adacore.com>

	* Makefile.in: Remove handling of gnatbl.

2007-12-05  Bechir Zalila  <bechir.zalila@gmail.com>

	PR ada/34284
	* configure.ac: Added a missing switch case for *86-*-darwin*
	when defining the value of TOOLS_TARGET_PAIRS.

	* configure: Regenerated.

2007-06-06  Arnaud Charlet  <charlet@adacore.com>

	* configure.ac: Update TOOLS_TARGET_PAIRS configuration to match
	gcc/ada/Makefile.in.

	* configure: Regenerated.

2007-04-30  Arnaud Charlet  <charlet@adacore.com>

	PR ada/28953
	* Makefile.in: No longer build gprmake

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

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

2007-02-11  Andreas Schwab  <schwab@suse.de>

	* configure.ac: Update TOOLS_TARGET_PAIRS configuration to match
	gcc/ada/Makefile.in.
	* configure: Regenerated.

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

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

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

	* Makefile.in: Added empty "pdf" target.

2006-06-03  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.in: Add html and install-html targets.

2005-03-09  Arnaud Charlet  <charlet@adacore.com>

	* Makefile.in: Fix incorrect use of ' in shell command

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

	* Makefile.in: Remove use of cc_set_by_configure; just use
	plain old CC from the top level in this case.

2005-01-30  Nathanael Nerode  <neroden@gcc.gnu.org>
	Merge from mainline at tag libada-gnattools-merge-20050129:
	* configure.ac: Changes propagated from gcc/ada/Makefile.in.
	* Makefile.in: Changes relocated from gcc/ada/Makefile.in.

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

	* Makefile.in: Reinstate stamp-gnatlib check.

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

	* Makefile.in: Inline gnattools{1,1-re,2,3,4} targets from
	gcc/ada/configure.ac into gnattools-native and gnattools-cross
	targets, collecting flags as appropriate from here,
	gcc/ada/Makefile.in, gcc/ada/configure.ac, etc.  Attempt to retain
	identical behavior.
	* configure.ac: Add necessary configure bits from
	gcc/ada/configure.ac.
	* configure: Regenerate.

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

	* configure.ac: Replace AC_CANONICAL_SYSTEM with _BUILD, _HOST,
	_TARGET.  Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
	ACX_NONCANONICAL_TARGET, and replace now-redundant AC_SUBST.
	* configure: Regenerate.

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

	* Makefile.in, configure.ac: Remove libada-specific targets and
	variables.
	* configure: Regenerate.
	* New directory, cloned from libada.

Copyright 2004, 2005 Free Software Foundation, Inc.

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