summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorroot <root>2008-05-10 17:16:39 +0000
committerroot <root>2008-05-10 17:16:39 +0000
commitbd850bb93a4c5f48c254c9c7ddd44d16ffde99cb (patch)
tree2d5597dce5a442822729c6aaca6d05d3428695d8 /configure.ac
initial check-in
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac105
1 files changed, 105 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..676b4f6
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,105 @@
+AC_PREREQ(2.59)
+AC_INIT
+AC_CONFIG_HEADERS([config.h])
+
+AC_PROG_CC
+
+AC_CACHE_CHECK(for futimes, ac_cv_futimes, [AC_LINK_IFELSE([[
+#include <sys/types.h>
+#include <sys/time.h>
+#include <utime.h>
+struct timeval tv[2];
+int res;
+int fd;
+int main(void)
+{
+ res = futimes (fd, tv);
+ return 0;
+}
+]],ac_cv_futimes=yes,ac_cv_futimes=no)])
+test $ac_cv_futimes = yes && AC_DEFINE(HAVE_FUTIMES, 1, futimes(2) is available)
+
+AC_CACHE_CHECK(for readahead, ac_cv_readahead, [AC_LINK_IFELSE([
+#include <fcntl.h>
+int main(void)
+{
+ int fd = 0;
+ off64_t offset = 1;
+ size_t count = 2;
+ ssize_t res;
+ res = readahead (fd, offset, count);
+ return 0;
+}
+],ac_cv_readahead=yes,ac_cv_readahead=no)])
+test $ac_cv_readahead = yes && AC_DEFINE(HAVE_READAHEAD, 1, readahead(2) is available (linux))
+
+AC_CACHE_CHECK(for fdatasync, ac_cv_fdatasync, [AC_LINK_IFELSE([
+#include <unistd.h>
+int main(void)
+{
+ int fd = 0;
+ fdatasync (fd);
+ return 0;
+}
+],ac_cv_fdatasync=yes,ac_cv_fdatasync=no)])
+test $ac_cv_fdatasync = yes && AC_DEFINE(HAVE_FDATASYNC, 1, fdatasync(2) is available)
+
+AC_CACHE_CHECK(for pread and pwrite, ac_cv_preadwrite, [AC_LINK_IFELSE([
+#include <unistd.h>
+int main(void)
+{
+ int fd = 0;
+ size_t count = 1;
+ char buf;
+ off_t offset = 1;
+ ssize_t res;
+ res = pread (fd, &buf, count, offset);
+ res = pwrite (fd, &buf, count, offset);
+ return 0;
+}
+],ac_cv_preadwrite=yes,ac_cv_preadwrite=no)])
+test $ac_cv_preadwrite = yes && AC_DEFINE(HAVE_PREADWRITE, 1, pread(2) and pwrite(2) are available)
+
+AC_CACHE_CHECK(for readdir_r, ac_cv_readdir_r, [AC_LINK_IFELSE([
+#include <dirent.h>
+int main(void)
+{
+ DIR *dir = 0;
+ struct dirent ent, *eres;
+ int res = readdir_r (dir, &ent, &eres);
+ return 0;
+}
+],ac_cv_readdir_r=yes,ac_cv_readdir_r=no)])
+test $ac_cv_readdir_r = yes && AC_DEFINE(HAVE_READDIR_R, 1, readdir_r is available)
+
+AC_CACHE_CHECK(for sendfile, ac_cv_sendfile, [AC_LINK_IFELSE([
+# include <sys/types.h>
+#if __linux
+# include <sys/sendfile.h>
+#elif __freebsd
+# include <sys/socket.h>
+# include <sys/uio.h>
+#elif __hpux
+# include <sys/socket.h>
+#else
+# error unsupported architecture
+#endif
+int main(void)
+{
+ int fd = 0;
+ off_t offset = 1;
+ size_t count = 2;
+ ssize_t res;
+#if __linux
+ res = sendfile (fd, fd, offset, count);
+#elif __freebsd
+ res = sendfile (fd, fd, offset, count, 0, &offset, 0);
+#elif __hpux
+ res = sendfile (fd, fd, offset, count, 0, 0);
+#endif
+ return 0;
+}
+],ac_cv_sendfile=yes,ac_cv_sendfile=no)])
+test $ac_cv_sendfile = yes && AC_DEFINE(HAVE_SENDFILE, 1, sendfile(2) is available and supported)
+
+AC_OUTPUT