--- Coro/Makefile.PL 2001/08/25 15:35:56 1.9 +++ Coro/Makefile.PL 2008/05/09 22:04:37 1.41 @@ -1,23 +1,76 @@ use ExtUtils::MakeMaker; +unless (-e "Coro/libcoro/coro.c") { + print < +*** + +EOF +} + +if (eval { require Event }) { + if ($Event::VERSION < 0.86 or $Event::VERSION == 0.88) { + print < +*** This version of Event is broken. The only currently known non-broken +*** versions of Event are 0.87 and 0.89+. Please install one of those +*** versions. *** EOF + } else { + $EVENT = 1; + $DEFINE .= " -DHAVE_EVENT=1"; + print "\nEvent version $Event::VERSION found, building Event support.\n\n"; + } +} else { + print "\n*** Event not found, not build Event support.\n\n"; } -$EVENT = eval { require Event }; +if (eval { require EV }) { + if ($EV::VERSION < 2.0) { + print < { @@ -27,12 +80,57 @@ }, NAME => "Coro", VERSION_FROM => "Coro.pm", - DIR => ['Coro', ($EVENT ? 'Event' : ())], + DIR => ['Coro', ($EVENT ? 'Event' : ()), ($EV ? "EV" : ())], PREREQ_PM => { - Event => 0.83, # still, 0.83 and below have serious bugs(!) + Scalar::Util => 0.00, + AnyEvent => 3.3, + Storable => 2.15, + Time::HiRes => 0, + + # for Coro::Event + Event => 1.06, + + # for Coro::EV + EV => 3.0, + + # for Coro::AIO + IO::AIO => 2.3, + }, + EXTRA_META => q{ +configure_requires: + Event: 1.06 + EV: 3.0 }, PM => { 'Coro.pm' => '$(INST_LIBDIR)/Coro.pm', + + 'Coro/State.pm' => '$(INST_LIBDIR)/Coro/State.pm', + + 'Coro/MakeMaker.pm' => '$(INST_LIBDIR)/Coro/MakeMaker.pm', + 'Coro/CoroAPI.h' => '$(INST_LIBDIR)/Coro/CoroAPI.h', + +# 'Coro/Cont.pm' => '$(INST_LIBDIR)/Coro/Cont.pm', + + 'Coro/Specific.pm' => '$(INST_LIBDIR)/Coro/Specific.pm', + + 'Coro/Timer.pm' => '$(INST_LIBDIR)/Coro/Timer.pm', + 'Coro/Signal.pm' => '$(INST_LIBDIR)/Coro/Signal.pm', + 'Coro/Channel.pm' => '$(INST_LIBDIR)/Coro/Channel.pm', + 'Coro/Semaphore.pm' => '$(INST_LIBDIR)/Coro/Semaphore.pm', + 'Coro/SemaphoreSet.pm'=> '$(INST_LIBDIR)/Coro/SemaphoreSet.pm', + 'Coro/RWLock.pm' => '$(INST_LIBDIR)/Coro/RWLock.pm', + + 'Coro/Debug.pm' => '$(INST_LIBDIR)/Coro/Debug.pm', + 'Coro/Util.pm' => '$(INST_LIBDIR)/Coro/Util.pm', + 'Coro/Select.pm' => '$(INST_LIBDIR)/Coro/Select.pm', + 'Coro/Handle.pm' => '$(INST_LIBDIR)/Coro/Handle.pm', + 'Coro/Socket.pm' => '$(INST_LIBDIR)/Coro/Socket.pm', + + 'Coro/AIO.pm' => '$(INST_LIBDIR)/Coro/AIO.pm', + 'Coro/BDB.pm' => '$(INST_LIBDIR)/Coro/BDB.pm', + 'Coro/LWP.pm' => '$(INST_LIBDIR)/Coro/LWP.pm', + 'Coro/Storable.pm' => '$(INST_LIBDIR)/Coro/Storable.pm', + 'Coro/AnyEvent.pm' => '$(INST_LIBDIR)/Coro/AnyEvent.pm', }, ); @@ -41,7 +139,7 @@ # set \$VERSION in all modules setver: - \$(PERL) -pi -e 's/^(\\s*\\\$\$VERSION\\s*=\\s*).*\$\$/\$\${1}\$(VERSION);/' *.pm Coro/*.pm + \$(PERL) -pi -e 's/^(\\s*(our\\s*)?\\\$\$VERSION\\s*=\\s*).*\$\$/\$\${1}\$(VERSION);/' *.pm Coro/*.pm Event/*.pm EOF }