ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libeio/libeio.m4
Revision: 1.12
Committed: Thu Dec 2 10:04:48 2010 UTC (13 years, 5 months ago) by root
Branch: MAIN
CVS Tags: rel-3_71, rel-3_9, rel-3_8
Changes since 1.11: +35 -0 lines
Log Message:
*** empty log message ***

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
122 dnl #############################################################################
123 dnl # these checks exist for the benefit of IO::AIO
124
125 dnl at least uclibc defines _POSIX_ADVISORY_INFO without *any* of the required
126 dnl functionality actually being present. ugh.
127 AC_CACHE_CHECK(for posix_madvise, ac_cv_posix_madvise, [AC_LINK_IFELSE([
128 #include <sys/mman.h>
129 int main (void)
130 {
131 int res = posix_madvise ((void *)0, (size_t)0, POSIX_MADV_NORMAL);
132 int a = POSIX_MADV_SEQUENTIAL;
133 int b = POSIX_MADV_RANDOM;
134 int c = POSIX_MADV_WILLNEED;
135 int d = POSIX_MADV_DONTNEED;
136 return 0;
137 }
138 ],ac_cv_posix_madvise=yes,ac_cv_posix_madvise=no)])
139 test $ac_cv_posix_madvise = yes && AC_DEFINE(HAVE_POSIX_MADVISE, 1, posix_madvise(2) is available)
140
141 AC_CACHE_CHECK(for posix_fadvise, ac_cv_posix_fadvise, [AC_LINK_IFELSE([
142 #define _XOPEN_SOURCE 600
143 #include <fcntl.h>
144 int main (void)
145 {
146 int res = posix_fadvise ((int)0, (off_t)0, (off_t)0, POSIX_FADV_NORMAL);
147 int a = POSIX_FADV_SEQUENTIAL;
148 int b = POSIX_FADV_NOREUSE;
149 int c = POSIX_FADV_RANDOM;
150 int d = POSIX_FADV_WILLNEED;
151 int e = POSIX_FADV_DONTNEED;
152 return 0;
153 }
154 ],ac_cv_posix_fadvise=yes,ac_cv_posix_fadvise=no)])
155 test $ac_cv_posix_fadvise = yes && AC_DEFINE(HAVE_POSIX_FADVISE, 1, posix_fadvise(2) is available)
156