spawn: Avoid #define replacements in C++ mode.
[gnulib.git] / ChangeLog
index f47da8c..6759222 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,311 @@
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       spawn: Avoid #define replacements in C++ mode.
+       * lib/spawn.in.h: Include c++defs.h.
+       (posix_spawn, posix_spawnp, posix_spawnattr_init,
+       posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
+       posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
+       posix_spawnattr_setsigmask, posix_spawnattr_getflags,
+       posix_spawnattr_setflags, posix_spawnattr_getpgroup,
+       posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
+       posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
+       posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
+       posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
+       posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
+       In C++, define a namespaced alias symbol.
+       * modules/spawn (Depends-on): Add c++defs.
+       (Makefile.am): Update spawn.h rule.
+
+       signal: Avoid #define replacements in C++ mode.
+       * lib/signal.in.h: Include c++defs.h.
+       (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
+       sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
+       namespaced alias symbol.
+       * modules/signal (Depends-on): Add c++defs.
+       (Makefile.am): Update signal.h rule.
+
+       search: Avoid #define replacements in C++ mode.
+       * lib/search.in.h: Include c++defs.h.
+       (_gl_search_compar_fn, _gl_search_action_fn): New types.
+       (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
+       symbol.
+       * modules/search (Depends-on): Add c++defs.
+       (Makefile.am): Update search.h rule.
+
+       math: Avoid #define replacements in C++ mode.
+       * lib/math.in.h: Include c++defs.h.
+       (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
+       frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
+       trunc, truncl): In C++, define a namespaced alias symbol.
+       * modules/math (Depends-on): Add c++defs.
+       (Makefile.am): Update math.h rule.
+
+       locale: Avoid #define replacements in C++ mode.
+       * lib/locale.in.h: Include c++defs.h.
+       (duplocale): In C++, define a namespaced alias symbol.
+       * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
+       * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
+       * modules/locale (Depends-on): Add c++defs.
+       (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
+
+       langinfo: Avoid #define replacements in C++ mode.
+       * lib/langinfo.in.h: Include c++defs.h.
+       (nl_langinfo): In C++, define a namespaced alias symbol.
+       * modules/langinfo (Depends-on): Add c++defs.
+       (Makefile.am): Update langinfo.h rule.
+
+       iconv-h: Avoid #define replacements in C++ mode.
+       * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
+       (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
+       symbol.
+       * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
+       whenever iconv is present.
+       * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
+       (Makefile.am): Update iconv.h rule.
+
+       glob: Avoid #define replacements in C++ mode.
+       * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
+       (_gl_glob_errfunc_fn): New type.
+       (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
+       symbol.
+       * modules/glob (Depends-on): Add c++defs, warn-on-use.
+       (Makefile.am): Update glob.h rule.
+
+       fcntl-h: Avoid #define replacements in C++ mode.
+       * lib/fcntl.in.h: Include c++defs.h.
+       (fcntl, open, openat): In C++, define a namespaced alias symbol.
+       * modules/fcntl-h (Depends-on): Add c++defs.
+       (Makefile.am): Update fcntl.h rule.
+
+       dirent: Avoid #define replacements in C++ mode.
+       * lib/dirent.in.h: Include c++defs.h.
+       (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
+       namespaced alias symbol.
+       (dirfd): Update declaration.
+       * modules/dirent (Depends-on): Add c++defs.
+       (Makefile.am): Update dirent.h rule.
+
+       ctype: Make it usable in C++ code.
+       * lib/ctype.in.h: Include c++defs.h.
+       (isblank): Declare as extern "C".
+       * modules/ctype (Depends-on): Add c++defs.
+       (Makefile.am): Update ctype.h rule.
+
+       New module 'c++defs'.
+       * modules/c++defs: New file.
+       * build-aux/c++defs.h: New file.
+       Reported by John W. Eaton <jwe@gnu.org>.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       logb: Provide missing declaration for Cygwin.
+       * lib/math.in.h (logb): New declaration.
+       * m4/logb.m4: New file.
+       * modules/logb (Files): Add m4/logb.m4.
+       (Depends-on): Add math.
+       (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
+       * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
+       * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
+       * doc/posix-functions/logb.texi: Mention the Cygwin bug.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Fix test-cond link error.
+       * tests/test-cond.c: Include <stdio.h>.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Fix test-dirent-safer link error.
+       * modules/dirent-safer-tests (Makefile.am): Define
+       test_dirent_safer_LDADD.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
+       among default module list.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Fix link error on platforms with GNU libiconv.
+       * modules/unistr/u8-strcoll-tests (Makefile): Define
+       test_u8_strcoll_LDADD.
+       * modules/unistr/u16-strcoll-tests (Makefile): Define
+       test_u16_strcoll_LDADD.
+       * modules/unistr/u32-strcoll-tests (Makefile): Define
+       test_u32_strcoll_LDADD.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Use POSIX declarations for socket functions.
+       * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
+       rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
+       rpl_sendto): Change declaration to match POSIX.
+       * lib/connect.c (rpl_connect): Likewise.
+       * lib/accept.c (rpl_accept): Likewise.
+       * lib/bind.c (rpl_bind): Likewise.
+       * lib/getpeername.c (rpl_getpeername): Likewise.
+       * lib/getsockname.c (rpl_getsockname): Likewise.
+       * lib/recv.c (rpl_recv): Likewise.
+       * lib/send.c (rpl_send): Likewise.
+       * lib/recvfrom.c (rpl_recvfrom): Likewise.
+       * lib/sendto.c (rpl_sendto): Likewise.
+
+2010-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Clarify access, euidaccess, faccessat.
+       * doc/posix-functions/faccessat.texi: Mention security problem under
+       "Other problems", not "Portability problems".
+       * doc/posix-functions/access.texi: Likewise. Mention a related security
+       problem.
+       * doc/glibc-functions/euidaccess.texi: Mention security problems.
+       * lib/euidaccess.c: Add comments about platforms.
+       * lib/unistd.in.h (access, euidaccess): Add warnings.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
+       * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
+       (POSIX_SPAWN_SETSCHEDULER): Likewise.
+       (POSIX_SPAWN_USEVFORK): Define in a way that works when
+       POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
+       (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
+       declare when POSIX_SPAWN_SETSCHEDULER is zero.
+       (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
+       declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
+       * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
+       POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
+       * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
+       replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
+       * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
+       * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
+       replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
+       * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
+       * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
+       nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
+       * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
+       Likewise.
+       * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
+       nothing if POSIX_SPAWN_SETSCHEDULER is zero.
+       * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
+       Likewise.
+       * tests/test-spawn.c (main): Make it work when
+       POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
+
+2010-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Fix incorrect Makefile.am generation in German locale.
+       * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
+       Execute sed command with character range in C locale.
+
+2010-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'iconv-h'.
+       * modules/iconv-h-tests: New file.
+       * tests/test-iconv-h.c: New file.
+
+       New module 'iconv-h'.
+       * modules/iconv-h: New file.
+       * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
+       (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
+       (configure.ac): Remove gl_ICONV_H.
+       (Makefile.am): Remove rule for iconv.h.
+
+2010-03-06  Bruno Haible  <bruno@clisp.org>
+
+       More consistent naming of *.m4 files.
+       * m4/wctype_h.m4: Renamed from m4/wctype.m4.
+       * modules/wctype (Files): Update.
+
+       More consistent naming of *.m4 files.
+       * m4/wchar_h.m4: Renamed from m4/wchar.m4.
+       * modules/wchar (Files): Update.
+
+2010-03-06  Jim Meyering  <meyering@redhat.com>
+
+       euidaccess: relax license to LGPLv2+
+       * modules/euidaccess (License): Relax to LGPLv2+.
+
+2010-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Prefer lib_SOURCES over unconditional AC_LIBOBJ.
+       * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
+       (Makefile.am): Augment lib_SOURCES instead.
+
+2010-03-04  Jim Meyering  <meyering@redhat.com>
+
+       utime: remove obsolete module
+       This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
+       unnecessary for years, and has been marked as obsolete for 10 months.
+       * modules/utime: Remove file.
+       * lib/utime.c: Remove file.
+       * m4/utime.m4: Remove file.
+       * m4/utimes-null.m4: Remove file.
+       * doc/posix-functions/utime.texi (utime): Remove reference to
+       the module.  Move the sole "fixed by gnulib" item into the
+       "problems not fixed by Gnulib" list.
+       * MODULES.html.sh (func_all_modules): Remove reference to "utime".
+
+2010-03-05  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/exit (License): Relax license to LGPLv2+.
+       (Status): Mark as obsolete.
+       * NEWS: Mention deprecated 'exit' module.
+       * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
+       of now obsolete 'exit'.
+
+2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       fts-lgpl: remove unused module
+       * modules/fts-lgpl: Remove.
+       * MODULES.html.sh (func_all_modules): Adjust.
+       * check-module (find_included_lib_files): Adjust.
+       * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
+
+2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
+
+       copy-acl: enhance Solaris ACL error handling
+       * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
+       * lib/set-mode-acl.c (qset_acl): Likewise.
+
+2010-03-02  Bruno Haible  <bruno@clisp.org>
+
+       spawn: Don't override the system defined values on FreeBSD 8.
+       * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
+       POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
+       POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
+       if HAVE_POSIX_SPAWN is 1.
+       Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
+
+2010-03-01  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib-tool.texi (Initial import): Clarify the requirements
+       regarding Automake.
+
+2010-02-25  Bruno Haible  <bruno@clisp.org>
+
+       Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
+       * gnulib-tool: Define 'echo' as a function only before the ksh alias
+       setting, not afterwards.
+       Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
+
+2010-02-24  Eric Blake  <eblake@redhat.com>
+
+       bootstrap, git-version-gen: use timestamp
+       * build-aux/git-version-gen (scriptversion): Force UTC.
+       * build-aux/bootstrap (scriptversion): New variable.
+
+       bootstrap: allow older git
+       * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
+       older than 1.6.4.  Requested by the libvirt project.
+
 2010-02-23  Eric Blake  <eblake@redhat.com>
 
+       warn-on-use: work with old autoconf
+       * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
+       AS_VAR semantics of autoconf 2.60.
+       Reported by Bruno Haible.
+
        bootstrap: improve some comments
        * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
        clarification comments.