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