--- Coro/Makefile.PL 2001/07/24 19:52:55 1.5 +++ Coro/Makefile.PL 2008/05/10 22:32:40 1.43 @@ -1,20 +1,75 @@ 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 is ABI-incompatible with Coro, please upgrade to 2.0. *** EOF + } else { + $EV = 1; + $DEFINE .= " -DHAVE_EV=1"; + print "\nEV version $EV::VERSION found, building EV support.\n\n"; + } +} else { + print "\n*** EV not found, not build EV support.\n\n"; } WriteMakefile( @@ -25,10 +80,60 @@ }, NAME => "Coro", VERSION_FROM => "Coro.pm", - DIR => ['Coro'], - PM_PREREQ => { - Event => 0.84, # yes, 0.83 and below have serious bugs + DIR => ['Coro', ($EVENT ? 'Event' : ()), ($EV ? "EV" : ())], + PREREQ_PM => { + Scalar::Util => 0.00, + AnyEvent => 3.4, + AnyEvent::AIO => 1.0, + AnyEvent::BDB => 1.0, + 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', + }, ); sub MY::postamble { @@ -36,7 +141,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 }