- AC_DEFINE(SENDFILE_FLAVOR_LINUX,1,[Whether linux sendfile() API is available])
- AC_MSG_CHECKING([for sendfile() syscall])
- AC_CACHE_CHECK([for sendfile support],
- [netatalk_cv_HAVE_SENDFILE],
- [AC_TRY_LINK(
- [#include <sys/sendfile.h>],
- [int tofd, fromfd;
- off_t offset;
- size_t total;
- ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);],
- [netatalk_cv_HAVE_SENDFILE=yes]
- )]
- )
-
- # Try and cope with broken Linux sendfile....
- AC_CACHE_CHECK([for broken Linux sendfile support],
- [netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE],
- [AC_TRY_LINK(
- [#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
- #undef _FILE_OFFSET_BITS
- #endif
- #include <sys/sendfile.h>],
- [int tofd, fromfd;
- off_t offset;
- size_t total;
- ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);],
- [netatalk_cv_HAVE_SENDFILE=yes; netatalk_cv_HAVE_BROKEN_SENDFILE=yes]
- )]
- )
- if test x"$netatalk_cv_HAVE_SENDFILE" = x"yes"; then
- AC_MSG_RESULT(yes);
- else
- AC_MSG_RESULT(no);
- fi
- if test x"$netatalk_cv_HAVE_BROKEN_SENDFILE" = x"yes"; then
- AC_DEFINE(LINUX_BROKEN_SENDFILE_API,1,[Whether Linux sendfile() is broken])
- fi