1 |
use ExtUtils::MakeMaker; |
2 |
|
3 |
use Config; |
4 |
|
5 |
if ($^O =~ /linux/ && $Config{usemymalloc} eq "y") { |
6 |
print <<EOF; |
7 |
|
8 |
*** |
9 |
*** WARNING: |
10 |
*** |
11 |
*** Your perl uses it's own memory allocator (-Dusemymalloc=y), |
12 |
*** which is known not to be threadsafe on GNU/Linux and probably |
13 |
*** other platforms (even when not used concurrently, it trashes |
14 |
*** the data structures of the system malloc running concurrently), |
15 |
*** for perls up to 5.8.8 and possibly later versions. |
16 |
*** |
17 |
*** If you are unsure wether your perl has been fixed, your system |
18 |
*** is safe for other reasons, or you experience spurious segfaults, |
19 |
*** please compile your perl with -Dusemymalloc=n. |
20 |
*** |
21 |
|
22 |
EOF |
23 |
} |
24 |
|
25 |
my $mm = MM->new({ |
26 |
dist => { |
27 |
PREOP => 'pod2text AIO.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
28 |
COMPRESS => 'gzip -9v', |
29 |
SUFFIX => '.gz', |
30 |
}, |
31 |
NAME => "BDB", |
32 |
VERSION_FROM => "BDB.pm", |
33 |
LIBS => ['-lpthread -ldb'], |
34 |
PM => { |
35 |
'BDB.pm' => '$(INST_LIBDIR)/AIO.pm', |
36 |
}, |
37 |
}); |
38 |
|
39 |
$mm->flush; |
40 |
|