1 # unistd_h.m4 serial 85
2 dnl Copyright (C) 2006-2020 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
7 dnl Written by Simon Josefsson, Bruno Haible.
9 AC_DEFUN([gl_UNISTD_H],
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])
15 gl_CHECK_NEXT_HEADERS([unistd.h])
16 if test $ac_cv_header_unistd_h = yes; then
21 AC_SUBST([HAVE_UNISTD_H])
23 dnl Ensure the type pid_t gets defined.
24 AC_REQUIRE([AC_TYPE_PID_T])
26 dnl Determine WINDOWS_64_BIT_OFF_T.
27 AC_REQUIRE([gl_TYPE_OFF_T])
29 dnl Check for declarations of anything we want to poison if the
30 dnl corresponding gnulib module is not in use.
31 gl_WARN_ON_USE_PREPARE([[
35 /* Some systems declare various items in the wrong headers. */
36 #if !(defined __GLIBC__ && !defined __UCLIBC__)
40 # if defined _WIN32 && ! defined __CYGWIN__
44 ]], [access chdir chown copy_file_range dup dup2 dup3 environ euidaccess
45 execl execle execlp execv execve execvp execvpe
47 fchownat fdatasync fsync ftruncate getcwd getdomainname getdtablesize
48 getentropy getgroups gethostname getlogin getlogin_r getpagesize getpass
49 getusershell setusershell endusershell
50 group_member isatty lchown link linkat lseek pipe pipe2 pread pwrite
51 readlink readlinkat rmdir sethostname sleep symlink symlinkat
52 truncate ttyname_r unlink unlinkat usleep])
54 AC_REQUIRE([AC_C_RESTRICT])
56 AC_CHECK_DECLS_ONCE([execvpe])
57 if test $ac_cv_have_decl_execvpe = no; then
62 AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
64 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
65 AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
66 gl_MODULE_INDICATOR_SET_VARIABLE([$1])
67 dnl Define it also as a C macro, for the benefit of the unit tests.
68 gl_MODULE_INDICATOR_FOR_TESTS([$1])
71 AC_DEFUN([gl_UNISTD_H_DEFAULTS],
73 GNULIB_ACCESS=0; AC_SUBST([GNULIB_ACCESS])
74 GNULIB_CHDIR=0; AC_SUBST([GNULIB_CHDIR])
75 GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN])
76 GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE])
77 GNULIB_COPY_FILE_RANGE=0; AC_SUBST([GNULIB_COPY_FILE_RANGE])
78 GNULIB_DUP=0; AC_SUBST([GNULIB_DUP])
79 GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2])
80 GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3])
81 GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON])
82 GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS])
83 GNULIB_EXECL=0; AC_SUBST([GNULIB_EXECL])
84 GNULIB_EXECLE=0; AC_SUBST([GNULIB_EXECLE])
85 GNULIB_EXECLP=0; AC_SUBST([GNULIB_EXECLP])
86 GNULIB_EXECV=0; AC_SUBST([GNULIB_EXECV])
87 GNULIB_EXECVE=0; AC_SUBST([GNULIB_EXECVE])
88 GNULIB_EXECVP=0; AC_SUBST([GNULIB_EXECVP])
89 GNULIB_EXECVPE=0; AC_SUBST([GNULIB_EXECVPE])
90 GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT])
91 GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR])
92 GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT])
93 GNULIB_FDATASYNC=0; AC_SUBST([GNULIB_FDATASYNC])
94 GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC])
95 GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE])
96 GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD])
97 GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME])
98 GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE])
99 GNULIB_GETENTROPY=0; AC_SUBST([GNULIB_GETENTROPY])
100 GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS])
101 GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME])
102 GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN])
103 GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R])
104 GNULIB_GETOPT_POSIX=0; AC_SUBST([GNULIB_GETOPT_POSIX])
105 GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE])
106 GNULIB_GETPASS=0; AC_SUBST([GNULIB_GETPASS])
107 GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL])
108 GNULIB_GROUP_MEMBER=0; AC_SUBST([GNULIB_GROUP_MEMBER])
109 GNULIB_ISATTY=0; AC_SUBST([GNULIB_ISATTY])
110 GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN])
111 GNULIB_LINK=0; AC_SUBST([GNULIB_LINK])
112 GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT])
113 GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK])
114 GNULIB_PIPE=0; AC_SUBST([GNULIB_PIPE])
115 GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2])
116 GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD])
117 GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE])
118 GNULIB_READ=0; AC_SUBST([GNULIB_READ])
119 GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK])
120 GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT])
121 GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR])
122 GNULIB_SETHOSTNAME=0; AC_SUBST([GNULIB_SETHOSTNAME])
123 GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP])
124 GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK])
125 GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT])
126 GNULIB_TRUNCATE=0; AC_SUBST([GNULIB_TRUNCATE])
127 GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R])
128 GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING])
129 GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
130 GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK])
131 GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT])
132 GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP])
133 GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE])
134 dnl Support Microsoft deprecated alias function names by default.
135 GNULIB_MDA_ACCESS=1; AC_SUBST([GNULIB_MDA_ACCESS])
136 GNULIB_MDA_CHDIR=1; AC_SUBST([GNULIB_MDA_CHDIR])
137 GNULIB_MDA_CLOSE=1; AC_SUBST([GNULIB_MDA_CLOSE])
138 GNULIB_MDA_DUP=1; AC_SUBST([GNULIB_MDA_DUP])
139 GNULIB_MDA_DUP2=1; AC_SUBST([GNULIB_MDA_DUP2])
140 GNULIB_MDA_EXECL=1; AC_SUBST([GNULIB_MDA_EXECL])
141 GNULIB_MDA_EXECLE=1; AC_SUBST([GNULIB_MDA_EXECLE])
142 GNULIB_MDA_EXECLP=1; AC_SUBST([GNULIB_MDA_EXECLP])
143 GNULIB_MDA_EXECV=1; AC_SUBST([GNULIB_MDA_EXECV])
144 GNULIB_MDA_EXECVE=1; AC_SUBST([GNULIB_MDA_EXECVE])
145 GNULIB_MDA_EXECVP=1; AC_SUBST([GNULIB_MDA_EXECVP])
146 GNULIB_MDA_EXECVPE=1; AC_SUBST([GNULIB_MDA_EXECVPE])
147 GNULIB_MDA_GETCWD=1; AC_SUBST([GNULIB_MDA_GETCWD])
148 GNULIB_MDA_GETPID=1; AC_SUBST([GNULIB_MDA_GETPID])
149 GNULIB_MDA_ISATTY=1; AC_SUBST([GNULIB_MDA_ISATTY])
150 GNULIB_MDA_LSEEK=1; AC_SUBST([GNULIB_MDA_LSEEK])
151 GNULIB_MDA_READ=1; AC_SUBST([GNULIB_MDA_READ])
152 GNULIB_MDA_RMDIR=1; AC_SUBST([GNULIB_MDA_RMDIR])
153 GNULIB_MDA_SWAB=1; AC_SUBST([GNULIB_MDA_SWAB])
154 GNULIB_MDA_UNLINK=1; AC_SUBST([GNULIB_MDA_UNLINK])
155 GNULIB_MDA_WRITE=1; AC_SUBST([GNULIB_MDA_WRITE])
156 dnl Assume proper GNU behavior unless another module says otherwise.
157 HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN])
158 HAVE_COPY_FILE_RANGE=1; AC_SUBST([HAVE_COPY_FILE_RANGE])
159 HAVE_DUP3=1; AC_SUBST([HAVE_DUP3])
160 HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS])
161 HAVE_EXECVPE=1; AC_SUBST([HAVE_EXECVPE])
162 HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT])
163 HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR])
164 HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT])
165 HAVE_FDATASYNC=1; AC_SUBST([HAVE_FDATASYNC])
166 HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC])
167 HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE])
168 HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE])
169 HAVE_GETENTROPY=1; AC_SUBST([HAVE_GETENTROPY])
170 HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS])
171 HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME])
172 HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN])
173 HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE])
174 HAVE_GETPASS=1; AC_SUBST([HAVE_GETPASS])
175 HAVE_GROUP_MEMBER=1; AC_SUBST([HAVE_GROUP_MEMBER])
176 HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN])
177 HAVE_LINK=1; AC_SUBST([HAVE_LINK])
178 HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT])
179 HAVE_PIPE=1; AC_SUBST([HAVE_PIPE])
180 HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2])
181 HAVE_PREAD=1; AC_SUBST([HAVE_PREAD])
182 HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE])
183 HAVE_READLINK=1; AC_SUBST([HAVE_READLINK])
184 HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT])
185 HAVE_SETHOSTNAME=1; AC_SUBST([HAVE_SETHOSTNAME])
186 HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP])
187 HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK])
188 HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT])
189 HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT])
190 HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP])
191 HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON])
192 HAVE_DECL_EXECVPE=1; AC_SUBST([HAVE_DECL_EXECVPE])
193 HAVE_DECL_FCHDIR=1; AC_SUBST([HAVE_DECL_FCHDIR])
194 HAVE_DECL_FDATASYNC=1; AC_SUBST([HAVE_DECL_FDATASYNC])
195 HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME])
196 HAVE_DECL_GETLOGIN=1; AC_SUBST([HAVE_DECL_GETLOGIN])
197 HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
198 HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE])
199 HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL])
200 HAVE_DECL_SETHOSTNAME=1; AC_SUBST([HAVE_DECL_SETHOSTNAME])
201 HAVE_DECL_TRUNCATE=1; AC_SUBST([HAVE_DECL_TRUNCATE])
202 HAVE_DECL_TTYNAME_R=1; AC_SUBST([HAVE_DECL_TTYNAME_R])
203 HAVE_OS_H=0; AC_SUBST([HAVE_OS_H])
204 HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H])
205 REPLACE_ACCESS=0; AC_SUBST([REPLACE_ACCESS])
206 REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN])
207 REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE])
208 REPLACE_DUP=0; AC_SUBST([REPLACE_DUP])
209 REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2])
210 REPLACE_EXECL=0; AC_SUBST([REPLACE_EXECL])
211 REPLACE_EXECLE=0; AC_SUBST([REPLACE_EXECLE])
212 REPLACE_EXECLP=0; AC_SUBST([REPLACE_EXECLP])
213 REPLACE_EXECV=0; AC_SUBST([REPLACE_EXECV])
214 REPLACE_EXECVE=0; AC_SUBST([REPLACE_EXECVE])
215 REPLACE_EXECVP=0; AC_SUBST([REPLACE_EXECVP])
216 REPLACE_EXECVPE=0; AC_SUBST([REPLACE_EXECVPE])
217 REPLACE_FACCESSAT=0; AC_SUBST([REPLACE_FACCESSAT])
218 REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT])
219 REPLACE_FTRUNCATE=0; AC_SUBST([REPLACE_FTRUNCATE])
220 REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD])
221 REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME])
222 REPLACE_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE])
223 REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R])
224 REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS])
225 REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE])
226 REPLACE_GETPASS=0; AC_SUBST([REPLACE_GETPASS])
227 REPLACE_ISATTY=0; AC_SUBST([REPLACE_ISATTY])
228 REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN])
229 REPLACE_LINK=0; AC_SUBST([REPLACE_LINK])
230 REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT])
231 REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK])
232 REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD])
233 REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE])
234 REPLACE_READ=0; AC_SUBST([REPLACE_READ])
235 REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK])
236 REPLACE_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT])
237 REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR])
238 REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP])
239 REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK])
240 REPLACE_SYMLINKAT=0; AC_SUBST([REPLACE_SYMLINKAT])
241 REPLACE_TRUNCATE=0; AC_SUBST([REPLACE_TRUNCATE])
242 REPLACE_TTYNAME_R=0; AC_SUBST([REPLACE_TTYNAME_R])
243 REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK])
244 REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT])
245 REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP])
246 REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE])
247 UNISTD_H_HAVE_SYS_RANDOM_H=0; AC_SUBST([UNISTD_H_HAVE_SYS_RANDOM_H])
248 UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H])
249 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;
250 AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS])