2021-06-01  Release Manager

	* GCC 9.4.0 released.

2021-04-20  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2021-04-20  Jakub Jelinek  <jakub@redhat.com>

	PR jit/100096
	* configure.ac: Add --enable-host-shared support.
	* Makefile.in: Update copyright.  Add @PICFLAG@ to CFLAGS.
	* configure: Regenerated.

2020-03-12  Release Manager

	* GCC 9.3.0 released.

2019-08-12  Release Manager

	* GCC 9.2.0 released.

2019-05-03  Release Manager

	* GCC 9.1.0 released.

2018-11-07  Hafiz Abid Qadeer  <abidh@codesourcery.com>

        * configure: Regenerated.

2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS, remove AC_PREREQ.
	* configure: Re-generate.
	* config.h.in: Re-generate.
	* aclocal.m4: Re-generate.

2018-09-18  Simon Marchi  <simon.marchi@ericsson.com>

	* libgnuintl.h (_INTL_MAY_RETURN_STRING_ARG, gettext, dgettext,
	dcgettext, ngettext, dngettext, dcngettext): Backport changes
	from upstream gettext.

2017-11-07  Alan Modra  <amodra@gmail.com>

	* configure.ac: Invoke AM_GNU_GETTEXT with need_ngettext.
	* configure: Regenerate.

2016-11-15  Matthias Klose  <doko@ubuntu.com>

	* configure: Regenerate.

2015-08-06  Yaakov Selkowitz  <yselkowi@redhat.com>

	* configure: Reflects renaming of configure.in to configure.ac

2015-07-24  Micahel Darling  <darlingm@gmail.com>

	PR other/66259
	* configure: Reflects renaming of configure.in to configure.ac

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

	* aclocal.m4: Regenerated with automake-1.11.6.

2010-06-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR bootstrap/44621
	* configure: Regenerate.

2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* aclocal.m4: Regenerate.

2009-10-15  Jim Blandy  <jimb@red-bean.com>

	* libgnuintl.h (_INTL_MAY_RETURN_STRING_ARG, gettext, dgettext)
	(dcgettext, ngettext, dngettext, dcngettext): Backport changes
	from current gettext to provide GCC format_arg attributes.

2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure.ac (AC_PREREQ): Bump to 2.64.

2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in (aclocal_deps): New variable.
	($(srcdir)/aclocal.m4): Use it, for portable makefile syntax.

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

	* configure: Regenerate.

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

	* Makefile.in (datarootdir): New variable.

2008-04-18  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/35457
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

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

	* aclocal.m4: Regenerate.
	* configure: Likewise.

2006-09-27  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.in (distclean): Delete config files.

2006-09-13  Eric Botcazou  <ebotcazou@libertysurf.fr>

	PR other/23541
	PR other/26507
	Backport from gettext repository:

	2003-09-04  Bruno Haible  <bruno@clisp.org>
	* dgettext.c: Include <locale.h> after gettextP.h, not before. This
	ensures that libintl_dcgettext is correctly declared on Solaris.
	(Needed because Solaris <locale.h> includes libintl.h.)
	* dngettext.c: Likewise, for the libintl_dcngettext declaration.

2006-06-07  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in (install-info, install-dvi, install-ps, install-pdf):
	New dummy targets.

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

	* Makefile.in: Add info dvi ps pdf html install-html to .PHONY
	Add install-html target.

2005-05-13  Nick Clifton  <nickc@redhat.com>

	* Update the address and phone number of the FSF organization in
	the GPL notices in the following files:
	Makefile.in, bindtextdom.c, dcgettext.c, dcigettext.c,
	dcngettext.c, dgettext.c, dngettext.c, eval-plural.h,
	explodename.c, finddomain.c, gettext.c, gettextP.h, gmo.h,
	hash-string.h, intl-compat.c, l10nflist.c, libgnuintl.h,
	loadinfo.h, loadmsgcat.c, localcharset.c, localcharset.h,
	locale.alias, localealias.c, localename.c, log.c, ngettext.c,
	osdep.c, plural-exp.c, plural-exp.h, plural.c, plural.y,
	relocatable.c, relocatable.h, textdomain.c

2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>

	* aclocal.m4: Regenerate.

2004-09-23  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.in (config.h.in): Correct dependencies.
	(stamp-h1): Likewise.
	(config.intl): Likewise.

2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>

	* configure.ac (AC_CONFIG_MACRO_DIR): New.
	(ACLOCAL, AUTOCONF, AUTOHEADER, MAINT): Substitute.
	* Makefile.in: Update with maintainer mode rules.
	* README: Update aclocal regeneration instructions.
	* aclocal.m4, configure: Regenerate.

2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>

	* .cvsignore: Ignore autom4te.cache

2004-04-25  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac: Point config.intl to the parent directory of
	${top_builddir}.
	* configure: Regenerate.

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

	* configure.ac: Bump AC_PREREQ to 2.59.
	* configure: Regenerate.
	* config.h.in: Regenerate.

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

	* configure.in: Convert to autoconf 2.57, gratuitous stylistic
	cleanup, rename to configure.ac.
	* configure.ac: Renamed from configure.in.
	* config.h.in: Rebuilt with autoheader 2.57.
	* configure: Rebuilt with autoconf 2.57
	* README: Update to reflect rename of configure.in to configure.ac.

2003-07-07  Zack Weinberg  <zack@codesourcery.com>

	* README: Update.
	* Makefile.in (INSTALL, INSTALL_DATA, MKINSTALLDIRS,
	mkinstalldirs, gettextsrcdir, l): Delete.
	(COMPILE): Add $(DEFS-$@), remove $(XCFLAGS).
	(HEADERS): libgnuintl.h not libgnuintl.h.in.  Remove os2compat.h.
	(SOURCES): Remove os2compat.c.
	(DEFS-dcigettext.o, DEFS-localealias.o, DEFS-localcharset.o,
	DEFS-relocatable.o): New.
	(all-yes): Add config.intl.
	(libintl.h): Use cp, not cat.
	(INCLUDES): Remove -I..
	(TAGS, CTAGS, ID): Word wrap.
	(mostlyclean, distclean): Remove junk.
	(config.intl): New rule.
	* aclocal.m4: sinclude ../config/progtest.m4 instead of
	including it inline.
	* config.intl.in: New file.
	* configure.in: Take out unnecessary AC_CONFIG_AUX_DIR.
	Take out AC_DEFINEs for LOCALEDIR, LOCALE_ALIAS_PATH,
	LIBDIR, INSTALLDIR.  Set LIBINTL_DEP and INCINTL and AC_SUBST
	them.  Add config.intl to AC_OUTPUT.
	* os2compat.c, os2compat.h: Delete, unused.

2003-07-04  Zack Weinberg  <zack@codesourcery.com>

	* Makefile.in: Remove unnecessary capabilities for
	installation, build of shared libraries, generation of
	distribution tarballs, etc.  Fix all the places that rely on
	the parent directory.  Don't generate libgnuintl.h from
	anything; do generate $(objdir)/libintl.h from libgnuintl.h if
	necessary.  Adjust DEFS for use of config.h.
	* libgnuintl.h.in: Rename libgnuintl.h.
	* README: New file.
	* config.charset, ref-add.sin, ref-del.sin: Delete (unused).
	* COPYING.LIB-2.0, COPYING.LIB-2.1: Delete (redundant).
	* aclocal.m4: New; generated per instructions in gettext manual.
	* configure.in: New; written from scratch for this configuration.
	* configure, config.h.in: Generated.

2003-05-22  GNU  <bug-gnu-gettext@gnu.org>

	* Version 0.12.1 released.

