1 |
use ExtUtils::MakeMaker; |
2 |
|
3 |
use Config; |
4 |
|
5 |
$Config{ccsymbols} =~ /__i386=1/ or print <<EOF; |
6 |
|
7 |
WARNING: This module is architecture-dependent and currently only works on |
8 |
little-endian 32-bit architectures. If the module (esp. aio_read |
9 |
and aio_write) doesn't work, please report this and I'll fix it |
10 |
for you. I promise ;) |
11 |
|
12 |
EOF |
13 |
|
14 |
$Config{osvers} >= 2.4 or print <<EOF; |
15 |
|
16 |
WARNING: This module requires 64 bit file offste functionality only found |
17 |
in linux-2.4. You might sitll compile this module on older linuxes, |
18 |
but it won't run. |
19 |
|
20 |
DEVELOPERS: It is not difficult to get rid of this limitation, ask me and I'll tell |
21 |
you what you need to change (and test, so I can add it!). |
22 |
|
23 |
EOF |
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 => "Linux::AIO", |
32 |
VERSION_FROM => "AIO.pm", |
33 |
}); |
34 |
|
35 |
sub MY::postamble { |
36 |
<<EOF; |
37 |
|
38 |
# set \$VERSION in all modules |
39 |
setver: |
40 |
\$(PERL) -pi -e 's/^(\\s*\\\$\$VERSION\\s*=\\s*).*\$\$/\$\${1}\$(VERSION);/' *.pm |
41 |
|
42 |
EOF |
43 |
} |
44 |
|
45 |
# now get rid of -fpic, because gcc can't use syscall'ed closures |
46 |
# from within pic code. |
47 |
for ($mm->{CCDLFLAGS}, $mm->{CCCDLFLAGS}, @{$mm->{RESULT}}) { |
48 |
s/\B-f(pic|PIC)\b//g |
49 |
} |
50 |
|
51 |
$mm->flush; |
52 |
|