Enable use of shell scripts as executables in mingw.
[gnulib.git] / ChangeLog
index 2ee1db3..75ed5a8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,359 @@
+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       Enable use of shell scripts as executables in mingw.
+       * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
+       run the program as a shell script.
+       * lib/pipe.c (create_pipe): Likewise.
+       * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
+       resulting array.
+
+2008-09-29  Eric Blake  <ebb9@byu.net>
+
+       * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
+
+2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
+
+       * doc/posix-functions/accept.texi: Update mingw problems.
+       * doc/posix-functions/bind.texi: Update mingw problems.
+       * doc/posix-functions/close.texi: Update mingw problems.
+       * doc/posix-functions/connect.texi: Update mingw problems.
+       * doc/posix-functions/getpeername.texi: Update mingw problems.
+       * doc/posix-functions/getsockname.texi: Update mingw problems.
+       * doc/posix-functions/getsockopt.texi: Update mingw problems.
+       * doc/posix-functions/ioctl.texi: Update mingw problems.
+       * doc/posix-functions/listen.texi: Update mingw problems.
+       * doc/posix-functions/recv.texi: Update mingw problems.
+       * doc/posix-functions/recvfrom.texi: Update mingw problems.
+       * doc/posix-functions/select.texi: Update mingw problems.
+       * doc/posix-functions/send.texi: Update mingw problems.
+       * doc/posix-functions/sendto.texi: Update mingw problems.
+       * doc/posix-functions/setsockopt.texi: Update mingw problems.
+       * doc/posix-functions/socket.texi: Update mingw problems.
+
+2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
+            Bruno Haible  <bruno@clisp.org>
+
+       * lib/sys_select.in.h: Include sys/time.h.
+       * m4/sys_select.h.m4: Test that struct timeval is fully defined.
+       * modules/sys_select: Depend on sys_time.
+       * tests/test-sys_select.c: Test that sys/select.h defines struct
+       timeval fully.
+
+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
+       * lib/sys_select.in.h: Likewise.
+
+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
+
+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
+       Set LIBSOCKET instead of augmenting LIBS.
+       * modules/sockets (Link): New section.
+       * modules/sockets-tests (test_sockets_LDADD): New variable.
+       * modules/sys_select-tests (test_sys_select_LDADD): New variable.
+       * modules/poll-tests (test_poll_LDADD): New variable.
+       * NEWS: Document the change.
+
+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
+       * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
+       ARPA_INET_H directly.
+       * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
+       from gl_HEADER_SYS_SOCKET.
+       (gl_HEADER_SYS_SOCKET): Invoke it.
+       * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
+       * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
+       Needed on OSF/1 4.0.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       Override open more carefully.
+       * lib/open.c (orig_open): New function.
+       (rpl_open): Use orig_open instead of open.
+       * lib/fcntl.in.h: Add special invocation convention.
+       * m4/open.m4 (gl_PREREQ_OPEN): New macro.
+       (gl_FUNC_OPEN): Invoke it.
+
+       Override freopen more carefully.
+       * lib/freopen.c (orig_freopen): New function.
+       (rpl_freopen): Use orig_freopen instead of freopen.
+       * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
+       (gl_FUNC_FREOPEN): Invoke it.
+
+       Override fopen more carefully.
+       * lib/fopen.c (orig_fopen): New function.
+       (rpl_fopen): Use orig_fopen instead of fopen.
+       * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
+       (gl_FUNC_FOPEN): Invoke it.
+       Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
+       SIGPIPE.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-sigaction.c (handler, main): Disable the check whether
+       SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
+       glibc systems with LinuxThreads.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
+
+       * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
+       with AIX xlc.
+       * lib/fcntl.in.h (open): Likewise.
+       Reported by Rainer Tammer <tammer@tammer.net>.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * modules/posix_spawnp-tests: New file.
+       * tests/test-posix_spawn.c: New file.
+       * tests/test-posix_spawn.in.sh: New file.
+
+       New module 'posix_spawnp'.
+       * modules/posix_spawnp: New file.
+       * lib/spawnp.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawnp.texi: Mention the new module.
+
+       New module 'posix_spawn'.
+       * modules/posix_spawn: New file.
+       * lib/spawn.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawn.texi: Mention the new module.
+
+       New module 'posix_spawnattr_destroy'.
+       * modules/posix_spawnattr_destroy: New file.
+       * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
+       module.
+
+       New module 'posix_spawnattr_setsigmask'.
+       * modules/posix_spawnattr_setsigmask: New file.
+       * lib/spawnattr_setsigmask.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_getsigmask'.
+       * modules/posix_spawnattr_getsigmask: New file.
+       * lib/spawnattr_getsigmask.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_setsigdefault'.
+       * modules/posix_spawnattr_setsigdefault: New file.
+       * lib/spawnattr_setdefault.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_getsigdefault'.
+       * modules/posix_spawnattr_getsigdefault: New file.
+       * lib/spawnattr_getdefault.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_setschedpolicy'.
+       * modules/posix_spawnattr_setschedpolicy: New file.
+       * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_getschedpolicy'.
+       * modules/posix_spawnattr_getschedpolicy: New file.
+       * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_setschedparam'.
+       * modules/posix_spawnattr_setschedparam: New file.
+       * lib/spawnattr_setschedparam.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_getschedparam'.
+       * modules/posix_spawnattr_getschedparam: New file.
+       * lib/spawnattr_getschedparam.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
+       new module.
+
+       New module 'posix_spawnattr_setpgroup'.
+       * modules/posix_spawnattr_setpgroup: New file.
+       * lib/spawnattr_setpgroup.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
+       module.
+
+       New module 'posix_spawnattr_getpgroup'.
+       * modules/posix_spawnattr_getpgroup: New file.
+       * lib/spawnattr_getpgroup.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
+       module.
+
+       New module 'posix_spawnattr_setflags'.
+       * modules/posix_spawnattr_setflags: New file.
+       * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
+       module.
+
+       New module 'posix_spawnattr_getflags'.
+       * modules/posix_spawnattr_getflags: New file.
+       * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
+       module.
+
+       New module 'posix_spawnattr_init'.
+       * modules/posix_spawnattr_init: New file.
+       * lib/spawnattr_init.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
+       module.
+
+       New module 'posix_spawn_file_actions_destroy'.
+       * modules/posix_spawn_file_actions_destroy: New file.
+       * lib/spawn_faction_destroy.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
+       the new module.
+
+       New module 'posix_spawn_file_actions_addopen'.
+       * modules/posix_spawn_file_actions_addopen: New file.
+       * lib/spawn_faction_addopen.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
+       the new module.
+
+       New module 'posix_spawn_file_actions_adddup2'.
+       * modules/posix_spawn_file_actions_adddup2: New file.
+       * lib/spawn_faction_adddup2.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
+       the new module.
+
+       New module 'posix_spawn_file_actions_addclose'.
+       * modules/posix_spawn_file_actions_addclose: New file.
+       * lib/spawn_faction_addclose.c: New file, from GNU libc with
+       modifications.
+       * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
+       the new module.
+
+       New module 'posix_spawn_file_actions_init'.
+       * modules/posix_spawn_file_actions_init: New file.
+       * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
+       * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
+       new module.
+
+       New module 'posix_spawn-internal'.
+       * modules/posix_spawn-internal: New file.
+       * lib/spawn_int.h: New file, from GNU libc with modifications.
+       * lib/spawni.c: New file, from GNU libc with modifications.
+       * m4/posix_spawn.m4: New file.
+
+       New module 'spawn'.
+       * modules/spawn: New file.
+       * lib/spawn.in.h: New file, from GNU libc with modifications.
+       * m4/spawn_h.m4: New file.
+       * doc/posix-headers/spawn.texi: Mention the new module.
+
+2008-09-28  Bruno Haible  <bruno@clisp.org>
+
+       * modules/sched-tests: New file.
+       * tests/test-sched.c: New file.
+
+       New module 'sched'.
+       * modules/sched: New file.
+       * lib/sched.in.h: New file.
+       * m4/sched_h.m4: New file.
+       * doc/posix-headers/sched.texi: Mention the new module.
+
+2008-09-27  Eric Blake  <ebb9@byu.net>
+
+       Fix previous patch, and tweak references to $0.
+       * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
+       (func_version, func_gnulib_dir): Don't call this program
+       gnulib-tool.
+       (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
+       with using $0 in function.
+       * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
+       (func_fatal_error): Reuse the name the user invoked us with.
+
+2008-09-27  Bruno Haible  <bruno@clisp.org>
+
+       * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
+       (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
+       (gl_ICONV_H): Not here.
+       * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
+       instead of assigning ICONV_H directly.
+
+       * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
+       * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
+       WCHAR_H directly.
+
+2008-09-27  Bruno Haible  <bruno@clisp.org>
+
+       * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
+       * modules/arpa_inet (Depends-on): Add link-warning.
+       (Makefile.am): Insert the definition of GL_LINK-WARNING.
+       * modules/unistd (Makefile.am): Likewise.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
+       variables.
+       (func_version): Essentially copied from gnulib-tool.
+       (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
+       func_readlink): Copied from gnulib-tool.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_version): Change directory to $gnulib_dir before
+       invoking git-version-gen.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * posix-modules: Update to directory names changed on 2008-01-19.
+       Remove commas in output before splitting into words. No more need to
+       avoid 'ftruncate' since 2007-02-19.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
+       * modules/fwriteerror (Depends-on): Add errno.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
+       * tests/test-vc-list-files-cvs.sh: Likewise.
+
+2008-09-26  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-headers/sys_resource.texi: Reorder items.
+
 2008-09-26  Jim Meyering  <meyering@redhat.com>
 
        fts: tweak inode comparison function
 
 2008-09-26  Bruno Haible  <bruno@clisp.org>
 
+       * modules/sigpipe-die (Depends-on): Add sigpipe.
+
+       * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
+       putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
+       and GNULIB_STDIO_H_SIGPIPE are set.
+       * lib/stdio-write.c: New file.
+       * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
+       GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
+       GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
+       REPLACE_STDIO_WRITE_FUNCS.
+       (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
+       GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
+       GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
+       GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
+       * modules/stdio (Files): Add lib/stdio-write.c.
+       (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
+       GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
+       GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
+       GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
+       * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
+       REPLACE_FPRINTF_POSIX.
+       * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
+       REPLACE_PRINTF_POSIX.
+       * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
+       REPLACE_VFPRINTF_POSIX.
+       * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
+       REPLACE_VPRINTF_POSIX.
+       * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
+       SIGPIPE issue.
+       * doc/posix-functions/fputc.texi: Likewise.
+       * doc/posix-functions/fputs.texi: Likewise.
+       * doc/posix-functions/fwrite.texi: Likewise.
+       * doc/posix-functions/printf.texi: Likewise.
+       * doc/posix-functions/putc.texi: Likewise.
+       * doc/posix-functions/putchar.texi: Likewise.
+       * doc/posix-functions/puts.texi: Likewise.
+       * doc/posix-functions/vfprintf.texi: Likewise.
+       * doc/posix-functions/vprintf.texi: Likewise.
+
+       * modules/safe-write (Depends-on): Add write.
+
+       * modules/sigpipe-tests: New file.
+       * tests/test-sigpipe.c: New file.
+       * tests/test-sigpipe.sh: New file.
+
+       * modules/write: New file.
+       * lib/unistd.in.h: Include <sys/types.h>.
+       (write): New declaration.
+       * lib/write.c: New file.
+       * m4/write.m4: New file.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
+       GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
+       * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
+       GNULIB_WRITE, REPLACE_WRITE.
+       * doc/posix-functions/write.texi: Mention the write, sigpipe modules
+       and the SIGPIPE issue.
+
+       * lib/signal.in.h (SIGPIPE): Define to a replacement value.
+       (raise): New declaration.
+       * lib/sigprocmask.c (SIGPIPE_handler): New variable.
+       (ext_signal): New function.
+       (rpl_raise): New function.
+       * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
+       GNULIB_SIGNAL_H_SIGPIPE.
+       * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
+       * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
+
        * modules/sigpipe: New file.
        * m4/sigpipe.m4: New file.
 
 2008-09-25  Derek Price  <derek@ximbiot.com>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * gnulib-tool (func_import): Report all license incompatibilities, not
        just the first one.