1 | #! perl |
1 | #! perl |
2 | |
2 | |
3 | open STDOUT, ">$ARGV[0]~" |
3 | open my $fh, ">lib/AnyEvent/constants.pl" |
4 | or die "$ARGV[0]~: $!"; |
4 | or die "lib/AnyEvent/constants.pl: $_[0]\n"; |
|
|
5 | |
|
|
6 | my $oldstdout = select $fh; |
5 | |
7 | |
6 | sub i($$) { |
8 | sub i($$) { |
7 | print "sub $_[0] () { ", $_[1]*1, " }\n"; |
9 | print "sub $_[0] () { ", $_[1]*1, " }\n"; |
8 | } |
10 | } |
9 | |
11 | |
… | |
… | |
15 | i CYGWIN => $^O =~ /cygwin/i; |
17 | i CYGWIN => $^O =~ /cygwin/i; |
16 | i WIN32 => $WIN32; |
18 | i WIN32 => $WIN32; |
17 | |
19 | |
18 | use Fcntl (); |
20 | use Fcntl (); |
19 | |
21 | |
20 | i F_SETFL => Fcntl::F_SETFL(); |
22 | i F_SETFL => eval { Fcntl::F_SETFL() }; |
21 | i F_SETFD => Fcntl::F_SETFD(); |
23 | i F_SETFD => eval { Fcntl::F_SETFD() }; |
22 | i O_NONBLOCK => Fcntl::O_NONBLOCK(); |
24 | i O_NONBLOCK => eval { Fcntl::O_NONBLOCK() }; |
23 | i FD_CLOEXEC => Fcntl::FD_CLOEXEC(); |
25 | i FD_CLOEXEC => eval { Fcntl::FD_CLOEXEC() }; |
24 | |
26 | |
25 | print "package AnyEvent::Util;\n"; |
27 | print "package AnyEvent::Util;\n"; |
26 | |
28 | |
27 | # broken windows perls use undocumented error codes... |
29 | # broken windows perls use undocumented error codes... |
28 | if ($WIN32) { |
30 | if ($WIN32) { |
… | |
… | |
36 | i WSAEINPROGRESS => -1e99; |
38 | i WSAEINPROGRESS => -1e99; |
37 | } |
39 | } |
38 | |
40 | |
39 | my $af_inet6; |
41 | my $af_inet6; |
40 | |
42 | |
41 | $af_inet6 ||= eval { use Socket ; Socket::AF_INET6 () }; |
43 | $af_inet6 ||= eval { require Socket ; Socket::AF_INET6 () }; |
42 | $af_ine6t ||= eval { use Socket6; Socket6::AF_INET6() }; |
44 | $af_ine6t ||= eval { require Socket6; Socket6::AF_INET6() }; |
43 | |
45 | |
44 | # uhoh |
46 | # uhoh |
45 | $af_inet6 ||= 10 if $^O =~ /linux/; |
47 | $af_inet6 ||= 10 if $^O =~ /linux/; |
46 | $af_inet6 ||= 23 if $^O =~ /cygwin/i; |
48 | $af_inet6 ||= 23 if $^O =~ /cygwin/i; |
47 | $af_inet6 ||= 23 if AnyEvent::WIN32; |
49 | $af_inet6 ||= 23 if AnyEvent::WIN32; |
… | |
… | |
60 | #i SO_OOBINLINE => Socket::SO_OOBINLINE (); |
62 | #i SO_OOBINLINE => Socket::SO_OOBINLINE (); |
61 | #i IPPROTO_TCP => Socket::IPPROTO_TCP (); |
63 | #i IPPROTO_TCP => Socket::IPPROTO_TCP (); |
62 | |
64 | |
63 | print "1;\n"; |
65 | print "1;\n"; |
64 | |
66 | |
65 | close STDOUT; |
67 | close $fh; |
|
|
68 | select $oldstdout; |
|
|
69 | |
66 | rename "$ARGV[0]~", $ARGV[0]; |
70 | rename "$ARGV[0]~", $ARGV[0]; |
|
|
71 | |
|
|
72 | 1 |