11
11
dnl Use AC_REQUIRE here, so that the default behavior below is expanded
12
12
dnl once only, before all statements that occur in other macros.
13
13
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
14
AC_REQUIRE([AC_C_INLINE])
15
16
gl_CHECK_NEXT_HEADERS([unistd.h])
17
AC_CHECK_HEADERS_ONCE([unistd.h])
18
17
if test $ac_cv_header_unistd_h = yes; then
23
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
26
44
AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
28
46
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
29
47
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
30
GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
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])
33
53
AC_DEFUN([gl_UNISTD_H_DEFAULTS],
35
GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN])
36
GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE])
37
GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2])
38
GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3])
39
GNULIB_ENVIRON=0; AC_SUBST([GNULIB_ENVIRON])
40
GNULIB_EUIDACCESS=0; AC_SUBST([GNULIB_EUIDACCESS])
41
GNULIB_FCHDIR=0; AC_SUBST([GNULIB_FCHDIR])
42
GNULIB_FSYNC=0; AC_SUBST([GNULIB_FSYNC])
43
GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE])
44
GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD])
45
GNULIB_GETDOMAINNAME=0; AC_SUBST([GNULIB_GETDOMAINNAME])
46
GNULIB_GETDTABLESIZE=0; AC_SUBST([GNULIB_GETDTABLESIZE])
47
GNULIB_GETHOSTNAME=0; AC_SUBST([GNULIB_GETHOSTNAME])
48
GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R])
49
GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE])
50
GNULIB_GETUSERSHELL=0; AC_SUBST([GNULIB_GETUSERSHELL])
51
GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN])
52
GNULIB_LINK=0; AC_SUBST([GNULIB_LINK])
53
GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK])
54
GNULIB_PIPE2=0; AC_SUBST([GNULIB_PIPE2])
55
GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK])
56
GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP])
57
GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT])
58
GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
59
GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE])
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])
60
99
dnl Assume proper GNU behavior unless another module says otherwise.
100
HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN])
61
101
HAVE_DUP2=1; AC_SUBST([HAVE_DUP2])
62
102
HAVE_DUP3=1; AC_SUBST([HAVE_DUP3])
63
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])
64
107
HAVE_FSYNC=1; AC_SUBST([HAVE_FSYNC])
65
108
HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE])
66
HAVE_GETDOMAINNAME=1; AC_SUBST([HAVE_GETDOMAINNAME])
67
109
HAVE_GETDTABLESIZE=1; AC_SUBST([HAVE_GETDTABLESIZE])
110
HAVE_GETGROUPS=1; AC_SUBST([HAVE_GETGROUPS])
68
111
HAVE_GETHOSTNAME=1; AC_SUBST([HAVE_GETHOSTNAME])
112
HAVE_GETLOGIN=1; AC_SUBST([HAVE_GETLOGIN])
69
113
HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE])
70
HAVE_GETUSERSHELL=1; AC_SUBST([HAVE_GETUSERSHELL])
114
HAVE_GROUP_MEMBER=1; AC_SUBST([HAVE_GROUP_MEMBER])
115
HAVE_LCHOWN=1; AC_SUBST([HAVE_LCHOWN])
71
116
HAVE_LINK=1; AC_SUBST([HAVE_LINK])
117
HAVE_LINKAT=1; AC_SUBST([HAVE_LINKAT])
118
HAVE_PIPE=1; AC_SUBST([HAVE_PIPE])
72
119
HAVE_PIPE2=1; AC_SUBST([HAVE_PIPE2])
120
HAVE_PREAD=1; AC_SUBST([HAVE_PREAD])
121
HAVE_PWRITE=1; AC_SUBST([HAVE_PWRITE])
73
122
HAVE_READLINK=1; AC_SUBST([HAVE_READLINK])
123
HAVE_READLINKAT=1; AC_SUBST([HAVE_READLINKAT])
74
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])
75
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])
76
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])
77
136
HAVE_OS_H=0; AC_SUBST([HAVE_OS_H])
78
137
HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H])
79
138
REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN])
80
139
REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE])
140
REPLACE_DUP=0; AC_SUBST([REPLACE_DUP])
81
141
REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2])
82
REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR])
142
REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT])
83
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])
84
147
REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE])
85
148
REPLACE_LCHOWN=0; AC_SUBST([REPLACE_LCHOWN])
149
REPLACE_LINK=0; AC_SUBST([REPLACE_LINK])
150
REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT])
86
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])
87
163
REPLACE_WRITE=0; AC_SUBST([REPLACE_WRITE])
88
164
UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H])
89
165
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS=0;