1 |
use 5.006; |
2 |
|
3 |
use Config; |
4 |
use ExtUtils::MakeMaker; |
5 |
|
6 |
$ENV{CC} = $Config{cc}; |
7 |
$ENV{CFLAGS} = join " ", map $Config{$_}, qw(inc optimize ccflags cccdlflags); |
8 |
system "cd libevent && ./configure --disable-shared --enable-static --disable-maintainer-mode" |
9 |
and die "configure failed."; |
10 |
|
11 |
$LIBS = qx<cd libevent && make printlibs>; |
12 |
|
13 |
WriteMakefile( |
14 |
dist => { |
15 |
PREOP => 'pod2text EV.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
16 |
COMPRESS => 'gzip -9v', |
17 |
SUFFIX => '.gz', |
18 |
}, |
19 |
MYEXTLIB => 'libevent/.libs/libevent$(LIB_EXT)', |
20 |
NAME => "EV", |
21 |
LIBS => [$LIBS], |
22 |
VERSION_FROM => "EV.pm", |
23 |
PM => { |
24 |
'EV.pm' => '$(INST_LIBDIR)/EV.pm', |
25 |
'EV/AnyEvent.pm' => '$(INST_LIBDIR)/EV/AnyEvent.pm', |
26 |
'EV/DNS.pm' => '$(INST_LIBDIR)/EV/DNS.pm', |
27 |
'EV/EVAPI.h' => '$(INST_LIBDIR)/EV/EVAPI.h', |
28 |
'EV/MakeMaker.pm' => '$(INST_LIBDIR)/EV/MakeMaker.pm', |
29 |
'libevent/event.h' => '$(INST_LIBDIR)/EV/event.h', |
30 |
'libevent/evdns.h' => '$(INST_LIBDIR)/EV/evdns.h', |
31 |
'libevent/evhttp.h' => '$(INST_LIBDIR)/EV/evhttp.h', |
32 |
}, |
33 |
); |
34 |
|
35 |
sub MY::postamble { |
36 |
my $postamble =<<'END'; |
37 |
|
38 |
clean:: |
39 |
-cd libevent && make distclean |
40 |
|
41 |
force: |
42 |
|
43 |
$(MYEXTLIB): force |
44 |
cd libevent && $(MAKE) all |
45 |
|
46 |
END |
47 |
} |
48 |
|