… | |
… | |
13 | if ($^O =~ /win32/i or $^O =~ /cygwin/) { |
13 | if ($^O =~ /win32/i or $^O =~ /cygwin/) { |
14 | $DEFINE = " -DCORO_LOOSE"; |
14 | $DEFINE = " -DCORO_LOOSE"; |
15 | } elsif ($^O =~ /irix/) { |
15 | } elsif ($^O =~ /irix/) { |
16 | $iface = "i"; |
16 | $iface = "i"; |
17 | } elsif ($^O =~ /linux/) { |
17 | } elsif ($^O =~ /linux/) { |
18 | $iface = "l"; |
18 | # default to setjmp/longjmp on non-x86... |
|
|
19 | $iface = $Config{archname} =~ /^i[3456]86-/ ? "l" : "s"; |
19 | } elsif ($^O =~ /solaris/) { |
20 | } elsif ($^O =~ /solaris/) { |
20 | $iface = "s"; |
21 | $iface = "s"; |
21 | } elsif (-e "/usr/include/ucontext.h") { |
22 | } elsif (-e "/usr/include/ucontext.h") { |
22 | $iface = "u"; |
23 | $iface = "u"; |
23 | } else { |
24 | } else { |
… | |
… | |
65 | faster than with the ucontext functions). Unfortunately, glibc-2.1 and |
66 | faster than with the ucontext functions). Unfortunately, glibc-2.1 and |
66 | below don't even feature a working sigaltstack. |
67 | below don't even feature a working sigaltstack. |
67 | |
68 | |
68 | l Older GNU/Linux systems (glibc-2.1 and below) need this hack. Since it is |
69 | l Older GNU/Linux systems (glibc-2.1 and below) need this hack. Since it is |
69 | very linux-specific it is also quite fast for newer versions; when it |
70 | very linux-specific it is also quite fast for newer versions; when it |
70 | works, that is... |
71 | works, that is (currently x86 only)... |
71 | |
72 | |
72 | i IRIX. For some reason, SGI really does not like to follow the unix |
73 | i IRIX. For some reason, SGI really does not like to follow the unix |
73 | standard (does that surprise you?), so this workaround might be needed |
74 | standard (does that surprise you?), so this workaround might be needed |
74 | (it's fast), although s and u should also work now. |
75 | (it's fast), although s and u should also work now. |
75 | |
76 | |