… | |
… | |
36 | } elsif ($^O =~ /irix/) { |
36 | } elsif ($^O =~ /irix/) { |
37 | $iface = "i"; |
37 | $iface = "i"; |
38 | |
38 | |
39 | } elsif ($^O =~ /linux/) { |
39 | } elsif ($^O =~ /linux/) { |
40 | # default to assembly on x86 and x86_64, and setjmp on others |
40 | # default to assembly on x86 and x86_64, and setjmp on others |
41 | $iface = $Config{archname} =~ /^(i[3456]86|amd64|x86_64)-/ ? "a" : "s"; |
41 | $iface = $Config{archname} =~ /^(i[3456]86|amd64|x86_64)-/ && $Config{optimize} =~ /-O/ ? "a" : "s"; |
42 | |
42 | |
43 | } elsif ($^O =~ /(free|net|open)bsd/) { |
43 | } elsif ($^O =~ /(free|net|open)bsd/) { |
44 | # FreeBSD 4.x has ucontext.h but no makecontext et al. (see BUGS section of |
44 | # FreeBSD 4.x has ucontext.h but no makecontext et al. (see BUGS section of |
45 | # man context). Assume the same problem for all other BSDs. |
45 | # man context). Assume the same problem for all other BSDs. |
46 | |
46 | |
47 | # default to assembly on x86 and x86_64, and setjmp on others |
47 | # default to assembly on x86 and x86_64, and setjmp on others |
48 | $iface = $Config{archname} =~ /^(i[3456]86|amd64|x86_64)-/ ? "a" : "s"; |
48 | $iface = $Config{archname} =~ /^(i[3456]86|amd64|x86_64)-/ && $Config{optimize} =~ /-O/ ? "a" : "s"; |
49 | |
49 | |
50 | } elsif ($^O =~ /solaris/) { |
50 | } elsif ($^O =~ /solaris/) { |
51 | $iface = "s"; |
51 | $iface = "s"; |
52 | |
52 | |
53 | } elsif ($^O =~ /darwin/) { |
53 | } elsif ($^O =~ /darwin/) { |