--- EV/Makefile.PL 2009/08/09 13:30:41 1.43 +++ EV/Makefile.PL 2020/02/18 18:26:47 1.68 @@ -1,10 +1,15 @@ -use 5.008002; - use strict qw(vars subs); +use Canary::Stability EV => 1, 5.008002; use Config; use ExtUtils::MakeMaker; -unless (-e "libev/ev_epoll.c") { +sub have_inc($) { + scalar grep -r "$_/$_[0]", $Config{usrinc}, split / /, $Config{incpth} +} + +my $DEFINE; + +unless (-e "libev/ev_iouring.c") { print < very often, so ti defaults to no. +actually call gettimeofday very often, so it defaults to no. EOF @@ -68,7 +75,7 @@ *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** -EV can use various backends with various portability issue. The select +EV can use various backends with various portability issues. The select backend is the most portable and makes for a good fallback, but it can be limited to a low number of file descriptors and/or might not compile. If you have problems with compiling ev_select.c, you might try to play around @@ -95,10 +102,10 @@ if (prompt ("Force use of system fd_set for select backend (y/n)?", "n") =~ /[yY]/) { $DEFINE .= " -DEV_SELECT_USE_FD_SET"; - } + } } else { $DEFINE .= " -DEV_USE_SELECT=0"; -} +} print < 2.6) : (); +$DEFINE .= " " . prompt "Any extra -D options?", "$ENV{EV_EXTRA_DEFS}"; + +print < 5.29) : (); WriteMakefile( dist => { @@ -257,7 +411,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/ev.c libev/ev.h libev/ev_epoll.c libev/ev_select.c libev/ev_kqueue.c libev/ev_poll.c libev/ev_linuxaio.c " . "libev/ev_vars.h libev/ev_wrap.h", }, INC => "-Ilibev", @@ -268,13 +422,14 @@ @anyevent, "common::sense" => 0, }, + CONFIGURE_REQUIRES => { "ExtUtils::MakeMaker" => 6.52, "Canary::Stability" => 0 }, VERSION_FROM => "EV.pm", PM => { - 'EV.pm' => '$(INST_LIBDIR)/EV.pm', - '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', + 'EV.pm' => '$(INST_LIB)/EV.pm', + 'EV/EVAPI.h' => '$(INST_LIB)/EV/EVAPI.h', + 'EV/MakeMaker.pm' => '$(INST_LIB)/EV/MakeMaker.pm', + 'libev/ev.h' => '$(INST_LIB)/EV/ev.h', + 'libev/ev.pod' => '$(INST_LIB)/EV/libev.pod', }, MAN3PODS => { 'EV.pm' => '$(INST_MAN3DIR)/EV.$(MAN3EXT)', @@ -283,4 +438,3 @@ }, ); -