Bruno Haible [Wed, 9 May 2012 01:23:29 +0000 (03:23 +0200)]
sh-quote tests: Make tests stricter.
* tests/test-sh-quote.c (check_one): Check the return value of
shell_quote_copy.
(main): Check a string with a CR character. Check a string that
contains UCHAR_MAX.
warnings.m4: provide a means to specify the program to compile.
* m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from
(gl_WARN_ADD): here.
Use gl_AS_VAR_APPEND.
Support an argument to specify the program to compile.
(gl_WARN_ADD): Accept an argument to specify the program to compile.
AC_SUBST the WARN_CFLAGS when they are used.
* modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
leave this to gl_WARN_ADD.
Jim Meyering [Tue, 8 May 2012 08:55:21 +0000 (10:55 +0200)]
init.sh: don't let bash aliases interfere with tests
* tests/init.sh: Undefine any pre-defined aliases if the selected shell
is bash. This avoids problems for those who alias standard commands to
non-conforming uses, like those reported in http://bugs.gnu.org/11256.
Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
Paul Eggert [Mon, 7 May 2012 23:15:14 +0000 (16:15 -0700)]
stdint: be more consistent with glibc, SunOS libc
* lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
(gl_int_fast16_t, gl_uint_fast16_t)
(gl_int_fast32_t, gl_uint_fast32_t)
(INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
(INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
(INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
Be consistent with glibc by default, and with SunOS 5.10 and later
if __sun is defined. This lessens the likelihood of clashes if
code compiled for older hosts is combined with code compiled for
newer ones. Problem reported by Niels Möller in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
Paul Eggert [Sun, 6 May 2012 16:59:29 +0000 (09:59 -0700)]
stdint: document issues with int_fast8_t etc.
* doc/posix-headers/stdint.texi (stdint.h): Say that other
stdint.h substitutes may define these types differently. See
<http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
Bruno Haible [Sat, 5 May 2012 10:53:33 +0000 (12:53 +0200)]
nanosleep: Avoid guessing wrong when cross-compiling to Linux.
* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
or 'guessing no (mishandles large arguments)'.
Bruno Haible [Sat, 5 May 2012 10:50:17 +0000 (12:50 +0200)]
link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
* m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
set gl_cv_func_link_follows_symlink to "guessing no".
Bruno Haible [Sat, 5 May 2012 10:31:27 +0000 (12:31 +0200)]
tzset: Avoid guessing wrong when cross-compiling to glibc systems.
* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
"guessing no".
* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
Bruno Haible [Sat, 5 May 2012 09:55:41 +0000 (11:55 +0200)]
d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
set gl_cv_struct_dirent_d_ino to "guessing yes".
Bruno Haible [Sat, 5 May 2012 09:48:16 +0000 (11:48 +0200)]
fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
"guessing yes".
Bruno Haible [Sat, 5 May 2012 09:42:54 +0000 (11:42 +0200)]
signbit: Avoid "guessing no" when cross-compiling to glibc systems.
* m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
compiling to a glibc system, set gl_cv_func_signbit and
gl_cv_func_signbit_gcc to "guessing yes".
Bruno Haible [Sat, 5 May 2012 09:37:49 +0000 (11:37 +0200)]
strerror: Avoid "guessing no" when cross-compiling to glibc systems.
* m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
cross-compiling to a glibc platform, set gl_cv_func_working_strerror
to "guessing yes".
(gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
Bruno Haible [Sat, 5 May 2012 06:47:21 +0000 (08:47 +0200)]
canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
gl_cv_func_realpath_works to "guessing yes".
Paul Eggert [Fri, 4 May 2012 20:05:31 +0000 (13:05 -0700)]
unistd_h: make it easier to avoid sys_types_h
This is useful for Emacs, which has its own method of porting to
Windows, and which therefore does not need the sys_types_h module.
* m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
code moved here from gl_SYS_TYPES_H.
* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
using the code directly.
* m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
gl_SYS_TYPES_H.
* modules/sys_types (Files):
* modules/unistd (Files): Add m4/off_t.m4.
Bruno Haible [Tue, 1 May 2012 20:47:37 +0000 (22:47 +0200)]
Avoid "guessing no" guesses when cross-compiling to glibc systems.
* m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
* m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
* m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
* m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
* m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_chown_slash_works,
gl_cv_func_chown_ctime_works to "guessing yes".
* m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
* m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
* m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
* m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_open_directory_works to
"guessing yes".
* m4/fstat.m4 (gl_FUNC_FSTAT): Update.
* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
"guessing yes".
* m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
* m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_floorf_ieee to
"guessing yes".
* m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
* m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
* m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
* m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
"guessing yes".
* m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
* m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_hypotf_ieee to
"guessing yes".
* m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_hypotl_ieee to
"guessing yes".
* m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
* m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
* m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
* m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
* m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log10f_ieee to
"guessing yes".
* m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
* m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log1pf_ieee to
"guessing yes".
* m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log1pl_ieee to
"guessing yes".
* m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
* m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
* m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
* m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_mkfifo_works to
"guessing yes".
* m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_mknod_works to
"guessing yes".
* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
"guessing yes".
* m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
* m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
* m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
* m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_svid_putenv to
"guessing yes".
* m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
cross-compiling to glibc systems, set gl_cv_func_readlink_works to
"guessing yes".
* m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
"guessing yes".
* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
to "guessing yes".
* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
to "guessing yes".
* m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_rmdir_works to
"guessing yes".
* m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
gl_cv_func_unlink_parent_fails to "guessing yes".
* m4/remove.m4 (gl_FUNC_REMOVE): Update.
* m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
gl_cv_func_rename_dest_works to "guessing yes".
* m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
* m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_roundf_ieee to
"guessing yes".
* m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_roundl_ieee to
"guessing yes".
* m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_setenv_works to
"guessing yes".
(gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_unsetenv_works to
"guessing yes".
* m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_sleep_works to
"guessing yes".
* m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_stat_file_slash to
"guessing yes".
* m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
cross-compiling to glibc systems, set gl_cv_func_symlink_works to
"guessing yes".
* m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
* m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_truncf_ieee to
"guessing yes".
* m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_truncl_ieee to
"guessing yes".
* m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_usleep_works to
"guessing yes".
* m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
compiling to glibc systems, set gl_cv_func_futimesat_works to
"guessing yes".
Bruno Haible [Tue, 1 May 2012 20:08:47 +0000 (22:08 +0200)]
Say "guessing yes" or "guessing no" when cross-compiling.
* m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
gl_cv_func_dup2_works to "guessing yes" or "guessing no".
* m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
* m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
am_cv_func_working_getline to "guessing yes" or "guessing no".
* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
(gl_FUNC_MEMMEM): When cross-compiling, set
gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
* m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
gl_cv_func_stpncpy to "guessing yes" or "guessing no".
* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
set gl_cv_func_strcasestr_works_always to "guessing yes" or
"guessing no".
(gl_FUNC_STRCASESTR): When cross-compiling, set
gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
(gl_FUNC_STRSTR): When cross-compiling, set
gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
* m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
gl_cv_func_strtod_works to "guessing yes" or "guessing no".
* m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
Bruno Haible [Wed, 2 May 2012 00:49:49 +0000 (02:49 +0200)]
relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
* m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
* build-aux/reloc-ldflags: Likewise.
Suggested by Steven Chamberlain <steven@pyro.eu.org>.
Paul Eggert [Mon, 30 Apr 2012 02:04:41 +0000 (19:04 -0700)]
exclude: process exclude and include directives in order
This restores the pre-2009 behavior, and is part of a fix of a
grep bug reported by Quentin Arce in
<http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
* lib/exclude.c (struct exclude): Remove 'tail' member.
(new_exclude_segment): Prepend the new segment instead of appending.
Return void, since that's now more convenient.
(file_pattern_matches): Renamed from excluded_file_pattern_p.
(file_name_matches): Renamed from excluded_file_name_p.
(file_pattern_matches, file_name_matches):
Return true if the pattern matches, not if it excludes.
All callers changed.
(excluded_file_name): Process the list in reverse order;
since the list is now reversed this restores the pre-2009 behavior.
(add_exclude): Adjust to new reversed-order list. Use local var
rather than macro, for clarity.
* tests/test-exclude7.sh: Adjust to corrected behavior.
Paul Eggert [Mon, 30 Apr 2012 00:02:13 +0000 (17:02 -0700)]
exclude: handle wildcards with FNM_NOESCAPE and with trailing \
* lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
it's not possible here. Handle the case of \ at end of pattern
without dumping core.
(add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
Paul Eggert [Sun, 29 Apr 2012 23:00:14 +0000 (16:00 -0700)]
_Noreturn: future-proof non-GNU and non-MSVC compilers
* build-aux/snippet/_Noreturn.h (_Noreturn):
* m4/gnulib-common.m4 (gl_COMMON_BODY):
Do not define _Noreturn if __STDC_VERSION__ indicates this is
C11 or later. This is more likely to work with random future C
compilers that are neither GNUish nor MSVCish. See Vincent Lefevre in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
Paul Eggert [Sun, 29 Apr 2012 22:53:53 +0000 (15:53 -0700)]
exclude: handle wildcards with FNM_EXTMATCH
* lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
'+@', '!(' as wildcards, if FNM_EXTMATCH. Make it clear in a
comment that "has wildcards" really means "has or may have
wildcards". Simplify by avoiding the need to call strcspn.
* bootstrap (check_versions): Handle automake and aclocal from
Automake-NG specially. They can be specified as respectively
the "automake-ng" and "aclocal-ng" requirements.
Eric Blake [Wed, 25 Apr 2012 21:11:13 +0000 (15:11 -0600)]
bootstrap: only force latest Makefile.in.in for gettext module
Commit 45fb479c48453d was added on behalf of bison, which uses the
'gettext' module, and where bison wanted to pick up the enhancements
to Makefile.in.in as provided by gnulib (such as an install-dvi
target). This works because the 'gettext' module assumes that as
soon as upstream gettext moves to 0.19, you will also want to
update your development machine to the same version, so always
having the latest Makefile.in.in is reasonable.
But there are also projects like libvirt, that want to build out of
the box on active enterprise environments such as RHEL 5, which is
still at gettext 0.17. The 'gettext-h' module is designed for these
projects, to pick up a useful "gettext.h" with _(), but to not force
the latest and greatest gettext installation. However, the recent
bootstrap change broke these projects, since the versioning between
a project's configure.ac (0.17) and the gnulib version (0.18) cause
make to fail in the po directory.
The solution is to recognize both classes of projects - either you
care about latest GNU Coding Standards (and therefore use the
'gettext' module and the latest gettext release) or stability (and
therefore use the 'gettext-h' module and can get by with an older
release; although at this point in time, anything older than 0.17
doesn't seem to be in common enterprise use).
* build-aux/bootstrap (with_gettext): Only install latest
Makefile.in.in for projects requesting bleeding edge gettext. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Sun, 22 Apr 2012 14:43:29 +0000 (16:43 +0200)]
doc: Mention reason for replacement on glibc/Linux systems.
* doc/posix-functions/dprintf.texi: Mention the problem with special
'long double' values.
* doc/posix-functions/fprintf.texi: Likewise.
* doc/posix-functions/printf.texi: Likewise.
* doc/posix-functions/snprintf.texi: Likewise.
* doc/posix-functions/sprintf.texi: Likewise.
* doc/posix-functions/vdprintf.texi: Likewise.
* doc/posix-functions/vfprintf.texi: Likewise.
* doc/posix-functions/vprintf.texi: Likewise.
* doc/posix-functions/vsnprintf.texi: Likewise.
* doc/posix-functions/vsprintf.texi: Likewise.
* doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
platforms with F_DUPFD_CLOEXEC problems.
* doc/posix-functions/glob.texi: Mention which platforms are affected
by the problem with symbolic links.
* doc/posix-functions/linkat.texi: Mention the problem with
AT_SYMLINK_FOLLOW on Linux.
Bruno Haible [Sat, 14 Apr 2012 21:27:45 +0000 (23:27 +0200)]
Large File Support for native Windows platforms.
* m4/largefile.m4 (gl_LARGEFILE): New macro.
* modules/largefile (configure.ac): Require gl_LARGEFILE.
* lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
type.
* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
* modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
* doc/posix-headers/sys_types.texi: Mention the effect of the
'largefile' module.
* lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
(ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
* m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
(gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
* modules/unistd (Depends-on): Add sys_types.
(Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
* lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
instead of lseek.
* m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
* modules/lseek (Depends-on): Add sys_types.
* lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
msvc-nothrow.h.
(SetFileSize): New function.
(ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
if Large File Support is requested.
* modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
(Depends-on): Add sys_types, msvc-nothrow. Update conditions.
* lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
instead of ftello.
* m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
(gl_PREREQ_FTELLO): New macro.
* modules/ftello (Depends-on): Add sys_types.
(configure.ac): Incoke gl_PREREQ_FTELLO.
* lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
instead of fseeko.
* m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
(gl_PREREQ_FSEEKO): New macro.
* modules/fseeko (Depends-on): Add sys_types.
(configure.ac): Invoke gl_PREREQ_FSEEKO.
* lib/sys_stat.in.h: Add comments about off_t.
(stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
64-bit integer for st_size in 'struct stat'.
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
Define _GL_WINDOWS_64_BIT_ST_SIZE.
* modules/sys_stat (Depends-on): Add sys_types.
(Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
* lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
instead of stat or _stat.
* lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
'struct _stati64' instead of fstat and 'struct stat'.
* m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
Eric Blake [Thu, 19 Apr 2012 22:39:06 +0000 (16:39 -0600)]
bootstrap: accommodate older libtool
RHEL 5 still ships with libtool 1.5.22, where libtoolize lacks the
--install option but has that behavior by default. And gnulib's
DEPENDENCIES file states that we still support that old of libtool
as our minimum version.
* build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
Reported by Daniel P. Berrange.
Jim Meyering [Thu, 19 Apr 2012 14:39:12 +0000 (16:39 +0200)]
announce-gen: avoid failure due to lack of Digest::SHA1
Even with the preferred Digest::SHA available, this script
would fail when the backup module, Digest::SHA1, was not installed.
* build-aux/announce-gen: Quote the conditional use of "use".
Reported by Reuben Thomas in:
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
Jim Meyering [Thu, 19 Apr 2012 14:02:23 +0000 (16:02 +0200)]
bootstrap: don't let a user's CDPATH setting affect this script
When CDPATH is set, cd will sometimes generate output.
When "cd" is run in a subshell whose output matters, that
surprising-to-some output can cause malfunction.
Unsetting CDPATH turns off this shell "feature."
* build-aux/bootstrap (CDPATH): Unset.
Reported by Reuben Thomas in:
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
and inspired by his patch here:
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
maint.mk: expand syntax-check rule to catch @xref and @pxref abuse
* top/maint.mk (prohibit_undesirable_word_seq_RE_): An @xref{...}
should start a sentence and should not be preceded by "see",
"see also", etc. Add heuristic for @pxref too.
Jim Meyering [Mon, 16 Apr 2012 16:22:40 +0000 (18:22 +0200)]
configmake: correct minor inconsistency in Makefile rule
* modules/configmake (Makefile.am): All other rules like this one
run the final "mv -f ..." in the same backslash-continued command
as the one that does everything else. This one put the mv -f ...
command on a separate, non-backslash-continued line.
Make it like the others.
Joel E. Denny [Mon, 16 Apr 2012 15:27:48 +0000 (08:27 -0700)]
Fix recursion of install-* into po directories.
Bison's install-pdf bug reported by Hans Aberg at
<http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
* build-aux/po/Makefile.in.in (install-dvi, install-html)
(install-info, install-pdf, install-ps): New targets.
Bruno Haible [Thu, 12 Apr 2012 18:59:22 +0000 (20:59 +0200)]
New module 'sys_resource'.
* lib/sys_resource.in.h: New file.
* m4/sys_resource_h.m4: New file.
* modules/sys_resource: New file.
* doc/posix-headers/sys_resource.texi: Mention the new module.
Paul Eggert [Wed, 4 Apr 2012 07:56:15 +0000 (00:56 -0700)]
regex: remove unnecessary type punning
Problem reported by Vladimir Serbinenko in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
* lib/regex.h (struct re_pattern_buffer): Change the type of
__REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
Fix comment to match code.
* lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
(re_compile_internal, free_workarea_compile, analyze, lower_subexp)
(parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
* lib/regexec.c (regexec, re_search_stub, re_search_internal)
(set_regs):
Omit no-longer-necessary casts.
Bruno Haible [Tue, 3 Apr 2012 19:58:52 +0000 (21:58 +0200)]
New module 'ilogbl'.
* lib/math.in.h (ilogbl): New declaration.
* lib/ilogbl.c: New file.
* m4/ilogbl.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
* modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
Split sed invocation, to avoid the limit of 100 substitutions of
HP-UX 'sed'.
* modules/ilogbl: New file.
* tests/test-math-c++.cc: Check the declaration of ilogbl.
* doc/posix-functions/ilogbl.texi: Mention the new module.
Bruno Haible [Tue, 3 Apr 2012 19:13:26 +0000 (21:13 +0200)]
New module 'ilogbf'.
* lib/math.in.h (ilogbf): New declaration.
* lib/ilogbf.c: New file.
* m4/ilogbf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
REPLACE_ILOGBF.
* modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
REPLACE_ILOGBF.
* modules/ilogbf: New file.
* tests/test-math-c++.cc: Check the declaration of ilogbf.
* doc/posix-functions/ilogbf.texi: Mention the new module.
Bruno Haible [Tue, 3 Apr 2012 17:02:15 +0000 (19:02 +0200)]
Tests for module 'ilogb'.
* modules/ilogb-tests: New file.
* tests/test-ilogb.c: New file.
* tests/test-ilogb.h: New file, based on tests/test-logb.h and
tests/test-logb-ieee.h.
Bruno Haible [Tue, 3 Apr 2012 16:59:33 +0000 (18:59 +0200)]
New module 'ilogb'.
* lib/math.in.h (ilogb): New declaration.
* lib/ilogb.c: New file.
* m4/ilogb.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
REPLACE_ILOGB.
* modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
REPLACE_ILOGB.
* modules/ilogb: New file.
* tests/test-math-c++.cc: Check the declaration of ilogb.
* doc/posix-functions/ilogb.texi: Mention the new module.
Bruno Haible [Tue, 3 Apr 2012 10:53:31 +0000 (12:53 +0200)]
New module 'logbl'.
* lib/math.in.h (logbl): New declaration.
* lib/logbl.c: New file.
* m4/logbl.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
REPLACE_LOGBL.
* modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
REPLACE_LOGBL.
* modules/logbl: New file.
* tests/test-math-c++.cc: Check the declaration of logbl.
* doc/posix-functions/logbl.texi: Mention the new module.
Bruno Haible [Tue, 3 Apr 2012 02:44:59 +0000 (04:44 +0200)]
New module 'logbf'.
* lib/math.in.h (logbf): New declaration.
* lib/logbf.c: New file.
* m4/logbf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
REPLACE_LOGBF.
* modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
REPLACE_LOGBF.
* modules/logbf: New file.
* tests/test-math-c++.cc: Check the declaration of logbf.
* doc/posix-functions/logbf.texi: Mention the new module.
Bruno Haible [Tue, 3 Apr 2012 00:57:26 +0000 (02:57 +0200)]
logb tests: More tests.
* tests/test-logb.h: New file, based on tests/test-logb.c and
tests/test-frexp.h.
* tests/test-logb.c: Include minus-zero.h, test-logb.h.
(main): Just invoke test_function.
* modules/logb-tests (Files): Add tests/test-logb.h,
tests/minus-zero.h, tests/randomd.c.
(Makefile.am): Add randomd.c to test_logb_SOURCES.
Bruno Haible [Sun, 1 Apr 2012 17:29:21 +0000 (19:29 +0200)]
log10l: Work around log10l-ieee test failure on IRIX 6.5.
* lib/log10l.c: Include <float.h>
(log10l): On IRIX, normalize the +Infinity value.
* modules/log10l (Depends-on): Add 'float'.
* doc/posix-functions/log10l.texi: Mention the IRIX problem with
+Infinity.
Bruno Haible [Sun, 1 Apr 2012 15:56:33 +0000 (17:56 +0200)]
log10f-ieee: Work around test failure on NetBSD 5.1.
* m4/log10f-ieee.m4: New file.
* m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
test whether log10f works with a negative argument. Replace it if not.
* lib/log10f.c (log10f): For negative arguments, return NaN.
* modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
(configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
* doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
Bruno Haible [Sun, 1 Apr 2012 15:10:01 +0000 (17:10 +0200)]
log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
* m4/log10-ieee.m4: New file.
* m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
whether log10 works with a negative argument. Replace it if not.
* lib/log10.c (log10): For negative arguments, return NaN.
* modules/log10-ieee (Files): Add m4/log10-ieee.m4.
(configure.ac): Invoke gl_FUNC_LOG10_IEEE.
* doc/posix-functions/log10.texi: Mention the log10-ieee module.