Bruno Haible [Sat, 8 Oct 2011 20:18:44 +0000 (22:18 +0200)]
New module 'logf'.
* lib/math.in.h (logf): New declaration.
* lib/logf.c: New file.
* m4/logf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
* modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
* modules/logf: New file.
* tests/test-math-c++.cc: Check the declaration of logf.
* doc/posix-functions/logf.texi: Mention the new module.
Bruno Haible [Sat, 8 Oct 2011 20:10:45 +0000 (22:10 +0200)]
New module 'expf'.
* lib/math.in.h (expf): New declaration.
* lib/expf.c: New file.
* m4/expf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
* modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
* modules/expf: New file.
* tests/test-math-c++.cc: Check the declaration of expf.
* doc/posix-functions/expf.texi: Mention the new module.
Bruno Haible [Sat, 8 Oct 2011 19:16:48 +0000 (21:16 +0200)]
New module 'sqrtf'.
* lib/math.in.h (sqrtf): New declaration.
* lib/sqrtf.c: New file.
* m4/sqrtf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
* modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
* modules/sqrtf: New file.
* tests/test-math-c++.cc: Check the declaration of sqrtf.
* doc/posix-functions/sqrtf.texi: Mention the new module.
Bruno Haible [Sat, 8 Oct 2011 14:36:22 +0000 (16:36 +0200)]
Tests: Avoid link failures w.r.t. libintl.
* modules/faccessat-tests (Makefile.am): Link test-faccessat against
$(LIBINTL).
* modules/fchdir-tests (Makefile.am): Link test-fchdir against
$(LIBINTL).
* modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
against $(LIBINTL).
* modules/getcwd-tests (Makefile.am): Link test-getcwd against
$(LIBINTL).
* modules/openat-tests (Makefile.am): Link test-fchmodat against
$(LIBINTL).
* modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
Bruno Haible [Sat, 8 Oct 2011 08:20:58 +0000 (10:20 +0200)]
gnulib-tool: Improve last commit.
* gnulib-tool (func_modules_transitive_closure): Simplify code.
(func_emit_autoconf_snippets): Instead of invoking func_acceptable,
ignore dependencies that are not among the modules list.
Paul Eggert [Fri, 7 Oct 2011 20:59:10 +0000 (13:59 -0700)]
gnulib-tool: don't follow dependencies to avoided modules
This fixes a bug that is related to the previous one.
* gnulib-tool (func_modules_transitive_closure)
(func_emit_autoconf_snippets):
Check whether a dependency is acceptable before using it.
(--extract-dependencies): Report an error if --avoid is also used,
since this combination of options is not yet supported.
Paul Eggert [Fri, 7 Oct 2011 20:04:52 +0000 (13:04 -0700)]
gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
Problem reported by Peter Dyballa in
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
* gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
when echoing "$condition".
Bruno Haible [Fri, 7 Oct 2011 09:17:58 +0000 (11:17 +0200)]
New module 'ldexpf'.
* lib/math.in.h (ldexpf): New declaration.
* lib/ldexpf.c: New file.
* m4/ldexpf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
* modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
* modules/ldexpf: New file.
* tests/test-math-c++.cc: Check the declaration of ldexpf.
* doc/posix-functions/ldexpf.texi: Mention the new module.
Bruno Haible [Thu, 6 Oct 2011 09:28:38 +0000 (11:28 +0200)]
New module 'frexpf'.
* lib/math.in.h (frexpf): New declaration.
* lib/frexpf.c: New file.
* m4/frexpf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
* modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
* modules/frexpf: New file.
* tests/test-math-c++.cc: Check the declaration of frexpf.
* doc/posix-functions/frexpf.texi: Mention the new module.
Bruno Haible [Thu, 6 Oct 2011 00:49:14 +0000 (02:49 +0200)]
New module 'modff'.
* lib/math.in.h (modff): New declaration.
* lib/modff.c: New file.
* m4/modff.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
* modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
* modules/modff: New file.
* tests/test-math-c++.cc: Check the declaration of modff.
* doc/posix-functions/modff.texi: Mention the new module.
Bruno Haible [Wed, 5 Oct 2011 23:01:52 +0000 (01:01 +0200)]
New module 'fmodf'.
* lib/math.in.h (fmodf): New declaration.
* lib/fmodf.c: New file.
* m4/fmodf.m4: New file.
* m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
* modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
* modules/fmodf: New file.
* tests/test-math-c++.cc: Check the declaration of fmodf.
* doc/posix-functions/fmodf.texi: Mention the new module.
* lib/file-has-acl.c: While the 2011-10-03 change does fix the
ls -lL regression introduced in coreutils-8.12, it does so at the
cost of an additional stat call in the common case. Besides, now
that the kernel change that prompted commit 95f7c57f has been reverted
(see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
we have no use for commit 95f7c57f, "file-has-acl: use
acl_extended_file_nofollow if available".
Kamil Dudka [Mon, 3 Oct 2011 10:17:22 +0000 (12:17 +0200)]
file-has-acl: revert unintended change in behavior of ls -L
* lib/file-has-acl.c (acl_extended_file_wrap): New function,
derived from...
(file_has_acl): ...code here. Call it.
This problem was introduced with 2011-07-22 commit 95f7c57f,
"file-has-acl: use acl_extended_file_nofollow if available".
See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
Bruno Haible [Tue, 4 Oct 2011 01:33:21 +0000 (03:33 +0200)]
poll: Avoid link errors on MSVC.
* m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
* modules/poll (Depends-on): Add sockets.
(Link): New section.
* NEWS: Mention the change.
* modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
* modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
$(LIB_POLL) instead of $(LIBSOCKET).
Bruno Haible [Mon, 3 Oct 2011 23:19:29 +0000 (01:19 +0200)]
glthread/*, strsignal: Support for MSVC.
* lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
including <winsock.h> on MSVC 9.
* lib/glthread/lock.h: Likewise.
* lib/glthread/thread.h: Likewise.
* lib/glthread/tls.h: Likewise.
* lib/glthread/yield.h: Likewise.
* lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
if HAVE_UNISTD_H is false.
* m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
Bruno Haible [Mon, 3 Oct 2011 11:15:34 +0000 (13:15 +0200)]
relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
* lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
(compute_curr_prefix, shared_library_fullname,
find_shared_library_fullname, get_shared_library_fullname, relocate):
Use it together with PIC && INSTALLDIR.
Reported by <jojelino@gmail.com>
via Charles Wilson <cygwin@cwilson.fastmail.fm>.
Jim Meyering [Sat, 1 Oct 2011 15:33:42 +0000 (17:33 +0200)]
maint.mk: adjust a release-related rule not to require use of gzip
* top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
Instead, check each file in $(DIST_ARCHIVES). This is better for
projects that build only .tar.xz files. Also fix an erroneous test.
Jim Meyering [Sat, 1 Oct 2011 13:06:43 +0000 (15:06 +0200)]
test-linkat: don't leave behind a temporary file
* tests/test-linkat.c (main): Don't forget to remove a temporary file.
Otherwise, coreutils' "make distcheck" would fail with this:
Only in /c/cu/tests/torture/coreutils/test/\
coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
make[2]: *** [my-distcheck] Error 1
Bruno Haible [Sat, 1 Oct 2011 10:07:28 +0000 (12:07 +0200)]
isinf: Fix for OpenBSD/x86.
* m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
* doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
Bruno Haible [Fri, 30 Sep 2011 19:07:43 +0000 (21:07 +0200)]
float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
* m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
'long double'. Set REPLACE_ITOLD.
* lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
* lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
* lib/itold.c: New file.
* modules/float (Files): Add lib/itold.c.
(configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
(Makefile.am): Substitute REPLACE_ITOLD.
* modules/math (Depends-on): Add float.
(Makefile.am): Substitute REPLACE_ITOLD.
* doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
* doc/posix-headers/math.texi: Likewise.
* doc/posix-functions/logl.texi: Likewise.
Bruno Haible [Fri, 30 Sep 2011 10:10:27 +0000 (12:10 +0200)]
gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
* gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
invocation, say "right after AC_PROG_CC_STDC", not "right after
AC_PROG_CC".
Reported by Gary V. Vaughan <gary@gnu.org>.
Bruno Haible [Fri, 30 Sep 2011 09:54:58 +0000 (11:54 +0200)]
Centralize C99 requirement.
* m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
* modules/stdarg (configure.ac-early): Invoke it instead of
AC_PROG_CC_STDC.
Reported by Gary V. Vaughan and Paul Eggert.
Bruno Haible [Fri, 30 Sep 2011 01:56:26 +0000 (03:56 +0200)]
float: Fix LDBL_MAX value on Linux/PowerPC.
* m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
on Linux/PowerPC.
* lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
* lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
* doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
platform.
Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
Bruno Haible [Tue, 27 Sep 2011 22:49:04 +0000 (00:49 +0200)]
raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
* lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
(raise): Remove older, duplicated declaration.
(_gl_raise_SIGPIPE): New declaration.
* lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
(rpl_raise): Remove function.
* lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
a gnulib-defined SIGPIPE here.
* m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
'sigprocmask' has detected missing signal-blocking and the module
'sigpipe' is enabled.
Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
Paul Eggert [Mon, 26 Sep 2011 19:58:27 +0000 (12:58 -0700)]
gnulib: use more-standard license notice wording
* gnulib-tool (func_emit_copyright_notice): When emitting a
license notice into a file, use the standard wording as suggested
by the current information for GNU maintainers, except say "file"
rather than "program". The new wording gives a license version
number, which addresses an issue raised by Glenn Morris in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
* m4/onceonly.m4: Use that same wording here, too.
Bruno Haible [Sun, 25 Sep 2011 21:08:45 +0000 (23:08 +0200)]
msvc-inval: Allow three invalid parameter handling modes.
* lib/msvc-inval.h: Don't include <stdlib.h> here.
(DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
macros.
(gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
SANE_LIBRARY_HANDLING as a no-op.
* lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
<stdlib.h>.
(gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
Bruno Haible [Sun, 25 Sep 2011 20:02:18 +0000 (22:02 +0200)]
msvc-inval: Make handler multithread-safe.
* lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
(gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
declarations.
(gl_msvc_inval_current): New declaration.
(TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
Operate on the structure returned by gl_msvc_inval_current().
* lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
Remove varaiables.
(tls_index, tls_initialized): New variables.
(not_per_thread): New variable.
(gl_msvc_inval_current): New function.
(gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
returned by gl_msvc_inval_current().
Bruno Haible [Sun, 25 Sep 2011 19:05:20 +0000 (21:05 +0200)]
msvc-inval: Install handler globally.
* lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
!_MSC_VER.
(gl_msvc_invalid_parameter_handler): Remove declaration.
(gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
declarations.
(TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
Install the handler globally, don't uninstall it.
* lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
(gl_msvc_invalid_parameter_handler): Make static. If the restart is not
currently valid, call RaiseException instead.
(gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
for !_MSC_VER.
Bruno Haible [Sun, 25 Sep 2011 10:10:10 +0000 (12:10 +0200)]
fclose: Support for MSVC 9.
* lib/fclose.c: Include msvc-inval.h.
(fclose_nothrow): New function.
(rpl_fclose): Use it.
* modules/fclose (Depends-on): Add msvc-inval.
* doc/posix-functions/fclose.texi: Mention the problem on MSVC.
Paul Eggert [Sun, 25 Sep 2011 05:49:14 +0000 (22:49 -0700)]
dup2: minor simplifications
* lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
that it's a performance win.
(rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
! defined __CYGWIN__)" to "ifdef F_GETFL".
Bruno Haible [Sat, 24 Sep 2011 14:46:51 +0000 (16:46 +0200)]
write: Support for MSVC 9.
* lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
is not 1.
* lib/write.c (write_nothrow): New function.
(rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
not 1. Use write_nothrow.
* m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
invalid parameter handler.
(gl_PREREQ_WRITE): New macro.
* modules/write (Depends-on): Add msvc-inval.
(configure.ac): Invoke gl_PREREQ_WRITE.
* doc/posix-functions/write.texi: Mention the problem on MSVC.