ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Linux-AIO/Makefile.PL
Revision: 1.9
Committed: Thu Aug 25 06:04:11 2005 UTC (18 years, 8 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: rel-1_9, HEAD
Changes since 1.8: +5 -0 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 use ExtUtils::MakeMaker;
2
3 use Config;
4
5 print <<EOF;
6
7 WARNING: This module is architecture-dependent and will not likely work
8 on lesser-used architectures (see Changes). If the module (esp.
9 aio_read and aio_write) doesn't work, please report this and I'll
10 fix it 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 offset functionality only found
17 in linux-2.4 and later. You can still compile this module on
18 older linuxes, but it won't run.
19
20 DEVELOPERS: It is not difficult to get rid of this limitation, ask me and
21 I'll tell 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 on x86.
47
48 use Config;
49
50 if ($Config{cppsymbols} =~ /__i386=1/) {
51 for ($mm->{CCDLFLAGS}, $mm->{CCCDLFLAGS}, @{$mm->{RESULT}}) {
52 s/\B-f(pic|PIC)\b//g
53 }
54
55 # Put -O at the front so as not to change any existing optimisation level
56 # Need optimization of some form turned on to inline syscall() so that it
57 # sets the local errno
58 $mm->{OPTIMIZE} = '-O ' . $mm->{OPTIMIZE};
59 }
60
61 $mm->flush;
62