1 | use ExtUtils::MakeMaker; |
1 | use ExtUtils::MakeMaker; |
2 | |
2 | |
3 | use Config; |
3 | use Config; |
4 | |
4 | |
5 | $Config{ccsymbols} =~ /__i386=1/ or print <<EOF; |
5 | print <<EOF; |
6 | |
6 | |
7 | WARNING: This module is architecture-dependent and currently only tested on |
7 | WARNING: This module is architecture-dependent and will not likely work |
8 | little-endian 32-bit architectures. If the module (esp. aio_read |
8 | on lesser-used architectures (see Changes). If the module (esp. |
9 | and aio_write) doesn't work, please report this and I'll fix it |
9 | aio_read and aio_write) doesn't work, please report this and I'll |
10 | for you. I promise ;) |
10 | fix it for you. I promise ;) |
11 | |
11 | |
12 | EOF |
12 | EOF |
13 | |
13 | |
14 | $Config{osvers} >= 2.4 or print <<EOF; |
14 | $Config{osvers} >= 2.4 or print <<EOF; |
15 | |
15 | |
16 | WARNING: This module requires 64 bit file offset functionality only found |
16 | WARNING: This module requires 64 bit file offset functionality only found |
17 | in linux-2.4 and later You might sitll compile this module on older linuxes, |
17 | in linux-2.4 and later. You can still compile this module on |
18 | but it won't run. |
18 | older linuxes, but it won't run. |
19 | |
19 | |
20 | DEVELOPERS: It is not difficult to get rid of this limitation, ask me and I'll tell |
20 | DEVELOPERS: It is not difficult to get rid of this limitation, ask me and |
21 | you what you need to change (and test, so I can add it!). |
21 | I'll tell you what you need to change (and test, so I can add it!). |
22 | |
22 | |
23 | EOF |
23 | EOF |
24 | |
24 | |
25 | my $mm = MM->new({ |
25 | my $mm = MM->new({ |
26 | dist => { |
26 | dist => { |
… | |
… | |
41 | |
41 | |
42 | EOF |
42 | EOF |
43 | } |
43 | } |
44 | |
44 | |
45 | # now get rid of -fpic, because gcc can't use syscall'ed closures |
45 | # now get rid of -fpic, because gcc can't use syscall'ed closures |
46 | # from within pic code. |
46 | # from within pic code on x86. |
|
|
47 | |
|
|
48 | use Config; |
|
|
49 | |
|
|
50 | if ($Config{cppsymbols} =~ /__i386=1/) { |
47 | for ($mm->{CCDLFLAGS}, $mm->{CCCDLFLAGS}, @{$mm->{RESULT}}) { |
51 | for ($mm->{CCDLFLAGS}, $mm->{CCCDLFLAGS}, @{$mm->{RESULT}}) { |
48 | s/\B-f(pic|PIC)\b//g |
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}; |
49 | } |
59 | } |
50 | |
60 | |
51 | $mm->flush; |
61 | $mm->flush; |
52 | |
62 | |