1 | use ExtUtils::MakeMaker; |
1 | use ExtUtils::MakeMaker; |
2 | |
2 | |
3 | use Config; |
3 | use Config; |
|
|
4 | |
|
|
5 | require "autoconf.pm"; |
|
|
6 | |
|
|
7 | if ($^O =~ /freebsd/i) { |
|
|
8 | print <<EOF; |
|
|
9 | |
|
|
10 | This package seems to deadlock under FreeBSD. As documentation on FreeBSD |
|
|
11 | threading is sorely lacking and confusing, I'll just call FreeBSD broken |
|
|
12 | with regards to threading. |
|
|
13 | |
|
|
14 | If you get it to work, tell me how (maybe you need to specify magical link |
|
|
15 | flags despite man pthread telling me otherwise, maybe yo need special |
|
|
16 | library, maybe you need magical preprocessor symbols, maybe you need to |
|
|
17 | recompile or re-link perl with threads enabled (a bad idea) - I have no |
|
|
18 | idea, and I no longer care). |
|
|
19 | |
|
|
20 | EOF |
|
|
21 | } |
|
|
22 | |
|
|
23 | autoconf::run_script() |
|
|
24 | and die "\nconfigure failed, check it's output above and autoconf/config.log\n\n"; |
4 | |
25 | |
5 | my $mm = MM->new({ |
26 | my $mm = MM->new({ |
6 | dist => { |
27 | dist => { |
7 | PREOP => 'pod2text AIO.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
28 | PREOP => 'pod2text AIO.pm | tee README >$(DISTVNAME)/README; chmod -R u=rwX,go=rX . ;', |
8 | COMPRESS => 'gzip -9v', |
29 | COMPRESS => 'gzip -9v', |
9 | SUFFIX => '.gz', |
30 | SUFFIX => '.gz', |
10 | }, |
31 | }, |
11 | NAME => "IO::AIO", |
32 | NAME => "IO::AIO", |
12 | VERSION_FROM => "AIO.pm", |
33 | VERSION_FROM => "AIO.pm", |
13 | LIBS => ['-lpthread'], |
34 | LIBS => ['-lpthread -lrt', '-lpthread', '-lpthreads', ''], |
|
|
35 | clean => { FILES => "autoconf/config.h autoconf/config.log autoconf/config.status" }, |
14 | }); |
36 | }); |
15 | |
37 | |
16 | $mm->flush; |
38 | $mm->flush; |
17 | |
39 | |