--- cvsroot/EV/Makefile.PL 2007/12/22 05:47:52 1.29 +++ cvsroot/EV/Makefile.PL 2008/10/29 17:41:11 1.36 @@ -140,8 +140,11 @@ many BSD systems. Support for kqueue will be detected at runtime, with a safe fallback to other methods when it cannot be used. -Note that kqueue is broken on most operating systems, so it defaults to -'n' on everything but netbsd. Here is what we know: +Note that kqueue is broken on most operating systems, so by default it +won't be used on many platforms, but you can still create your own event +loop with qkueue backend. + +Here is what we know: NetBSD: partially working in at least 3.1. Yeah! :) FreeBSD: broken on at least 6.2-STABLE, @@ -206,6 +209,21 @@ *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** +Another useful bit of functionality is the Linux eventfd, which is useful +for faster signal handling (don't care) and intra-thread communications +(more relevant). Kernel support for this will be probed at runtime, but +your libc must contain the necessary wrapper. Glibc 2.7 and later should +have this wrapper. + +EOF + +$DEFINE .= " -DEV_USE_EVENTFD=" . (0 + (prompt ("Enable linux eventfd support (y/n)?", (-e "/usr/include/sys/eventfd.h") || $ENV{EV_EVENTFD} ? "y" : "n") =~ /[yY]/)); + +print < 2.6) : (); @@ -219,7 +237,7 @@ depend => { "EV.c" => "EV/EVAPI.h " . "libev/ev.c libev/ev.h libev/ev_epoll.c libev/ev_select.c libev/ev_kqueue.c libev/ev_poll.c " - . "libev/event.h libev/event.c libev/ev_vars.h libev/ev_wrap.h", + . "libev/ev_vars.h libev/ev_wrap.h", }, INC => "-Ilibev", DEFINE => "$DEFINE", @@ -234,7 +252,13 @@ 'EV/EVAPI.h' => '$(INST_LIBDIR)/EV/EVAPI.h', 'EV/MakeMaker.pm' => '$(INST_LIBDIR)/EV/MakeMaker.pm', 'libev/ev.h' => '$(INST_LIBDIR)/EV/ev.h', + 'libev/ev.pod' => '$(INST_LIBDIR)/EV/libev.pod', }, + MAN3PODS => { + 'EV.pm' => '$(INST_MAN3DIR)/EV.$(MAN3EXT)', + 'EV/MakeMaker.pm' => '$(INST_MAN3DIR)/EV::MakeMaker.$(MAN3EXT)', + 'libev/ev.pod' => '$(INST_MAN3DIR)/EV::libev.$(MAN3EXT)', + }, );