--- IO-AIO/configure 2018/08/12 06:10:31 1.24 +++ IO-AIO/configure 2019/04/03 03:03:53 1.31 @@ -3964,6 +3964,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include int main (void) { @@ -4078,6 +4079,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include int main (void) { @@ -4278,10 +4280,10 @@ #include #include -int res; int main (void) { struct rlimit srl; + int res; srl.rlim_cur = srl.rlim_max = RLIM_INFINITY; res = getrlimit (RLIMIT_NOFILE, &srl); res = setrlimit (RLIMIT_NOFILE, &srl); @@ -4387,6 +4389,46 @@ done +for ac_header in sys/sysmacros.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_SYSMACROS_H 1 +_ACEOF + +fi + +done + + +for ac_header in sys/mkdev.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_mkdev_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_MKDEV_H 1 +_ACEOF + +fi + +done + + +for ac_header in sys/uio.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/uio.h" "ac_cv_header_sys_uio_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_uio_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_UIO_H 1 +_ACEOF + +fi + +done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for splice, vmsplice and tee" >&5 $as_echo_n "checking for splice, vmsplice and tee... " >&6; } if ${ac_cv_linux_splice+:} false; then : @@ -4395,7 +4437,9 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +#include #include +#include int main (void) { ssize_t res; @@ -4430,9 +4474,9 @@ #include #include -int res; int main (void) { + int res; res = pipe2 (0, 0); return 0; } @@ -4461,9 +4505,9 @@ /* end confdefs.h. */ #include -int res; int main (void) { + int res; res = eventfd (1, EFD_CLOEXEC | EFD_NONBLOCK); return 0; } @@ -4483,8 +4527,8 @@ $as_echo "#define HAVE_EVENTFD 1" >>confdefs.h -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for timerfd" >&5 -$as_echo_n "checking for timerfd... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for timerfd_*" >&5 +$as_echo_n "checking for timerfd_*... " >&6; } if ${ac_cv_timerfd+:} false; then : $as_echo_n "(cached) " >&6 else @@ -4492,10 +4536,10 @@ /* end confdefs.h. */ #include -int res; int main (void) { struct itimerspec its; + int res; res = timerfd_create (CLOCK_REALTIME, TFD_CLOEXEC | TFD_NONBLOCK); res = timerfd_settime (res, TFD_TIMER_ABSTIME /*| TFD_TIMER_CANCEL_ON_SET*/, &its, 0); res = timerfd_gettime (res, &its); @@ -4517,6 +4561,36 @@ $as_echo "#define HAVE_TIMERFD 1" >>confdefs.h +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for memfd_create" >&5 +$as_echo_n "checking for memfd_create... " >&6; } +if ${ac_cv_memfd_create+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +int main (void) +{ + int res = memfd_create ("name", MFD_CLOEXEC | MFD_ALLOW_SEALING); + return 0; +} + +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_memfd_create=yes +else + ac_cv_memfd_create=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_memfd_create" >&5 +$as_echo "$ac_cv_memfd_create" >&6; } +test $ac_cv_memfd_create = yes && +$as_echo "#define HAVE_MEMFD_CREATE 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for copy_file_range" >&5 $as_echo_n "checking for copy_file_range... " >&6; } if ${ac_cv_copy_file_range+:} false; then : @@ -4528,9 +4602,9 @@ #include #include /*#include */ -int res; int main (void) { + int res; /*res = syscall (SYS_copy_file_range, 0, 0, 0, 0, 0, COPY_FR_REFLINK | COPY_FR_DEDUP | COPY_FR_COPY);*/ res = syscall (SYS_copy_file_range, 0, 0, 0, 0, 0, 0); return 0; @@ -4563,13 +4637,11 @@ #include "perl.h" #include "XSUB.h" -int res; int main (void) { return PL_statcache.st_atimensec + PL_statcache.st_mtimensec + PL_statcache.st_ctimensec; - return 0; } _ACEOF @@ -4598,7 +4670,6 @@ #include "perl.h" #include "XSUB.h" -int res; int main (void) { return PL_statcache.st_atim.tv_nsec @@ -4622,6 +4693,140 @@ # apparently, True64 uses st_u[amc]time, aix uses at_[amc]time_n and apple uses st_[amc,birth]timespec? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for st_birthtimensec" >&5 +$as_echo_n "checking for st_birthtimensec... " >&6; } +if ${ac_cv_birthtimensec+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include "EXTERN.h" +#include "perl.h" +#include "XSUB.h" + +int main (void) +{ + return PL_statcache.st_birthtime + PL_statcache.st_birthtimensec; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_birthtimensec=yes +else + ac_cv_birthtimensec=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_birthtimensec" >&5 +$as_echo "$ac_cv_birthtimensec" >&6; } +test $ac_cv_birthtimensec = yes && +$as_echo "#define HAVE_ST_BIRTHTIMENSEC 1" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for st_birthtimespec" >&5 +$as_echo_n "checking for st_birthtimespec... " >&6; } +if ${ac_cv_birthtimespec+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include "EXTERN.h" +#include "perl.h" +#include "XSUB.h" + +int main (void) +{ + return PL_statcache.st_birthtim.tv_sec + PL_statcache.st_birthtim.tv_nsec; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_birthtimespec=yes +else + ac_cv_birthtimespec=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_birthtimespec" >&5 +$as_echo "$ac_cv_birthtimespec" >&6; } +test $ac_cv_birthtimespec = yes && +$as_echo "#define HAVE_ST_BIRTHTIMESPEC 1" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for st_gen" >&5 +$as_echo_n "checking for st_gen... " >&6; } +if ${ac_cv_st_gen+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include "EXTERN.h" +#include "perl.h" +#include "XSUB.h" + +int main (void) +{ + return PL_statcache.st_gen; +} + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_st_gen=yes +else + ac_cv_st_gen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_st_gen" >&5 +$as_echo "$ac_cv_st_gen" >&6; } +test $ac_cv_st_gen = yes && +$as_echo "#define HAVE_ST_GEN 1" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for statx" >&5 +$as_echo_n "checking for statx... " >&6; } +if ${ac_cv_statx+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +#include +int res; +int main (void) +{ + struct statx sx; + int res; + res = statx (AT_FDCWD, ".", + AT_EMPTY_PATH | AT_NO_AUTOMOUNT | AT_SYMLINK_NOFOLLOW | AT_STATX_SYNC_AS_STAT | AT_STATX_FORCE_SYNC | AT_STATX_DONT_SYNC, + STATX_ALL, &sx); + STATX_TYPE; STATX_MODE; STATX_NLINK; STATX_UID; STATX_GID; STATX_ATIME; STATX_MTIME; STATX_CTIME; + STATX_INO; STATX_SIZE; STATX_BLOCKS; STATX_BASIC_STATS; STATX_BTIME; STATX_ALL; + STATX_ATTR_COMPRESSED; STATX_ATTR_IMMUTABLE; STATX_ATTR_APPEND; STATX_ATTR_NODUMP; STATX_ATTR_ENCRYPTED; + return 0; +} + +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_statx=yes +else + ac_cv_statx=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_statx" >&5 +$as_echo "$ac_cv_statx" >&6; } +test $ac_cv_statx = yes && +$as_echo "#define HAVE_STATX 1" >>confdefs.h + + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure