1 | use ExtUtils::MakeMaker; |
1 | use ExtUtils::MakeMaker; |
2 | |
2 | |
3 | use 5.008; # AnyEvent core seems to work with 5.6 |
3 | # AnyEvent perl event loop seems to work with 5.6, other modules not |
|
|
4 | eval 'use Canary::Stability AnyEvent => 1, 5.008001'; |
4 | |
5 | |
5 | print <<EOF; |
6 | print <<EOF; |
6 | |
7 | |
7 | *** |
8 | *** |
8 | *** The EV module is recommended for even better performance, unless you |
9 | *** The EV module is recommended for even better performance, unless you |
9 | *** have to use one of the other adaptors (Event, Glib, Tk, etc.). |
10 | *** have to use one of the other adaptors (Event, Glib, Tk, etc.). |
|
|
11 | *** The Async::Interrupt module is highly recommended to efficiently avoid |
|
|
12 | *** race conditions in/with other event loops. |
10 | *** |
13 | *** |
11 | *** This module does not have ANY dependencies, even if it might look |
14 | *** This module does not have ANY dependencies, even if it might look |
12 | *** otherwise. If you are building a distribution package or have |
15 | *** otherwise. If you are building a distribution package or have |
13 | *** difficulties installing this package due to dependencies, report this |
16 | *** difficulties installing this package due to dependencies, report this |
14 | *** to the packager as a bug. |
17 | *** to the packager as a bug. |
15 | *** |
18 | *** |
16 | *** This module is guaranteed to stay pure-perl and still be full-featured |
19 | *** This module is guaranteed to stay 100% pure-perl, full-featured |
17 | *** and performant, even without any optionally recommended modules. |
20 | *** and performant, even without any of the optional modules. |
18 | *** |
21 | *** |
19 | |
22 | |
20 | EOF |
23 | EOF |
|
|
24 | |
|
|
25 | do "./constants.pl.PL" |
|
|
26 | or die "cannot execute constants.pl.PL: $@"; |
21 | |
27 | |
22 | WriteMakefile( |
28 | WriteMakefile( |
23 | dist => { |
29 | dist => { |
24 | PREOP => 'pod2text lib/AnyEvent.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
30 | PREOP => 'pod2text lib/AnyEvent.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
25 | COMPRESS => 'gzip -9v', |
31 | COMPRESS => 'gzip -9v', |
26 | SUFFIX => '.gz', |
32 | SUFFIX => '.gz', |
27 | }, |
33 | }, |
28 | test => { TESTS => "t/*.t t/handle/*.t" }, |
34 | test => { TESTS => "t/*.t t/handle/*.t" }, |
29 | NAME => "AnyEvent", |
35 | NAME => "AnyEvent", |
30 | VERSION_FROM => "lib/AnyEvent.pm", |
36 | VERSION_FROM => "lib/AnyEvent.pm", |
|
|
37 | PMLIBDIRS => ["lib"], |
|
|
38 | # PREREQ_PM => { |
|
|
39 | # Task::Weaken => 0, |
|
|
40 | # }, |
|
|
41 | CONFIGURE_REQUIRES => { "ExtUtils::MakeMaker" => 6.52, "Canary::Stability" => 0 }, |
31 | META_MERGE => { |
42 | META_MERGE => { |
32 | recommends => { |
43 | recommends => { |
|
|
44 | "Task::Weaken" => 0, |
33 | "Net::SSLeay" => 1.32, |
45 | "Net::SSLeay" => 1.33, |
34 | "JSON" => 2.09, |
46 | "JSON" => 2.09, |
35 | "JSON::XS" => 2.2, |
47 | "JSON::XS" => 2.2, |
36 | "EV" => 3.05, |
48 | "EV" => 4.00, |
37 | "Guard" => 1.02, |
49 | "Guard" => 1.02, |
|
|
50 | "Async::Interrupt" => 1.0, |
38 | } |
51 | } |
|
|
52 | }, |
|
|
53 | PM => { |
|
|
54 | 'lib/AE.pm' => '$(INST_LIB)/AE.pm', |
|
|
55 | 'lib/AnyEvent.pm' => '$(INST_LIB)/AnyEvent.pm', |
|
|
56 | 'lib/AnyEvent/DNS.pm' => '$(INST_LIB)/AnyEvent/DNS.pm', |
|
|
57 | 'lib/AnyEvent/Debug.pm' => '$(INST_LIB)/AnyEvent/Debug.pm', |
|
|
58 | 'lib/AnyEvent/FAQ.pod' => '$(INST_LIB)/AnyEvent/FAQ.pod', |
|
|
59 | 'lib/AnyEvent/Handle.pm' => '$(INST_LIB)/AnyEvent/Handle.pm', |
|
|
60 | 'lib/AnyEvent/Impl/Cocoa.pm' => '$(INST_LIB)/AnyEvent/Impl/Cocoa.pm', |
|
|
61 | 'lib/AnyEvent/Impl/EV.pm' => '$(INST_LIB)/AnyEvent/Impl/EV.pm', |
|
|
62 | 'lib/AnyEvent/Impl/Event.pm' => '$(INST_LIB)/AnyEvent/Impl/Event.pm', |
|
|
63 | 'lib/AnyEvent/Impl/EventLib.pm' => '$(INST_LIB)/AnyEvent/Impl/EventLib.pm', |
|
|
64 | 'lib/AnyEvent/Impl/FLTK.pm' => '$(INST_LIB)/AnyEvent/Impl/FLTK.pm', |
|
|
65 | 'lib/AnyEvent/Impl/Glib.pm' => '$(INST_LIB)/AnyEvent/Impl/Glib.pm', |
|
|
66 | 'lib/AnyEvent/Impl/IOAsync.pm' => '$(INST_LIB)/AnyEvent/Impl/IOAsync.pm', |
|
|
67 | 'lib/AnyEvent/Impl/Irssi.pm' => '$(INST_LIB)/AnyEvent/Impl/Irssi.pm', |
|
|
68 | 'lib/AnyEvent/Impl/POE.pm' => '$(INST_LIB)/AnyEvent/Impl/POE.pm', |
|
|
69 | 'lib/AnyEvent/Impl/Perl.pm' => '$(INST_LIB)/AnyEvent/Impl/Perl.pm', |
|
|
70 | 'lib/AnyEvent/Impl/Qt.pm' => '$(INST_LIB)/AnyEvent/Impl/Qt.pm', |
|
|
71 | 'lib/AnyEvent/Impl/Tk.pm' => '$(INST_LIB)/AnyEvent/Impl/Tk.pm', |
|
|
72 | 'lib/AnyEvent/Impl/UV.pm' => '$(INST_LIB)/AnyEvent/Impl/UV.pm', |
|
|
73 | 'lib/AnyEvent/IO.pm' => '$(INST_LIB)/AnyEvent/IO.pm', |
|
|
74 | 'lib/AnyEvent/IO/IOAIO.pm' => '$(INST_LIB)/AnyEvent/IO/IOAIO.pm', |
|
|
75 | 'lib/AnyEvent/IO/Perl.pm' => '$(INST_LIB)/AnyEvent/IO/Perl.pm', |
|
|
76 | 'lib/AnyEvent/Intro.pod' => '$(INST_LIB)/AnyEvent/Intro.pod', |
|
|
77 | 'lib/AnyEvent/Log.pm' => '$(INST_LIB)/AnyEvent/Log.pm', |
|
|
78 | 'lib/AnyEvent/Loop.pm' => '$(INST_LIB)/AnyEvent/Loop.pm', |
|
|
79 | 'lib/AnyEvent/Socket.pm' => '$(INST_LIB)/AnyEvent/Socket.pm', |
|
|
80 | 'lib/AnyEvent/Strict.pm' => '$(INST_LIB)/AnyEvent/Strict.pm', |
|
|
81 | 'lib/AnyEvent/TLS.pm' => '$(INST_LIB)/AnyEvent/TLS.pm', |
|
|
82 | 'lib/AnyEvent/Util.pm' => '$(INST_LIB)/AnyEvent/Util.pm', |
|
|
83 | 'lib/AnyEvent/Util/idna.pl' => '$(INST_LIB)/AnyEvent/Util/idna.pl', |
|
|
84 | 'lib/AnyEvent/Util/uts46data.pl' => '$(INST_LIB)/AnyEvent/Util/uts46data.pl', |
|
|
85 | 'lib/AnyEvent/constants.pl' => '$(INST_ARCHLIB)/AnyEvent/constants.pl', |
39 | }, |
86 | }, |
40 | ); |
87 | ); |
41 | |
88 | |
42 | sub MY::postamble { |
|
|
43 | <<EOF; |
|
|
44 | |
|
|
45 | # set \$VERSION in all modules |
|
|
46 | setver: |
|
|
47 | \$(PERL) -pi -e 's/^(\\s*(our\\s*)?\\\$\$VERSION\\s*=\\s*).*\$\$/\$\${1}\$(VERSION);/' \$(TO_INST_PM) |
|
|
48 | |
|
|
49 | EOF |
|
|
50 | } |
|
|
51 | |
|
|