Implement a way to opt out from MSVC support.
commit03c3f38b55d6654263f924f35145cbb9add4e77d
authorBruno Haible <bruno@clisp.org>
Wed, 10 May 2017 19:52:21 +0000 (10 21:52 +0200)
committerBruno Haible <bruno@clisp.org>
Wed, 10 May 2017 20:18:34 +0000 (10 22:18 +0200)
treecfafb557985a48a5028cc07bbc95858e648de4fd
parent1888a27a1e48e4f8b9006c164ba1d1218a143c28
Implement a way to opt out from MSVC support.

This is useful for Emacs.

* modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
* lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
* lib/error.c: Likewise.
* lib/fcntl.c: Likewise.
* lib/flock.c: Likewise.
* lib/fstat.c: Likewise.
* lib/fsync.c: Likewise.
* lib/ioctl.c: Likewise.
* lib/isapipe.c: Likewise.
* lib/lseek.c: Likewise.
* lib/nonblocking.c: Likewise.
* lib/poll.c: Likewise.
* lib/select.c: Likewise.
* lib/sockets.h: Likewise.
* lib/sockets.c: Likewise.
* lib/stdio-read.c: Likewise.
* lib/stdio-write.c: Likewise.
* lib/utimens.c: Likewise.
* lib/w32sock.h: Likewise.
* lib/w32spawn.h: Likewise.
* tests/test-cloexec.c: Likewise.
* tests/test-dup-safer.c: Likewise.
* tests/test-dup2.c: Likewise.
* tests/test-dup3.c: Likewise.
* tests/test-fcntl.c: Likewise.
* tests/test-pipe.c: Likewise.
* tests/test-pipe2.c: Likewise.
* lib/ftruncate.c: Likewise.
(chsize_nothrow): Renamed from chsize.
* lib/msvc-nothrow.c: Don't include msvc-inval.h if
HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
* lib/close.c: Likewise.
* lib/dup.c: Likewise.
* lib/fclose.c: Likewise.
* lib/raise.c: Likewise.
* tests/test-fgetc.c: Likewise.
* tests/test-fputc.c: Likewise.
* tests/test-fread.c: Likewise.
* tests/test-fwrite.c: Likewise.
* lib/getdtablesize.c: Likewise.
(_setmaxstdio_nothrow): Renamed from _setmaxstdio.
* lib/isatty.c: Don't include msvc-inval.h if
HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
Include <io.h> as an alternative to msvc-nothrow.h.
* lib/read.c: Likewise.
* lib/write.c: Likewise.
* lib/dup2.c: Likewise.
(dup2_nothrow): New function.
(ms_windows_dup2): Use it.
* m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
* m4/dup.m4 (gl_FUNC_DUP): Likewise.
* m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
* m4/raise.m4 (gl_FUNC_RAISE): Likewise.
* m4/read.m4 (gl_FUNC_READ): Likewise.
* m4/write.m4 (gl_FUNC_WRITE): Likewise.
* doc/windows-without-msvc.texi: New file.
* doc/gnulib.texi (Native Windows Support without MSVC Support): New
section.
51 files changed:
ChangeLog
doc/gnulib.texi
doc/windows-without-msvc.texi [new file with mode: 0644]
lib/accept4.c
lib/close.c
lib/dup.c
lib/dup2.c
lib/error.c
lib/fclose.c
lib/fcntl.c
lib/flock.c
lib/fstat.c
lib/fsync.c
lib/ftruncate.c
lib/getdtablesize.c
lib/ioctl.c
lib/isapipe.c
lib/isatty.c
lib/lseek.c
lib/msvc-nothrow.c
lib/nonblocking.c
lib/poll.c
lib/raise.c
lib/read.c
lib/select.c
lib/sockets.c
lib/sockets.h
lib/stdio-read.c
lib/stdio-write.c
lib/utimens.c
lib/w32sock.h
lib/w32spawn.h
lib/write.c
m4/close.m4
m4/dup.m4
m4/fdopen.m4
m4/raise.m4
m4/read.m4
m4/write.m4
modules/msvc-nothrow
tests/test-cloexec.c
tests/test-dup-safer.c
tests/test-dup2.c
tests/test-dup3.c
tests/test-fcntl.c
tests/test-fgetc.c
tests/test-fputc.c
tests/test-fread.c
tests/test-fwrite.c
tests/test-pipe.c
tests/test-pipe2.c