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

Comparing EV/Makefile.PL (file contents):
Revision 1.39 by root, Fri Feb 6 20:17:43 2009 UTC vs.
Revision 1.43 by root, Sun Aug 9 13:30:41 2009 UTC

1use 5.006; 1use 5.008002;
2 2
3use strict qw(vars subs); 3use strict qw(vars subs);
4use Config; 4use Config;
5use ExtUtils::MakeMaker; 5use ExtUtils::MakeMaker;
6 6
142many BSD systems. Support for kqueue will be detected at runtime, with a 142many BSD systems. Support for kqueue will be detected at runtime, with a
143safe fallback to other methods when it cannot be used. 143safe fallback to other methods when it cannot be used.
144 144
145Note that kqueue is broken on most operating systems, so by default it 145Note that kqueue is broken on most operating systems, so by default it
146won't be used on many platforms, but you can still create your own event 146won't be used on many platforms, but you can still create your own event
147loop with kqueue backend. 147loop with kqueue backend if you ask specifically for it.
148 148
149Here is what we know: 149Here is what we know:
150 150
151NetBSD: partially working in at least 3.1. Yeah! :) 151NetBSD: partially working in at least 3.1. Yeah! :)
152FreeBSD: broken on at least 6.2-STABLE, 152FreeBSD: broken on at least 6.2-STABLE,
196*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 196*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
197 197
198 198
199A backend of a different kind is the Linux inotify(7) interface, which can 199A backend of a different kind is the Linux inotify(7) interface, which can
200be used to speed up (and reduce resource consumption) of stat watchers. If 200be used to speed up (and reduce resource consumption) of stat watchers. If
201you have it, it is usually a good idea to enable it. 201you have the include file and libc support for it, it is usually a good
202idea to enable it, as kernel availability is detected at runtime.
202 203
203EOF 204EOF
204 205
205my $can_inotify = -e "/usr/include/sys/inotify.h"; 206my $can_inotify = -e "/usr/include/sys/inotify.h";
206$can_inotify = $ENV{EV_INOTIFY} if exists $ENV{EV_INOTIFY}; 207$can_inotify = $ENV{EV_INOTIFY} if exists $ENV{EV_INOTIFY};
220EOF 221EOF
221 222
222my $can_eventfd = -e "/usr/include/sys/eventfd.h"; 223my $can_eventfd = -e "/usr/include/sys/eventfd.h";
223$can_eventfd = $ENV{EV_EVENTFD} if exists $ENV{EV_EVENTFD}; 224$can_eventfd = $ENV{EV_EVENTFD} if exists $ENV{EV_EVENTFD};
224$DEFINE .= " -DEV_USE_EVENTFD=" . (0 + (prompt ("Enable linux eventfd support (y/n)?", $can_eventfd ? "y" : "n") =~ /[yY]/)); 225$DEFINE .= " -DEV_USE_EVENTFD=" . (0 + (prompt ("Enable linux eventfd support (y/n)?", $can_eventfd ? "y" : "n") =~ /[yY]/));
226
227print <<EOF;
228
229*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
230
231
232Another sometimes useful bit of functionality is the Linux signalfd, which
233is useful for faster signal handling (don't care). Kernel support for
234this will be probed at runtime, but your libc must contain the necessary
235wrapper and include files. Glibc 2.9 and later should have this wrapper.
236
237EOF
238
239my $can_signalfd = -e "/usr/include/sys/signalfd.h";
240$can_signalfd = $ENV{EV_SIGNALFD} if exists $ENV{EV_SIGNALFD};
241$DEFINE .= " -DEV_USE_SIGNALFD=" . (0 + (prompt ("Enable linux signalfd support (y/n)?", $can_signalfd ? "y" : "n") =~ /[yY]/));
225 242
226print <<EOF; 243print <<EOF;
227 244
228*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 245*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
229 246
247 DEFINE => "$DEFINE", 264 DEFINE => "$DEFINE",
248 NAME => "EV", 265 NAME => "EV",
249 LIBS => [$LIBS], 266 LIBS => [$LIBS],
250 PREREQ_PM => { 267 PREREQ_PM => {
251 @anyevent, 268 @anyevent,
269 "common::sense" => 0,
252 }, 270 },
253 VERSION_FROM => "EV.pm", 271 VERSION_FROM => "EV.pm",
254 PM => { 272 PM => {
255 'EV.pm' => '$(INST_LIBDIR)/EV.pm', 273 'EV.pm' => '$(INST_LIBDIR)/EV.pm',
256 'EV/EVAPI.h' => '$(INST_LIBDIR)/EV/EVAPI.h', 274 'EV/EVAPI.h' => '$(INST_LIBDIR)/EV/EVAPI.h',

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines