ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/EV/Makefile.PL
(Generate patch)

Comparing EV/Makefile.PL (file contents):
Revision 1.24 by root, Fri Nov 23 03:39:15 2007 UTC vs.
Revision 1.28 by root, Fri Dec 21 04:41:12 2007 UTC

140safe fallback to other methods when it cannot be used. 140safe fallback to other methods when it cannot be used.
141 141
142Note that kqueue is broken on most operating systems, so it defaults to 142Note that kqueue is broken on most operating systems, so it defaults to
143'n' on everything but netbsd. Here is what we know: 143'n' on everything but netbsd. Here is what we know:
144 144
145NetBSD: working in at least 3.1. Yeah! :) 145NetBSD: partially working in at least 3.1. Yeah! :)
146FreeBSD: broken on at least 6.2-STABLE, 146FreeBSD: broken on at least 6.2-STABLE,
147 sockets and pipes *might* work, ptys definitely don't. 147 sockets *likely* work, ptys definitely don't.
148OpenBSD: reports indicate that it likely doesn't work 148OpenBSD: reports indicate that it likely doesn't work
149 (similar problems as on FreeBSD). 149 (similar problems as on FreeBSD).
150OS X: completely, utterly broken on at least <= 10.5. 150OS X: completely, utterly broken on at least < 10.5.
151 151
152EOF 152EOF
153 153
154my $can_kqueue = $^O =~ /netbsd/i && -e "/usr/include/sys/event.h"; 154my $can_kqueue = -e "/usr/include/sys/event.h";
155 155
156$DEFINE .= " -DEV_USE_KQUEUE=" . (0 + (prompt ("Enable kqueue backend (y/n)?", $can_kqueue ? "y" : "n") =~ /[yY]/)); 156$DEFINE .= " -DEV_USE_KQUEUE=" . (0 + (prompt ("Enable kqueue backend (y/n)?", $can_kqueue ? "y" : "n") =~ /[yY]/));
157 157
158print <<EOF; 158print <<EOF;
159 159
160*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 160*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
161 161
162 162
163Similarly to the kqueue backend above, EV can take advantage of the 163Similarly to the kqueue backend above, EV can take advantage of the
164solaris 10 port interface. Support for port will be detected at runtime, 164solaris 10 event port interface. Support for event ports will be detected
165with a safe fallback to other methods when it cannot be used. 165at runtime, with a safe fallback to other methods when it cannot be used.
166 166
167EOF 167EOF
168 168
169$DEFINE .= " -DEV_USE_PORT=" . (0 + (prompt ("Enable port backend (y/n)?", (-e "/usr/include/sys/port.h") ? "y" : "n") =~ /[yY]/)); 169$DEFINE .= " -DEV_USE_PORT=" . (0 + (prompt ("Enable event port backend (y/n)?", (-e "/usr/include/sys/port.h") ? "y" : "n") =~ /[yY]/));
170 170
171print <<EOF; 171print <<EOF;
172 172
173*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 173*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
174 174
182 182
183$SOLARIS_LIBS = $^O =~ /solaris/ ? " -lsocket -lnsl" : ""; 183$SOLARIS_LIBS = $^O =~ /solaris/ ? " -lsocket -lnsl" : "";
184 184
185$LIBS = prompt "Extra libraries for pthread_atfork and clock_gettime?", "-lpthread -lrt$SOLARIS_LIBS"; 185$LIBS = prompt "Extra libraries for pthread_atfork and clock_gettime?", "-lpthread -lrt$SOLARIS_LIBS";
186 186
187
188print <<EOF;
189
190*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
191
192
193A backend of a different kind is the Linux inotify(7) interface, which can
194be used to speed up (and reduce resource consumption) of stat watchers. If
195you have it, it is usually a good idea to enable it.
196
197EOF
198
199my $can_inotify = -e "/usr/include/sys/inotify.h";
200
201$DEFINE .= " -DEV_USE_INOTIFY=" . (0 + (prompt ("Enable inotify support (y/n)?", $can_inotify ? "y" : "n") =~ /[yY]/));
187 202
188print <<EOF; 203print <<EOF;
189 204
190*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 205*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
191 206
201 SUFFIX => '.gz', 216 SUFFIX => '.gz',
202 }, 217 },
203 depend => { 218 depend => {
204 "EV.c" => "EV/EVAPI.h " 219 "EV.c" => "EV/EVAPI.h "
205 . "libev/ev.c libev/ev.h libev/ev_epoll.c libev/ev_select.c libev/ev_kqueue.c libev/ev_poll.c " 220 . "libev/ev.c libev/ev.h libev/ev_epoll.c libev/ev_select.c libev/ev_kqueue.c libev/ev_poll.c "
206 . "libev/event.h libev/event.c evdns.h evdns.c libev/ev_vars.h libev/ev_wrap.h", 221 . "libev/event.h libev/event.c libev/ev_vars.h libev/ev_wrap.h",
207 }, 222 },
208 INC => "-Ilibev", 223 INC => "-Ilibev",
209 DEFINE => "$DEFINE", 224 DEFINE => "$DEFINE",
210 NAME => "EV", 225 NAME => "EV",
211 LIBS => [$LIBS], 226 LIBS => [$LIBS],
213 @anyevent, 228 @anyevent,
214 }, 229 },
215 VERSION_FROM => "EV.pm", 230 VERSION_FROM => "EV.pm",
216 PM => { 231 PM => {
217 'EV.pm' => '$(INST_LIBDIR)/EV.pm', 232 'EV.pm' => '$(INST_LIBDIR)/EV.pm',
218 'EV/DNS.pm' => '$(INST_LIBDIR)/EV/DNS.pm',
219 'EV/EVAPI.h' => '$(INST_LIBDIR)/EV/EVAPI.h', 233 'EV/EVAPI.h' => '$(INST_LIBDIR)/EV/EVAPI.h',
220 'EV/MakeMaker.pm' => '$(INST_LIBDIR)/EV/MakeMaker.pm', 234 'EV/MakeMaker.pm' => '$(INST_LIBDIR)/EV/MakeMaker.pm',
221 'libev/ev.h' => '$(INST_LIBDIR)/EV/ev.h', 235 'libev/ev.h' => '$(INST_LIBDIR)/EV/ev.h',
222 }, 236 },
223); 237);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines