Mercurial > hg > octave-lyh > gnulib-hg
changeset 15629:f62fb3d6776f
Support for MSVC compiler: Ensure mode_t gets defined.
* m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
* m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
* tests/test-fcntl-h.c: Check that mode_t is defined.
* tests/test-sys_stat.c: Likewise.
* tests/test-sys_types.c: Likewise.
* doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
* doc/posix-headers/sys_stat.texi: Likewise.
* doc/posix-headers/sys_types.texi: Likewise.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Fri, 16 Sep 2011 23:43:21 +0200 |
parents | e575fc472c1a |
children | 4c853bdac60b |
files | ChangeLog doc/posix-headers/fcntl.texi doc/posix-headers/sys_stat.texi doc/posix-headers/sys_types.texi m4/fcntl_h.m4 m4/spawn_h.m4 m4/sys_stat_h.m4 m4/sys_types_h.m4 tests/test-fcntl-h.c tests/test-sys_stat.c tests/test-sys_types.c |
diffstat | 11 files changed, 44 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2011-09-15 Bruno Haible <bruno@clisp.org> + + Support for MSVC compiler: Ensure mode_t gets defined. + * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T. + * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise. + * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise. + * tests/test-fcntl-h.c: Check that mode_t is defined. + * tests/test-sys_stat.c: Likewise. + * tests/test-sys_types.c: Likewise. + * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem. + * doc/posix-headers/sys_stat.texi: Likewise. + * doc/posix-headers/sys_types.texi: Likewise. + 2011-09-16 Bruno Haible <bruno@clisp.org> sys_stat: Support for MSVC.
--- a/doc/posix-headers/fcntl.texi +++ b/doc/posix-headers/fcntl.texi @@ -12,6 +12,10 @@ MSVC 9. @item +The type @code{mode_t} is not defined on some platforms: +MSVC 9. + +@item @samp{O_CLOEXEC}, @samp{O_DIRECTORY}, @samp{O_DSYNC}, @samp{O_NOCTTY}, @samp{O_NOFOLLOW}, @samp{O_RSYNC}, @samp{O_SYNC}, and @samp{O_TTY_INIT} are not defined on some platforms. Gnulib defines
--- a/doc/posix-headers/sys_stat.texi +++ b/doc/posix-headers/sys_stat.texi @@ -8,6 +8,9 @@ Portability problems fixed by Gnulib: @itemize @item +The type @code{mode_t} is not defined on some platforms: +MSVC 9. +@item Some macros, such as @code{S_IFMT} or @code{S_IFIFO}, are missing on some platforms. @item
--- a/doc/posix-headers/sys_types.texi +++ b/doc/posix-headers/sys_types.texi @@ -16,6 +16,9 @@ @item The type @code{ssize_t} is not defined on some platforms: MSVC 9. +@item +The type @code{mode_t} is not defined on some platforms: +MSVC 9. @end itemize Portability problems not fixed by Gnulib:
--- a/m4/fcntl_h.m4 +++ b/m4/fcntl_h.m4 @@ -1,4 +1,4 @@ -# serial 14 +# serial 15 # Configure fcntl.h. dnl Copyright (C) 2006-2007, 2009-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation @@ -16,6 +16,9 @@ dnl Ensure the type pid_t gets defined. AC_REQUIRE([AC_TYPE_PID_T]) + dnl Ensure the type mode_t gets defined. + AC_REQUIRE([AC_TYPE_MODE_T]) + dnl Check for declarations of anything we want to poison if the dnl corresponding gnulib module is not in use, if it is not common dnl enough to be declared everywhere.
--- a/m4/spawn_h.m4 +++ b/m4/spawn_h.m4 @@ -1,4 +1,4 @@ -# spawn_h.m4 serial 14 +# spawn_h.m4 serial 15 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -34,6 +34,9 @@ dnl Ensure the type pid_t gets defined. AC_REQUIRE([AC_TYPE_PID_T]) + dnl Ensure the type mode_t gets defined. + AC_REQUIRE([AC_TYPE_MODE_T]) + AC_REQUIRE([gl_HAVE_POSIX_SPAWN]) AC_REQUIRE([AC_C_RESTRICT])
--- a/m4/sys_stat_h.m4 +++ b/m4/sys_stat_h.m4 @@ -1,4 +1,4 @@ -# sys_stat_h.m4 serial 24 -*- Autoconf -*- +# sys_stat_h.m4 serial 25 -*- Autoconf -*- dnl Copyright (C) 2006-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -19,6 +19,9 @@ gl_CHECK_NEXT_HEADERS([sys/stat.h]) + dnl Ensure the type mode_t gets defined. + AC_REQUIRE([AC_TYPE_MODE_T]) + dnl Define types that are supposed to be defined in <sys/types.h> or dnl <sys/stat.h>. AC_CHECK_TYPE([nlink_t], [],
--- a/m4/sys_types_h.m4 +++ b/m4/sys_types_h.m4 @@ -1,4 +1,4 @@ -# sys_types_h.m4 serial 1 +# sys_types_h.m4 serial 2 dnl Copyright (C) 2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,6 +11,9 @@ dnl Ensure the type pid_t gets defined. AC_REQUIRE([AC_TYPE_PID_T]) + + dnl Ensure the type mode_t gets defined. + AC_REQUIRE([AC_TYPE_MODE_T]) ]) AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS],
--- a/tests/test-fcntl-h.c +++ b/tests/test-fcntl-h.c @@ -34,6 +34,7 @@ /* Check that the types are all defined. */ pid_t t1; off_t t2; +mode_t t3; int main (void)