autoupdate
wctype-h: fix gettext link error on mingw

Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
<https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
* lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
rpl_towupper and rpl_towupper.
alignof, intprops, malloca: port better to IBM's C compiler

* lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
* lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
* lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
qacl: new module, broken out from the acl module

This is for GNU Emacs, which wants the acl functions but does
not want 'error' invoked when they fail.
* lib/acl-internal.h: Do not include error.h, quote.h.
(ENOSYS, ENOTSUP): Remove; no longer needed.
(ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
* lib/acl.h: Include <stdbool.h>.
(acl_errno_valid): New function.
* lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
* lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
* lib/set-acl.c: Rename from lib/set-mode-acl.c.
(chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
(ACL_INTERNAL_INLINE): Remove; no longer needed.
* lib/file-has-acl.c (file_has_acl):
* lib/qcopy-acl.c (qcopy_acl):
* lib/qset-acl.c (qset_acl):
Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
* modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
lib/file-has-acl.c, m4/acl.m4 to qacl module.
Add lib/set-acl.c.
(Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
Add qacl.
(configure.ac): Move gl_FUNC_ACL to qacl module.
(lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
Rename set-mode-acl.c to set-acl.c.
* lib/acl-errno-valid.c: New file.
* lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
copy_acl function remains in copy-acl.c.
* lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
(_): Remove; not needed.
* lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
* modules/qacl: New file, moved from the old modules/acl.
(Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
Remove set-mode-acl.c, copy-acl.c.
(Depends-on): Remove error, gettext-h, quote.  Add stdbool.
autoupdate
extern-inline: work around bug in Sun c99

* m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
Work around bug in Sun C 5.12 c99's implementation of 'inline'.
tests: don't assume getdtablesize () <= 10000000

* modules/cloexec-tests:
* modules/dup2-tests:
* modules/dup3-tests:
* modules/nonblocking-tests:
* modules/posix_spawn_file_actions_addclose-tests:
* modules/posix_spawn_file_actions_adddup2-tests:
* modules/posix_spawn_file_actions_addopen-tests:
* modules/unistd-safer-tests:
Depend on the getdtablesize module.
* tests/test-cloexec.c:
* tests/test-dup-safer.c:
* tests/test-dup2.c:
* tests/test-dup3.c:
* tests/test-fcntl.c:
* tests/test-nonblocking.c:
* tests/test-posix_spawn_file_actions_addclose.c:
* tests/test-posix_spawn_file_actions_adddup2.c:
* tests/test-posix_spawn_file_actions_addopen.c:
Don't assume getdtablesize () <= 10000000.
acl: include errno.h to get errno

Reported by Daiki Ueno in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
* lib/copy-acl.c, lib/set-acl.c: Include errno.h.
gettext: now it's your responsibility to add -I$(top_builddir)/intl

Formerly, it was your responsibility to do this for all Makefile.ams
other than Gnulib's.  Now it's your responsibility to do it for
Gnulib's Makefile.am, too.
* NEWS: Document this.
* modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
utimens, utimensat: work around Solaris UTIME_OMIT bug

Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
Linux kernel 2.6.32 does.  Work around it in the same way.
* doc/posix-functions/futimens.texi (futimens):
* doc/posix-functions/utimensat.texi (utimensat): Document the bug.
* lib/utimens.c (fdutimens, lutimens):
* lib/utimensat.c (rpl_utimensat): Work around the bug.
utimensat-tests, etc.: try to fix some races

Problem reported by Bernhard Voelker in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
I don't know whether this patch fixes that race condition, but it
fixes *some* race conditions, so it should be a win.
* modules/chown-tests (Depends-on):
* modules/fchownat-tests (Depends-on):
* modules/fdutimensat-tests (Depends-on):
* modules/futimens-tests (Depends-on):
* modules/lchown-tests (Depends-on):
* modules/stat-time-tests (Depends-on):
* modules/utimens-tests (Depends-on):
* modules/utimensat-tests (Depends-on):
Depend on nanosleep, not usleep.
* modules/chown-tests (test_chown_LDADD):
* modules/lchown-tests (test_lchown_LDADD):
* modules/stat-time-tests (test_stat_time_LDADD):
New macro.
* modules/fchownat-tests (test_fchownat_LDADD):
* modules/fdutimensat-tests (test_fdutimensat_LDADD):
* modules/futimens-tests (test_futimens_LDADD):
* modules/utimens-tests (test_utimens_LDADD):
* modules/utimensat-tests (test_utimensat_LDADD):
Add $(LIB_NANOSLEEP).
* modules/stat-time-tests (Files): Add tests/nap.h.
* tests/nap.h: Include <limits.h>, for INT_MAX.
(lt_mtime): Remove.
(diff_timespec): New function.
(get_stat): Rename from get_mtime.  All callers changed.
(nap_works): Determine the needed delay by inspecting the
file system's timestamp jumps; this should be more reliable.
Look at both mtime and ctime, and take the maximum of the two jumps.
(nap_works, guess_delay):
Return a nanosecond cound, not a microsecond count.
All callers changed.
(nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
failure.
(nap): Multiply the guess by 1.125, to accommodate the case where
the file system's clock is a bit slower than nanosleep's clock.
* tests/test-stat-time.c (BASE): New macro.
Include nap.h.
(nap): Remove; nap.h now defines this.  This removes a duplicate
implementation of 'nap'.
Assume gnulib is checked out from Git, not CVS

In fact, access to the gnulib repository through CVS has been disabled,
or more precisely, got broken and was never restored; see:
<http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>

Note that support for CVS is not removed completely and unthinkingly
by this change: only support for CVS checkouts of gnulib itself is
removed.  For example, the 'bootstrap' script still cater to .cvsingore
files and CVS directories, for the benefit of those poor gnulib clients
still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.

* gnulib-tool: Simplify accordingly.
* posix-modules: Likewise.
* MODULES.html.sh: Likewise.
* doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
repository.
* doc/gnulib-intro.texi: Likewise.
* doc/gnulib-readme.texi: Likewise.
* doc/gnulib-tool.texi: In the examples and explanations, refer to a
sample '.gitignore' file rather than a sample '.cvsignore'.
* NEWS: Update.
* m4/extensions.m4: While at it, remove a comment mistakenly referring
to "CVS Autoconf" rather than "git Autoconf".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Acked-by: Paul Eggert <eggert@cs.ucla.edu>
fchownat, renameat, unlinkat: update statat dependencies

These modules use statat and lstatat, not fstatat; so depend on
the statat module, which was split out recently from fstatat.
* modules/fchownat, modules/unlinkat: Change fstatat to statat.
* modules/renameat: Likewise.  Also delete fstat.
URL: http://bugs.gentoo.org/468790
acl: include quote.h

These files use quote(), so include quote.h for it otherwise we fail to
build with errors like:
copy-acl.c: In function 'copy_acl':
copy-acl.c:51:7: error: implicit declaration of function 'quote'
	[-Werror=implicit-function-declaration]

* lib/copy-acl.c: Include quote.h.
* lib/set-acl.c: Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
qacl: port to MS-Windows port of GNU Emacs

* lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
port of GNU Emacs.  Problem reported by Eli Zaretskii in
<http://bugs.gnu.org/14295#14>.
ChangeLog: whitespace cleanup

Signed-off-by: Eric Blake <eblake@redhat.com>
bootstrap: AC_INIT may have more than four parameters

For packages that did
  AC_INIT([package], [version], [bug-report], [], [url])
the extraction script was grabbing url instead of package for the
value of $package.

Furthermore, while we guarantee LC_ALL=C, this code is liable to
be copied and pasted to a script that doesn't use the C locale and
thus where a range expression may misbehave.

* build-aux/bootstrap (extract_package_name): Correctly extract
non-empty tarname field.  Avoid range in regex.
Based on a report by Sami Kerola <kerolasa@iki.fi>.

Signed-off-by: Eric Blake <eblake@redhat.com>
autoupdate
deps: require Automake >= 1.9.6 in generated Makefile fragments

That is the same minimal version required in the DEPENDENCIES file.
Moreover, the old code generated a requirement of Automake >= 1.5,
and that is an insanely outdated version.

* gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
* tests/havelib/rpathlx/Makefile.am: Likewise.
* tests/havelib/rpathly/Makefile.am: Likewise.
* tests/havelib/rpathlyx/Makefile.am: Likewise.
* tests/havelib/rpathlz/Makefile.am: Likewise.
* tests/havelib/rpathlzyx/Makefile.am: Likewise.
* tests/havelib/rpathx/Makefile.am: Likewise.
* tests/havelib/rpathy/Makefile.am: Likewise.
* tests/havelib/rpathz/Makefile.am: Likewise.
maint.mk: catch more abuse of HAVE_DECL in syntax-check

Libvirt had a patch that attempted to do:

+#elif defined(SIOCSIFLLADDR) && defined(HAVE_STRUCT_IFREQ) && \
+    defined(HAVE_DECL_LINK_ADDR)

but which was not flagged by the syntax checker as suspicious
(all HAVE_DECL_* symbols defined by autoconf are always defined
after including <config.h>, although they are sometimes defined
as the value 0).  Now that code is flagged until changed to:

+#elif defined(SIOCSIFLLADDR) && defined(HAVE_STRUCT_IFREQ) && \
+    HAVE_DECL_LINK_ADDR

* top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.

Signed-off-by: Eric Blake <eblake@redhat.com>