2015-09-11  Daiki Ueno  <ueno@gnu.org>

	* gettext 0.19.6 released.

2015-07-28  Daiki Ueno  <ueno@gnu.org>

	* gettext.m4 (AM_GNU_GETTEXT_REQUIRE_VERSION): New macro.  Bump
	serial to 67.

2015-07-10  Daiki Ueno  <ueno@gnu.org>

	* gettext 0.19.5 released.

2015-07-10  Daiki Ueno  <ueno@gnu.org>

	* intl.m4 (gt_INTL_SUBDIR_CORE): Check also for getlocalename_l.
	Bump serial to 29.

2014-12-24  Daiki Ueno  <ueno@gnu.org>

	* gettext 0.19.4 released.

2014-12-10  Daiki Ueno  <ueno@gnu.org>

	* intl.m4, po.m4: Bump serial to avoid any conflict with Gnulib's
	version after Gnulib commit 71be4c87.

2014-12-03  Daiki Ueno  <ueno@gnu.org>

	* extern-inline.m4, iconv.m4: Update from Gnulib.

2014-10-15  Daiki Ueno  <ueno@gnu.org>

	* gettext 0.19.3 released.

2014-09-30  Daiki Ueno  <ueno@gnu.org>

	* extern-inline.m4, threadlib.m4: Update from Gnulib.

2014-07-16  Daiki Ueno  <ueno@gnu.org>

	* intl.m4 (gt_GL_ATTRIBUTE): New macro.
	(AM_INTL_SUBDIR): Require gt_GL_ATTRIBUTE.

2014-07-14  Daiki Ueno  <ueno@gnu.org>

	* gettext 0.19.2 released.

2014-06-10  Daiki Ueno  <ueno@gnu.org>

	* gettext 0.19.1 released.

2014-06-02  Daiki Ueno  <ueno@gnu.org>

	* gettext 0.19 released.

2013-12-17  Daiki Ueno  <ueno@gnu.org>

	Add missing extern-inline.m4 into archive.
	Problem reported by Reuben Thomas in:
	<https://lists.gnu.org/archive/html/bug-gettext/2013-12/msg00010.html>.
	* extern-inline.m4: New file, from gnulib.
	* intl.m4 (AM_INTL_SUBDIR): Require gl_EXTERN_INLINE.
	* Makefile.am (EXTRA_DIST): Update.

2013-08-09  Daiki Ueno  <ueno@gnu.org>

	* intl.m4 (AM_INTL_SUBDIR): Fix AC_CHECK_DECLS usage.
	(gt_INTL_SUBDIR_CORE): Likewise.

2013-06-25  Daiki Ueno  <ueno@gnu.org>

	Allow user to supply custom sed command when generating en@quot.po.
	* po.m4 (AM_PO_SUBDIRS): Require AC_PROG_SED.

2013-04-23  Daiki Ueno  <ueno@gnu.org>

	Obsolete gt_CHECK_DECL in favor of AC_CHECK_DECLS.
	Now that macros installed by 'gettextize' require Autoconf 2.60,
	gt_CHECK_DECL can be safely replaced with AC_CHECK_DECLS.
	* intl.m4 (gt_CHECK_DECL): Remove.
	(AM_INTL_SUBDIR): Use AC_CHECK_DECLS instead of gt_CHECK_DECL.
	(gt_INTL_SUBDIR_CORE): Likewise.

2013-03-05  Daiki Ueno  <ueno@gnu.org>

	* fcntl-o.m4: Update copyright year.
	* gettext.m4: Likewise.
	* glibc2.m4: Likewise.
	* glibc21.m4: Likewise.
	* iconv.m4: Likewise.
	* intdiv0.m4: Likewise.
	* intl.m4: Likewise.
	* intldir.m4: Likewise.
	* intlmacosx.m4: Likewise.
	* intmax.m4: Likewise.
	* inttypes-pri.m4: Likewise.
	* inttypes_h.m4: Likewise.
	* lcmessage.m4: Likewise.
	* lock.m4: Likewise.
	* longlong.m4: Likewise.
	* nls.m4: Likewise.
	* po.m4: Likewise.
	* printf-posix.m4: Likewise.
	* progtest.m4: Likewise.
	* size_max.m4: Likewise.
	* stdint_h.m4: Likewise.
	* threadlib.m4: Likewise.
	* uintmax_t.m4: Likewise.
	* visibility.m4: Likewise.
	* wchar_t.m4: Likewise.
	* wint_t.m4: Likewise.
	* xsize.m4: Likewise.

2012-12-25  Daiki Ueno  <ueno@gnu.org>

	* gettext-0.18.2 released.

2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>  (tiny change)

	m4: use AC_PROG_MKDIR_P, not the deprecated AM_PROG_MKDIR_P
	* gettext.m4 (AM_INTL_SUBDIR): Require AC_PROG_MKDIR_P instead
	of AM_PROG_MKDIR_P, as this latter macro is deprecated since
	Automake 1.12.1, and will be removed in Automake 1.14.
	Accordingly, bump requirement in AC_PREREQ to 2.60.
	* po.m4 (AM_PO_SUBDIRS): Likewise.

2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>

	* lock.m4 (gl_PREREQ_LOCK): Do not require AC_C_INLINE.

2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	* xsize.m4 (gl_XSIZE): Do not require AC_C_INLINE.

2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	* fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
	that caused a GNU tar test failure.  Problem reported by Jez Wain; see
	<http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.

2012-06-22  Bruno Haible  <bruno@clisp.org>

	* gettext.m4: Write "Mac OS X" instead of "MacOS X".
	* intdiv0.m4: Likewise.
	* intlmacosx.m4: Likewise.
	* lock.m4: Likewise.
	* threadlib.m4: Likewise.
	* visibility.m4: Likewise.

2012-02-18  Bruno Haible  <bruno@clisp.org>

	* Makefile.am (EXTRA_DIST): Remove intmax_t.m4.

2012-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	* po.m4: Spelling fixes.

2012-01-26  Bruno Haible  <bruno@clisp.org>

	* gettext.m4: Update copyright year.
	* codeset.m4: Likewise.
	* glibc2.m4: Likewise.
	* glibc21.m4: Likewise.
	* iconv.m4: Likewise.
	* intdiv0.m4: Likewise.
	* intl.m4: Likewise.
	* intldir.m4: Likewise.
	* intlmacosx.m4: Likewise.
	* intmax.m4: Likewise.
	* inttypes-pri.m4: Likewise.
	* inttypes_h.m4: Likewise.
	* lcmessage.m4: Likewise.
	* lock.m4: Likewise.
	* longlong.m4: Likewise.
	* nls.m4: Likewise.
	* printf-posix.m4: Likewise.
	* progtest.m4: Likewise.
	* size_max.m4: Likewise.
	* stdint_h.m4: Likewise.
	* uintmax_t.m4: Likewise.
	* visibility.m4: Likewise.
	* wchar_t.m4: Likewise.
	* wint_t.m4: Likewise.
	* xsize.m4: Likewise.

2011-09-11  Bruno Haible  <bruno@clisp.org>

	Don't assume <unistd.h> exists.
	* fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
	include <io.h> and <stdlib.h> instead. Don't test symbolink links if
	symlink() does not exist.

2012-01-04  Bruno Haible  <bruno@clisp.org>

	Talk about "native Windows API", not "Win32".
	* threadlib.m4: Update comments to mention native Windows.
	(gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
	--enable-threads=windows instead of --enable-threads=win32. Set
	USE_WINDOWS_THREADS, not USE_WIN32_THREADS.

2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/gettext.m4: In commentary, do not use ` to quote.

2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>

	Use ', not `, for quoting output.
	* m4/intl.m4 (gt_CHECK_DECL): Quote 'like this', not `like this', as
	per the recent change to the GNU coding standards.
	* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT,
	AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.

2011-09-10  Bruno Haible  <bruno@clisp.org>

	iconv.m4: Add support for MSVC compiler.
	* iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.

2011-07-07  Bruno Haible  <bruno@clisp.org>

	Avoid literal tabs.
	* po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
	variable containing a tab instead of a literal tab.
	Reported by Jim Meyering.

2011-06-04  Bruno Haible  <bruno@clisp.org>

	Ensure intmax_t gets defined in libasprintf.
	* Makefile.am (EXTRA_DIST): Add intmax_t.m4.

2011-02-18  Eric Blake  <eblake@redhat.com>

	longlong: skip, rather than fail, on cross-compilation
	* longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
	when cross-compiling; regression from 2011-02-16.

2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	longlong: tune, particularly for common case of c99
	* longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
	or running anything if c99, or if unsigned long long int does not
	work.  In either case, we know the answer without further tests.
	Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
	it at most once, and use its results for both long long int and
	unsigned long long int.  This is more likely to be efficient in
	the common case where the program wants to check for both long
	long int and unsigned long long int.
	(AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
	since the answer is already known.

2010-12-04  Bruno Haible  <bruno@clisp.org>

	Put more information about failed tests into the test return codes.
	* intdiv0.m4 (gt_INTDIV0): Change test program so that it returns an
	enumerated value (0, 1, 2, 3, 4, ...).
	* fcntl-o.m4 (gl_FCNTL_O_FLAGS): Change test program so that it returns
	a bit mask.
	* iconv.m4 (AM_ICONV_LINK): Likewise.

2010-11-26  Bruno Haible  <bruno@clisp.org>

	* iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present, set
	ICONV_CONST.

2010-11-20  Bruno Haible  <bruno@clisp.org>

	Ensure that <features.h> is included before __GLIBC__ is tested.
	* intl.m4 (AM_INTL_SUBDIR): Test for <features.h>.
	Reported by Mike Frysinger <vapier@gentoo.org>.

2010-11-20  Bruno Haible  <bruno@clisp.org>

	Port to uClibc.
	* glibc21.m4 (gl_GLIBC21): Treat uClibc like glibc.
	* glibc2.m4 (gt_GLIBC2): Treat uClibc like a non-glibc platform.
	Reported by Mike Frysinger <vapier@gentoo.org>.

2010-10-04  Bruno Haible  <bruno@clisp.org>

	Make option --with-libpth-prefix work.
	* threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works, use
	$LIBPTH, not just -lpth.

2010-09-22  Bruno Haible  <bruno@clisp.org>

	* threadlib.m4 (gl_THREADLIB_EARLY_BODY): When gl_THREADLIB_DEFAULT_NO
	is defined, change the default to 'no'.
	Reported by Paul Eggert.

2010-09-04  Bruno Haible  <bruno@clisp.org>

	Set PATH_SEPARATOR the same way autoconf does.
	* progtest.m4 (AM_PATH_PROG_WITH_TEST): Determine the value of
	PATH_SEPARATOR the same way autoconf-generated configure scripts do.

2010-08-28  Bruno Haible  <bruno@clisp.org>

	Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
	* iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
	defined.
	Suggested by Eric Blake.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	Use new ansi-c++.m4 from gnulib.
	* ansi-c++.m4: Remove file.
	* Makefile.am (EXTRA_DIST): Remove it.
	Reported at <https://savannah.gnu.org/bugs/?30607>.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	iconv: Work around AIX 6.1..7.1 bug.
	* iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
	cross-compiling, guess no on all versions of AIX.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	iconv: Update regarding AIX.
	* iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on AIX 7.
	Reported by Rainer Tammer.

2010-07-19  Bruno Haible  <bruno@clisp.org>

	Modernize AC_TRY_RUN invocations.
	* iconv.m4 (AM_ICONV_LINK): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
	* intdiv0.m4 (gt_INTDIV0): Likewise.
	* printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
	* threadlib.m4 (gl_THREADLIB_BODY): Likewise.

2010-07-19  Bruno Haible  <bruno@clisp.org>

	Modernize AC_TRY_LINK invocations.
	* codeset.m4 (AM_LANGINFO_CODESET): Use AC_LINK_IFELSE instead of
	AC_TRY_LINK.
	* gettext.m4 (AM_GNU_GETTEXT): Likewise.
	* iconv.m4 (AM_ICONV_LINK): Likewise.
	* intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
	* intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
	* lcmessage.m4 (gt_LC_MESSAGES): Likewise.
	* threadlib.m4 (gl_THREADLIB_BODY): Likewise.

2010-07-18  Bruno Haible  <bruno@clisp.org>

	Modernize AC_TRY_COMPILE invocations.
	* iconv.m4 (gl_iconv_AC_DEFUN): Use AC_COMPILE_IFELSE instead of
	AC_TRY_COMPILE.
	* intl.m4 (gt_CHECK_DECL): Likewise.
	* intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
	* inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
	* inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
	* lock.m4 (gl_LOCK): Likewise.
	* size_max.m4 (gl_SIZE_MAX): Likewise.
	* stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
	* visibility.m4 (gl_VISIBILITY): Likewise.
	* wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
	* wint_t.m4 (gt_TYPE_WINT_T): Likewise.

2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)

	Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
	* fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
	not present (i.e. with autoconf 2.59 and when using gettextize, not
	gnulib), require AC_GNU_SOURCE instead.

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

	Avoid double-quotes inside backquote inside double-quote.
	* gettext-runtime/m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE):
	Remove unneeded outermost double-quotes around backquote that contains
	double-quoted strings. Avoids an idiom that nearly triggers a ksh bug.

2010-06-04  Bruno Haible  <bruno@clisp.org>

	Prefer documented low-level autoconf macro names.
	* intl.m4 (gt_CHECK_DECL): Use m4_translit instead of translit.

2010-06-04  Bruno Haible  <bruno@clisp.org>

	* gettext-0.18.1 released.

2010-06-03  Bruno Haible  <bruno@clisp.org>

	Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
	* iconv.m4 (gl_iconv_AC_DEFUN): New macro.
	(AM_ICONV): Define it through gl_iconv_AC_DEFUN.
	Reported by Ludovic Courtès <ludo@gnu.org>.

2010-05-16  Bruno Haible  <bruno@clisp.org>

	Avoid autoconf warnings about AM_ICONV.
	* iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >= 2.64.

2010-05-09  Bruno Haible  <bruno@clisp.org>

	* gettext-0.18 released.

2010-05-09  Bruno Haible  <bruno@clisp.org>

	* po.m4 (AM_PO_SUBDIRS): Set GETTEXT_MACRO_VERSION to 0.18.

2010-04-20  Simon Josefsson  <simon@josefsson.org>
            Bruno Haible  <bruno@clisp.org>

	visibility: Don't use -fvisibility if it leads to a warning.
	* visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
	yes, don't pretend that visibility works if it leads to a warning.
	Reported by Mike Gran <spk121@yahoo.com>.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	Make the multithread modules work on Cygwin 1.7.2.
	* threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether imported
	symbols can be declared weak, so that it returns "no" on Cygwin 1.7.2.

2010-03-28  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_GNU_GETTEXT): Emit a warning if the first argument is
	empty or 'no-libtool'.

2010-01-01  Bruno Haible  <bruno@clisp.org>

	* iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.

2009-12-26  Bruno Haible  <bruno@clisp.org>

	* intl.m4 (gt_INTL_SUBDIR_CORE): Don't check for NL_LOCALE_NAME macro.

2009-12-26  Bruno Haible  <bruno@clisp.org>

	* intl.m4 (gt_INTL_SUBDIR_CORE): Check also for uselocale.

2009-12-25  Bruno Haible  <bruno@clisp.org>

	* fcntl-o.m4: New file, from gnulib.
	* fcntl_h.m4: Remove file.
	* Makefile.am (EXTRA_DIST): Add fcntl-o.m4. Remove fcntl_h.m4.

2009-12-21  Bruno Haible  <bruno@clisp.org>

	Define override of setlocale and newlocale functions.
	* intl.m4 (AM_INTL_SUBDIR): Check also for newlocale. Set
	HAVE_NEWLOCALE.

2009-12-12  Bruno Haible  <bruno@clisp.org>

	* fcntl_h.m4: Untabify.
	* glibc2.m4: Untabify.
	* glibc21.m4: Untabify.
	* longlong.m4: Untabify.

2009-10-18  Bruno Haible  <bruno@clisp.org>

	* fcntl_h.m4: New file, from gnulib.
	* intl.m4 (AM_INTL_SUBDIR): Require gl_FCNTL_O_FLAGS.
	* Makefile.am (EXTRA_DIST): Add fcntl_h.m4.

2009-08-14  Bruno Haible  <bruno@clisp.org>

	* eoverflow.m4: Remove file. Obsoleted by gnulib's 'errno' module.
	* Makefile.am (EXTRA_DIST): Remove it.

2009-08-14  Bruno Haible  <bruno@clisp.org>

	Disable multithread support by default on Cygwin 1.5.x for real.
	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.

2009-08-12  Bruno Haible  <bruno@clisp.org>

	Disable multithread support by default on Cygwin 1.5.x.
	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
	set gl_use_threads=no if not specified otherwise.

2009-08-03  Bruno Haible  <bruno@clisp.org>

	* iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.

2009-06-06  Bruno Haible  <bruno@clisp.org>

	Interoperate with automake-1.11 provided --enable-silent-rules option.
	* intl.m4 (AM_INTL_SUBDIR): Set INTL_DEFAULT_VERBOSITY.

2009-05-21  Bruno Haible  <bruno@clisp.org>

	Avoid redefinition warnings for SIZE_MAX.
	* size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
	Reported by Simon Josefsson.

2009-05-21  Bruno Haible  <bruno@clisp.org>

	* size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
	AC_CACHE_VAL.

2009-02-23  Bruno Haible  <bruno@clisp.org>

	* intl.m4 (AM_INTL_SUBDIR): Also check for strnlen, wcsnlen, mbrtowc,
	wcrtomb.

2009-01-14  Bruno Haible  <bruno@clisp.org>

	* intl.m4: More consistent m4 quoting.

2009-01-14  Jim Meyering  <meyering@redhat.com>

	* codeset.m4: More consistent m4 quoting.
	* gettext.m4: Likewise.
	* iconv.m4: Likewise.
	* intldir.m4: Likewise.
	* intlmacosx.m4: Likewise.
	* intmax.m4: Likewise.
	* inttypes_h.m4: Likewise.
	* inttypes-pri.m4: Likewise.
	* lcmessage.m4: Likewise.
	* lock.m4: Likewise.
	* longlong.m4: Likewise.
	* nls.m4: Likewise.
	* po.m4: Likewise.
	* printf-posix.m4: Likewise.
	* progtest.m4: Likewise.
	* stdint_h.m4: Likewise.
	* threadlib.m4: Likewise.
	* uintmax_t.m4: Likewise.
	* wchar_t.m4: Likewise.
	* wint_t.m4: Likewise.

2008-12-29  Bruno Haible  <bruno@clisp.org>

	* codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
	quoting.
	* gettext.m4 (AM_GNU_GETTEXT): Likewise.
	* glibc2.m4 (gt_GLIBC2): Likewise.
	* glibc21.m4 (gl_GLIBC21): Likewise.
	* iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
	* intdiv0.m4 (gt_INTDIV0): Likewise.
	* intl.m4 (gt_INTL_SUBDIR_CORE, gt_CHECK_DECL): Likewise.
	* intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
	* intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
	* inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
	* inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
	* lcmessage.m4 (gt_LC_MESSAGES): Likewise.
	* nls.m4 (AM_NLS): Likewise.
	* po.m4 (AM_PO_SUBDIRS): Likewise.
	* printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
	* progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
	* size_max.m4 (gl_SIZE_MAX): Likewise.
	* stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
	* threadlib.m4 (gl_THREADLIB_BODY): Likewise.
	* uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
	* visibility.m4 (gl_VISIBILITY): Likewise.
	* wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
	* wint_t.m4 (gt_TYPE_WINT_T): Likewise.
	* xsize.m4 (gl_XSIZE): Likewise.

2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>

	Don't insist on 'long long int' support in the preprocessor.  It
	breaks too many things.  For example, PRIdMAX still uses a 'long
	long int' format with the latest Sun compiler, even though
	HAVE_LONG_LONG_INT isn't defined due to that compiler's
	preprocessor problem.  This causes the latest coreutils to dump
	core on Solaris 10 sparc with the Sun C compiler.
	Instead, fix the 2007-10-16 problem in a different way, by evaluating
	the troublesome expressions at configure-time, not at #if-time.
	* longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
	preprocessor.

2008-08-17  Bruno Haible  <bruno@clisp.org>

	* threadlib.m4: New file, from gnulib.
	* lock.m4: Update from gnulib.
	* Makefile.am (EXTRA_DIST): Add threadlib.m4.

2008-08-14  Bruno Haible  <bruno@clisp.org>

	* intl.m4 (AM_INTL_SUBDIR): Update after changes to lock.h.

2008-06-17  Bruno Haible  <bruno@clisp.org>

	New macro gl_DISABLE_THREADS.
	* lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
	if the user did not pass --enable-threads or --disable-threads option.
	(gl_DISABLE_THREADS): New macro.
	Reported by Eric Blake <ebb9@byu.net>.

2007-11-10  Bruno Haible  <bruno@clisp.org>

	* eoverflow.m4: New file, from gnulib.
	* Makefile.am (EXTRA_DIST): Add it.

2007-11-07  Bruno Haible  <bruno@clisp.org>

	* gettext-0.17 released.

2007-10-31  Bruno Haible  <bruno@clisp.org>

	* ulonglong.m4: Remove file.
	* Makefile.am (EXTRA_DIST): Remove it.

2007-10-31  Bruno Haible  <bruno@clisp.org>

	* uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
	AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
	* longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
	* ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.

2007-10-31  Bruno Haible  <bruno@clisp.org>

	* longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted from
	AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
	(AC_TYPE_LONG_LONG_INT): Use it.
	(AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from ulonglong.m4. Use it
	as well.
	* ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved to
	longlong.m4.

2007-10-28  Bruno Haible  <bruno@clisp.org>

	* po.m4 (AM_PO_SUBDIRS): Initialize XGETTEXT_EXTRA_OPTIONS.
	(AM_XGETTEXT_OPTION_INIT, AM_XGETTEXT_OPTION): New macros.

2007-10-28  Bruno Haible  <bruno@clisp.org>

	* po.m4 (AM_PO_SUBDIRS): Set GETTEXT_MACRO_VERSION to 0.17.

2007-10-27  Bruno Haible  <bruno@clisp.org>

	* intl.m4 (AM_INTL_SUBDIR): Set and AC_SUBST LTLIBC.

2007-10-22  Bruno Haible  <bruno@clisp.org>

	* ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
	-1u, in preprocessor expression, so that we don't test for the bug
	in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
	<http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.

2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>

	Check for 64-bit int errors in HP-UX 10.20 preprocessor.
	Problem reported by H.Merijn Brand in
	<http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
	* longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
	* ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.

2007-10-07  Bruno Haible  <bruno@clisp.org>

	* intl.m4 (AM_INTL_SUBDIR): Set WOE32DLL on mingw like on Cygwin.
	Fixes incomplete 2006-05-15 patch.
	Patch from Charles Wilson.

2007-09-12  Bruno Haible  <bruno@clisp.org>

	* lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
	(gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
	is not defined.

2007-09-12  Eric Blake  <ebb9@byu.net>

	* lock.m4 (gl_LOCK_EARLY_BODY): AC_GNU_SOURCE will be obsolete in
	Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead, but provide
	fallback, so that lock.m4 can be used in gettext without extensions
	module.

2007-09-08  Bruno Haible  <bruno@clisp.org>

	* po.m4 (AM_PO_SUBDIRS): Define GETTEXT_MACRO_VERSION.
	Suggested by Daniel Leidert <daniel.leidert.spam@gmx.net>.

2007-08-26  Bruno Haible  <bruno@clisp.org>

	* intl.m4 (gl_INTL_SUBDIR_CORE): Avoid an "unused variable" warning
	in the _NL_LOCALE_NAME test.
	Mentioned by Marti Raudsepp <marti@juffo.org>.

2007-06-07  Bruno Haible  <bruno@clisp.org>

	* intlmacosx.m4: New file, extracted from gettext.m4.
	* gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
	* Makefile.am (EXTRA_DIST): Add intlmacosx.m4.

2007-05-28  Bruno Haible  <bruno@clisp.org>

	* intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.

2007-05-27  Bruno Haible  <bruno@clisp.org>

	* iconv.m4: Update from gnulib.
	2007-05-27  Bruno Haible  <bruno@clisp.org>
		* iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.

2007-05-20  Bruno Haible  <bruno@clisp.org>

	* iconv.m4: Update from gnulib.
	2007-03-31  Bruno Haible  <bruno@clisp.org>
		* iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also
		against a bug in HP-UX iconv_open().
	2007-03-29  Bruno Haible  <bruno@clisp.org>
		* iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test
		against a bug in AIX iconv().

	* longlong.m4: Update from gnulib.
	2006-11-08  Bruno Haible  <bruno@clisp.org>
		* longlong.m4 (AC_TYPE_LONG_LONG_INT): Set
		ac_cv_type_long_long_int to 'yes' instead of 'cross-compiling'.
	2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
		* longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in Tandem
		NonStop Kernel (OSS) cc -O circa 2004, reported by Matthew
		Woehlke.

2007-04-06  Bruno Haible  <bruno@clisp.org>

	Assume the 'long double' type.
	* longdouble.m4: Remove file.
	* intl.m4: Remove gt_TYPE_LONGDOUBLE invocation.
	* Makefile.am (EXTRA_DIST): Remove longdouble.m4.

2007-04-02  Bruno Haible  <bruno@clisp.org>

	* intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on x86
	or x86_64 platforms running MacOS X.
	Reported by Ryan Schmidt <@ryandesign.com>.

2007-04-02  Bruno Haible  <bruno@clisp.org>

	* intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
	i386.

2007-03-04  Bruno Haible  <bruno@clisp.org>

	* printf-posix.m4 (gt_PRINTF_POSIX): Treat BeOS like NetBSD and Woe32
	systems.

2007-02-13  Bruno Haible  <bruno@clisp.org>

	* intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2007-01-10  Eric Blake  <ebb9@byu.net>

	* wint_t.m4 (gt_TYPE_WINT_T): Include <stddef.h> before <wchar.h>, to
	work around BSDI bug in BSD/OS 4.0.1.
	Reported by Chris McGuire.

2006-11-21  Bruno Haible  <bruno@clisp.org>

	* size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
	_AC_COMPUTE_INT.
	(AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.

2006-11-27  Bruno Haible  <bruno@clisp.org>

	* gettext-0.16.1 released.

2006-11-20  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
	changequote instead of pairs of brackets.
	Reported by Andreas Schwab <schwab@suse.de>.

2006-10-26  Bruno Haible  <bruno@clisp.org>

	* gettext-0.16 released.

2006-10-19  Bruno Haible  <bruno@clisp.org>

	* size_max.m4 (gl_SIZE_MAX): Cache the result.

2006-10-15  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_GNU_GETTEXT): Don't use 'eval' on commands, only on
	variable assignments. Fixes bug introduced on 2006-10-01.

2006-10-11  Bruno Haible  <bruno@clisp.org>

	* intl.m4 (AM_INTL_SUBDIR): Invoke AC_TYPE_LONG_LONG_INT instead of
	gl_AC_TYPE_LONG_LONG.

2006-10-11  Bruno Haible  <bruno@clisp.org>

	* longlong.m4: Add comments.
	* ulonglong.m4: Likewise.

2006-08-22  Eric Blake  <ebb9@byu.net>

	* longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid compiler warning.

2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	* longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
	but fix a bug, by requiring at least 64 bits.
	* ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
	* longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
	AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
	* ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.

2006-10-01  Bruno Haible  <bruno@clisp.org>

	Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
	* lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
	gl_LOCK_BODY.
	(gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
	(gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
	gl_LOCK_EARLY_BODY.
	(gl_LOCK): Require gl_LOCK_BODY.

2006-10-01  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (gt_NEEDS_INIT, AM_GNU_GETTEXT_NEED): New macros.
	(AM_GNU_GETTEXT): Invoke them. Convert gt_api_version,
	gt_cv_func_gnugettext_libc, gt_cv_func_gnugettext_libintl from
	m4-time variables to sh-time variables.

2006-10-01  Bruno Haible  <bruno@clisp.org>

	* intldir.m4: New file.
	* gettext.m4 (AM_GNU_GETTEXT): Define gt_included_intl to yes if
	AM_GNU_GETTEXT_INTL_SUBDIR is present among the macros selected by
	aclocal.
	* Makefile.am (EXTRA_DIST): Add intl.m4, intldir.m4.

2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.

2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.

2006-09-18  Bruno Haible  <bruno@clisp.org>

	Assume autoconf-2.52 or newer.
	* inttypes-h.m4: Remove file.
	* inttypes-pri.m4: Require autoconf >= 2.52.
	(gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
	ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
	* intl.m4: Require autoconf >= 2.52.
	(gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
	* Makefile.am (EXTRA_DIST): Remove inttypes-h.m4.

2006-09-11  Bruno Haible  <bruno@clisp.org>

	* intl.m4: New file, extracted from gettext.m4.
	* gettext.m4 (AM_INTL_SUBDIR, gt_INTL_SUBDIR_CORE, gt_CHECK_DECL):
	Move out to intl.m4.

2006-08-26  Bruno Haible  <bruno@clisp.org>

	* inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST PRI_MACROS_BROKEN.

2006-08-28  Bruno Haible  <bruno@clisp.org>

	* signed.m4: Remove file.
	* gettext.m4 (AM_INTL_SUBDIR): Remove bh_C_SIGNED invocation.
	* Makefile.am (EXTRA_DIST): Remove signed.m4.

2006-08-22  Eric Blake  <ebb9@byu.net>

	* stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
	* inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
	* codeset.m4 (AM_LANGINFO_CODESET): Likewise.

2006-08-23  Bruno Haible <bruno@clisp.org>

	* lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
	(gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
	(gl_LOCK): New macro.

2006-08-18  Bruno Haible  <bruno@clisp.org>

	* lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads on
	OSF/1 to no.
	Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.

2006-07-21  Bruno Haible  <bruno@clisp.org>

	* gettext-0.15 released.

2006-06-27  Bruno Haible  <bruno@clisp.org>

	* isc-posix.m4: Remove file.
	* Makefile.am (EXTRA_DIST): Remove it.
	* gettext.m4 (AM_INTL_SUBDIR): Remove AC_ISC_POSIX invocation.

2006-06-27  Bruno Haible  <bruno@clisp.org>

	Assume working 'const'.
	* gettext.m4 (gt_INTL_SUBDIR_CORE): Remove AC_C_CONST invocation.

2006-06-15  Bruno Haible  <bruno@clisp.org>

        * size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.

2005-07-10  Bruno Haible  <bruno@clisp.org>

        * size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
        Needed when size_t is smaller than 'unsigned int'.
        Reported by Paul Eggert.

2006-01-08  Bruno Haible  <bruno@clisp.org>

        Ensure automatic ordering between gl_LOCK and gl_ARGP.
        * lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
        (gl_LOCK): New macro, requiring gl_LOCK_BODY.

2006-06-23  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (gt_INTL_SUBDIR_CORE): Check for argz_* functions,
	not __argz*. Avoids warnings on Cygwin.
	Reported by Eric Blake.

2006-06-17  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Don't redefine __libc_rwlock_* symbols.

2006-06-17  Bruno Haible  <bruno@clisp.org>

	* po.m4 (AM_POSTPROCESS_PO_MAKEFILE): Remove double-quotes around
	backquoted expression in assignment.
	Fixes a problem with NetBSD /bin/sh.

2006-06-04  Bruno Haible  <bruno@clisp.org>

	* inttypes-h.m4: Renamed from inttypes.m4.
	(gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
	* inttypes-pri.m4 (gt_INTTYPES_PRI): Update.
	* gettext.m4 (gt_INTL_SUBDIR_CORE): Update.
	* Makefile.am (EXTRA_DIST): Update.

2006-05-15  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Set variable WOE32DLL instead of
	CYGWINDLL.

2006-05-11  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Set variable CYGWINDLL.

2006-05-07  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (gt_INTL_SUBDIR_CORE): Fix test of __builtin_expect so
	that it works correctly with non-gcc compilers.

2006-04-17  Bruno Haible  <bruno@clisp.org>

	* nls.m4 (AM_MKINSTALLDIRS): Remove macro.
	* gettext.m4 (AM_INTL_SUBDIR): Require AM_PROG_MKDIR_P instead of
	AM_MKINSTALLDIRS.
	* po.m4 (AM_PO_SUBDIRS): Likewise.

2006-04-14  Bruno Haible  <bruno@clisp.org>

	Prepare for autoconf-2.60.
	* po.m4 (AM_PO_SUBDIRS): Set localedir if not already defined.

2006-02-21  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_GNU_GETTEXT): Invoke AM_NLS through AC_REQUIRE, not
	directly.
	Reported by Ron Lee <ron@debian.org>.

2005-11-21  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Invoke gt_LC_MESSAGES always, since we
	assume that <locale.h> always exists.
	Fixes bug introduced on 2005-08-28.

2005-10-18  Bruno Haible  <bruno@clisp.org>

	* po.m4 (AM_PO_SUBDIRS): Also define MSGFMT_015, GMSGFMT_015,
	XGETTEXT_015.

2005-10-18  Bruno Haible  <bruno@clisp.org>

	* po.m4 (AM_PO_SUBDIRS): Remove redundant checks.

2005-08-28  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Remove AC_HEADER_STDC, AC_TYPE_OFF_T
	tests. Remove tests for locale.h, nl_types.h, malloc.h.
	(gt_INTL_SUBDIR_CORE): Add test for __builtin_expect.

2005-08-28  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (gt_INTL_SUBDIR_CORE): New macro, extracted from
	AM_INTL_SUBDIR.
	(AM_INTL_SUBDIR): Require it.

2005-08-15  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Fix test for NL_LOCALE_NAME macro.

2005-07-28  Stepan Kasal  <kasal@ucw.cz>

	* gettext.m4 (AM_GNU_GETTEXT): Don't use changequote, add pairs of
	brackets instead.

2005-07-28  Bruno Haible  <bruno@clisp.org>

	* po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Update comments
	regarding automake.
	Suggested by Stepan Kasal <kasal@ucw.cz>.

2005-07-24  Bruno Haible  <bruno@clisp.org>

	Tidy up exported symbols.
	* gettext.m4 (AM_INTL_SUBDIR): Require gl_VISIBILITY.
	* visibility.m4: New file.
	* Makefile.am (EXTRA_DIST): Add it.

2005-07-26  Bruno Haible  <bruno@clisp.org>

	* lock.m4 (gl_LOCK): On OSF/1 with cc, use -D_REENTRANT, not -pthread.

2005-07-26  Bruno Haible  <bruno@clisp.org>

	* lock.m4 (gl_LOCK): Add some ordering constraints.

2005-07-25  Bruno Haible  <bruno@clisp.org>

	* lock.m4 (gl_LOCK): On Solaris and HP-UX, define
	PTHREAD_IN_USE_DETECTION_HARD.
	* gettext.m4 (AM_INTL_SUBDIR): Also hide the glthread_in_use function.

2005-07-22  Bruno Haible  <bruno@clisp.org>

	* lock.m4 (gl_LOCK): Stronger test for pthread functions in libc, so
	that the result on IRIX 6.5 is no.

2005-07-16  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Also hide the glthread_once* functions.

2005-07-16  Bruno Haible  <bruno@clisp.org>

	* lock.m4: New file.
	* gettext.m4 (AM_INTL_SUBDIR): Remove multithreading checks. Instead
	require gl_LOCK and define __libc_lock_*, __libc_rwlock_*,
	__libc_lock_*recursive*, glthread_* as macros.
	* Makefile.am (EXTRA_DIST): Add lock.m4.

2005-05-05  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_GNU_GETTEXT): Add LIBTHREAD to LIBINTL and
	LTLIBTHREAD to LTLIBINTL.
	(AM_INTL_SUBDIR): Check for thread library. Set LIBTHREAD, LTLIBTHREAD.

2005-03-13  Bruno Haible  <bruno@clisp.org>

	* po.m4 (AM_PO_SUBDIRS): Use AC_CONFIG_COMMANDS instead of
	AC_OUTPUT_COMMANDS.
	Suggested by Alexandre Duret-Lutz <adl@src.lip6.fr>.

2005-04-30  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Remove CPPFLAGS addition for
	CoreFoundation on MacOS X.
	(gt_INTL_MACOSX): Likewise. Use #include <CoreFoundation/...> syntax.
	It's a special Apple syntax implemented in the C compiler, but since
	<CFString.h> already uses it, all compilers usable on MacOS X must
	support it. In LIBS, use -Wl prefix for -framework option.

2005-05-03  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Also test for NL_LOCALE_NAME macro.

2006-06-21  Bruno Haible  <bruno@clisp.org>

	* gettext-0.14.6 released.

2005-05-23  Bruno Haible  <bruno@clisp.org>

	* gettext-0.14.5 released.

2005-04-11  Bruno Haible  <bruno@clisp.org>

	* gettext-0.14.4 released.

2005-04-06  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_GNU_GETTEXT): Don't use a cast from 'char *' to 'int',
	since it's not valid in C++ on 64-bit machines.
	Reported by Mads Martin Joergensen <mmj@suse.de>.

2005-03-14  Bruno Haible  <bruno@clisp.org>

	* gettext-0.14.3 released.

2005-03-12  Bruno Haible  <bruno@clisp.org>

	* po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): In the LINGUAS
	file, ignore also comments that don't start in column 0.

2005-03-12  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_GNU_GETTEXT): Fix quoting bug. Fixes an endless loop
	of 'aclocal' when a configure.ac contains two invocations of
	AM_GNU_GETTEXT.

2005-03-11  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_GNU_GETTEXT): CATOBJEXT and INTLOBJS default to empty.
	Reported by Stepan Kasal <kasal@ucw.cz>.

2005-03-07  Bruno Haible  <bruno@clisp.org>

	* po.m4: Add comments.

2005-03-05  Bruno Haible  <bruno@clisp.org>

	* nls.m4: Require autoconf >= 2.50.
	(AM_MKINSTALLDIRS): Use AC_REQUIRE_AUX_FILE conditionally.

2005-02-24  Bruno Haible  <bruno@clisp.org>

	* gettext-0.14.2 released.

2005-01-29  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (gt_INTL_MACOSX): New macro, extracted from
	AM_INTL_SUBDIR. Set INTL_MACOSX_LIBS instead of INTL_MACOSX_LDFLAGS.
	(AM_GNU_GETTEXT): Invoke it. Add the INTL_MACOSX_LIBS contents to
	LIBINTL and LTLIBINTL.
	(AM_INTL_SUBDIR): Require gt_INTL_MACOSX.

2005-01-19  Bruno Haible  <bruno@clisp.org>

	* ansi-c++.m4, codeset.m4, gettext.m4, glibc21.m4, glibc2.m4, iconv.m4:
	* intdiv0.m4, intmax.m4, inttypes_h.m4, inttypes.m4, inttypes-pri.m4:
	* isc-posix.m4, lcmessage.m4, longdouble.m4, longlong.m4, nls.m4:
	* po.m4, printf-posix.m4, progtest.m4, signed.m4, size_max.m4:
	* stdint_h.m4, uintmax_t.m4, ulonglong.m4, wchar_t.m4, wint_t.m4:
	* xsize.m4:
	Use an all-permissive copyright notice, recommended by RMS.

2005-01-10  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_GNU_GETTEXT): Declare _nl_expand_alias with an
	argument.
	Reported by Mark A. Wicks <mwicks@kettering.edu> and
	Vaclav Haisman <V.Haisman@sh.cvut.cz>.

2005-01-08  Bruno Haible  <bruno@clisp.org>

	* progtest.m4: Require autoconf >= 2.50.
	(AM_PATH_PROG_WITH_TEST): Emit some traces to the log file.
	* po.m4: Require autoconf >= 2.50.
	(AM_PO_SUBDIRS): Emit the tested program's output to the log file.
	Suggested by Yann Dirson <ydirson@altern.org>.

2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	* longlong.m4, ulonglong.m4: Fix copyright date and/or serial number.

2004-09-05  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Test for CFPreferencesCopyAppValue.

2004-09-03  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Add a test for CFLocaleCopyCurrent.

2004-05-16  Bruno Haible  <bruno@clisp.org>

	* lcmessage.m4 (gt_LC_MESSAGES): Renamed from AM_LC_MESSAGES.
	* gettext.m4 (AM_INTL_SUBDIR): Update.
	Suggested by Alexandre Duret-Lutz.

2004-04-19  Bruno Haible  <bruno@clisp.org>

	* gettext.m4: Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.

2004-04-19  Bruno Haible  <bruno@clisp.org>

	* inttypes_h.m4: Change jm_ to gl_ in cache variables as well.
	* stdint_h.m4: Likewise.
	* uintmax_t.m4: Likewise.

2004-04-18  Jim Meyering  <jim@meyering.net>

	* glibc21.m4: Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
	* intmax.m4: Likewise.
	* inttypes_h.m4: Likewise.
	* longlong.m4: Likewise.
	* stdint_h.m4: Likewise.
	* uintmax_t.m4: Likewise.
	* ulonglong.m4: Likewise.

2004-03-02  Bruno Haible  <bruno@clisp.org>

	* po.m4 (AM_POSTPROCESS_PO_MAKEFILE): For RESOURCESDLLFILES and
	CSHARPCATALOGS, extend the lang -> frobbedlang mapping so as to support
	Serbian and Uzbek locales.

2004-02-18  Bruno Haible  <bruno@clisp.org>

	* xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
	Reported by Derek Robert Price <derek@ximbiot.com>.

2004-02-02  Bruno Haible  <bruno@clisp.org>

	* glibc2.m4: New file.
	* gettext.m4 (AM_INTL_SUBDIR): Require gt_GLIBC2.
	* Makefile.am (EXTRA_DIST): Add glibc2.m4.

2004-01-29  Bruno Haible  <bruno@clisp.org>

	* gettext-0.14.1 released.

2004-01-28  Bruno Haible  <bruno@clisp.org>

	* gettext-0.14 released.

2003-12-26  Bruno Haible  <bruno@clisp.org>

	Support for C#.
	* po.m4 (AM_POSTPROCESS_PO_MAKEFILE): Substitute also the variables
	RESOURCESDLLFILES and CSHARPCATALOGS. Add rules for each member of
	CSHARPCATALOGS.

2003-12-17  Bruno Haible  <bruno@clisp.org>

	* gettext-0.13.1 released.

2003-12-16  Bruno Haible  <bruno@clisp.org>

	* printf-posix.m4 (gt_PRINTF_POSIX): Guess correctly when cross-
	compiling to Cygwin.

2003-11-30  Bruno Haible  <bruno@clisp.org>

	* gettext-0.13 released.

2003-11-23  Bruno Haible  <bruno@clisp.org>

	* ssize_t.m4: Remove file, moved to ../../gettext-tools/m4/.
	* gettext.m4 (AM_INTL_SUBDIR): Don't require gt_TYPE_SSIZE_T.
	* Makefile.am (EXTRA_DIST): Remove ssize_t.m4.

2003-11-19  Bruno Haible  <bruno@clisp.org>

	* size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.

2003-11-16  Bruno Haible  <bruno@clisp.org>

	* size_max.m4: New file, moved here from ../../gettext-tools/m4/.
	* ssize_t.m4: New file, moved here from ../../gettext-tools/m4/.
	* xsize.m4: New file, moved here from ../../gettext-tools/m4/.
	* gettext.m4 (AM_INTL_SUBDIR): Require gt_TYPE_SSIZE_T, gl_XSIZE.
	Improve ptrdiff_t test.
	* Makefile.am (EXTRA_DIST): Add size_max.m4, ssize_t.m4, xsize.m4.

2003-11-09  Bruno Haible  <bruno@clisp.org>

	* po.m4 (AM_POSTPROCESS_PO_MAKEFILE): New macro.

2003-09-17  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Test for fwprintf, not wprintf. Needed
	because cygwin-1.3.22 has a broken definition of wprintf in
	winsup/cygwin/syscalls.cc and lacks 1. the declaration of this function
	and 2. the other wide-char I/O functions fwprintf, fwscanf, wprintf,
	wscanf, swprintf, swscanf, vfwprintf, vwprintf, vwsprintf, fgetwc,
	fgetwc, fputwc, fputws, getwc, getwchar, putwc, putwchar, ungetwc.

2003-08-29  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Test whether _snprintf and _snwprintf
	are declared, not only existent as functions.

2003-08-24  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Also check for _snprintf, _snwprintf.

2003-08-11  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Also check for wcslen.

2003-06-27  Bruno Haible  <bruno@clisp.org>

	Avoid use of *_unlocked functions on Solaris 2.5.1.
	* gettext.m4 (AM_INTL_SUBDIR): Don't test for the functions
	feof_unlocked, fgets_unlocked, getc_unlocked. Test for their
	declaration instead.
	(gt_CHECK_DECL): New macro.
	Reported by Eric Botcazou <ebotcazou@libertysurf.fr>.

2003-06-19  Bruno Haible  <bruno@clisp.org>

	* printf-posix.m4: New file.
	* Makefile.am (EXTRA_DIST): Add printf-posix.m4.
	* gettext.m4 (AM_INTL_SUBDIR): Require bh_C_SIGNED,
	jm_AC_TYPE_LONG_LONG, gt_TYPE_LONGDOUBLE, gt_TYPE_WCHAR_T,
	gt_TYPE_WINT_T, jm_AC_HEADER_INTTYPES_H, jm_AC_HEADER_STDINT_H,
	gt_TYPE_INTMAX_T, gt_PRINTF_POSIX. Check for ptrdiff_t, asprintf,
	snprintf, wprintf.
	* longlong.m4: Update from gnulib.
	(jm_AC_TYPE_LONG_LONG): Replaces gt_TYPE_LONGLONG.

2003-01-11  Bruno Haible  <bruno@clisp.org>

	* ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
	suffix.

2003-05-22  Bruno Haible  <bruno@clisp.org>

	* gettext-0.12.1 released.

2003-05-17  Bruno Haible  <bruno@clisp.org>

	* gettext-0.12 released.

2003-04-29  Bruno Haible  <bruno@clisp.org>

	* nls.m4: New file, extracted from gettext.m4.
	* po.m4: New file, extracted from gettext.m4.
	* gettext.m4 (AM_GNU_GETTEXT): Use AM_NLS.
	(AM_PO_SUBDIRS, AM_MKINSTALLDIRS): Remove macros.
	* Makefile.am (EXTRA_DIST): Add them.

2003-03-16  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_INTL_SUBDIR): Also test for __fsetlocking.

2003-02-28  Bruno Haible  <bruno@clisp.org>

	* error.m4: Remove file. Use ../../gettext-tools/m4/error.m4 instead.
	* Makefile.am (EXTRA_DIST): Remove it.

2003-02-28  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_MKINSTALLDIRS): Fix MKINSTALLDIRS for when AC_AUX_DIR
	is given and $srcdir is a relative directory.

2003-02-16  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_PO_SUBDIRS): Require an xgettext that supports the
	--msgid-bugs-address option.

2003-02-16  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_GNU_GETTEXT): Move INTLOBJS to backward compatibility
	section.

2003-02-12  Bruno Haible  <bruno@clisp.org>

	Restructure gettext package.
	* ansi-c++.m4: New file.
	* gettext.m4 (AM_GNU_GETTEXT): Special case the packages
	'gettext-runtime' and 'gettext-tools'.
	* Makefile.am: New file.

