ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libeio/libeio.m4
Revision: 1.11
Committed: Wed Dec 1 07:30:39 2010 UTC (13 years, 5 months ago) by root
Branch: MAIN
Changes since 1.10: +14 -0 lines
Log Message:
futimes/utimes

File Contents

# Content
1 AC_SEARCH_LIBS(
2 pthread_create,
3 [pthread pthreads pthreadVC2],
4 ,
5 [AC_MSG_ERROR(pthread functions not found)]
6 )
7
8 AC_CACHE_CHECK(for utimes, ac_cv_utimes, [AC_LINK_IFELSE([[
9 #include <sys/types.h>
10 #include <sys/time.h>
11 #include <utime.h>
12 struct timeval tv[2];
13 int res;
14 int main (void)
15 {
16 res = utimes ("/", tv);
17 return 0;
18 }
19 ]],ac_cv_utimes=yes,ac_cv_utimes=no)])
20 test $ac_cv_utimes = yes && AC_DEFINE(HAVE_UTIMES, 1, utimes(2) is available)
21
22 AC_CACHE_CHECK(for futimes, ac_cv_futimes, [AC_LINK_IFELSE([[
23 #include <sys/types.h>
24 #include <sys/time.h>
25 #include <utime.h>
26 struct timeval tv[2];
27 int res;
28 int fd;
29 int main (void)
30 {
31 res = futimes (fd, tv);
32 return 0;
33 }
34 ]],ac_cv_futimes=yes,ac_cv_futimes=no)])
35 test $ac_cv_futimes = yes && AC_DEFINE(HAVE_FUTIMES, 1, futimes(2) is available)
36
37 AC_CACHE_CHECK(for readahead, ac_cv_readahead, [AC_LINK_IFELSE([
38 #include <fcntl.h>
39 int main (void)
40 {
41 int fd = 0;
42 size_t count = 2;
43 ssize_t res;
44 res = readahead (fd, 0, count);
45 return 0;
46 }
47 ],ac_cv_readahead=yes,ac_cv_readahead=no)])
48 test $ac_cv_readahead = yes && AC_DEFINE(HAVE_READAHEAD, 1, readahead(2) is available (linux))
49
50 AC_CACHE_CHECK(for fdatasync, ac_cv_fdatasync, [AC_LINK_IFELSE([
51 #include <unistd.h>
52 int main (void)
53 {
54 int fd = 0;
55 fdatasync (fd);
56 return 0;
57 }
58 ],ac_cv_fdatasync=yes,ac_cv_fdatasync=no)])
59 test $ac_cv_fdatasync = yes && AC_DEFINE(HAVE_FDATASYNC, 1, fdatasync(2) is available)
60
61 AC_CACHE_CHECK(for pread and pwrite, ac_cv_preadwrite, [AC_LINK_IFELSE([
62 #include <unistd.h>
63 int main (void)
64 {
65 int fd = 0;
66 size_t count = 1;
67 char buf;
68 off_t offset = 1;
69 ssize_t res;
70 res = pread (fd, &buf, count, offset);
71 res = pwrite (fd, &buf, count, offset);
72 return 0;
73 }
74 ],ac_cv_preadwrite=yes,ac_cv_preadwrite=no)])
75 test $ac_cv_preadwrite = yes && AC_DEFINE(HAVE_PREADWRITE, 1, pread(2) and pwrite(2) are available)
76
77 AC_CACHE_CHECK(for sendfile, ac_cv_sendfile, [AC_LINK_IFELSE([
78 # include <sys/types.h>
79 #if __linux
80 # include <sys/sendfile.h>
81 #elif __FreeBSD__ || defined __APPLE__
82 # include <sys/socket.h>
83 # include <sys/uio.h>
84 #elif __hpux
85 # include <sys/socket.h>
86 #else
87 # error unsupported architecture
88 #endif
89 int main (void)
90 {
91 int fd = 0;
92 off_t offset = 1;
93 size_t count = 2;
94 ssize_t res;
95 #if __linux
96 res = sendfile (fd, fd, offset, count);
97 #elif __FreeBSD__
98 res = sendfile (fd, fd, offset, count, 0, &offset, 0);
99 #elif __hpux
100 res = sendfile (fd, fd, offset, count, 0, 0);
101 #endif
102 return 0;
103 }
104 ],ac_cv_sendfile=yes,ac_cv_sendfile=no)])
105 test $ac_cv_sendfile = yes && AC_DEFINE(HAVE_SENDFILE, 1, sendfile(2) is available and supported)
106
107 AC_CACHE_CHECK(for sync_file_range, ac_cv_sync_file_range, [AC_LINK_IFELSE([
108 #include <fcntl.h>
109 int main (void)
110 {
111 int fd = 0;
112 off64_t offset = 1;
113 off64_t nbytes = 1;
114 unsigned int flags = SYNC_FILE_RANGE_WAIT_BEFORE|SYNC_FILE_RANGE_WRITE|SYNC_FILE_RANGE_WAIT_AFTER;
115 ssize_t res;
116 res = sync_file_range (fd, offset, nbytes, flags);
117 return 0;
118 }
119 ],ac_cv_sync_file_range=yes,ac_cv_sync_file_range=no)])
120 test $ac_cv_sync_file_range = yes && AC_DEFINE(HAVE_SYNC_FILE_RANGE, 1, sync_file_range(2) is available)
121