Jim Meyering [Tue, 2 Aug 2011 12:54:34 +0000 (14:54 +0200)]
maint.mk: relax the default _gl_TS_function_match regexp
* top/maint.mk (_gl_TS_function_match): Don't require at least one
space between function name and "(" in an "extern" declaration.
That would fail to match a decl with no space there: extern void foo();
git-version-gen: document that EXTRA_DIST must include .version
* build-aux/git-version-gen: In the how-to-use comment, document
that EXTRA_DIST must include .version. Otherwise, "make distcheck"
will fail when run from an unpacked distribution tarball.
Bruno Haible [Sun, 31 Jul 2011 20:39:32 +0000 (22:39 +0200)]
wctype-h: Add support for Minix.
* m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
REPLACE_TOWLOWER.
* modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
* lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
REPLACE_ISWCNTRL.
Bruno Haible [Sun, 31 Jul 2011 17:00:23 +0000 (19:00 +0200)]
errno: Port to Minix.
* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
ECONNABORTED are defined.
* lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
GNULIB_defined_ECONNABORTED): New macros.
* lib/strerror-override.h (strerror_override): Test also
GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
* lib/strerror-override.c (strerror_override): Handle also ENETRESET,
ECONNABORTED.
* doc/posix-headers/errno.texi: Mention the Minix problem.
Bruno Haible [Sun, 31 Jul 2011 15:05:59 +0000 (17:05 +0200)]
Work around declaration collisions on Minix.
* m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
defined, set REPLACE_MBSINIT.
* m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
defined, set REPLACE_MBRTOWC.
* m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
set REPLACE_MBRLEN.
* m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
defined, set REPLACE_MBSRTOWCS.
* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
defined, set REPLACE_WCRTOMB.
* m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
defined, set REPLACE_WCSRTOMBS.
Jim Meyering [Wed, 27 Jul 2011 18:27:48 +0000 (20:27 +0200)]
maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
* top/maint.mk (gl_extract_significant_defines_): Now that
SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
gnulib/lib/signal.in.h, and now that we recommend to
define-if-undefined those two symbols in application code,
we must filter them out of the "significant" list.
This avoids a "make syntax-check" failure in coreutils.
Eric Blake [Tue, 26 Jul 2011 19:58:26 +0000 (13:58 -0600)]
include-next, warnings: support older autoconf
Older autoconf did not know how to peer through quoting of the
m4 macro created by AS_VAR_PUSHDEF; while newer autoconf has
been patched to allow typical autoconf quoting rules to still
apply, compatibility with autoconf 2.59 requires the unquoted
use of the macro name for all uses prior to AS_VAR_POPDEF.
absolute-header.m4 and warn-on-use.m4 already got this right.
* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
AS_VAR_PUSHDEF in a way that works with older autoconf.
* m4/warnings.m4 (gl_WARN_ADD): Likewise.
Reported by Daniel P. Berrange.
Bruno Haible [Mon, 25 Jul 2011 22:01:49 +0000 (00:01 +0200)]
fclose: Move AC_LIBOBJ invocation to module description.
* m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
(gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
to 1.
* modules/fclose (configure.ac): Invoke AC_LIBOBJ.
Bruno Haible [Mon, 25 Jul 2011 21:47:31 +0000 (23:47 +0200)]
close: Move AC_LIBOBJ invocation to module description.
* m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
(gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
1.
* modules/close (configure.ac): Invoke AC_LIBOBJ.
Bruno Haible [Mon, 25 Jul 2011 21:38:11 +0000 (23:38 +0200)]
open: Move AC_LIBOBJ invocation to module description.
* m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
(gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
* modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
Paul Eggert [Mon, 25 Jul 2011 14:38:52 +0000 (07:38 -0700)]
close: use gl_REPLACE_FCLOSE only if defined
* m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
is defined. The close module doesn't depend on the fclose module
any more, so gl_REPLACE_CLOSE's existence cannot be assumed. See
<http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
I reproduced the problem with "./gnulib-tool --test close sys_socket".
Bruno Haible [Sun, 24 Jul 2011 17:05:25 +0000 (19:05 +0200)]
doc: Mention new glibc headers and functions.
* doc/glibc-headers/gshadow.texi: New file.
* doc/glibc-functions/endsgent.texi: New file.
* doc/glibc-functions/fgetsgent.texi: New file.
* doc/glibc-functions/fgetsgent_r.texi: New file.
* doc/glibc-functions/getsgent.texi: New file.
* doc/glibc-functions/getsgent_r.texi: New file.
* doc/glibc-functions/getsgnam.texi: New file.
* doc/glibc-functions/getsgnam_r.texi: New file.
* doc/glibc-functions/putsgent.texi: New file.
* doc/glibc-functions/setsgent.texi: New file.
* doc/glibc-functions/sgetsgent.texi: New file.
* doc/glibc-functions/sgetsgent_r.texi: New file.
* doc/glibc-functions/malloc_info.texi: New file.
* doc/glibc-functions/preadv.texi: New file.
* doc/glibc-functions/pwritev.texi: New file.
* doc/glibc-functions/register_printf_modifier.texi: New file.
* doc/glibc-functions/register_printf_specifier.texi: New file.
* doc/glibc-functions/register_printf_type.texi: New file.
* doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
* doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
* doc/glibc-functions/pthread_getaffinity_np.texi: New file.
* doc/glibc-functions/pthread_getname_np.texi: New file.
* doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
* doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
* doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
* doc/glibc-functions/pthread_setaffinity_np.texi: New file.
* doc/glibc-functions/pthread_setname_np.texi: New file.
* doc/glibc-functions/pthread_sigqueue.texi: New file.
* doc/glibc-functions/pthread_timedjoin_np.texi: New file.
* doc/glibc-functions/pthread_tryjoin_np.texi: New file.
* doc/glibc-functions/qsort_r.texi: New file.
* doc/glibc-functions/quick_exit.texi: New file.
* doc/glibc-functions/syncfs.texi: New file.
* doc/gnulib.texi: Include them.
(Glibc gshadow.h, Glibc sys/uio.h): New sections.
* doc/posix-functions/psiginfo.texi: Fix info about glibc version.
* doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
* doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
* doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
* doc/glibc-functions/execvpe.texi: Likewise.
Bruno Haible [Sun, 24 Jul 2011 10:20:41 +0000 (12:20 +0200)]
fsusage: Enable large volume support on AIX >= 5.2.
* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
instead of STAT_STATVFS.
* lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
Paul Eggert [Fri, 22 Jul 2011 17:07:18 +0000 (10:07 -0700)]
fsusage: port to MacOS X 10.7 with 4 TiB file systems
* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
implementations that use only 32 bits to count blocks.
On typical hosts with 1024-byte blocks, this fails with file
systems as small as 4 TiB. Problem reported by Herb Wartens
<http://debbugs.gnu.org/9140> and this should also fix a similar
problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
file-has-acl: use acl_extended_file_nofollow if available
* lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
(acl_extended_file): New macro.
* lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
* m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
This addresses http://bugzilla.redhat.com/692823.
Bruno Haible [Thu, 21 Jul 2011 22:16:46 +0000 (00:16 +0200)]
Declare system functions in a way that works with C++.
* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
declare fdopendir as extern "C".
* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
declare frexpl as extern "C".
* m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
declare gai_strerror as extern "C".
* m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
programs, declare gai_strerror as extern "C".
* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
declare getlogin_r as extern "C".
* m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
as extern "C".
* m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
declare ldexpl as extern "C".
* m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
as extern "C".
* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
program, declare getmntinfo as extern "C".
* m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
stpncpy as extern "C".
* m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
program, declare __xpg_strerror_r as extern "C".
* m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
strndup as extern "C".
* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
declare memset and bzero as extern "C".
Reported by Sam Steingold <sds@gnu.org>.
timer-time: A new module to check for timer_settime()
* m4/timer_time.m4: Check for the POSIX function.
* modules/timer-time: Add the new module.
* MODULES.html.sh (Compat checks for POSIX:2008 functions):
Mention it.
* doc/posix-functions/timer_create.texi: Add timer-time as
the module, and update the platforms where unavailable.
* doc/posix-functions/timer_delete.texi: Likewise.
* doc/posix-functions/timer_gettime.texi: Likewise.
* doc/posix-functions/timer_settime.texi: Likewise.
Paul Eggert [Wed, 20 Jul 2011 00:57:20 +0000 (02:57 +0200)]
pthread_sigmask: assume POSIX threads if --avoid=threadlib
* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
not defined, assume POSIX threads and look for pthread_sigmask in
$LIBS, without changing $CPPFLAGS.
Bruno Haible [Tue, 19 Jul 2011 21:43:05 +0000 (23:43 +0200)]
strstr: Update cross-compilation guess.
* m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
CPUs, guess no, in view of glibc
BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
Suggested by Eric Blake. Reported by Reuben Thomas.
getopt-gnu: suppress core dumps from detection code
* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
to suppress core dumps that may well occur on glibc systems.
These core dumps might not be cleaned up automatically, or could
trigger some system core dump handling logic.
* modules/getopt-gnu: Depend on nocrash.
Paul Eggert [Sat, 16 Jul 2011 01:27:51 +0000 (18:27 -0700)]
doc: Document NonStop portability issues.
* doc/posix-functions/sigaction.texi (sigaction):
* doc/posix-headers/signal.texi (signal.h):
Document NonStop. See Joachim Schmitz in
http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
Bruno Haible [Sat, 16 Jul 2011 00:36:07 +0000 (02:36 +0200)]
ffs: More tests.
* tests/test-ffs.c (NBITS): New macro.
(main): Add more tests.
* tests/test-ffsl.c (NBITS): New macro.
(main): Add more tests.
* tests/test-ffsll.c (NBITS): New macro.
(main): Add more tests.
Bruno Haible [Tue, 12 Jul 2011 09:41:24 +0000 (11:41 +0200)]
Rename module 'link-warning' to 'snippet/link-warning'.
* modules/snippet/link-warning: Renamed from modules/link-warning.
(Files, Makefile.am): Update.
* build-aux/snippet/link-warning.h: Renamed from
build-aux/link-warning.h.
* MODULES.html.sh (Support for building libraries and executables):
Update.
Paul Eggert [Tue, 12 Jul 2011 08:16:45 +0000 (01:16 -0700)]
modules/_Exit-tests: test _Noreturn too
* tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
old tests/test-stdnoreturn.c. This tests the _Noreturn keyword a bit.
(main): Use them.
Paul Eggert [Tue, 12 Jul 2011 08:16:08 +0000 (01:16 -0700)]
stdnoreturn, stdnoreturn-tests: remove modules
They're not needed here and a bit premature for use elsewhere. See
<http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
* m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
* tests/test-stdnoreturn.c: Remove files.
* MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
* lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
* lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
and using noreturn.
* modules/openat, modules/sigpipe-die, modules/xalloc:
* modules/xmemdup0, modules/xstrtol:
Remove dependency on stdnoreturn.
Paul Eggert [Tue, 12 Jul 2011 08:14:47 +0000 (01:14 -0700)]
_Noreturn-tests: remove module
* modules/_Noreturn-tests: Remove.
* modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
* tests/test-_Noreturn.c: Remove.
* tests/test-stdnoreturn.c: Merge from the old
tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
Paul Eggert [Tue, 12 Jul 2011 08:02:54 +0000 (01:02 -0700)]
stdlib: use _Noreturn
* lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
(_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
* modules/stdlib (Depends-on): Add _Noreturn.
(stdlib.h): Depend on $(_NORETURN_H), and copy it in.