ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/constants.pl.PL
(Generate patch)

Comparing AnyEvent/constants.pl.PL (file contents):
Revision 1.9 by root, Fri Nov 26 21:27:41 2010 UTC vs.
Revision 1.13 by root, Tue Jul 30 23:14:32 2013 UTC

1#! perl 1#! perl
2 2
3# this file is unfortunately only executed at Makefile.PL time 3# this file is unfortunately only executed at Makefile.PL time
4 4
5my ($fh, $oldstdout);
6
7BEGIN {
8 open $fh, ">lib/AnyEvent/constants.pl"
9 or die "lib/AnyEvent/constants.pl: $!\n";
10
11 $oldstdout = select $fh;
12
13 print "# automatically generated from constants.pl.PL\n";
14}
15
16{
17 # from common::sense 3.7
18 use strict qw(vars subs);
19 no warnings;
20 use warnings qw(FATAL closed threads internal debugging pack malloc portable prototype
21 inplace io pipe unpack deprecated glob digit printf
22 layer reserved taint closure semicolon);
23 no warnings qw(exec newline unopened);
24
25 BEGIN {
26 my $H = $^H;
27 my $WARN = ${^WARNING_BITS};
28
29 print "sub AnyEvent::common_sense {\n";
30 printf " local \$^W;\n";
31 printf " \${^WARNING_BITS} ^= \${^WARNING_BITS} ^ \"%s\";\n",
32 join "", map "\\x$_", unpack "(H2)*", ${^WARNING_BITS};
33 # use strict, use utf8;
34 printf " \$^H |= 0x%x;\n", $^H;
35 print "}\n";
36 }
37}
38
5use Config; 39use Config;
40
41print "# generated for perl $] built for $Config{archname}\n";
6 42
7# when built as part of perl, these are not available 43# when built as part of perl, these are not available
8BEGIN { eval "use Socket ()" } 44BEGIN { eval "use Socket ()" }
9BEGIN { eval "use Fcntl ()" } 45BEGIN { eval "use Fcntl ()" }
10 46BEGIN { eval "use POSIX ()" }
11open my $fh, ">lib/AnyEvent/constants.pl"
12 or die "lib/AnyEvent/constants.pl: $_[0]\n";
13
14my $oldstdout = select $fh;
15
16print "# automatically generated from constants.pl.PL for perl $] built for $Config{archname}\n";
17 47
18sub i($$) { 48sub i($$) {
19 print "sub $_[0](){", $_[1]*1, "}\n"; 49 print "sub $_[0](){", $_[1]*1, "}\n";
20} 50}
21 51
35 65
36i F_SETFD => eval { Fcntl::F_SETFD() } || 2; 66i F_SETFD => eval { Fcntl::F_SETFD() } || 2;
37i F_SETFL => eval { Fcntl::F_SETFL() } || 4; 67i F_SETFL => eval { Fcntl::F_SETFL() } || 4;
38i O_NONBLOCK => eval { Fcntl::O_NONBLOCK() } || 04000; 68i O_NONBLOCK => eval { Fcntl::O_NONBLOCK() } || 04000;
39i FD_CLOEXEC => eval { Fcntl::FD_CLOEXEC() } || 1; 69i FD_CLOEXEC => eval { Fcntl::FD_CLOEXEC() } || 1;
70
71print "package AnyEvent::Base;\n";
72
73# add these purely to avoid loading POSIX, which is slow and bloated.
74
75i WNOHANG => eval { POSIX::WNOHANG() } || 1;
76
77print "package AnyEvent::IO;\n";
78
79i O_RDONLY => eval { Fcntl::O_RDONLY() } || 0;
80i O_WRONLY => eval { Fcntl::O_WRONLY() } || 1;
81i O_RDWR => eval { Fcntl::O_RDWR () } || 2;
82i O_CREAT => eval { Fcntl::O_CREAT () } || 64;
83i O_EXCL => eval { Fcntl::O_EXCL () } || 128;
84i O_TRUNC => eval { Fcntl::O_TRUNC () } || 512;
85i O_APPEND => eval { Fcntl::O_APPEND() } || 1024;
40 86
41print "package AnyEvent::Util;\n"; 87print "package AnyEvent::Util;\n";
42 88
43# broken windows perls use undocumented error codes... 89# broken windows perls use undocumented error codes...
44if ($WIN32) { 90if ($WIN32) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines