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

# User Rev Content
1 root 1.2 AC_SEARCH_LIBS(
2     pthread_create,
3     [pthread pthreads pthreadVC2],
4     ,
5     [AC_MSG_ERROR(pthread functions not found)]
6     )
7    
8 root 1.11 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 root 1.1 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 root 1.10 int main (void)
30 root 1.1 {
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 root 1.10 int main (void)
40 root 1.1 {
41     int fd = 0;
42     size_t count = 2;
43     ssize_t res;
44 root 1.5 res = readahead (fd, 0, count);
45 root 1.1 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 root 1.10 int main (void)
53 root 1.1 {
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 root 1.10 int main (void)
64 root 1.1 {
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 root 1.9 #elif __FreeBSD__ || defined __APPLE__
82 root 1.1 # 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 root 1.10 int main (void)
90 root 1.1 {
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 root 1.9 #elif __FreeBSD__
98 root 1.1 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 root 1.7 AC_CACHE_CHECK(for sync_file_range, ac_cv_sync_file_range, [AC_LINK_IFELSE([
108     #include <fcntl.h>
109 root 1.10 int main (void)
110 root 1.7 {
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 root 1.12 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