… | |
… | |
68 | AC_CHECK_HEADERS([sys/mkdev.h]) |
68 | AC_CHECK_HEADERS([sys/mkdev.h]) |
69 | |
69 | |
70 | dnl readv / preadv, vmsplice |
70 | dnl readv / preadv, vmsplice |
71 | AC_CHECK_HEADERS([sys/uio.h]) |
71 | AC_CHECK_HEADERS([sys/uio.h]) |
72 | |
72 | |
|
|
73 | AC_CACHE_CHECK([for siginfo_t], ac_cv_siginfo_t, [AC_LINK_IFELSE([AC_LANG_SOURCE([ |
|
|
74 | #include <signal.h> |
|
|
75 | int main (void) |
|
|
76 | { |
|
|
77 | siginfo_t si; |
|
|
78 | si.si_code; |
|
|
79 | si.si_pid; |
|
|
80 | si.si_uid; |
|
|
81 | si.si_value.sival_int; |
|
|
82 | si.si_value.sival_ptr; |
|
|
83 | return 0; |
|
|
84 | } |
|
|
85 | ])],ac_cv_siginfo_t=yes,ac_cv_siginfo_t=no)]) |
|
|
86 | test $ac_cv_siginfo_t = yes && AC_DEFINE(HAVE_SIGINFO_T, 1, have siginfo_t in signal.h) |
|
|
87 | |
|
|
88 | AC_CACHE_CHECK([for unix-style syscall interface], ac_cv_syscall, [AC_LINK_IFELSE([AC_LANG_SOURCE([ |
|
|
89 | #include <unistd.h> |
|
|
90 | #include <sys/syscall.h> |
|
|
91 | int main (void) |
|
|
92 | { |
|
|
93 | long res = syscall (SYS_exit, 0); |
|
|
94 | return 0; |
|
|
95 | } |
|
|
96 | ])],ac_cv_syscall=yes,ac_cv_syscall=no)]) |
|
|
97 | test $ac_cv_syscall = yes && AC_DEFINE(HAVE_SYSCALL, 1, unix syscall interface) |
73 | |
98 | |
74 | AC_CACHE_CHECK([for splice, vmsplice and tee], ac_cv_linux_splice, [AC_LINK_IFELSE([AC_LANG_SOURCE([ |
99 | AC_CACHE_CHECK([for splice, vmsplice and tee], ac_cv_linux_splice, [AC_LINK_IFELSE([AC_LANG_SOURCE([ |
75 | #include <sys/types.h> |
100 | #include <sys/types.h> |
76 | #include <fcntl.h> |
101 | #include <fcntl.h> |
77 | #include <sys/uio.h> |
102 | #include <sys/uio.h> |
… | |
… | |
107 | return 0; |
132 | return 0; |
108 | } |
133 | } |
109 | ]])],ac_cv_eventfd=yes,ac_cv_eventfd=no)]) |
134 | ]])],ac_cv_eventfd=yes,ac_cv_eventfd=no)]) |
110 | test $ac_cv_eventfd = yes && AC_DEFINE(HAVE_EVENTFD, 1, eventfd(2) is available) |
135 | test $ac_cv_eventfd = yes && AC_DEFINE(HAVE_EVENTFD, 1, eventfd(2) is available) |
111 | |
136 | |
112 | AC_CACHE_CHECK(for timerfd, ac_cv_timerfd, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
137 | AC_CACHE_CHECK(for timerfd_*, ac_cv_timerfd, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
113 | #include <sys/timerfd.h> |
138 | #include <sys/timerfd.h> |
114 | int main (void) |
139 | int main (void) |
115 | { |
140 | { |
116 | struct itimerspec its; |
141 | struct itimerspec its; |
117 | int res; |
142 | int res; |
… | |
… | |
120 | res = timerfd_gettime (res, &its); |
145 | res = timerfd_gettime (res, &its); |
121 | return 0; |
146 | return 0; |
122 | } |
147 | } |
123 | ]])],ac_cv_timerfd=yes,ac_cv_timerfd=no)]) |
148 | ]])],ac_cv_timerfd=yes,ac_cv_timerfd=no)]) |
124 | test $ac_cv_timerfd = yes && AC_DEFINE(HAVE_TIMERFD, 1, timerfd_*(2) are available) |
149 | test $ac_cv_timerfd = yes && AC_DEFINE(HAVE_TIMERFD, 1, timerfd_*(2) are available) |
|
|
150 | |
|
|
151 | AC_CACHE_CHECK(for memfd_create, ac_cv_memfd_create, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
|
|
152 | #include <sys/mman.h> |
|
|
153 | int main (void) |
|
|
154 | { |
|
|
155 | int res = memfd_create ("name", MFD_CLOEXEC | MFD_ALLOW_SEALING); |
|
|
156 | return 0; |
|
|
157 | } |
|
|
158 | ]])],ac_cv_memfd_create=yes,ac_cv_memfd_create=no)]) |
|
|
159 | test $ac_cv_memfd_create = yes && AC_DEFINE(HAVE_MEMFD_CREATE, 1, memfd_create(2) is available) |
125 | |
160 | |
126 | AC_CACHE_CHECK(for copy_file_range, ac_cv_copy_file_range, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
161 | AC_CACHE_CHECK(for copy_file_range, ac_cv_copy_file_range, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
127 | #include <unistd.h> |
162 | #include <unistd.h> |
128 | #include <sys/syscall.h> |
163 | #include <sys/syscall.h> |
129 | /*#include <linux/copy.h>*/ |
164 | /*#include <linux/copy.h>*/ |
… | |
… | |
222 | return 0; |
257 | return 0; |
223 | } |
258 | } |
224 | ]])],ac_cv_statx=yes,ac_cv_statx=no)]) |
259 | ]])],ac_cv_statx=yes,ac_cv_statx=no)]) |
225 | test $ac_cv_statx = yes && AC_DEFINE(HAVE_STATX, 1, statx(2) is available) |
260 | test $ac_cv_statx = yes && AC_DEFINE(HAVE_STATX, 1, statx(2) is available) |
226 | |
261 | |
|
|
262 | AC_CACHE_CHECK(for accept4, ac_cv_accept4, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
|
|
263 | #include <sys/types.h> |
|
|
264 | #include <sys/socket.h> |
|
|
265 | int main (void) |
|
|
266 | { |
|
|
267 | int res; |
|
|
268 | res = accept4 (1, (struct sockaddr *)0, (socklen_t)0, SOCK_NONBLOCK | SOCK_CLOEXEC); |
|
|
269 | return 0; |
|
|
270 | } |
|
|
271 | ]])],ac_cv_accept4=yes,ac_cv_accept4=no)]) |
|
|
272 | test $ac_cv_accept4 = yes && AC_DEFINE(HAVE_ACCEPT4, 1, accept4(2) is available) |
|
|
273 | |
|
|
274 | AC_CHECK_HEADERS([sys/mount.h]) |
|
|
275 | AC_CACHE_CHECK(for mount/umount, ac_cv_mount, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
|
|
276 | #include <sys/mount.h> |
|
|
277 | int main (void) |
|
|
278 | { |
|
|
279 | int res; |
|
|
280 | res = mount ("path", "path", "fstype", MS_RDONLY, 0); |
|
|
281 | res = umount ("path"); |
|
|
282 | return 0; |
|
|
283 | } |
|
|
284 | ]])],ac_cv_mount=yes,ac_cv_mount=no)]) |
|
|
285 | test $ac_cv_mount = yes && AC_DEFINE(HAVE_MOUNT, 1, mount/umount are available) |
|
|
286 | AC_CACHE_CHECK(for umount2, ac_cv_umount2, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
|
|
287 | #include <sys/mount.h> |
|
|
288 | int main (void) |
|
|
289 | { |
|
|
290 | int res; |
|
|
291 | res = umount2 ("path", MNT_FORCE|MNT_DETACH); |
|
|
292 | return 0; |
|
|
293 | } |
|
|
294 | ]])],ac_cv_umount2=yes,ac_cv_umount2=no)]) |
|
|
295 | test $ac_cv_umount2 = yes && AC_DEFINE(HAVE_UMOUNT2, 1, umount2 is available) |
|
|
296 | |
227 | AC_OUTPUT |
297 | AC_OUTPUT |
228 | |
298 | |