# # # Check if we have a copy_file_range system call (Linux) # AC_DEFUN([AC_HAVE_COPY_FILE_RANGE], [ AC_MSG_CHECKING([for copy_file_range]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #define _GNU_SOURCE #include #include ]], [[ syscall(__NR_copy_file_range, 0, 0, 0, 0, 0, 0); ]])],[have_copy_file_range=yes AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) AC_SUBST(have_copy_file_range) ]) # Check if we have SEEK_DATA AC_DEFUN([AC_HAVE_SEEK_DATA], [ AC_MSG_CHECKING([for SEEK_DATA]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #define _GNU_SOURCE #include #include ]], [[ lseek(-1, 0, SEEK_DATA); ]])],[have_seek_data=yes AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) AC_SUBST(have_seek_data) ]) # Check if we have nftw AC_DEFUN([AC_HAVE_NFTW], [ AC_MSG_CHECKING([for nftw]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #define _GNU_SOURCE #include #include ]], [[ nftw("/", (int (*)(const char *, const struct stat *, int, struct FTW *))1, 0, FTW_ACTIONRETVAL); ]])],[have_nftw=yes AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) AC_SUBST(have_nftw) ]) # Check if we have RLIMIT_NOFILE AC_DEFUN([AC_HAVE_RLIMIT_NOFILE], [ AC_MSG_CHECKING([for RLIMIT_NOFILE]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #define _GNU_SOURCE #include #include ]], [[ struct rlimit rlimit; rlimit.rlim_cur = 0; getrlimit(RLIMIT_NOFILE, &rlimit); ]])],[have_rlimit_nofile=yes AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) AC_SUBST(have_rlimit_nofile) ]) # Check if we have FICLONE AC_DEFUN([AC_HAVE_FICLONE], [ AC_MSG_CHECKING([for FICLONE]) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include #include ]], [[ ioctl(-1, FICLONE, -1); ]])],[have_ficlone=yes AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)]) AC_SUBST(have_ficlone) ])