… | |
… | |
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 | dnl fexecve has always been in the single unix specification |
|
|
74 | dnl but some atrocities (like opsnbsd and osx) claim implementing it |
|
|
75 | dnl but then not definining it. ugh. garbage. and fexecve would be |
|
|
76 | dnl useful for security, but, no, not on openbsd. we'd rather lie |
|
|
77 | dnl about it. |
|
|
78 | AC_CACHE_CHECK(for fexecve, ac_cv_fexecve, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
|
|
79 | #include <fcntl.h> |
|
|
80 | #include <unistd.h> |
|
|
81 | int main (void) |
|
|
82 | { |
|
|
83 | int res = fexecve (-1, "argv", 0); |
|
|
84 | return 0; |
|
|
85 | } |
|
|
86 | ]])],ac_cv_fexecve=yes,ac_cv_fexecve=no)]) |
|
|
87 | test $ac_cv_fexecve = yes && AC_DEFINE(HAVE_FEXECVE, 1, fexecve(2) is available) |
|
|
88 | |
|
|
89 | AC_CACHE_CHECK([for siginfo_t], ac_cv_siginfo_t, [AC_LINK_IFELSE([AC_LANG_SOURCE([ |
|
|
90 | #include <signal.h> |
|
|
91 | int main (void) |
|
|
92 | { |
|
|
93 | siginfo_t si; |
|
|
94 | si.si_code; |
|
|
95 | si.si_pid; |
|
|
96 | si.si_uid; |
|
|
97 | si.si_value.sival_int; |
|
|
98 | si.si_value.sival_ptr; |
|
|
99 | return 0; |
|
|
100 | } |
|
|
101 | ])],ac_cv_siginfo_t=yes,ac_cv_siginfo_t=no)]) |
|
|
102 | test $ac_cv_siginfo_t = yes && AC_DEFINE(HAVE_SIGINFO_T, 1, have siginfo_t in signal.h) |
|
|
103 | |
|
|
104 | AC_CACHE_CHECK([for unix-style syscall interface], ac_cv_syscall, [AC_LINK_IFELSE([AC_LANG_SOURCE([ |
|
|
105 | #include <unistd.h> |
|
|
106 | #include <sys/syscall.h> |
|
|
107 | int main (void) |
|
|
108 | { |
|
|
109 | long res = syscall (SYS_exit, 0); |
|
|
110 | return 0; |
|
|
111 | } |
|
|
112 | ])],ac_cv_syscall=yes,ac_cv_syscall=no)]) |
|
|
113 | test $ac_cv_syscall = yes && AC_DEFINE(HAVE_SYSCALL, 1, unix syscall interface) |
73 | |
114 | |
74 | AC_CACHE_CHECK([for splice, vmsplice and tee], ac_cv_linux_splice, [AC_LINK_IFELSE([AC_LANG_SOURCE([ |
115 | AC_CACHE_CHECK([for splice, vmsplice and tee], ac_cv_linux_splice, [AC_LINK_IFELSE([AC_LANG_SOURCE([ |
75 | #include <sys/types.h> |
116 | #include <sys/types.h> |
76 | #include <fcntl.h> |
117 | #include <fcntl.h> |
77 | #include <sys/uio.h> |
118 | #include <sys/uio.h> |
… | |
… | |
232 | return 0; |
273 | return 0; |
233 | } |
274 | } |
234 | ]])],ac_cv_statx=yes,ac_cv_statx=no)]) |
275 | ]])],ac_cv_statx=yes,ac_cv_statx=no)]) |
235 | test $ac_cv_statx = yes && AC_DEFINE(HAVE_STATX, 1, statx(2) is available) |
276 | test $ac_cv_statx = yes && AC_DEFINE(HAVE_STATX, 1, statx(2) is available) |
236 | |
277 | |
|
|
278 | AC_CACHE_CHECK(for accept4, ac_cv_accept4, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
|
|
279 | #include <sys/types.h> |
|
|
280 | #include <sys/socket.h> |
|
|
281 | int main (void) |
|
|
282 | { |
|
|
283 | int res = accept4 (1, (struct sockaddr *)0, (socklen_t)0, SOCK_NONBLOCK | SOCK_CLOEXEC); |
|
|
284 | return 0; |
|
|
285 | } |
|
|
286 | ]])],ac_cv_accept4=yes,ac_cv_accept4=no)]) |
|
|
287 | test $ac_cv_accept4 = yes && AC_DEFINE(HAVE_ACCEPT4, 1, accept4(2) is available) |
|
|
288 | |
|
|
289 | AC_CHECK_HEADERS([sys/mount.h]) |
|
|
290 | AC_CACHE_CHECK(for mount, ac_cv_mount, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
|
|
291 | #include <sys/mount.h> |
|
|
292 | int main (void) |
|
|
293 | { |
|
|
294 | int res = mount ("path", "path", "fstype", MS_RDONLY, 0); |
|
|
295 | return 0; |
|
|
296 | } |
|
|
297 | ]])],ac_cv_mount=yes,ac_cv_mount=no)]) |
|
|
298 | test $ac_cv_mount = yes && AC_DEFINE(HAVE_MOUNT, 1, mount is available) |
|
|
299 | AC_CACHE_CHECK(for umount, ac_cv_umount, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
|
|
300 | #include <sys/mount.h> |
|
|
301 | int main (void) |
|
|
302 | { |
|
|
303 | int res = umount ("path"); |
|
|
304 | return 0; |
|
|
305 | } |
|
|
306 | ]])],ac_cv_umount=yes,ac_cv_umount=no)]) |
|
|
307 | test $ac_cv_umount = yes && AC_DEFINE(HAVE_UMOUNT, 1, umount is available) |
|
|
308 | AC_CACHE_CHECK(for umount2, ac_cv_umount2, [AC_LINK_IFELSE([AC_LANG_SOURCE([[ |
|
|
309 | #include <sys/mount.h> |
|
|
310 | int main (void) |
|
|
311 | { |
|
|
312 | int res = umount2 ("path", MNT_FORCE|MNT_DETACH); |
|
|
313 | return 0; |
|
|
314 | } |
|
|
315 | ]])],ac_cv_umount2=yes,ac_cv_umount2=no)]) |
|
|
316 | test $ac_cv_umount2 = yes && AC_DEFINE(HAVE_UMOUNT2, 1, umount2 is available) |
|
|
317 | |
237 | AC_OUTPUT |
318 | AC_OUTPUT |
238 | |
319 | |