1 | use ExtUtils::MakeMaker; |
1 | use ExtUtils::MakeMaker; |
2 | |
2 | |
3 | use 5.008; # AnyEvent core seems to work with 5.6 |
3 | use 5.008001; # AnyEvent perl event loop seems to work with 5.6, other modules not |
4 | |
4 | |
5 | print <<EOF; |
5 | print <<EOF; |
6 | |
6 | |
7 | *** |
7 | *** |
8 | *** The EV module is recommended for even better performance, unless you |
8 | *** The EV module is recommended for even better performance, unless you |
9 | *** have to use one of the other adaptors (Event, Glib, Tk, etc.). |
9 | *** have to use one of the other adaptors (Event, Glib, Tk, etc.). |
|
|
10 | *** The Async::Interrupt module is highly recommended to efficiently avoid |
|
|
11 | *** race conditions in/with other event loops. |
10 | *** |
12 | *** |
11 | *** This module does not have ANY dependencies, even if it might look |
13 | *** This module does not have ANY dependencies, even if it might look |
12 | *** otherwise. If you are building a distribution package or have |
14 | *** otherwise. If you are building a distribution package or have |
13 | *** difficulties installing this package due to dependencies, report this |
15 | *** difficulties installing this package due to dependencies, report this |
14 | *** to the packager as a bug. |
16 | *** to the packager as a bug. |
15 | *** |
17 | *** |
16 | *** This module is guaranteed to stay pure-perl and still be full-featured |
18 | *** This module is guaranteed to stay 100% pure-perl, full-featured |
17 | *** and performant, even without any optionally recommended modules. |
19 | *** and performant, even without any of the optional modules. |
18 | *** |
20 | *** |
19 | |
21 | |
20 | EOF |
22 | EOF |
21 | |
23 | |
22 | WriteMakefile( |
24 | WriteMakefile( |
… | |
… | |
26 | SUFFIX => '.gz', |
28 | SUFFIX => '.gz', |
27 | }, |
29 | }, |
28 | test => { TESTS => "t/*.t t/handle/*.t" }, |
30 | test => { TESTS => "t/*.t t/handle/*.t" }, |
29 | NAME => "AnyEvent", |
31 | NAME => "AnyEvent", |
30 | VERSION_FROM => "lib/AnyEvent.pm", |
32 | VERSION_FROM => "lib/AnyEvent.pm", |
|
|
33 | PL_FILES => { "constants.pl.PL" => "constants.pl" }, |
|
|
34 | clean => { FILES => "constants.pl" }, |
|
|
35 | PMLIBDIRS => ["lib"], |
31 | META_MERGE => { |
36 | META_MERGE => { |
32 | recommends => { |
37 | recommends => { |
33 | "Net::SSLeay" => 1.33, |
38 | "Net::SSLeay" => 1.33, |
34 | "JSON" => 2.09, |
39 | "JSON" => 2.09, |
35 | "JSON::XS" => 2.2, |
40 | "JSON::XS" => 2.2, |
36 | "EV" => 3.05, |
41 | "EV" => 3.05, |
37 | "Guard" => 1.02, |
42 | "Guard" => 1.02, |
|
|
43 | "Async::Interrupt" => 1.0, |
38 | } |
44 | } |
39 | }, |
45 | }, |
40 | ); |
46 | ); |
41 | |
47 | |
42 | sub MY::postamble { |
48 | package MY; |
43 | <<EOF; |
|
|
44 | |
49 | |
45 | # set \$VERSION in all modules |
50 | sub init_PM { |
46 | setver: |
51 | my ($self) = @_; |
47 | \$(PERL) -pi -e 's/^(\\s*(our\\s*)?\\\$\$VERSION\\s*=\\s*).*\$\$/\$\${1}\$(VERSION);/' \$(TO_INST_PM) |
|
|
48 | |
52 | |
49 | EOF |
53 | $self->SUPER::init_PM; |
|
|
54 | $self->{PM}{"constants.pl"} = '$(INST_LIB)/AnyEvent/constants.pl'; |
50 | } |
55 | } |
51 | |
56 | |
|
|
57 | |