1 # unistd_h.m4 serial 56
2 dnl Copyright (C) 2006-2011 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])
14 AC_REQUIRE([AC_C_INLINE])
16 gl_CHECK_NEXT_HEADERS([unistd.h])
17 if test $ac_cv_header_unistd_h = yes; then
22 AC_SUBST([HAVE_UNISTD_H])
24 dnl Check for declarations of anything we want to poison if the
25 dnl corresponding gnulib module is not in use.
26 gl_WARN_ON_USE_PREPARE([[#include <unistd.h>
27 /* Some systems declare various items in the wrong headers. */
28 #if !(defined __GLIBC__ && !defined __UCLIBC__)
32 # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
36 ]], [chown dup2 dup3 environ euidaccess faccessat fchdir fchownat
37 fsync ftruncate getcwd getdomainname getdtablesize getgroups
38 gethostname getlogin getlogin_r getpagesize getusershell setusershell
39 endusershell group_member lchown link linkat lseek pipe pipe2 pread pwrite
40 readlink readlinkat rmdir sleep symlink symlinkat ttyname_r unlink unlinkat
44 AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
46 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
47 AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
48 gl_MODULE_INDICATOR_SET_VARIABLE([$1])
49 dnl Define it also as a C macro, for the benefit of the unit tests.
50 gl_MODULE_INDICATOR_FOR_TESTS([$1])
53 AC_DEFUN([gl_UNISTD_H_DEFAULTS],
55 GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN])
56 GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE])
57 GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2])
58 GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3])
59 GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON])
60 GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS])
61 GNULIB_FACCESSAT=0; AC_SUBST([GNULIB_FACCESSAT])
62 GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR])
63 GNULIB_FCHOWNAT=0; AC_SUBST([GNULIB_FCHOWNAT])
64 GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC])
65 GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE])
66 GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD])
67 GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME])
68 GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE])
69 GNULIB_GETGROUPS=0; AC_SUBST([GNULIB_GETGROUPS])
70 GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME])
71 GNULIB_GETLOGIN=0; AC_SUBST([GNULIB_GETLOGIN])
72 GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R])
73 GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE])
74 GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL])
75 GNULIB_GROUP_MEMBER=0; AC_SUBST([GNULIB_GROUP_MEMBER])
76 GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN])
77 GNULIB_LINK=0; AC_SUBST([GNULIB_LINK])
78 GNULIB_LINKAT=0; AC_SUBST([GNULIB_LINKAT])
79 GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK])
80 GNULIB_PIPE=0; AC_SUBST([GNULIB_PIPE])
81 GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2])
82 GNULIB_PREAD=0; AC_SUBST([GNULIB_PREAD])
83 GNULIB_PWRITE=0; AC_SUBST([GNULIB_PWRITE])
84 GNULIB_READ=0; AC_SUBST([GNULIB_READ])
85 GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK])
86 GNULIB_READLINKAT=0; AC_SUBST([GNULIB_READLINKAT])
87 GNULIB_RMDIR=0; AC_SUBST([GNULIB_RMDIR])
88 GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP])
89 GNULIB_SYMLINK=0; AC_SUBST([GNULIB_SYMLINK])
90 GNULIB_SYMLINKAT=0; AC_SUBST([GNULIB_SYMLINKAT])
91 GNULIB_TTYNAME_R=0; AC_SUBST([GNULIB_TTYNAME_R])
92 GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT])
93 GNULIB_UNISTD_H_NONBLOCKING=0; AC_SUBST([GNULIB_UNISTD_H_NONBLOCKING])
94 GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
95 GNULIB_UNLINK=0; AC_SUBST([GNULIB_UNLINK])
96 GNULIB_UNLINKAT=0; AC_SUBST([GNULIB_UNLINKAT])
97 GNULIB_USLEEP=0; AC_SUBST([GNULIB_USLEEP])
98 GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE])
99 dnl Assume proper GNU behavior unless another module says otherwise.
100 HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN])
101 HAVE_DUP2=1; AC_SUBST([HAVE_DUP2])
102 HAVE_DUP3=1; AC_SUBST([HAVE_DUP3])
103 HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS])
104 HAVE_FACCESSAT=1; AC_SUBST([HAVE_FACCESSAT])
105 HAVE_FCHDIR=1; AC_SUBST([HAVE_FCHDIR])
106 HAVE_FCHOWNAT=1; AC_SUBST([HAVE_FCHOWNAT])
107 HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC])
108 HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE])
109 HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE])
110 HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS])
111 HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME])
112 HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN])
113 HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE])
114 HAVE_GROUP_MEMBER=1; AC_SUBST([HAVE_GROUP_MEMBER])
115 HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN])
116 HAVE_LINK=1; AC_SUBST([HAVE_LINK])
117 HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT])
118 HAVE_PIPE=1; AC_SUBST([HAVE_PIPE])
119 HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2])
120 HAVE_PREAD=1; AC_SUBST([HAVE_PREAD])
121 HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE])
122 HAVE_READLINK=1; AC_SUBST([HAVE_READLINK])
123 HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT])
124 HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP])
125 HAVE_SYMLINK=1; AC_SUBST([HAVE_SYMLINK])
126 HAVE_SYMLINKAT=1; AC_SUBST([HAVE_SYMLINKAT])
127 HAVE_UNLINKAT=1; AC_SUBST([HAVE_UNLINKAT])
128 HAVE_USLEEP=1; AC_SUBST([HAVE_USLEEP])
129 HAVE_DECL_ENVIRON=1; AC_SUBST([HAVE_DECL_ENVIRON])
130 HAVE_DECL_FCHDIR=1; AC_SUBST([HAVE_DECL_FCHDIR])
131 HAVE_DECL_GETDOMAINNAME=1; AC_SUBST([HAVE_DECL_GETDOMAINNAME])
132 HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
133 HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE])
134 HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL])
135 HAVE_DECL_TTYNAME_R=1; AC_SUBST([HAVE_DECL_TTYNAME_R])
136 HAVE_OS_H=0; AC_SUBST([HAVE_OS_H])
137 HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H])
138 REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN])
139 REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE])
140 REPLACE_DUP=0; AC_SUBST([REPLACE_DUP])
141 REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2])
142 REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT])
143 REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD])
144 REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME])
145 REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R])
146 REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS])
147 REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE])
148 REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN])
149 REPLACE_LINK=0; AC_SUBST([REPLACE_LINK])
150 REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT])
151 REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK])
152 REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD])
153 REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE])
154 REPLACE_READ=0; AC_SUBST([REPLACE_READ])
155 REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK])
156 REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR])
157 REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP])
158 REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK])
159 REPLACE_TTYNAME_R=0; AC_SUBST([REPLACE_TTYNAME_R])
160 REPLACE_UNLINK=0; AC_SUBST([REPLACE_UNLINK])
161 REPLACE_UNLINKAT=0; AC_SUBST([REPLACE_UNLINKAT])
162 REPLACE_USLEEP=0; AC_SUBST([REPLACE_USLEEP])
163 REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE])
164 UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H])
165 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;
166 AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS])