1 | use ExtUtils::MakeMaker; |
1 | use ExtUtils::MakeMaker; |
2 | |
2 | |
3 | WriteMakefile( |
3 | use Config; |
|
|
4 | |
|
|
5 | $Config{ccsymbols} =~ /__i386=1/ or print <<EOF; |
|
|
6 | |
|
|
7 | WARNING: This module is architecture-dependent and currently only |
|
|
8 | tested on some architectures. If the module (esp. aio_read and |
|
|
9 | aio_write) doesn't work, please report this and I'll fix it for |
|
|
10 | you. I promise ;) |
|
|
11 | |
|
|
12 | EOF |
|
|
13 | |
|
|
14 | $Config{osvers} >= 2.4 or print <<EOF; |
|
|
15 | |
|
|
16 | WARNING: This module requires 64 bit file offset functionality only found |
|
|
17 | in linux-2.4 and later You might still 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({ |
4 | dist => { |
26 | dist => { |
5 | PREOP => 'pod2text AIO.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
27 | PREOP => 'pod2text AIO.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
6 | COMPRESS => 'gzip -9v', |
28 | COMPRESS => 'gzip -9v', |
7 | SUFFIX => '.gz', |
29 | SUFFIX => '.gz', |
8 | }, |
30 | }, |
9 | NAME => "Linux::AIO", |
31 | NAME => "Linux::AIO", |
10 | VERSION_FROM => "AIO.pm", |
32 | VERSION_FROM => "AIO.pm", |
11 | ); |
33 | }); |
12 | |
34 | |
13 | sub MY::postamble { |
35 | sub MY::postamble { |
14 | <<EOF; |
36 | <<EOF; |
15 | |
37 | |
16 | # set \$VERSION in all modules |
38 | # set \$VERSION in all modules |
17 | setver: |
39 | setver: |
18 | \$(PERL) -pi -e 's/^(\\s*\\\$\$VERSION\\s*=\\s*).*\$\$/\$\${1}\$(VERSION);/' *.pm Coro/*.pm |
40 | \$(PERL) -pi -e 's/^(\\s*\\\$\$VERSION\\s*=\\s*).*\$\$/\$\${1}\$(VERSION);/' *.pm |
19 | |
41 | |
20 | EOF |
42 | EOF |
21 | } |
43 | } |
22 | |
44 | |
|
|
45 | # now get rid of -fpic, because gcc can't use syscall'ed closures |
|
|
46 | # from within pic code on x86. |
23 | |
47 | |
|
|
48 | use Config; |
|
|
49 | |
|
|
50 | if ($Config{archname} =~ /i[x34567]86/) { |
|
|
51 | for ($mm->{CCDLFLAGS}, $mm->{CCCDLFLAGS}, @{$mm->{RESULT}}) { |
|
|
52 | s/\B-f(pic|PIC)\b//g |
|
|
53 | } |
|
|
54 | } |
|
|
55 | |
|
|
56 | $mm->flush; |
|
|
57 | |