Merge branch 'master' into wip-manual-2
[bpt/guile.git] / m4 / unistd_h.m4
CommitLineData
f4c79b3c 1# unistd_h.m4 serial 40
61cd9dc9 2dnl Copyright (C) 2006-2010 Free Software Foundation, Inc.
14f02d0b
LC
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7dnl Written by Simon Josefsson, Bruno Haible.
8
9AC_DEFUN([gl_UNISTD_H],
10[
11 dnl Use AC_REQUIRE here, so that the default behavior below is expanded
12 dnl once only, before all statements that occur in other macros.
13 AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
61cd9dc9 14 AC_REQUIRE([AC_C_INLINE])
14f02d0b
LC
15
16 gl_CHECK_NEXT_HEADERS([unistd.h])
17
18 AC_CHECK_HEADERS_ONCE([unistd.h])
19 if test $ac_cv_header_unistd_h = yes; then
20 HAVE_UNISTD_H=1
21 else
22 HAVE_UNISTD_H=0
23 fi
24 AC_SUBST([HAVE_UNISTD_H])
61cd9dc9
LC
25
26 dnl Check for declarations of anything we want to poison if the
27 dnl corresponding gnulib module is not in use.
28 gl_WARN_ON_USE_PREPARE([[#include <unistd.h>
29/* Some systems declare various items in the wrong headers. */
30#ifndef __GLIBC__
31# include <fcntl.h>
32# include <stdio.h>
33# include <stdlib.h>
34# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
35# include <io.h>
36# endif
37#endif
38 ]], [chown dup2 dup3 environ euidaccess faccessat fchdir fchownat
39 fsync ftruncate getcwd getdomainname getdtablesize getgroups
40 gethostname getlogin getlogin_r getpagesize getusershell setusershell
41 endusershell lchown link linkat lseek pipe2 pread readlink readlinkat
42 rmdir sleep symlink symlinkat unlink unlinkat usleep])
14f02d0b
LC
43])
44
45AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
46[
47 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
48 AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
49 GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
f4c79b3c
LC
50 dnl Define it also as a C macro, for the benefit of the unit tests.
51 gl_MODULE_INDICATOR([$1])
14f02d0b
LC
52])
53
54AC_DEFUN([gl_UNISTD_H_DEFAULTS],
55[
56 GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN])
57 GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE])
58 GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2])
8912421c 59 GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3])
14f02d0b
LC
60 GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON])
61 GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS])
8912421c 62 GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT])
14f02d0b 63 GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR])
8912421c 64 GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT])
14f02d0b
LC
65 GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC])
66 GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE])
67 GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD])
68 GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME])
69 GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE])
f29ded4b 70 GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS])
14f02d0b 71 GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME])
61cd9dc9 72 GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN])
14f02d0b
LC
73 GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R])
74 GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE])
75 GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL])
76 GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN])
f240aacb 77 GNULIB_LINK=0; AC_SUBST([GNULIB_LINK])
8912421c 78 GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT])
14f02d0b 79 GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK])
8912421c 80 GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2])
1cd4fffc 81 GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD])
14f02d0b 82 GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK])
8912421c
LC
83 GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT])
84 GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR])
14f02d0b 85 GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP])
8912421c
LC
86 GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK])
87 GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT])
88 GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT])
14f02d0b 89 GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
8912421c
LC
90 GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK])
91 GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT])
414e4441 92 GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP])
14f02d0b
LC
93 GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE])
94 dnl Assume proper GNU behavior unless another module says otherwise.
f29ded4b 95 HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN])
14f02d0b 96 HAVE_DUP2=1; AC_SUBST([HAVE_DUP2])
8912421c 97 HAVE_DUP3=1; AC_SUBST([HAVE_DUP3])
14f02d0b 98 HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS])
8912421c
LC
99 HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT])
100 HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT])
14f02d0b
LC
101 HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC])
102 HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE])
103 HAVE_GETDOMAINNAME=1; AC_SUBST([HAVE_GETDOMAINNAME])
104 HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE])
f29ded4b 105 HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS])
14f02d0b 106 HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME])
61cd9dc9 107 HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN])
14f02d0b
LC
108 HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE])
109 HAVE_GETUSERSHELL=1; AC_SUBST([HAVE_GETUSERSHELL])
f29ded4b 110 HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN])
f240aacb 111 HAVE_LINK=1; AC_SUBST([HAVE_LINK])
8912421c
LC
112 HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT])
113 HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2])
1cd4fffc 114 HAVE_PREAD=1; AC_SUBST([HAVE_PREAD])
14f02d0b 115 HAVE_READLINK=1; AC_SUBST([HAVE_READLINK])
8912421c 116 HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT])
14f02d0b 117 HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP])
8912421c
LC
118 HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK])
119 HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT])
14f02d0b
LC
120 HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON])
121 HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
122 HAVE_OS_H=0; AC_SUBST([HAVE_OS_H])
123 HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H])
8912421c 124 HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT])
414e4441 125 HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP])
14f02d0b
LC
126 REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN])
127 REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE])
8912421c 128 REPLACE_DUP=0; AC_SUBST([REPLACE_DUP])
25361e4b 129 REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2])
14f02d0b 130 REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR])
8912421c 131 REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT])
14f02d0b 132 REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD])
f29ded4b 133 REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS])
14f02d0b
LC
134 REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE])
135 REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN])
8912421c
LC
136 REPLACE_LINK=0; AC_SUBST([REPLACE_LINK])
137 REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT])
14f02d0b 138 REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK])
1cd4fffc 139 REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD])
8912421c
LC
140 REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK])
141 REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR])
414e4441 142 REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP])
8912421c
LC
143 REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK])
144 REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK])
145 REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT])
414e4441 146 REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP])
14f02d0b
LC
147 REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE])
148 UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H])
8912421c
LC
149 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;
150 AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS])
14f02d0b 151])