1 | use ExtUtils::MakeMaker; |
1 | use ExtUtils::MakeMaker; |
2 | |
2 | |
3 | use 5.006; |
3 | use 5.006; |
4 | |
4 | |
|
|
5 | use Config; |
|
|
6 | |
|
|
7 | $DEFINE = ""; |
|
|
8 | |
|
|
9 | $DEFINE .= " -DHAVE_MMAP" if $Config{d_mmap} eq "define" && $Config{d_munmap} eq "define"; |
|
|
10 | |
|
|
11 | if ($^O =~ /windows/) { |
|
|
12 | # nop, autodetected |
|
|
13 | } elsif (-e "/usr/include/ucontext.h") { |
|
|
14 | $DEFINE .= " -DHAVE_UCONTEXT_H"; # lame |
|
|
15 | } else { |
|
|
16 | $DEFINE .= " -DHAVE_SETJMP_H -DHAVE_SIGALTSTACK"; # well |
|
|
17 | } |
|
|
18 | |
|
|
19 | print <<EOF; |
|
|
20 | |
|
|
21 | * |
|
|
22 | * compile config: $DEFINE |
|
|
23 | * |
|
|
24 | * if Coro doesn't work on your platform, try to adjust \$DEFINE |
|
|
25 | * in Coro/Makefile.PL: |
|
|
26 | * |
|
|
27 | * -DHAVE_UCONTEXT_H |
|
|
28 | * for systems that have working ucontexts |
|
|
29 | * (e.g. linux + glibc-2.2.3 and above) |
|
|
30 | * (all modern unices) |
|
|
31 | * |
|
|
32 | * -DHAVE_SETJMP_H -DHAVE_SIGALTSTACK |
|
|
33 | * for other systems |
|
|
34 | * (e.g. linux + glibc below 2.2) |
|
|
35 | * |
|
|
36 | * and none for microsoft's platform. |
|
|
37 | * |
|
|
38 | |
|
|
39 | EOF |
|
|
40 | |
5 | WriteMakefile( |
41 | WriteMakefile( |
6 | NAME => "Coro::State", |
42 | NAME => "Coro::State", |
7 | VERSION_FROM => "State.pm", |
43 | VERSION_FROM => "State.pm", |
|
|
44 | DEFINE => $DEFINE, |
|
|
45 | DIR => [], |
8 | ); |
46 | ); |
9 | |
47 | |
|
|
48 | |
|
|
49 | |