summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2002-10-27 22:15:14 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2002-10-27 22:15:14 +0000
commit3349091e2048a52ce7723c41e37b65cd735d2caf (patch)
tree436adff833fd8c2316e8631c89b4a7e38a9aa160 /gnu/usr.bin/perl
parent41d2b9ca45ecfe7a49cff78e98290e31a1827a6c (diff)
stock perl 5.8.0 from CPAN
Diffstat (limited to 'gnu/usr.bin/perl')
-rw-r--r--gnu/usr.bin/perl/lib/Carp.t335
-rw-r--r--gnu/usr.bin/perl/lib/Config.t224
-rw-r--r--gnu/usr.bin/perl/lib/Dumpvalue.t10
-rw-r--r--gnu/usr.bin/perl/lib/File/CheckTree.t126
-rw-r--r--gnu/usr.bin/perl/lib/Pod/t/Functions.t11
-rw-r--r--gnu/usr.bin/perl/lib/Pod/t/htmlescp.pod2
-rw-r--r--gnu/usr.bin/perl/lib/Pod/t/htmlescp.t13
-rw-r--r--gnu/usr.bin/perl/lib/Pod/t/htmlview.pod4
-rw-r--r--gnu/usr.bin/perl/lib/Pod/t/htmlview.t100
-rw-r--r--gnu/usr.bin/perl/lib/Pod/t/pod2html-lib.pl46
-rw-r--r--gnu/usr.bin/perl/lib/Text/Abbrev.t10
-rw-r--r--gnu/usr.bin/perl/lib/bigfloatpl.t12
-rw-r--r--gnu/usr.bin/perl/lib/bigintpl.t13
-rw-r--r--gnu/usr.bin/perl/lib/locale.t52
-rw-r--r--gnu/usr.bin/perl/pod/perl570delta.pod8
-rw-r--r--gnu/usr.bin/perl/pod/perl571delta.pod16
-rw-r--r--gnu/usr.bin/perl/pod/perl572delta.pod6
-rw-r--r--gnu/usr.bin/perl/reentr.pl295
-rw-r--r--gnu/usr.bin/perl/t/uni/fold.t4
-rw-r--r--gnu/usr.bin/perl/uconfig.h3871
-rw-r--r--gnu/usr.bin/perl/uconfig.sh197
-rw-r--r--gnu/usr.bin/perl/win32/sync_ext.pl9
22 files changed, 2091 insertions, 3273 deletions
diff --git a/gnu/usr.bin/perl/lib/Carp.t b/gnu/usr.bin/perl/lib/Carp.t
index b383ce373d4..2ea98d86d7d 100644
--- a/gnu/usr.bin/perl/lib/Carp.t
+++ b/gnu/usr.bin/perl/lib/Carp.t
@@ -1,38 +1,31 @@
BEGIN {
chdir 't' if -d 't';
@INC = '../lib';
- require './test.pl';
}
-use warnings;
-no warnings "once";
-
-my $Is_VMS = $^O eq 'VMS';
-
use Carp qw(carp cluck croak confess);
-plan tests => 49;
-
-ok 1;
+print "1..9\n";
-{ local $SIG{__WARN__} = sub {
- like $_[0], qr/ok (\d+)\n at.+\b(?i:carp\.t) line \d+$/, 'ok 2\n' };
-
- carp "ok 2\n";
-
-}
+print "ok 1\n";
-{ local $SIG{__WARN__} = sub {
- like $_[0], qr/(\d+) at.+\b(?i:carp\.t) line \d+$/, 'carp 3' };
+$SIG{__WARN__} = sub {
+ print "ok $1\n"
+ if $_[0] =~ m!ok (\d+)$! };
- carp 3;
+carp "ok 2\n";
+
+$SIG{__WARN__} = sub {
+ print "ok $1\n"
+ if $_[0] =~ m!(\d+) at .+\b(?i:carp\.t) line \d+$! };
-}
+carp 3;
sub sub_4 {
-local $SIG{__WARN__} = sub {
- like $_[0], qr/^(\d+) at.+\b(?i:carp\.t) line \d+\n\tmain::sub_4\(\) called at.+\b(?i:carp\.t) line \d+$/, 'cluck 4' };
+$SIG{__WARN__} = sub {
+ print "ok $1\n"
+ if $_[0] =~ m!^(\d+) at .+\b(?i:carp\.t) line \d+\n\tmain::sub_4\(\) called at .+\b(?i:carp\.t) line \d+$! };
cluck 4;
@@ -40,307 +33,39 @@ cluck 4;
sub_4;
-{ local $SIG{__DIE__} = sub {
- like $_[0], qr/^(\d+) at.+\b(?i:carp\.t) line \d+\n\teval \Q{...}\E called at.+\b(?i:carp\.t) line \d+$/, 'croak 5' };
+$SIG{__DIE__} = sub {
+ print "ok $1\n"
+ if $_[0] =~ m!^(\d+) at .+\b(?i:carp\.t) line \d+\n\teval \Q{...}\E called at .+\b(?i:carp\.t) line \d+$! };
- eval { croak 5 };
-}
+eval { croak 5 };
sub sub_6 {
- local $SIG{__DIE__} = sub {
- like $_[0], qr/^(\d+) at.+\b(?i:carp\.t) line \d+\n\teval \Q{...}\E called at.+\b(?i:carp\.t) line \d+\n\tmain::sub_6\(\) called at.+\b(?i:carp\.t) line \d+$/, 'confess 6' };
+ $SIG{__DIE__} = sub {
+ print "ok $1\n"
+ if $_[0] =~ m!^(\d+) at .+\b(?i:carp\.t) line \d+\n\teval \Q{...}\E called at .+\b(?i:carp\.t) line \d+\n\tmain::sub_6\(\) called at .+\b(?i:carp\.t) line \d+$! };
eval { confess 6 };
}
sub_6;
-ok(1);
+print "ok 7\n";
# test for caller_info API
-my $eval = "use Carp; return Carp::caller_info(0);";
+my $eval = "use Carp::Heavy; return Carp::caller_info(0);";
my %info = eval($eval);
-is($info{sub_name}, "eval '$eval'", 'caller_info API');
+print "not " if ($info{sub_name} ne "eval '$eval'");
+print "ok 8\n";
-# test for '...::CARP_NOT used only once' warning from Carp
+# test for '...::CARP_NOT used only once' warning from Carp::Heavy
my $warning;
eval {
BEGIN {
- local $SIG{__WARN__} =
+ $^W = 1;
+ $SIG{__WARN__} =
sub { if( defined $^S ){ warn $_[0] } else { $warning = $_[0] } }
}
- package Z;
+ package Z;
BEGIN { eval { Carp::croak() } }
};
-ok !$warning, q/'...::CARP_NOT used only once' warning from Carp/;
-
-# Test the location of error messages.
-like(A::short(), qr/^Error at C/, "Short messages skip carped package");
-
-{
- local @C::ISA = "D";
- like(A::short(), qr/^Error at B/, "Short messages skip inheritance");
-}
-
-{
- local @D::ISA = "C";
- like(A::short(), qr/^Error at B/, "Short messages skip inheritance");
-}
-
-{
- local @D::ISA = "B";
- local @B::ISA = "C";
- like(A::short(), qr/^Error at A/, "Inheritance is transitive");
-}
-
-{
- local @B::ISA = "D";
- local @C::ISA = "B";
- like(A::short(), qr/^Error at A/, "Inheritance is transitive");
-}
-
-{
- local @C::CARP_NOT = "D";
- like(A::short(), qr/^Error at B/, "Short messages see \@CARP_NOT");
-}
-
-{
- local @D::CARP_NOT = "C";
- like(A::short(), qr/^Error at B/, "Short messages see \@CARP_NOT");
-}
-
-{
- local @D::CARP_NOT = "B";
- local @B::CARP_NOT = "C";
- like(A::short(), qr/^Error at A/, "\@CARP_NOT is transitive");
-}
-
-{
- local @B::CARP_NOT = "D";
- local @C::CARP_NOT = "B";
- like(A::short(), qr/^Error at A/, "\@CARP_NOT is transitive");
-}
-
-{
- local @D::ISA = "C";
- local @D::CARP_NOT = "B";
- like(A::short(), qr/^Error at C/, "\@CARP_NOT overrides inheritance");
-}
-
-{
- local @D::ISA = "B";
- local @D::CARP_NOT = "C";
- like(A::short(), qr/^Error at B/, "\@CARP_NOT overrides inheritance");
-}
-
-# %Carp::Internal
-{
- local $Carp::Internal{C} = 1;
- like(A::short(), qr/^Error at B/, "Short doesn't report Internal");
-}
-
-{
- local $Carp::Internal{D} = 1;
- like(A::long(), qr/^Error at C/, "Long doesn't report Internal");
-}
-
-# %Carp::CarpInternal
-{
- local $Carp::CarpInternal{D} = 1;
- like(A::short(), qr/^Error at B/
- , "Short doesn't report calls to CarpInternal");
-}
-
-{
- local $Carp::CarpInternal{D} = 1;
- like(A::long(), qr/^Error at C/, "Long doesn't report CarpInternal");
-}
-
-# tests for global variables
-sub x { carp @_ }
-sub w { cluck @_ }
-
-# $Carp::Verbose;
-{ my $aref = [
- qr/t at \S*(?i:carp.t) line \d+/,
- qr/t at \S*(?i:carp.t) line \d+\n\s*main::x\('t'\) called at \S*(?i:carp.t) line \d+/
- ];
- my $i = 0;
-
- for my $re (@$aref) {
- local $Carp::Verbose = $i++;
- local $SIG{__WARN__} = sub {
- like $_[0], $re, 'Verbose';
- };
- package Z;
- main::x('t');
- }
-}
-
-# $Carp::MaxEvalLen
-{ my $test_num = 1;
- for(0,4) {
- my $txt = "Carp::cluck($test_num)";
- local $Carp::MaxEvalLen = $_;
- local $SIG{__WARN__} = sub {
- "@_"=~/'(.+?)(?:\n|')/s;
- is length($1), length($_?substr($txt,0,$_):substr($txt,0)), 'MaxEvalLen';
- };
- eval "$txt"; $test_num++;
- }
-}
-
-# $Carp::MaxArgLen
-{
- for(0,4) {
- my $arg = 'testtest';
- local $Carp::MaxArgLen = $_;
- local $SIG{__WARN__} = sub {
- "@_"=~/'(.+?)'/;
- is length($1), length($_?substr($arg,0,$_):substr($arg,0)), 'MaxArgLen';
- };
-
- package Z;
- main::w($arg);
- }
-}
-
-# $Carp::MaxArgNums
-{ my $i = 0;
- my $aref = [
- qr/1234 at \S*(?i:carp.t) line \d+\n\s*main::w\(1, 2, 3, 4\) called at \S*(?i:carp.t) line \d+/,
- qr/1234 at \S*(?i:carp.t) line \d+\n\s*main::w\(1, 2, \.\.\.\) called at \S*(?i:carp.t) line \d+/,
- ];
-
- for(@$aref) {
- local $Carp::MaxArgNums = $i++;
- local $SIG{__WARN__} = sub {
- like "@_", $_, 'MaxArgNums';
- };
-
- package Z;
- main::w(1..4);
- }
-}
-
-# $Carp::CarpLevel
-{ my $i = 0;
- my $aref = [
- qr/1 at \S*(?i:carp.t) line \d+\n\s*main::w\(1\) called at \S*(?i:carp.t) line \d+/,
- qr/1 at \S*(?i:carp.t) line \d+$/,
- ];
-
- for (@$aref) {
- local $Carp::CarpLevel = $i++;
- local $SIG{__WARN__} = sub {
- like "@_", $_, 'CarpLevel';
- };
-
- package Z;
- main::w(1);
- }
-}
-
-{
- local $TODO = "VMS exit status semantics don't work this way" if $Is_VMS;
-
- # Check that croak() and confess() don't clobber $!
- runperl(prog => 'use Carp; $@=q{Phooey}; $!=42; croak(q{Dead})',
- stderr => 1);
-
- is($?>>8, 42, 'croak() doesn\'t clobber $!');
-
- runperl(prog => 'use Carp; $@=q{Phooey}; $!=42; confess(q{Dead})',
- stderr => 1);
-
- is($?>>8, 42, 'confess() doesn\'t clobber $!');
-}
-
-# undef used to be incorrectly reported as the string "undef"
-sub cluck_undef {
-
-local $SIG{__WARN__} = sub {
- like $_[0], qr/^Bang! at.+\b(?i:carp\.t) line \d+\n\tmain::cluck_undef\(0, 'undef', 2, undef, 4\) called at.+\b(?i:carp\.t) line \d+$/, "cluck doesn't quote undef" };
-
-cluck "Bang!"
-
-}
-
-cluck_undef (0, "undef", 2, undef, 4);
-
-# check that Carp respects CORE::GLOBAL::caller override after Carp
-# has been compiled
-for my $proper_job (0, 1) {
- print '# ', ($proper_job ? '' : 'Not '), "setting \@DB::args in caller override\n";
- my $accum = '';
- local *CORE::GLOBAL::caller = sub {
- local *__ANON__="fakecaller";
- my @c=CORE::caller(@_);
- $c[0] ||= 'undef';
- $accum .= "@c[0..3]\n";
- if ($proper_job && CORE::caller() eq 'DB') {
- package DB;
- return CORE::caller(($_[0]||0)+1);
- } else {
- return CORE::caller(($_[0]||0)+1);
- }
- };
- eval "scalar caller()";
- like( $accum, qr/main::fakecaller/, "test CORE::GLOBAL::caller override in eval");
- $accum = '';
- my $got = A::long(42);
- like( $accum, qr/main::fakecaller/, "test CORE::GLOBAL::caller override in Carp");
- my $package = 'A';
- my $warning = $proper_job ? ''
- : "\Q** Incomplete caller override detected; \@DB::args were not set **\E";
- for (0..2) {
- my $previous_package = $package;
- ++$package;
- like( $got, qr/${package}::long\($warning\) called at $previous_package line 7/, "Correct arguments for $package" );
- }
- my $arg = $proper_job ? 42 : $warning;
- like( $got, qr!A::long\($arg\) called at.+\b(?i:carp\.t) line \d+!,
- 'Correct arguments for A' );
-}
-
-# line 1 "A"
-package A;
-sub short {
- B::short();
-}
-
-sub long {
- B::long();
-}
-
-# line 1 "B"
-package B;
-sub short {
- C::short();
-}
-
-sub long {
- C::long();
-}
-
-# line 1 "C"
-package C;
-sub short {
- D::short();
-}
-
-sub long {
- D::long();
-}
-
-# line 1 "D"
-package D;
-sub short {
- eval{ Carp::croak("Error") };
- return $@;
-}
-
-sub long {
- eval{ Carp::confess("Error") };
- return $@;
-}
+print $warning ? "not ok 9\n#$warning" : "ok 9\n";
diff --git a/gnu/usr.bin/perl/lib/Config.t b/gnu/usr.bin/perl/lib/Config.t
index 76ce6b63930..afc3c4a41c4 100644
--- a/gnu/usr.bin/perl/lib/Config.t
+++ b/gnu/usr.bin/perl/lib/Config.t
@@ -1,45 +1,21 @@
-#!./perl -w
-
BEGIN {
chdir 't' if -d 't';
@INC = '../lib';
require "./test.pl";
-
- plan ('no_plan');
-
- use_ok('Config');
}
-use strict;
+plan tests => 23;
+
+use_ok('Config');
# Some (safe?) bets.
ok(keys %Config > 500, "Config has more than 500 entries");
-my ($first) = Config::config_sh() =~ /^(\S+)=/m;
-die "Can't find first entry in Config::config_sh()" unless defined $first;
-print "# First entry is '$first'\n";
-
-# It happens that the we know what the first key should be. This is somewhat
-# cheating, but there was briefly a bug where the key got a bonus newline.
-my ($first_each) = each %Config;
-is($first_each, $first, "First key from each is correct");
-ok(exists($Config{$first_each}), "First key exists");
-ok(!exists($Config{"\n$first"}),
- "Check that first key with prepended newline isn't falsely existing");
+ok(each %Config);
is($Config{PERL_REVISION}, 5, "PERL_REVISION is 5");
-# Check that old config variable names are aliased to their new ones.
-my %grandfathers = ( PERL_VERSION => 'PATCHLEVEL',
- PERL_SUBVERSION => 'SUBVERSION',
- PERL_CONFIG_SH => 'CONFIG'
- );
-while( my($new, $old) = each %grandfathers ) {
- isnt($Config{$new}, undef, "$new is defined");
- is($Config{$new}, $Config{$old}, "$new is aliased to $old");
-}
-
ok( exists $Config{cc}, "has cc");
ok( exists $Config{ccflags}, "has ccflags");
@@ -50,16 +26,13 @@ ok( exists $Config{d_fork}, "has d_fork");
ok(!exists $Config{d_bork}, "has no d_bork");
-like($Config{ivsize}, qr/^(4|8)$/, "ivsize is 4 or 8 (it is $Config{ivsize})");
+like($Config{ivsize}, qr/^(4|8)$/, "ivsize is 4 or 8 (it is $Config{ivsize})");
-# byteorder is virtual, but it has rules.
+# byteorder is virtual, but it has rules.
-like($Config{byteorder}, qr/^(1234|4321|12345678|87654321)$/,
- "byteorder is 1234 or 4321 or 12345678 or 87654321 "
- . "(it is $Config{byteorder})");
+like($Config{byteorder}, qr/^(1234|4321|12345678|87654321)$/, "byteorder is 1234 or 4321 or 12345678 or 87654321 (it is $Config{byteorder})");
-is(length $Config{byteorder}, $Config{ivsize},
- "byteorder is as long as ivsize (which is $Config{ivsize})");
+is(length $Config{byteorder}, $Config{ivsize}, "byteorder is as long as ivsize (which is $Config{ivsize})");
# ccflags_nolargefiles is virtual, too.
@@ -67,114 +40,27 @@ ok(exists $Config{ccflags_nolargefiles}, "has ccflags_nolargefiles");
# Utility functions.
-{
- # make sure we can export what we say we can export.
- package Foo;
- my @exports = qw(myconfig config_sh config_vars config_re);
- Config->import(@exports);
- foreach my $func (@exports) {
- ::ok( __PACKAGE__->can($func), "$func exported" );
- }
-}
+like(Config::myconfig(), qr/cc='$Config{cc}'/, "myconfig");
-like(Config::myconfig(), qr/osname=\Q$Config{osname}\E/, "myconfig");
-like(Config::config_sh(), qr/osname='\Q$Config{osname}\E'/, "config_sh");
-like(Config::config_sh(), qr/byteorder='[1-8]+'/,
- "config_sh has a valid byteorder");
-foreach my $line (Config::config_re('c.*')) {
- like($line, qr/^c.*?=.*$/, 'config_re' );
+SKIP: {
+ skip "cc is tied in $^O", 1 if $^O eq 'MacOS';
+ like(Config::config_sh(), qr/cc='$Config{cc}'/, "config_sh");
}
my $out = tie *STDOUT, 'FakeOut';
-Config::config_vars('cc'); # non-regex test of essential cfg-var
+Config::config_vars('cc');
my $out1 = $$out;
$out->clear;
-Config::config_vars('d_bork'); # non-regex, non-existent cfg-var
+Config::config_vars('d_bork');
my $out2 = $$out;
$out->clear;
-Config::config_vars('PERL_API_.*'); # regex, tagged multi-line answer
-my $out3 = $$out;
-$out->clear;
-
-Config::config_vars('PERL_API_.*:'); # regex, tagged single-line answer
-my $out4 = $$out;
-$out->clear;
-
-Config::config_vars(':PERL_API_.*:'); # regex, non-tagged single-line answer
-my $out5 = $$out;
-$out->clear;
-
-Config::config_vars(':PERL_API_.*'); # regex, non-tagged multi-line answer
-my $out6 = $$out;
-$out->clear;
-
-Config::config_vars('PERL_API_REVISION.*:'); # regex, tagged
-my $out7 = $$out;
-$out->clear;
-
-# regex, non-tagged multi-line answer
-Config::config_vars(':PERL_API_REVISION.*');
-my $out8 = $$out;
-$out->clear;
-
-Config::config_vars('PERL_EXPENSIVE_.*:'); # non-matching regex
-my $out9 = $$out;
-$out->clear;
-
-Config::config_vars('?flags'); # bogus regex, no explicit warning !
-my $out10 = $$out;
-$out->clear;
-
-undef $out;
untie *STDOUT;
-like($out1, qr/^cc='\Q$Config{cc}\E';/, "found config_var cc");
-like($out2, qr/^d_bork='UNKNOWN';/, "config_var d_bork is UNKNOWN");
-
-# test for leading, trailing colon effects
-# Split in scalar context it deprecated, and will warn.
-my @tmp;
-is(scalar (@tmp = split(/;\n/, $out3)), 3, "3 lines found");
-is(scalar (@tmp = split(/;\n/, $out6)), 3, "3 lines found");
-
-is($out4 =~ /(;\n)/s, '', "trailing colon gives 1-line response: $out4");
-is($out5 =~ /(;\n)/s, '', "trailing colon gives 1-line response: $out5");
-
-is(scalar (@tmp = split(/=/, $out3)), 4, "found 'tag='");
-is(scalar (@tmp = split(/=/, $out4)), 4, "found 'tag='");
-
-my @api;
-
-my @rev = @Config{qw(PERL_API_REVISION PERL_API_VERSION PERL_API_SUBVERSION)};
-
-print ("# test tagged responses, multi-line and single-line\n");
-foreach my $api ($out3, $out4) {
- @api = $api =~ /PERL_API_(\w+)=(.*?)(?:;\n|\s)/mg;
- is($api[0], "REVISION", "REVISION tag");
- is($api[4], "VERSION", "VERSION tag");
- is($api[2], "SUBVERSION", "SUBVERSION tag");
- is($api[1], "'$rev[0]'", "REVISION is $rev[0]");
- is($api[5], "'$rev[1]'", "VERSION is $rev[1]");
- is($api[3], "'$rev[2]'", "SUBVERSION is $rev[2]");
-}
-
-print("# test non-tagged responses, multi-line and single-line\n");
-foreach my $api ($out5, $out6) {
- @api = split /(?: |;\n)/, $api;
- is($api[0], "'$rev[0]'", "revision is $rev[0]");
- is($api[2], "'$rev[1]'", "version is $rev[1]");
- is($api[1], "'$rev[2]'", "subversion is $rev[2]");
-}
-
-# compare to each other, the outputs for trailing, leading colon
-$out7 =~ s/ $//;
-is("$out7;\n", "PERL_API_REVISION=$out8", "got expected diffs");
-
-like($out9, qr/\bnot\s+found\b/, "$out9 - perl is FREE !");
-like($out10, qr/\bnot\s+found\b/, "config_vars with invalid regexp");
+like($out1, qr/^cc='$Config{cc}';/, "config_vars cc");
+like($out2, qr/^d_bork='UNKNOWN';/, "config_vars d_bork is UNKNOWN");
# Read-only.
@@ -196,78 +82,18 @@ like($@, qr/Config is read-only/, "no CLEAR");
ok( exists $Config{d_fork}, "still d_fork");
-{
- package FakeOut;
-
- sub TIEHANDLE {
- bless(\(my $text), $_[0]);
- }
+package FakeOut;
- sub clear {
- ${ $_[0] } = '';
- }
-
- sub PRINT {
- my $self = shift;
- $$self .= join('', @_);
- }
+sub TIEHANDLE {
+ bless(\(my $text), $_[0]);
}
-# Signal-related variables
-# (this is actually a regression test for Configure.)
-
-is($Config{sig_num_init} =~ tr/,/,/, $Config{sig_size}, "sig_num_init size");
-is($Config{sig_name_init} =~ tr/,/,/, $Config{sig_size}, "sig_name_init size");
-
-# Test the troublesome virtual stuff
-my @virtual = qw(byteorder ccflags_nolargefiles ldflags_nolargefiles
- libs_nolargefiles libswanted_nolargefiles);
-
-# Also test that the first entry in config.sh is found correctly. There was
-# special casing code for this
-
-foreach my $pain ($first, @virtual) {
- # No config var is named with anything that is a regexp metachar
- ok(exists $Config{$pain}, "\$config('$pain') exists");
-
- my @result = $Config{$pain};
- is (scalar @result, 1, "single result for \$config('$pain')");
-
- @result = Config::config_re($pain);
- is (scalar @result, 1, "single result for config_re('$pain')");
- like ($result[0], qr/^$pain=(['"])\Q$Config{$pain}\E\1$/, # grr '
- "which is the expected result for $pain");
+sub clear {
+ ${ $_[0] } = '';
}
-# Check that config entries appear correctly in @INC
-# TestInit.pm has probably already messed with our @INC
-# This little bit of evil is to avoid a @ in the program, in case it confuses
-# shell 1 liners. We used to use a perl 1-ism, until that was deprecated, so
-# now some octal in an eval.
-my ($path, $ver, @orig_inc)
- = split /\n/,
- runperl (nolib=>1,
- prog=>'print qq{$_\n} foreach $^X, $], eval qq{\100INC}');
-
-die "This perl is $] at $^X; other perl is $ver (at $path) "
- . '- failed to find this perl' unless $] eq $ver;
-
-my %orig_inc;
-@orig_inc{@orig_inc} = ();
-
-my $failed;
-# This [used to be] the order that directories are pushed onto @INC in perl.c:
-foreach my $lib (qw(applibexp archlibexp privlibexp sitearchexp sitelibexp
- vendorarchexp vendorlibexp)) {
- my $dir = $Config{$lib};
- SKIP: {
- skip "lib $lib not in \@INC on Win32" if $^O eq 'MSWin32';
- skip "lib $lib not defined" unless defined $dir;
- skip "lib $lib not set" unless length $dir;
- # So we expect to find it in @INC
-
- ok (exists $orig_inc{$dir}, "Expect $lib '$dir' to be in \@INC")
- or $failed++;
- }
+sub PRINT {
+ my $self = shift;
+ $$self .= join('', @_);
}
-_diag ('@INC is:', @orig_inc) if $failed;
+
diff --git a/gnu/usr.bin/perl/lib/Dumpvalue.t b/gnu/usr.bin/perl/lib/Dumpvalue.t
index 8eb70a34b84..d1af109f603 100644
--- a/gnu/usr.bin/perl/lib/Dumpvalue.t
+++ b/gnu/usr.bin/perl/lib/Dumpvalue.t
@@ -7,11 +7,6 @@ BEGIN {
print "1..0 # skip: EBCDIC\n";
exit 0;
}
- require Config;
- if (($Config::Config{'extensions'} !~ m!\bList/Util\b!) ){
- print "1..0 # Skip -- Perl configured without List::Util module\n";
- exit 0;
- }
}
use vars qw( $foo @bar %baz );
@@ -205,10 +200,7 @@ is( $out->read, "\$_<foo = 1\n", 'dumped glob for $_<foo correctly (DB)' );
# test CvGV name
SKIP: {
- if (" $Config::Config{'extensions'} " !~ m[ Devel/Peek ]) {
- skip( 'no Devel::Peek', 2 );
- }
- use_ok( 'Devel::Peek' );
+ skip( 'no Devel::Peek', 1 ) unless use_ok( 'Devel::Peek' );
is( $d->CvGV_name(\&TieOut::read), 'TieOut::read', 'CvGV_name found sub' );
}
diff --git a/gnu/usr.bin/perl/lib/File/CheckTree.t b/gnu/usr.bin/perl/lib/File/CheckTree.t
index 656154a8704..0257f4e6f09 100644
--- a/gnu/usr.bin/perl/lib/File/CheckTree.t
+++ b/gnu/usr.bin/perl/lib/File/CheckTree.t
@@ -5,20 +5,11 @@ BEGIN {
@INC = '../lib';
}
-use Test::More tests => 23;
+use Test;
-use strict;
+BEGIN { plan tests => 6 }
-BEGIN {
-# Cwd::cwd does an implicit "require Win32", but
-# the ../lib directory in @INC will no longer work once
-# we chdir() out of the "t" directory.
- if ($^O eq 'MSWin32') {
- require Win32;
- Win32->import();
- }
- require overload;
-}
+use strict;
use File::CheckTree;
use File::Spec; # used to get absolute paths
@@ -48,14 +39,16 @@ chdir(File::Spec->updir) or die "cannot change to parent of t/ directory: $!";
# indented comment, followed blank line (w/o whitespace):
README -f
- '$path_to_README' -e || warn
+ $path_to_README -e || warn
};
};
- diag($_) for @warnings;
- is( $@, '' );
- is( scalar @warnings, 0 );
- is( $num_warnings, 0 );
+ if ( !$@ && !@warnings && defined($num_warnings) && $num_warnings == 0 ) {
+ ok(1);
+ }
+ else {
+ ok(0);
+ }
}
@@ -73,10 +66,16 @@ chdir(File::Spec->updir) or die "cannot change to parent of t/ directory: $!";
};
};
- is( $@, '' );
- is( scalar @warnings, 1 );
- like( $warnings[0], qr/lib is not a plain file/);
- is( $num_warnings, 1 );
+ if ( !$@ && @warnings == 1
+ && $warnings[0] =~ /lib is not a plain file/
+ && defined($num_warnings)
+ && $num_warnings == 1 )
+ {
+ ok(1);
+ }
+ else {
+ ok(0);
+ }
}
@@ -98,12 +97,18 @@ chdir(File::Spec->updir) or die "cannot change to parent of t/ directory: $!";
};
};
- is( $@, '' );
- is( scalar @warnings, 3 );
- like( $warnings[0], qr/lib is not a plain file/);
- like( $warnings[1], qr/README is not a directory/);
- like( $warnings[2], qr/my warning: lib/);
- is( $num_warnings, 3 );
+ if ( !$@ && @warnings == 3
+ && $warnings[0] =~ /lib is not a plain file/
+ && $warnings[1] =~ /README is not a directory/
+ && $warnings[2] =~ /my warning: lib/
+ && defined($num_warnings)
+ && $num_warnings == 3 )
+ {
+ ok(1);
+ }
+ else {
+ ok(0);
+ }
}
@@ -119,21 +124,27 @@ chdir(File::Spec->updir) or die "cannot change to parent of t/ directory: $!";
eval {
$num_warnings = validate qq{
lib -d || die
- '$path_to_libFile' cd
+ $path_to_libFile cd
Spec -e
Spec -f
- '$path_to_dist' cd
+ $path_to_dist cd
README -ef
INSTALL -d || warn
- '$path_to_libFile' -d || die
+ $path_to_libFile -d || die
};
};
- is( $@, '' );
- is( scalar @warnings, 2 );
- like( $warnings[0], qr/Spec is not a plain file/);
- like( $warnings[1], qr/INSTALL is not a directory/);
- is( $num_warnings, 2 );
+ if ( !$@ && @warnings == 2
+ && $warnings[0] =~ /Spec is not a plain file/
+ && $warnings[1] =~ /INSTALL is not a directory/
+ && defined($num_warnings)
+ && $num_warnings == 2 )
+ {
+ ok(1);
+ }
+ else {
+ ok(0);
+ }
}
@@ -149,7 +160,14 @@ chdir(File::Spec->updir) or die "cannot change to parent of t/ directory: $!";
};
};
- like($@, qr/lib is not a plain file/);
+ if ( $@ && $@ =~ /lib is not a plain file/
+ && not defined $num_warnings )
+ {
+ ok(1);
+ }
+ else {
+ ok(0);
+ }
}
@@ -165,32 +183,12 @@ chdir(File::Spec->updir) or die "cannot change to parent of t/ directory: $!";
};
};
- like($@, qr/yadda lib yadda/);
- is( $num_warnings, undef );
-}
-
-#### TEST 7 -- Quoted file names ####
-{
- my $num_warnings;
- eval {
- $num_warnings = validate q{
- "a file with whitespace" !-ef
- 'a file with whitespace' !-ef
- };
- };
-
- is ( $@, '', 'No errors mean we compile correctly');
-}
-
-#### TEST 8 -- Malformed query ####
-{
- my $num_warnings;
- eval {
- $num_warnings = validate q{
- a file with whitespace !-ef
- };
- };
-
- like( $@, qr/syntax error/,
- 'We got a syntax error for a malformed file query' );
+ if ( $@ && $@ =~ /yadda lib yadda/
+ && not defined $num_warnings )
+ {
+ ok(1);
+ }
+ else {
+ ok(0);
+ }
}
diff --git a/gnu/usr.bin/perl/lib/Pod/t/Functions.t b/gnu/usr.bin/perl/lib/Pod/t/Functions.t
index 8f44d812010..601aa50c9dc 100644
--- a/gnu/usr.bin/perl/lib/Pod/t/Functions.t
+++ b/gnu/usr.bin/perl/lib/Pod/t/Functions.t
@@ -80,7 +80,7 @@ Functions for SCALARs or strings:
sprintf, substr, tr///, uc, ucfirst, y///
Regular expressions and pattern matching:
- m//, pos, qr/STRING/, quotemeta, s///, split, study
+ m//, pos, qr/PATTERN/, quotemeta, s///, split, study
Numeric functions:
abs, atan2, cos, exp, hex, int, log, oct, rand, sin, sqrt,
@@ -109,7 +109,7 @@ Functions for fixed length data or records:
Functions for filehandles, files, or directories:
-X, chdir, chmod, chown, chroot, fcntl, glob, ioctl, link,
lstat, mkdir, open, opendir, readlink, rename, rmdir,
- stat, symlink, sysopen, umask, unlink, utime
+ stat, symlink, umask, unlink, utime
Keywords related to control flow of your perl program:
caller, continue, die, do, dump, eval, exit, goto, last,
@@ -124,15 +124,14 @@ Miscellaneous functions:
Functions for processes and process groups:
alarm, exec, fork, getpgrp, getppid, getpriority, kill,
- pipe, qx/STRING/, readpipe, setpgrp, setpriority, sleep,
- system, times, wait, waitpid
+ pipe, qx/STRING/, setpgrp, setpriority, sleep, system,
+ times, wait, waitpid
Keywords related to perl modules:
do, import, no, package, require, use
Keywords related to classes and object-orientedness:
- bless, dbmclose, dbmopen, package, ref, tie, tied, untie,
- use
+ bless, dbmclose, dbmopen, package, ref, tie, untie, use
Low-level socket functions:
accept, bind, connect, getpeername, getsockname,
diff --git a/gnu/usr.bin/perl/lib/Pod/t/htmlescp.pod b/gnu/usr.bin/perl/lib/Pod/t/htmlescp.pod
index c901314c761..dc53ca75a09 100644
--- a/gnu/usr.bin/perl/lib/Pod/t/htmlescp.pod
+++ b/gnu/usr.bin/perl/lib/Pod/t/htmlescp.pod
@@ -11,6 +11,4 @@ Here is some B<bold> text, some I<italic> plus F</etc/fstab>
file and something that looks like an E<lt>htmlE<gt> tag.
This is some C<$code($arg1)>.
-Some numeric escapes: E<0120> E<0x65> E<x72> E<108>
-
=cut
diff --git a/gnu/usr.bin/perl/lib/Pod/t/htmlescp.t b/gnu/usr.bin/perl/lib/Pod/t/htmlescp.t
index 95942cdf9eb..b7913c505b6 100644
--- a/gnu/usr.bin/perl/lib/Pod/t/htmlescp.t
+++ b/gnu/usr.bin/perl/lib/Pod/t/htmlescp.t
@@ -13,32 +13,26 @@ use Test::More tests => 1;
convert_n_test("htmlescp", "html escape");
__DATA__
-<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>NAME</title>
-<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:[PERLADMIN]" />
</head>
<body style="background-color: white">
-
-<!-- INDEX BEGIN -->
-<div name="index">
<p><a name="__index__"></a></p>
+<!-- INDEX BEGIN -->
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#description">DESCRIPTION</a></li>
</ul>
-
-<hr name="index" />
-</div>
<!-- INDEX END -->
+<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
@@ -49,10 +43,9 @@ __DATA__
<h1><a name="description">DESCRIPTION</a></h1>
<p>I am a stupid fool who puts naked &lt; &amp; &gt; characters in my POD
instead of escaping them as &lt; and &gt;.</p>
-<p>Here is some <strong>bold</strong> text, some <em>italic</em> plus <em class="file">/etc/fstab</em>
+<p>Here is some <strong>bold</strong> text, some <em>italic</em> plus <em>/etc/fstab</em>
file and something that looks like an &lt;html&gt; tag.
This is some <code>$code($arg1)</code>.</p>
-<p>Some numeric escapes: &#80; &#x65; &#x72; &#108;</p>
</body>
diff --git a/gnu/usr.bin/perl/lib/Pod/t/htmlview.pod b/gnu/usr.bin/perl/lib/Pod/t/htmlview.pod
index 2ac15d36fe2..62ac71ced4d 100644
--- a/gnu/usr.bin/perl/lib/Pod/t/htmlview.pod
+++ b/gnu/usr.bin/perl/lib/Pod/t/htmlview.pod
@@ -110,7 +110,7 @@ Destructor method
=head1 TESTING FOR AND BEGIN
-=for html <br />
+=for html <br>
<p>
blah blah
</p>
@@ -135,8 +135,6 @@ This is an href link2: http://example.com/foo/bar.html
This is an email link: mailto:foo@bar.com
- This is a link in a verbatim block <a href="http://perl.org"> Perl </a>
-
=head1 SEE ALSO
See also L<Test Page 2|htmlescp>, the L<Your::Module> and L<Their::Module>
diff --git a/gnu/usr.bin/perl/lib/Pod/t/htmlview.t b/gnu/usr.bin/perl/lib/Pod/t/htmlview.t
index 03fe6e572b5..a36b58aee37 100644
--- a/gnu/usr.bin/perl/lib/Pod/t/htmlview.t
+++ b/gnu/usr.bin/perl/lib/Pod/t/htmlview.t
@@ -7,49 +7,45 @@ BEGIN {
require "pod2html-lib.pl";
}
+
use strict;
use Test::More tests => 1;
convert_n_test("htmlview", "html rendering");
+
__DATA__
-<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>NAME</title>
-<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:[PERLADMIN]" />
</head>
<body style="background-color: white">
-
-<!-- INDEX BEGIN -->
-<div name="index">
<p><a name="__index__"></a></p>
+<!-- INDEX BEGIN -->
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#synopsis">SYNOPSIS</a></li>
<li><a href="#description">DESCRIPTION</a></li>
- <li><a href="#methods____other_stuff">METHODS =&gt; OTHER STUFF</a></li>
+ <li><a href="#methods_=>_other_stuff">METHODS =&gt; OTHER STUFF</a></li>
<ul>
- <li><a href="#new__"><code>new()</code></a></li>
- <li><a href="#old__"><code>old()</code></a></li>
+ <li><a href="#new()"><code>new()</code></a></li>
+ <li><a href="#old()"><code>old()</code></a></li>
</ul>
<li><a href="#testing_for_and_begin">TESTING FOR AND BEGIN</a></li>
<li><a href="#testing_urls_hyperlinking">TESTING URLs hyperlinking</a></li>
<li><a href="#see_also">SEE ALSO</a></li>
</ul>
-
-<hr name="index" />
-</div>
<!-- INDEX END -->
+<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
@@ -79,86 +75,82 @@ other <strong>cool </strong></em>&gt; stuff &gt;&gt;</p>
<p>
</p>
<hr />
-<h1><a name="methods____other_stuff">METHODS =&gt; OTHER STUFF</a></h1>
+<h1><a name="methods_=>_other_stuff">METHODS =&gt; OTHER STUFF</a></h1>
<p>Here is a list of methods</p>
<p>
</p>
-<h2><a name="new__"><code>new()</code></a></h2>
+<h2><a name="new()"><code>new()</code></a></h2>
<p>Constructor method. Accepts the following config options:</p>
<dl>
-<dt><strong><a name="foo" class="item">foo</a></strong></dt>
-
+<dt><strong><a name="item_foo">foo</a></strong><br />
+</dt>
<dd>
-<p>The foo item.</p>
+The foo item.
</dd>
-<dt><strong><a name="bar" class="item">bar</a></strong></dt>
-
+<p></p>
+<dt><strong><a name="item_bar">bar</a></strong><br />
+</dt>
<dd>
-<p>The bar item.</p>
+The bar item.
+</dd>
<p>This is a list within a list</p>
<ul>
-<li>
-<p>The wiz item.</p>
-</li>
-<li>
-<p>The waz item.</p>
-</li>
-</ul>
-</dd>
-<dt><strong><a name="baz" class="item">baz</a></strong></dt>
-
+<li></li>
+The wiz item.
+<p></p>
+<li></li>
+The waz item.
+<p></p></ul>
+<dt><strong><a name="item_baz">baz</a></strong><br />
+</dt>
<dd>
-<p>The baz item.</p>
+The baz item.
</dd>
-</dl>
+<p></p></dl>
<p>Title on the same line as the =item + * bullets</p>
<ul>
-<li><strong><a name="black_cat" class="item"><code>Black</code> Cat</a></strong>
-
+<li><strong><a name="item_black_cat"><code>Black</code> Cat</a></strong><br />
</li>
-<li><strong><a name="sat_on_the" class="item">Sat <em>on</em>&nbsp;the</a></strong>
-
+<li><strong><a name="item_sat_on_the">Sat <em>on</em>&nbsp;the</a></strong><br />
</li>
-<li><strong><a name="mat" class="item">Mat&lt;!&gt;</a></strong>
-
+<li><strong><a name="item_mat%3c%21%3e">Mat&lt;!&gt;</a></strong><br />
</li>
</ul>
<p>Title on the same line as the =item + numerical bullets</p>
<ol>
-<li><strong><a name="cat" class="item">Cat</a></strong>
-
+<li><strong><a name="item_cat">Cat</a></strong><br />
</li>
-<li><strong><a name="sat" class="item">Sat</a></strong>
-
+<li><strong><a name="item_sat">Sat</a></strong><br />
</li>
-<li><strong><a name="mat2" class="item">Mat</a></strong>
-
+<li><strong><a name="item_mat">Mat</a></strong><br />
</li>
</ol>
<p>No bullets, no title</p>
<dl>
-<dt>
+<dt></dt>
<dd>
-<p>Cat</p>
+Cat
</dd>
-<dt>
+<p></p>
+<dt></dt>
<dd>
-<p>Sat</p>
+Sat
</dd>
-<dt>
+<p></p>
+<dt></dt>
<dd>
-<p>Mat</p>
+Mat
</dd>
-</dl>
+<p></p></dl>
<p>
</p>
-<h2><a name="old__"><code>old()</code></a></h2>
+<h2><a name="old()"><code>old()</code></a></h2>
<p>Destructor method</p>
<p>
</p>
<hr />
<h1><a name="testing_for_and_begin">TESTING FOR AND BEGIN</a></h1>
-<br />
+<br>
<p>
blah blah
</p><p>intermediate text</p>
@@ -171,14 +163,12 @@ HTML
<p>This is an href link1: <a href="http://example.com">http://example.com</a></p>
<p>This is an href link2: <a href="http://example.com/foo/bar.html">http://example.com/foo/bar.html</a></p>
<p>This is an email link: <a href="mailto:mailto:foo@bar.com">mailto:foo@bar.com</a></p>
-<pre>
- This is a link in a verbatim block &lt;a href=&quot;<a href="http://perl.org">http://perl.org</a>&quot;&gt; Perl &lt;/a&gt;</pre>
<p>
</p>
<hr />
<h1><a name="see_also">SEE ALSO</a></h1>
<p>See also <a href="/t/htmlescp.html">Test Page 2</a>, the <a href="/Your/Module.html">the Your::Module manpage</a> and <a href="/Their/Module.html">the Their::Module manpage</a>
-manpages and the other interesting file <em class="file">/usr/local/my/module/rocks</em>
+manpages and the other interesting file <em>/usr/local/my/module/rocks</em>
as well.</p>
</body>
diff --git a/gnu/usr.bin/perl/lib/Pod/t/pod2html-lib.pl b/gnu/usr.bin/perl/lib/Pod/t/pod2html-lib.pl
index db33f7d5eb3..3f1b267ee16 100644
--- a/gnu/usr.bin/perl/lib/Pod/t/pod2html-lib.pl
+++ b/gnu/usr.bin/perl/lib/Pod/t/pod2html-lib.pl
@@ -21,42 +21,24 @@ sub convert_n_test {
);
- my ($expect, $result);
- {
- local $/;
- # expected
- $expect = <DATA>;
- $expect =~ s/\[PERLADMIN\]/$Config::Config{perladmin}/;
- if (ord("A") == 193) { # EBCDIC.
- $expect =~ s/item_mat_3c_21_3e/item_mat_4c_5a_6e/;
- }
-
- # result
- open my $in, $outfile or die "cannot open $outfile: $!";
- $result = <$in>;
- close $in;
+ local $/;
+ # expected
+ my $expect = <DATA>;
+ $expect =~ s/\[PERLADMIN\]/$Config::Config{perladmin}/;
+ if (ord("A") == 193) { # EBCDIC.
+ $expect =~ s/item_mat%3c%21%3e/item_mat%4c%5a%6e/;
}
- ok($expect eq $result, $testname) or do {
- my $diff = '/bin/diff';
- -x $diff or $diff = '/usr/bin/diff';
- if (-x $diff) {
- my $expectfile = "pod2html-lib.tmp";
- open my $tmpfile, ">", $expectfile or die $!;
- print $tmpfile $expect;
- close $tmpfile;
- my $diffopt = $^O eq 'linux' ? 'u' : 'c';
- open my $diff, "diff -$diffopt $expectfile $outfile |" or die $!;
- print "# $_" while <$diff>;
- close $diff;
- unlink $expectfile;
- }
- };
+ # result
+ open my $in, $outfile or die "cannot open $outfile: $!";
+ my $result = <$in>;
+ close $in;
+ 1 while unlink $outfile;
+ is($expect, $result, $testname);
# pod2html creates these
- 1 while unlink $outfile;
- 1 while unlink "pod2htmd.tmp";
- 1 while unlink "pod2htmi.tmp";
+ 1 while unlink "pod2htmd.x~~";
+ 1 while unlink "pod2htmi.x~~";
}
1;
diff --git a/gnu/usr.bin/perl/lib/Text/Abbrev.t b/gnu/usr.bin/perl/lib/Text/Abbrev.t
index 38d4a39886d..fb5a9841eb1 100644
--- a/gnu/usr.bin/perl/lib/Text/Abbrev.t
+++ b/gnu/usr.bin/perl/lib/Text/Abbrev.t
@@ -1,6 +1,6 @@
#!./perl
-print "1..8\n";
+print "1..7\n";
BEGIN {
chdir 't' if -d 't';
@@ -49,11 +49,3 @@ abbrev \%y, @z;
$s = join ':', sort keys %y;
print (($r eq $s)?"ok $test\n":"not ok $test\n"); $test++;
-
-
-# warnings safe with zero arguments
-my $notok;
-$^W = 1;
-$SIG{__WARN__} = sub { $notok++ };
-abbrev();
-print ($notok ? "not ok $test\n" : "ok $test\n"); $test++;
diff --git a/gnu/usr.bin/perl/lib/bigfloatpl.t b/gnu/usr.bin/perl/lib/bigfloatpl.t
index a3810e3ab0a..d67d13d1d4b 100644
--- a/gnu/usr.bin/perl/lib/bigfloatpl.t
+++ b/gnu/usr.bin/perl/lib/bigfloatpl.t
@@ -5,17 +5,7 @@ BEGIN {
@INC = '../lib';
}
-{
- # Silence the deprecation warnings from bigfloat.pl for the purpose
- # of testing. These tests will be removed along with bigfloat.pl in
- # the next major release of perl.
- local $SIG{__WARN__} = sub {
- if ($_[0] !~ /deprecated/) {
- print(STDERR @_);
- }
- };
- require "bigfloat.pl";
-}
+require "bigfloat.pl";
$test = 0;
$| = 1;
diff --git a/gnu/usr.bin/perl/lib/bigintpl.t b/gnu/usr.bin/perl/lib/bigintpl.t
index 9245683eb1d..569db20667f 100644
--- a/gnu/usr.bin/perl/lib/bigintpl.t
+++ b/gnu/usr.bin/perl/lib/bigintpl.t
@@ -4,18 +4,7 @@ BEGIN {
chdir 't' if -d 't';
@INC = '../lib';
}
-
-{
- # Silence the deprecation warnings from bigint.pl for the purpose
- # of testing. These tests will be removed along with bigint.pl in
- # the next major release of perl.
- local $SIG{__WARN__} = sub {
- if ($_[0] !~ /deprecated/) {
- print(STDERR @_);
- }
- };
- require "bigint.pl";
-}
+require "bigint.pl";
$test = 0;
$| = 1;
diff --git a/gnu/usr.bin/perl/lib/locale.t b/gnu/usr.bin/perl/lib/locale.t
index d84c6c40d23..7b273309729 100644
--- a/gnu/usr.bin/perl/lib/locale.t
+++ b/gnu/usr.bin/perl/lib/locale.t
@@ -43,21 +43,13 @@ eval {
# Visual C's CRT goes silly on strings of the form "en_US.ISO8859-1"
# and mingw32 uses said silly CRT
-# This doesn't seem to be an issue any more, at least on Windows XP,
-# so re-enable the tests for Windows XP onwards.
-my $winxp = ($^O eq 'MSWin32' && defined &Win32::GetOSVersion &&
- join('.', (Win32::GetOSVersion())[1..2]) >= 5.1);
-$have_setlocale = 0 if ((($^O eq 'MSWin32' && !$winxp) || $^O eq 'NetWare') &&
- $Config{cc} =~ /^(cl|gcc)/i);
-
-# UWIN seems to loop after test 98, just skip for now
-$have_setlocale = 0 if ($^O =~ /^uwin/);
+$have_setlocale = 0 if (($^O eq 'MSWin32' || $^O eq 'NetWare') && $Config{cc} =~ /^(cl|gcc)/i);
my $last = $have_setlocale ? &last : &last_without_setlocale;
print "1..$last\n";
-sub LC_ALL ();
+use vars qw(&LC_ALL);
$a = 'abc %';
@@ -387,10 +379,6 @@ delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};
if (-x "/usr/bin/locale" && open(LOCALES, "/usr/bin/locale -a 2>/dev/null|")) {
while (<LOCALES>) {
- # It seems that /usr/bin/locale steadfastly outputs 8 bit data, which
- # ain't great when we're running this testPERL_UNICODE= so that utf8
- # locales will cause all IO hadles to default to (assume) utf8
- next unless utf8::valid($_);
chomp;
trylocale($_);
}
@@ -404,17 +392,6 @@ if (-x "/usr/bin/locale" && open(LOCALES, "/usr/bin/locale -a 2>/dev/null|")) {
trylocale($_);
}
close(LOCALES);
-} elsif ($^O eq 'openbsd' && -e '/usr/share/locale') {
-
- # OpenBSD doesn't have a locale executable, so reading /usr/share/locale
- # is much easier and faster than the last resort method.
-
- opendir(LOCALES, '/usr/share/locale');
- while ($_ = readdir(LOCALES)) {
- chomp;
- trylocale($_);
- }
- close(LOCALES);
} else {
# This is going to be slow.
@@ -453,19 +430,6 @@ if (-x "/usr/bin/locale" && open(LOCALES, "/usr/bin/locale -a 2>/dev/null|")) {
setlocale(LC_ALL, "C");
-if ($^O eq 'darwin') {
- # Darwin 8/Mac OS X 10.4 and 10.5 have bad Basque locales: perl bug #35895,
- # Apple bug ID# 4139653. It also has a problem in Byelorussian.
- (my $v) = $Config{osvers} =~ /^(\d+)/;
- if ($v >= 8 and $v < 10) {
- debug "# Skipping eu_ES, be_BY locales -- buggy in Darwin\n";
- @Locale = grep ! m/^(eu_ES(?:\..*)?|be_BY\.CP1131)$/, @Locale;
- } elsif ($v < 11) {
- debug "# Skipping be_BY locales -- buggy in Darwin\n";
- @Locale = grep ! m/^be_BY\.CP1131$/, @Locale;
- }
-}
-
@Locale = sort @Locale;
debug "# Locales =\n";
@@ -559,17 +523,7 @@ foreach $Locale (@Locale) {
my $word = join('', @Neoalpha);
- my $badutf8;
- {
- local $SIG{__WARN__} = sub {
- $badutf8 = $_[0] =~ /Malformed UTF-8/;
- };
- $Locale =~ /utf-?8/i;
- }
-
- if ($badutf8) {
- debug "# Locale name contains bad UTF-8, skipping test 99 for locale '$Locale'\n";
- } elsif ($Locale =~ /utf-?8/i) {
+ if ($Locale =~ /utf-?8/i) {
debug "# unknown whether locale and Unicode have the same \\w, skipping test 99 for locale '$Locale'\n";
push @{$Okay{99}}, $Locale;
} else {
diff --git a/gnu/usr.bin/perl/pod/perl570delta.pod b/gnu/usr.bin/perl/pod/perl570delta.pod
index dcc2f0f1889..3d4e5e29e43 100644
--- a/gnu/usr.bin/perl/pod/perl570delta.pod
+++ b/gnu/usr.bin/perl/pod/perl570delta.pod
@@ -127,7 +127,7 @@ is a NaN. Previously the behaviour was unspecified.
=item *
-C<pack('U0a*', ...)> can now be used to force a string to UTF-8.
+C<pack('U0a*', ...)> can now be used to force a string to UTF8.
=item *
@@ -242,7 +242,7 @@ perl.org, not perl.com.
=item *
The perlcc utility has been rewritten and its user interface (that is,
-command line) is much more like that of the Unix C compiler, cc.
+command line) is much more like that of the UNIX C compiler, cc.
=item *
@@ -508,7 +508,7 @@ C<IsAlnum>, C<IsAlpha>, and C<IsWord> now match titlecase.
Concatenation with the C<.> operator or via variable interpolation,
C<eq>, C<substr>, C<reverse>, C<quotemeta>, the C<x> operator,
-substitution with C<s///>, single-quoted UTF-8, should now work--in
+substitution with C<s///>, single-quoted UTF8, should now work--in
theory.
=item *
@@ -690,7 +690,7 @@ concurrently. (Still 16M per thread.)
=item *
-C<< File::Spec->tmpdir() >> now prefers C:/temp over /tmp
+C<File::Spec->tmpdir()> now prefers C:/temp over /tmp
(works better when perl is running as service).
=item *
diff --git a/gnu/usr.bin/perl/pod/perl571delta.pod b/gnu/usr.bin/perl/pod/perl571delta.pod
index be36e044066..431c35928bd 100644
--- a/gnu/usr.bin/perl/pod/perl571delta.pod
+++ b/gnu/usr.bin/perl/pod/perl571delta.pod
@@ -88,7 +88,7 @@ The built-in layers are: unix (low level read/write), stdio (as in
previous Perls), perlio (re-implementation of stdio buffering in a
portable manner), crlf (does CRLF <=> "\n" translation as on Win32,
but available on any platform). A mmap layer may be available if
-platform supports it (mostly Unixes).
+platform supports it (mostly UNIXes).
Layers to be applied by default may be specified via the 'open' pragma.
@@ -130,7 +130,7 @@ That is a literal undef, not an undefined value.
=item *
-The list form of C<open> is now implemented for pipes (at least on Unix):
+The list form of C<open> is now implemented for pipes (at least on UNIX):
open($fh,"-|", 'cat', '/etc/motd')
@@ -771,17 +771,17 @@ SOCKS support is now much more robust.
If your file system supports symbolic links you can build Perl outside
of the source directory by
- mkdir perl/build/directory
- cd perl/build/directory
+ mkdir /tmp/perl/build/directory
+ cd /tmp/perl/build/directory
sh /path/to/perl/source/Configure -Dmksymlinks ...
-This will create in perl/build/directory a tree of symbolic links
+This will create in /tmp/perl/build/directory a tree of symbolic links
pointing to files in /path/to/perl/source. The original files are left
unaffected. After Configure has finished you can just say
make all test
-and Perl will be built and tested, all in perl/build/directory.
+and Perl will be built and tested, all in /tmp/perl/build/directory.
=back
@@ -901,7 +901,7 @@ is made, a warning is given.
=item *
C<push @a;> and C<unshift @a;> (with no values to push or unshift)
-now give a warning. This may be a problem for generated and eval'ed
+now give a warning. This may be a problem for generated and evaled
code.
=back
@@ -935,7 +935,7 @@ machines (Perl's malloc is mostly tuned for space).
Many new tests have been added. The most notable is probably the
lib/1_compile: it is very notable because running it takes quite a
-long time. It test compiles all the Perl modules in the distribution.
+long time -- it test compiles all the Perl modules in the distribution.
Please be patient.
=head1 Known Problems
diff --git a/gnu/usr.bin/perl/pod/perl572delta.pod b/gnu/usr.bin/perl/pod/perl572delta.pod
index 21585edc4e0..e7d4ce37ed4 100644
--- a/gnu/usr.bin/perl/pod/perl572delta.pod
+++ b/gnu/usr.bin/perl/pod/perl572delta.pod
@@ -89,7 +89,7 @@ ugly, but the current implementation slows down normal array and hash
use quite noticeably. The C<fields> pragma interface will remain
available.
-The syntaxes C<< @a->[...] >> and C<< @h->{...} >> have now been deprecated.
+The syntaxes C<@a->[...]> and C<@h->{...}> have now been deprecated.
The suidperl is also considered to be too much a risk to continue
maintaining and the suidperl code is likely to be removed in a future
@@ -409,7 +409,7 @@ NetWare from Novell is now supported. See L<perlnetware>.
=item *
-The Amdahl UTS Unix mainframe platform is now supported.
+The Amdahl UTS UNIX mainframe platform is now supported.
=back
@@ -513,7 +513,7 @@ the entire regex. You will an optional warning if you try to do otherwise.
=item *
-Using arrays or hashes as references (e.g. C<< %foo->{bar} >> has been
+Using arrays or hashes as references (e.g. C<%foo->{bar}> has been
deprecated for a while. Now you will get an optional warning.
=back
diff --git a/gnu/usr.bin/perl/reentr.pl b/gnu/usr.bin/perl/reentr.pl
index b90c61dcfc4..cb9aca82dbb 100644
--- a/gnu/usr.bin/perl/reentr.pl
+++ b/gnu/usr.bin/perl/reentr.pl
@@ -1,30 +1,14 @@
#!/usr/bin/perl -w
-#
-# Regenerate (overwriting only if changed):
-#
-# reentr.h
-# reentr.c
-#
-# from information stored in the DATA section of this file.
-#
-# With the -U option, it also unconditionally regenerates the relevant
-# metaconfig units:
-#
-# d_${func}_r.U
-#
-# Also accepts the standard regen_lib -q and -v args.
-#
-# This script is normally invoked from regen.pl.
-BEGIN {
- # Get function prototypes
- require 'regen_lib.pl';
-}
+#
+# Generate the reentr.c and reentr.h,
+# and optionally also the relevant metaconfig units (-U option).
+#
use strict;
use Getopt::Std;
my %opts;
-getopts('Uv', \%opts);
+getopts('U', \%opts);
my %map = (
V => "void",
@@ -51,40 +35,23 @@ my %map = (
# Example #3: S_CBI means type func_r(const char*, char*, int)
-# safer_unlink 'reentr.h';
-my $h = safer_open("reentr.h-new");
-select $h;
+die "reentr.h: $!" unless open(H, ">reentr.h");
+select H;
print <<EOF;
-/* -*- buffer-read-only: t -*-
- *
+/*
* reentr.h
*
- * Copyright (C) 2002, 2003, 2005, 2006, 2007 by Larry Wall and others
+ * Copyright (c) 1997-2002, Larry Wall
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by reentr.pl from data in reentr.pl.
+ * This file is built by reentrl.pl from data in reentr.pl.
*/
#ifndef REENTR_H
-#define REENTR_H
-
-/* If compiling for a threaded perl, we will macro-wrap the system/library
- * interfaces (e.g. getpwent()) which have threaded versions
- * (e.g. getpwent_r()), which will handle things correctly for
- * the Perl interpreter, but otherwise (for XS) the wrapping does
- * not take place. See L<perlxs/Thread-aware system interfaces>.
- */
-
-#ifndef PERL_REENTR_API
-# if defined(PERL_CORE) || defined(PERL_EXT)
-# define PERL_REENTR_API 1
-# else
-# define PERL_REENTR_API 0
-# endif
-#endif
+#define REENTR_H
#ifdef USE_REENTRANT_API
@@ -92,8 +59,7 @@ print <<EOF;
* but they are declared obsolete and are not to be used. Often this
* means that the platform has threadsafed the interfaces (hopefully).
* All this is OS version dependent, so we are of course fooling ourselves.
- * If you know of more deprecations on some platforms, please add your own
- * (by editing reentr.pl, mind!) */
+ * If you know of more deprecations on some platforms, please add your own. */
#ifdef __hpux
# undef HAS_CRYPT_R
@@ -114,17 +80,6 @@ print <<EOF;
# define NETDB_R_OBSOLETE
#endif
-/*
- * As of OpenBSD 3.7, reentrant functions are now working, they just are
- * incompatible with everyone else. To make OpenBSD happy, we have to
- * memzero out certain structures before calling the functions.
- */
-#if defined(__OpenBSD__)
-# define REENTR_MEMZERO(a,b) memzero(a,b)
-#else
-# define REENTR_MEMZERO(a,b) 0
-#endif
-
#ifdef NETDB_R_OBSOLETE
# undef HAS_ENDHOSTENT_R
# undef HAS_ENDNETENT_R
@@ -180,7 +135,6 @@ my %seenp; # the different prototype signatures for all functions
my %seent; # the return type of this function
my %seens; # the type of this function's "S"
my %seend; # the type of this function's "D"
-my %seenm; # all the types
my %seenu; # the length of the argument list of this function
while (<DATA>) { # Read in the protypes.
@@ -210,7 +164,6 @@ while (<DATA>) { # Read in the protypes.
# If given the -U option open up the metaconfig unit for this function.
if ($opts{U} && open(U, ">d_${func}_r.U")) {
- binmode U;
select U;
}
@@ -235,7 +188,7 @@ while (<DATA>) { # Read in the protypes.
print <<EOF;
?RCS: \$Id: d_${func}_r.U,v $
?RCS:
-?RCS: Copyright (c) 2002,2003 Jarkko Hietaniemi
+?RCS: Copyright (c) 2002 Jarkko Hietaniemi
?RCS:
?RCS: You may distribute under the terms of either the GNU General Public
?RCS: License or the Artistic License, as specified in the README file.
@@ -306,7 +259,6 @@ EOF
$seent{$func} = $type;
$seens{$func} = $m{S};
$seend{$func} = $m{D};
- $seenm{$func} = \%m;
}
if ($opts{U}) {
print <<EOF;
@@ -342,7 +294,7 @@ close DATA;
# Prepare to continue writing the reentr.h.
-select $h;
+select H;
{
# Write out all the known prototype signatures.
@@ -375,7 +327,7 @@ sub pushssif {
sub pushinitfree {
my $func = shift;
push @init, <<EOF;
- Newx(PL_reentrant_buffer->_${func}_buffer, PL_reentrant_buffer->_${func}_size, char);
+ New(31338, PL_reentrant_buffer->_${func}_buffer, PL_reentrant_buffer->_${func}_size, char);
EOF
push @free, <<EOF;
Safefree(PL_reentrant_buffer->_${func}_buffer);
@@ -411,7 +363,6 @@ EOF
EOF
}
}
- return if @F == 1;
push @define, <<EOF;
/* Any of the @F using \L$n? */
@@ -500,22 +451,17 @@ EOF
#if CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD
$seend{$func} _${func}_data;
#else
- $seent{$func} *_${func}_struct_buffer;
+ $seent{$func} _${func}_struct;
#endif
EOF
push @init, <<EOF;
-#if CRYPT_R_PROTO != REENTRANT_PROTO_B_CCD
- PL_reentrant_buffer->_${func}_struct_buffer = 0;
-#endif
-EOF
- push @free, <<EOF;
-#if CRYPT_R_PROTO != REENTRANT_PROTO_B_CCD
- Safefree(PL_reentrant_buffer->_${func}_struct_buffer);
+#ifdef __GLIBC__
+ PL_reentrant_buffer->_${func}_struct.initialized = 0;
#endif
EOF
pushssif $endif;
}
- elsif ($func =~ /^(drand48|random|srandom)$/) {
+ elsif ($func =~ /^(drand48|gmtime|localtime|random)$/) {
pushssif $ifdef;
push @struct, <<EOF;
$seent{$func} _${func}_struct;
@@ -524,18 +470,6 @@ EOF
push @struct, <<EOF;
double _${func}_double;
EOF
- } elsif ($1 eq 'random') {
- push @struct, <<EOF;
-# if RANDOM_R_PROTO == REENTRANT_PROTO_I_iS
- int _${func}_retval;
-# endif
-# if RANDOM_R_PROTO == REENTRANT_PROTO_I_lS
- long _${func}_retval;
-# endif
-# if RANDOM_R_PROTO == REENTRANT_PROTO_I_St
- int32_t _${func}_retval;
-# endif
-EOF
}
pushssif $endif;
}
@@ -557,36 +491,43 @@ EOF
$seent{$func}* _${genfunc}_ptr;
# endif
EOF
- push @struct, <<EOF;
+ if ($genfunc eq 'getspent') {
+ push @size, <<EOF;
+ PL_reentrant_buffer->_${genfunc}_size = 1024;
+EOF
+ } else {
+ push @struct, <<EOF;
# ifdef USE_${GENFUNC}_FPTR
FILE* _${genfunc}_fptr;
# endif
EOF
- push @init, <<EOF;
+ push @init, <<EOF;
# ifdef USE_${GENFUNC}_FPTR
PL_reentrant_buffer->_${genfunc}_fptr = NULL;
# endif
EOF
- my $sc = $genfunc eq 'grent' ?
+ my $sc = $genfunc eq 'getgrent' ?
'_SC_GETGR_R_SIZE_MAX' : '_SC_GETPW_R_SIZE_MAX';
- my $sz = "_${genfunc}_size";
- push @size, <<EOF;
+ my $sz = $genfunc eq 'getgrent' ?
+ '_grent_size' : '_pwent_size';
+ push @size, <<EOF;
# if defined(HAS_SYSCONF) && defined($sc) && !defined(__GLIBC__)
- PL_reentrant_buffer->$sz = sysconf($sc);
- if (PL_reentrant_buffer->$sz == (size_t) -1)
+ PL_reentrant_buffer->_${genfunc}_size = sysconf($sc);
+ if (PL_reentrant_buffer->$sz == -1)
PL_reentrant_buffer->$sz = REENTRANTUSUALSIZE;
# else
# if defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
- PL_reentrant_buffer->$sz = SIABUFSIZ;
+ PL_reentrant_buffer->_${genfunc}_size = SIABUFSIZ;
# else
# ifdef __sgi
- PL_reentrant_buffer->$sz = BUFSIZ;
+ PL_reentrant_buffer->_${genfunc}_size = BUFSIZ;
# else
- PL_reentrant_buffer->$sz = REENTRANTUSUALSIZE;
+ PL_reentrant_buffer->_${genfunc}_size = REENTRANTUSUALSIZE;
# endif
# endif
# endif
EOF
+ }
pushinitfree $genfunc;
pushssif $endif;
}
@@ -623,7 +564,7 @@ EOF
EOF
push @init, <<EOF;
#if !($D)
- Newx(PL_reentrant_buffer->_${genfunc}_buffer, PL_reentrant_buffer->_${genfunc}_size, char);
+ New(31338, PL_reentrant_buffer->_${genfunc}_buffer, PL_reentrant_buffer->_${genfunc}_size, char);
#endif
EOF
push @free, <<EOF;
@@ -660,7 +601,6 @@ EOF
push @wrap, $ifdef;
push @wrap, <<EOF;
-# if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
# undef $func
EOF
@@ -681,9 +621,7 @@ EOF
my $b = $a;
my $w = '';
substr($b, 0, $seenu{$func}) = '';
- if ($func =~ /^random$/) {
- $true = "PL_reentrant_buffer->_random_retval";
- } elsif ($b =~ /R/) {
+ if ($b =~ /R/) {
$true = "PL_reentrant_buffer->_${genfunc}_ptr";
} elsif ($b =~ /T/ && $func eq 'drand48') {
$true = "PL_reentrant_buffer->_${genfunc}_double";
@@ -712,28 +650,17 @@ EOF
$_ eq 'D' ?
"&PL_reentrant_buffer->_${genfunc}_data" :
$_ eq 'S' ?
- ($func =~ /^readdir\d*$/ ?
+ ($func =~ /^readdir/ ?
"PL_reentrant_buffer->_${genfunc}_struct" :
- $func =~ /^crypt$/ ?
- "PL_reentrant_buffer->_${genfunc}_struct_buffer" :
- "&PL_reentrant_buffer->_${genfunc}_struct") :
+ "&PL_reentrant_buffer->_${genfunc}_struct" ) :
$_ eq 'T' && $func eq 'drand48' ?
"&PL_reentrant_buffer->_${genfunc}_double" :
- $_ =~ /^[ilt]$/ && $func eq 'random' ?
- "&PL_reentrant_buffer->_random_retval" :
$_
} split '', $b;
$w = ", $w" if length $v;
}
-
my $call = "${func}_r($v$w)";
-
- # Must make OpenBSD happy
- my $memzero = '';
- if($p =~ /D$/ &&
- ($genfunc eq 'protoent' || $genfunc eq 'servent')) {
- $memzero = 'REENTR_MEMZERO(&PL_reentrant_buffer->_' . $genfunc . '_data, sizeof(PL_reentrant_buffer->_' . $genfunc . '_data)),';
- }
+ $call = "((errno = $call))" if $r eq 'I';
push @wrap, <<EOF;
# if !defined($func) && ${FUNC}_R_PROTO == REENTRANT_PROTO_$p
EOF
@@ -744,30 +671,20 @@ EOF
} else {
if ($func =~ /^get/) {
my $rv = $v ? ", $v" : "";
- if ($r eq 'I') {
- push @wrap, <<EOF;
-# define $func($v) ($memzero(PL_reentrant_retint = $call)$test ? $true : ((PL_reentrant_retint == ERANGE) ? ($seent{$func} *) Perl_reentrant_retry("$func"$rv) : 0))
-EOF
- } else {
- push @wrap, <<EOF;
-# define $func($v) ($call$test ? $true : ((errno == ERANGE) ? ($seent{$func} *) Perl_reentrant_retry("$func"$rv) : 0))
+ push @wrap, <<EOF;
+# define $func($v) ($call$test ? $true : (errno == ERANGE ? Perl_reentrant_retry("$func"$rv) : 0))
EOF
- }
} else {
push @wrap, <<EOF;
# define $func($v) ($call$test ? $true : 0)
EOF
}
}
- push @wrap, <<EOF; # !defined(xxx) && XXX_R_PROTO == REENTRANT_PROTO_Y_TS
+ push @wrap, <<EOF;
# endif
EOF
}
- push @wrap, <<EOF; # defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-# endif
-EOF
-
push @wrap, $endif, "\n";
}
}
@@ -787,44 +704,33 @@ typedef struct {
/* The wrappers. */
@wrap
-
#endif /* USE_REENTRANT_API */
#endif
-/* ex: set ro: */
EOF
-safer_close($h);
-rename_if_different('reentr.h-new', 'reentr.h');
+close(H);
# Prepare to write the reentr.c.
-# safer_unlink 'reentr.c';
-my $c = safer_open("reentr.c-new");
-select $c;
+die "reentr.c: $!" unless open(C, ">reentr.c");
+select C;
print <<EOF;
-/* -*- buffer-read-only: t -*-
- *
+/*
* reentr.c
*
- * Copyright (C) 2002, 2003, 2005, 2006, 2007 by Larry Wall and others
+ * Copyright (c) 1997-2002, Larry Wall
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by reentr.pl from data in reentr.pl.
+ * This file is built by reentrl.pl from data in reentr.pl.
*
* "Saruman," I said, standing away from him, "only one hand at a time can
* wield the One, and you know that well, so do not trouble to say we!"
*
- * This file contains a collection of automatically created wrappers
- * (created by running reentr.pl) for reentrant (thread-safe) versions of
- * various library calls, such as getpwent_r. The wrapping is done so
- * that other files like pp_sys.c calling those library functions need not
- * care about the differences between various platforms' idiosyncrasies
- * regarding these reentrant interfaces.
*/
#include "EXTERN.h"
@@ -844,7 +750,7 @@ Perl_reentrant_size(pTHX) {
void
Perl_reentrant_init(pTHX) {
#ifdef USE_REENTRANT_API
- Newx(PL_reentrant_buffer, 1, REENTR);
+ New(31337, PL_reentrant_buffer, 1, REENTR);
Perl_reentrant_size(aTHX);
@init
#endif /* USE_REENTRANT_API */
@@ -863,16 +769,8 @@ Perl_reentrant_retry(const char *f, ...)
{
dTHX;
void *retptr = NULL;
- va_list ap;
#ifdef USE_REENTRANT_API
- /* Easier to special case this here than in embed.pl. (Look at what it
- generates for proto.h) */
- PERL_ARGS_ASSERT_REENTRANT_RETRY;
-#endif
- va_start(ap, f);
- {
-#ifdef USE_REENTRANT_API
-# if defined(USE_HOSTENT_BUFFER) || defined(USE_GRENT_BUFFER) || defined(USE_NETENT_BUFFER) || defined(USE_PWENT_BUFFER) || defined(USE_PROTOENT_BUFFER) || defined(USE_SERVENT_BUFFER)
+# if defined(USE_HOSTENT_BUFFER) || defined(USE_GRENT_BUFFER) || defined(USE_NETENT_BUFFER) || defined(USE_PWENT_BUFFER) || defined(USE_PROTOENT_BUFFER) || defined(USE_SRVENT_BUFFER)
void *p0;
# endif
# if defined(USE_SERVENT_BUFFER)
@@ -884,6 +782,11 @@ Perl_reentrant_retry(const char *f, ...)
# if defined(USE_HOSTENT_BUFFER) || defined(USE_NETENT_BUFFER) || defined(USE_PROTOENT_BUFFER) || defined(USE_SERVENT_BUFFER)
int anint;
# endif
+ va_list ap;
+
+ va_start(ap, f);
+
+#define REENTRANTHALFMAXSIZE 32768 /* The maximum may end up twice this. */
switch (PL_op->op_type) {
#ifdef USE_HOSTENT_BUFFER
@@ -891,11 +794,7 @@ Perl_reentrant_retry(const char *f, ...)
case OP_GHBYNAME:
case OP_GHOSTENT:
{
-#ifdef PERL_REENTRANT_MAXSIZE
- if (PL_reentrant_buffer->_hostent_size <=
- PERL_REENTRANT_MAXSIZE / 2)
-#endif
- {
+ if (PL_reentrant_buffer->_hostent_size <= REENTRANTHALFMAXSIZE) {
PL_reentrant_buffer->_hostent_size *= 2;
Renew(PL_reentrant_buffer->_hostent_buffer,
PL_reentrant_buffer->_hostent_size, char);
@@ -907,11 +806,10 @@ Perl_reentrant_retry(const char *f, ...)
retptr = gethostbyaddr(p0, asize, anint); break;
case OP_GHBYNAME:
p0 = va_arg(ap, void *);
- retptr = gethostbyname((char *)p0); break;
+ retptr = gethostbyname(p0); break;
case OP_GHOSTENT:
retptr = gethostent(); break;
default:
- SETERRNO(ERANGE, LIB_INVARG);
break;
}
}
@@ -923,11 +821,7 @@ Perl_reentrant_retry(const char *f, ...)
case OP_GGRGID:
case OP_GGRENT:
{
-#ifdef PERL_REENTRANT_MAXSIZE
- if (PL_reentrant_buffer->_grent_size <=
- PERL_REENTRANT_MAXSIZE / 2)
-#endif
- {
+ if (PL_reentrant_buffer->_grent_size <= REENTRANTHALFMAXSIZE) {
Gid_t gid;
PL_reentrant_buffer->_grent_size *= 2;
Renew(PL_reentrant_buffer->_grent_buffer,
@@ -935,18 +829,13 @@ Perl_reentrant_retry(const char *f, ...)
switch (PL_op->op_type) {
case OP_GGRNAM:
p0 = va_arg(ap, void *);
- retptr = getgrnam((char *)p0); break;
+ retptr = getgrnam(p0); break;
case OP_GGRGID:
-#if Gid_t_size < INTSIZE
- gid = (Gid_t)va_arg(ap, int);
-#else
gid = va_arg(ap, Gid_t);
-#endif
retptr = getgrgid(gid); break;
case OP_GGRENT:
retptr = getgrent(); break;
default:
- SETERRNO(ERANGE, LIB_INVARG);
break;
}
}
@@ -958,11 +847,7 @@ Perl_reentrant_retry(const char *f, ...)
case OP_GNBYNAME:
case OP_GNETENT:
{
-#ifdef PERL_REENTRANT_MAXSIZE
- if (PL_reentrant_buffer->_netent_size <=
- PERL_REENTRANT_MAXSIZE / 2)
-#endif
- {
+ if (PL_reentrant_buffer->_netent_size <= REENTRANTHALFMAXSIZE) {
Netdb_net_t net;
PL_reentrant_buffer->_netent_size *= 2;
Renew(PL_reentrant_buffer->_netent_buffer,
@@ -974,11 +859,10 @@ Perl_reentrant_retry(const char *f, ...)
retptr = getnetbyaddr(net, anint); break;
case OP_GNBYNAME:
p0 = va_arg(ap, void *);
- retptr = getnetbyname((char *)p0); break;
+ retptr = getnetbyname(p0); break;
case OP_GNETENT:
retptr = getnetent(); break;
default:
- SETERRNO(ERANGE, LIB_INVARG);
break;
}
}
@@ -990,11 +874,7 @@ Perl_reentrant_retry(const char *f, ...)
case OP_GPWUID:
case OP_GPWENT:
{
-#ifdef PERL_REENTRANT_MAXSIZE
- if (PL_reentrant_buffer->_pwent_size <=
- PERL_REENTRANT_MAXSIZE / 2)
-#endif
- {
+ if (PL_reentrant_buffer->_pwent_size <= REENTRANTHALFMAXSIZE) {
Uid_t uid;
PL_reentrant_buffer->_pwent_size *= 2;
Renew(PL_reentrant_buffer->_pwent_buffer,
@@ -1002,18 +882,13 @@ Perl_reentrant_retry(const char *f, ...)
switch (PL_op->op_type) {
case OP_GPWNAM:
p0 = va_arg(ap, void *);
- retptr = getpwnam((char *)p0); break;
+ retptr = getpwnam(p0); break;
case OP_GPWUID:
-#if Uid_t_size < INTSIZE
- uid = (Uid_t)va_arg(ap, int);
-#else
uid = va_arg(ap, Uid_t);
-#endif
retptr = getpwuid(uid); break;
case OP_GPWENT:
retptr = getpwent(); break;
default:
- SETERRNO(ERANGE, LIB_INVARG);
break;
}
}
@@ -1025,25 +900,20 @@ Perl_reentrant_retry(const char *f, ...)
case OP_GPBYNUMBER:
case OP_GPROTOENT:
{
-#ifdef PERL_REENTRANT_MAXSIZE
- if (PL_reentrant_buffer->_protoent_size <=
- PERL_REENTRANT_MAXSIZE / 2)
-#endif
- {
+ if (PL_reentrant_buffer->_protoent_size <= REENTRANTHALFMAXSIZE) {
PL_reentrant_buffer->_protoent_size *= 2;
Renew(PL_reentrant_buffer->_protoent_buffer,
PL_reentrant_buffer->_protoent_size, char);
switch (PL_op->op_type) {
case OP_GPBYNAME:
p0 = va_arg(ap, void *);
- retptr = getprotobyname((char *)p0); break;
+ retptr = getprotobyname(p0); break;
case OP_GPBYNUMBER:
anint = va_arg(ap, int);
retptr = getprotobynumber(anint); break;
case OP_GPROTOENT:
retptr = getprotoent(); break;
default:
- SETERRNO(ERANGE, LIB_INVARG);
break;
}
}
@@ -1055,11 +925,7 @@ Perl_reentrant_retry(const char *f, ...)
case OP_GSBYPORT:
case OP_GSERVENT:
{
-#ifdef PERL_REENTRANT_MAXSIZE
- if (PL_reentrant_buffer->_servent_size <=
- PERL_REENTRANT_MAXSIZE / 2)
-#endif
- {
+ if (PL_reentrant_buffer->_servent_size <= REENTRANTHALFMAXSIZE) {
PL_reentrant_buffer->_servent_size *= 2;
Renew(PL_reentrant_buffer->_servent_buffer,
PL_reentrant_buffer->_servent_size, char);
@@ -1067,15 +933,14 @@ Perl_reentrant_retry(const char *f, ...)
case OP_GSBYNAME:
p0 = va_arg(ap, void *);
p1 = va_arg(ap, void *);
- retptr = getservbyname((char *)p0, (char *)p1); break;
+ retptr = getservbyname(p0, p1); break;
case OP_GSBYPORT:
anint = va_arg(ap, int);
p0 = va_arg(ap, void *);
- retptr = getservbyport(anint, (char *)p0); break;
+ retptr = getservbyport(anint, p0); break;
case OP_GSERVENT:
retptr = getservent(); break;
default:
- SETERRNO(ERANGE, LIB_INVARG);
break;
}
}
@@ -1086,20 +951,14 @@ Perl_reentrant_retry(const char *f, ...)
/* Not known how to retry, so just fail. */
break;
}
-#else
- PERL_UNUSED_ARG(f);
-#endif
- }
+
va_end(ap);
+#endif
return retptr;
}
-/* ex: set ro: */
EOF
-safer_close($c);
-rename_if_different('reentr.c-new', 'reentr.c');
-
__DATA__
asctime S |time |const struct tm|B_SB|B_SBI|I_SB|I_SBI
crypt CC |crypt |struct crypt_data|B_CCS|B_CCD|D=CRYPTD*
@@ -1115,11 +974,11 @@ endservent |netdb | |I_D|V_D|D=struct servent_data*
getgrent |grp |struct group |I_SBWR|I_SBIR|S_SBW|S_SBI|I_SBI|I_SBIH
getgrgid T |grp |struct group |I_TSBWR|I_TSBIR|I_TSBI|S_TSBI|T=gid_t
getgrnam C |grp |struct group |I_CSBWR|I_CSBIR|S_CBI|I_CSBI|S_CSBI
-gethostbyaddr CWI |netdb |struct hostent |I_CWISBWRE|S_CWISBWIE|S_CWISBIE|S_TWISBIE|S_CIISBIE|S_CSBIE|S_TSBIE|I_CWISD|I_CIISD|I_CII|I_TsISBWRE|D=struct hostent_data*|T=const void*|s=socklen_t
+gethostbyaddr CWI |netdb |struct hostent |I_CWISBWRE|S_CWISBWIE|S_CWISBIE|S_TWISBIE|S_CIISBIE|S_CSBIE|S_TSBIE|I_CWISD|I_CIISD|I_CII|D=struct hostent_data*|T=const void*
gethostbyname C |netdb |struct hostent |I_CSBWRE|S_CSBIE|I_CSD|D=struct hostent_data*
gethostent |netdb |struct hostent |I_SBWRE|I_SBIE|S_SBIE|S_SBI|I_SBI|I_SD|D=struct hostent_data*
-getlogin |unistd |char |I_BW|I_BI|B_BW|B_BI
-getnetbyaddr LI |netdb |struct netent |I_UISBWRE|I_LISBI|S_TISBI|S_LISBI|I_TISD|I_LISD|I_IISD|I_uISBWRE|D=struct netent_data*|T=in_addr_t|U=unsigned long|u=uint32_t
+getlogin |unistd | |I_BW|I_BI|B_BW|B_BI
+getnetbyaddr LI |netdb |struct netent |I_UISBWRE|I_LISBI|S_TISBI|S_LISBI|I_TISD|I_LISD|I_IISD|D=struct netent_data*|T=in_addr_t|U=unsigned long
getnetbyname C |netdb |struct netent |I_CSBWRE|I_CSBI|S_CSBI|I_CSD|D=struct netent_data*
getnetent |netdb |struct netent |I_SBWRE|I_SBIE|S_SBIE|S_SBI|I_SBI|I_SD|D=struct netent_data*
getprotobyname C|netdb |struct protoent|I_CSBWR|S_CSBI|I_CSD|D=struct protoent_data*
@@ -1132,7 +991,9 @@ getservbyname CC|netdb |struct servent |I_CCSBWR|S_CCSBI|I_CCSD|D=struct servent
getservbyport IC|netdb |struct servent |I_ICSBWR|S_ICSBI|I_ICSD|D=struct servent_data*
getservent |netdb |struct servent |I_SBWR|I_SBI|S_SBI|I_SD|D=struct servent_data*
getspnam C |shadow |struct spwd |I_CSBWR|S_CSBI
-random |stdlib |struct random_data|I_iS|I_lS|I_St|i=int*|l=long*|t=int32_t*
+gmtime T |time |struct tm |S_TS|I_TS|T=const time_t*
+localtime T |time |struct tm |S_TS|I_TS|T=const time_t*
+random |stdlib |struct random_data|I_TS|T=int*
readdir T |dirent |struct dirent |I_TSR|I_TS|T=DIR*
readdir64 T |dirent |struct dirent64|I_TSR|I_TS|T=DIR*
setgrent |grp | |I_H|V_H
diff --git a/gnu/usr.bin/perl/t/uni/fold.t b/gnu/usr.bin/perl/t/uni/fold.t
index f6f467cc9cf..789ba670293 100644
--- a/gnu/usr.bin/perl/t/uni/fold.t
+++ b/gnu/usr.bin/perl/t/uni/fold.t
@@ -15,9 +15,7 @@ if (open(CF, $CF)) {
my @CF;
while (<CF>) {
- # Skip S since we are going for 'F'ull case folding. I is obsolete starting
- # with Unicode 3.2, but leaving it in does no harm, and allows backward
- # compatibility
+ # Skip S since we are going for 'F'ull case folding
if (/^([0-9A-F]+); ([CFI]); ((?:[0-9A-F]+)(?: [0-9A-F]+)*); \# (.+)/) {
next if EBCDIC && hex $1 < 0x100;
push @CF, [$1, $2, $3, $4];
diff --git a/gnu/usr.bin/perl/uconfig.h b/gnu/usr.bin/perl/uconfig.h
index 511a00b8cb1..c8b7efe808a 100644
--- a/gnu/usr.bin/perl/uconfig.h
+++ b/gnu/usr.bin/perl/uconfig.h
@@ -7,14 +7,14 @@
* that running config_h.SH again will wipe out any changes you've made.
* For a more permanent change edit uconfig.sh and rerun config_h.SH.
*
- * $Id: Config_h.U 1 2006-08-24 12:32:52Z rmanfredi $
+ * $Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $
*/
/*
- * Package name : perl5
- * Source directory : .
- * Configuration time: Thu Jan 1 00:00:00 GMT 1970
- * Configured by : root@localhost
+ * Package name :
+ * Source directory :
+ * Configuration time:
+ * Configured by :
* Target system : unknown
*/
@@ -32,6 +32,15 @@
*/
/*#define HAS_ALARM / **/
+/* HASATTRIBUTE:
+ * This symbol indicates the C compiler can check for function attributes,
+ * such as printf formats. This is normally only supported by GNU cc.
+ */
+/*#define HASATTRIBUTE / **/
+#ifndef HASATTRIBUTE
+#define __attribute__(_arg_)
+#endif
+
/* HAS_BCMP:
* This symbol is defined if the bcmp() routine is available to
* compare blocks of memory.
@@ -68,17 +77,16 @@
*/
/*#define HAS_CHSIZE / **/
-/* HAS_CRYPT:
- * This symbol, if defined, indicates that the crypt routine is available
- * to encrypt passwords and the like.
- */
-/*#define HAS_CRYPT / **/
-
-/* HAS_CTERMID:
- * This symbol, if defined, indicates that the ctermid routine is
- * available to generate filename for terminal.
+/* HASCONST:
+ * This symbol, if defined, indicates that this C compiler knows about
+ * the const type. There is no need to actually test for that symbol
+ * within your programs. The mere use of the "const" keyword will
+ * trigger the necessary tests.
*/
-/*#define HAS_CTERMID / **/
+/*#define HASCONST / **/
+#ifndef HASCONST
+#define const
+#endif
/* HAS_CUSERID:
* This symbol, if defined, indicates that the cuserid routine is
@@ -107,26 +115,6 @@
*/
/*#define HAS_DLERROR / **/
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- * This symbol, if defined, indicates that the bug that prevents
- * setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- * This symbol, if defined, indicates that the C program should
- * check the script that it is executing for setuid/setgid bits, and
- * attempt to emulate setuid/setgid on systems that have disabled
- * setuid #! scripts because the kernel can't do it securely.
- * It is up to the package designer to make sure that this emulation
- * is done securely. Among other things, it should do an fstat on
- * the script it just opened to make sure it really is a setuid/setgid
- * script, it should make sure the arguments passed correspond exactly
- * to the argument on the #! line, and it should not trust any
- * subprocesses to which it must pass the filename rather than the
- * file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
-/*#define DOSUID / **/
-
/* HAS_DUP2:
* This symbol, if defined, indicates that the dup2 routine is
* available to duplicate file descriptors.
@@ -284,13 +272,13 @@
* This symbol, if defined, indicates that the memcmp routine is available
* to compare blocks of memory.
*/
-#define HAS_MEMCMP /**/
+/*#define HAS_MEMCMP / **/
/* HAS_MEMCPY:
* This symbol, if defined, indicates that the memcpy routine is available
* to copy blocks of memory.
*/
-#define HAS_MEMCPY /**/
+/*#define HAS_MEMCPY / **/
/* HAS_MEMMOVE:
* This symbol, if defined, indicates that the memmove routine is available
@@ -372,8 +360,8 @@
/* HAS_POLL:
* This symbol, if defined, indicates that the poll routine is
- * available to poll active file descriptors. Please check I_POLL and
- * I_SYS_POLL to know which header should be included as well.
+ * available to poll active file descriptors. You may safely
+ * include <poll.h> when this symbol is defined.
*/
/*#define HAS_POLL / **/
@@ -382,7 +370,7 @@
* available to read directory entries. You may have to include
* <dirent.h>. See I_DIRENT.
*/
-#define HAS_READDIR /**/
+/*#define HAS_READDIR / **/
/* HAS_SEEKDIR:
* This symbol, if defined, indicates that the seekdir routine is
@@ -413,7 +401,7 @@
* to rename files. Otherwise you should do the unlink(), link(), unlink()
* trick.
*/
-#define HAS_RENAME /**/
+/*#define HAS_RENAME / **/
/* HAS_RMDIR:
* This symbol, if defined, indicates that the rmdir routine is
@@ -441,13 +429,6 @@
*/
/*#define HAS_SETEUID / **/
-/* HAS_SETGROUPS:
- * This symbol, if defined, indicates that the setgroups() routine is
- * available to set the list of process groups. If unavailable, multiple
- * groups are probably not supported.
- */
-/*#define HAS_SETGROUPS / **/
-
/* HAS_SETLINEBUF:
* This symbol, if defined, indicates that the setlinebuf routine is
* available to change stderr or stdout from block-buffered or unbuffered
@@ -541,6 +522,13 @@
*/
/*#define HAS_STRCOLL / **/
+/* USE_STRUCT_COPY:
+ * This symbol, if defined, indicates that this C compiler knows how
+ * to copy structures. If undefined, you'll need to use a block copy
+ * routine of some sort instead.
+ */
+/*#define USE_STRUCT_COPY / **/
+
/* HAS_STRTOD:
* This symbol, if defined, indicates that the strtod routine is
* available to provide better numeric string conversion than atof().
@@ -619,6 +607,15 @@
*/
/*#define HAS_USLEEP / **/
+/* HASVOLATILE:
+ * This symbol, if defined, indicates that this C compiler knows about
+ * the volatile declaration.
+ */
+/*#define HASVOLATILE / **/
+#ifndef HASVOLATILE
+#define volatile
+#endif
+
/* HAS_WAIT4:
* This symbol, if defined, indicates that wait4() exists.
*/
@@ -642,19 +639,6 @@
*/
/*#define HAS_WCTOMB / **/
-/* Groups_t:
- * This symbol holds the type used for the second argument to
- * getgroups() and setgroups(). Usually, this is the same as
- * gidtype (gid_t) , but sometimes it isn't.
- * It can be int, ushort, gid_t, etc...
- * It may be necessary to include <sys/types.h> to get any
- * typedef'ed information. This is only required if you have
- * getgroups() or setgroups()..
- */
-#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
-#define Groups_t int /* Type for 2nd arg to [sg]etgroups() */
-#endif
-
/* I_ARPA_INET:
* This symbol, if defined, indicates to the C program that it should
* include <arpa/inet.h> to get inet_addr and friends declarations.
@@ -672,6 +656,26 @@
/*#define I_DBM / **/
/*#define I_RPCSVC_DBM / **/
+/* I_DIRENT:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <dirent.h>. Using this symbol also triggers the definition
+ * of the Direntry_t define which ends up being 'struct dirent' or
+ * 'struct direct' depending on the availability of <dirent.h>.
+ */
+/* DIRNAMLEN:
+ * This symbol, if defined, indicates to the C program that the length
+ * of directory entry names is provided by a d_namlen field. Otherwise
+ * you need to do strlen() on the d_name field.
+ */
+/* Direntry_t:
+ * This symbol is set to 'struct direct' or 'struct dirent' depending on
+ * whether dirent is available or not. You should use this pseudo type to
+ * portably declare your directory entries.
+ */
+/*#define I_DIRENT / **/
+/*#define DIRNAMLEN / **/
+#define Direntry_t struct dirent
+
/* I_DLFCN:
* This symbol, if defined, indicates that <dlfcn.h> exists and should
* be included.
@@ -690,12 +694,6 @@
*/
/*#define I_FLOAT / **/
-/* I_GDBM:
- * This symbol, if defined, indicates that <gdbm.h> exists and should
- * be included.
- */
-/*#define I_GDBM / **/
-
/* I_LIMITS:
* This symbol, if defined, indicates to the C program that it should
* include <limits.h> to get definition of symbols like WORD_BIT or
@@ -721,6 +719,12 @@
*/
/*#define I_MEMORY / **/
+/* I_NET_ERRNO:
+ * This symbol, if defined, indicates that <net/errno.h> exists and
+ * should be included.
+ */
+/*#define I_NET_ERRNO / **/
+
/* I_NETINET_IN:
* This symbol, if defined, indicates to the C program that it should
* include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
@@ -743,7 +747,7 @@
* This symbol, if defined, indicates that <stdlib.h> exists and should
* be included.
*/
-#define I_STDLIB /**/
+/*#define I_STDLIB / **/
/* I_STRING:
* This symbol, if defined, indicates to the C program that it should
@@ -786,13 +790,6 @@
*/
/*#define I_SYS_PARAM / **/
-/* I_SYS_POLL:
- * This symbol, if defined, indicates that the program may include
- * <sys/poll.h>. When I_POLL is also defined, it's probably safest
- * to only include <poll.h>.
- */
-/*#define I_SYS_POLL / **/
-
/* I_SYS_RESOURCE:
* This symbol, if defined, indicates to the C program that it should
* include <sys/resource.h>.
@@ -922,6 +919,30 @@
# define QUAD_IS_INT64_T 4
#endif
+/* HAS_ACCESSX:
+ * This symbol, if defined, indicates that the accessx routine is
+ * available to do extended access checks.
+ */
+/*#define HAS_ACCESSX / **/
+
+/* HAS_EACCESS:
+ * This symbol, if defined, indicates that the eaccess routine is
+ * available to do extended access checks.
+ */
+/*#define HAS_EACCESS / **/
+
+/* I_SYS_ACCESS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/access.h>.
+ */
+/*#define I_SYS_ACCESS / **/
+
+/* I_SYS_SECURITY:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/security.h>.
+ */
+/*#define I_SYS_SECURITY / **/
+
/* OSNAME:
* This symbol contains the name of the operating system, as determined
* by Configure. You shouldn't rely on it too much; the specific
@@ -933,12 +954,23 @@
* feature tests from Configure are generally more reliable.
*/
#define OSNAME "unknown" /**/
-#define OSVERS "unknown" /**/
+#define OSVERS "" /**/
+
+/* MEM_ALIGNBYTES:
+ * This symbol contains the number of bytes required to align a
+ * double, or a long double when applicable. Usual values are 2,
+ * 4 and 8. The default is eight, for safety.
+ */
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+# define MEM_ALIGNBYTES 8
+#else
+#define MEM_ALIGNBYTES 4
+#endif
/* ARCHLIB:
* This variable, if defined, holds the name of the directory in
* which the user wants to put architecture-dependent public
- * library files for perl5. It is most often a local directory
+ * library files for . It is most often a local directory
* such as /usr/local/lib. Programs using this variable must be
* prepared to deal with filename expansion. If ARCHLIB is the
* same as PRIVLIB, it is not defined, since presumably the
@@ -948,8 +980,8 @@
* This symbol contains the ~name expanded version of ARCHLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-/*#define ARCHLIB "/usr/local/lib/perl5/5.11/unknown" / **/
-/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.11/unknown" / **/
+/*#define ARCHLIB "/usr/local/lib/perl5/5.7/unknown" / **/
+/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.7/unknown" / **/
/* ARCHNAME:
* This symbol holds a string representing the architecture name.
@@ -959,6 +991,18 @@
*/
#define ARCHNAME "unknown" /**/
+/* HAS_ATOLF:
+ * This symbol, if defined, indicates that the atolf routine is
+ * available to convert strings into long doubles.
+ */
+/*#define HAS_ATOLF / **/
+
+/* HAS_ATOLL:
+ * This symbol, if defined, indicates that the atoll routine is
+ * available to convert strings into long longs.
+ */
+/*#define HAS_ATOLL / **/
+
/* BIN:
* This symbol holds the path of the bin directory where the package will
* be installed. Program must be prepared to deal with ~name substitution.
@@ -967,16 +1011,54 @@
* This symbol is the filename expanded version of the BIN symbol, for
* programs that do not want to deal with that at run-time.
*/
-/* PERL_RELOCATABLE_INC:
- * This symbol, if defined, indicates that we'd like to relocate entries
- * in @INC at run time based on the location of the perl binary.
- */
#define BIN "/usr/local/bin" /**/
-#define BIN_EXP "/usr/local/bin" /**/
-#define PERL_RELOCATABLE_INC "undef" /**/
+#define BIN_EXP "" /**/
+
+/* BYTEORDER:
+ * This symbol holds the hexadecimal constant defined in byteorder,
+ * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
+ * If the compiler supports cross-compiling or multiple-architecture
+ * binaries (eg. on NeXT systems), use compiler-defined macros to
+ * determine the byte order.
+ * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
+ * Binaries (MAB) on either big endian or little endian machines.
+ * The endian-ness is available at compile-time. This only matters
+ * for perl, where the config.h can be generated and installed on
+ * one system, and used by a different architecture to build an
+ * extension. Older versions of NeXT that might not have
+ * defined either *_ENDIAN__ were all on Motorola 680x0 series,
+ * so the default case (for NeXT) is big endian to catch them.
+ * This might matter for NeXT 3.0.
+ */
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+# ifdef __LITTLE_ENDIAN__
+# if LONGSIZE == 4
+# define BYTEORDER 0x1234
+# else
+# if LONGSIZE == 8
+# define BYTEORDER 0x12345678
+# endif
+# endif
+# else
+# ifdef __BIG_ENDIAN__
+# if LONGSIZE == 4
+# define BYTEORDER 0x4321
+# else
+# if LONGSIZE == 8
+# define BYTEORDER 0x87654321
+# endif
+# endif
+# endif
+# endif
+# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
+# define BYTEORDER 0x4321
+# endif
+#else
+#define BYTEORDER 0x1234 /* large digits for MSB */
+#endif /* NeXT */
/* CAT2:
- * This macro concatenates 2 tokens together.
+ * This macro catenates 2 tokens together.
*/
/* STRINGIFY:
* This macro surrounds its token with double quotes.
@@ -984,16 +1066,19 @@
#if 42 == 1
#define CAT2(a,b) a/**/b
#define STRINGIFY(a) "a"
+ /* If you can get stringification with catify, tell me how! */
#endif
#if 42 == 42
-#define PeRl_CaTiFy(a, b) a ## b
+#define PeRl_CaTiFy(a, b) a ## b
#define PeRl_StGiFy(a) #a
+/* the additional level of indirection enables these macros to be
+ * used as arguments to other macros. See K&R 2nd ed., page 231. */
#define CAT2(a,b) PeRl_CaTiFy(a,b)
#define StGiFy(a) PeRl_StGiFy(a)
#define STRINGIFY(a) PeRl_StGiFy(a)
#endif
#if 42 != 1 && 42 != 42
-#include "Bletch: How does this C preprocessor concatenate tokens?"
+# include "Bletch: How does this C preprocessor catenate tokens?"
#endif
/* CPPSTDIN:
@@ -1021,10 +1106,16 @@
* This symbol is intended to be used along with CPPRUN in the same manner
* symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
*/
-#define CPPSTDIN "cc -E"
-#define CPPMINUS "-"
-#define CPPRUN "cc -E"
-#define CPPLAST "-"
+#define CPPSTDIN ""
+#define CPPMINUS ""
+#define CPPRUN ""
+#define CPPLAST ""
+
+/* HAS__FWALK:
+ * This symbol, if defined, indicates that the _fwalk system call is
+ * available to apply a function to all the file handles.
+ */
+/*#define HAS__FWALK / **/
/* HAS_ACCESS:
* This manifest constant lets the C program know that the access()
@@ -1033,12 +1124,6 @@
*/
/*#define HAS_ACCESS / **/
-/* HAS_ACCESSX:
- * This symbol, if defined, indicates that the accessx routine is
- * available to do extended access checks.
- */
-/*#define HAS_ACCESSX / **/
-
/* HAS_ASCTIME_R:
* This symbol, if defined, indicates that the asctime_r routine
* is available to asctime re-entrantly.
@@ -1052,53 +1137,56 @@
/*#define HAS_ASCTIME_R / **/
#define ASCTIME_R_PROTO 0 /**/
-/* HASATTRIBUTE_FORMAT:
- * Can we handle GCC attribute for checking printf-style formats
- */
-/* PRINTF_FORMAT_NULL_OK:
- * Allows __printf__ format to be null when checking printf-style
- */
-/* HASATTRIBUTE_MALLOC:
- * Can we handle GCC attribute for malloc-style functions.
- */
-/* HASATTRIBUTE_NONNULL:
- * Can we handle GCC attribute for nonnull function parms.
- */
-/* HASATTRIBUTE_NORETURN:
- * Can we handle GCC attribute for functions that do not return
+/* CASTI32:
+ * This symbol is defined if the C compiler can cast negative
+ * or large floating point numbers to 32-bit ints.
*/
-/* HASATTRIBUTE_PURE:
- * Can we handle GCC attribute for pure functions
+/*#define CASTI32 / **/
+
+/* CASTNEGFLOAT:
+ * This symbol is defined if the C compiler can cast negative
+ * numbers to unsigned longs, ints and shorts.
*/
-/* HASATTRIBUTE_UNUSED:
- * Can we handle GCC attribute for unused variables and arguments
+/* CASTFLAGS:
+ * This symbol contains flags that say what difficulties the compiler
+ * has casting odd floating values to unsigned long:
+ * 0 = ok
+ * 1 = couldn't cast < 0
+ * 2 = couldn't cast >= 0x80000000
+ * 4 = couldn't cast in argument expression list
*/
-/* HASATTRIBUTE_DEPRECATED:
- * Can we handle GCC attribute for marking deprecated APIs
+/*#define CASTNEGFLOAT / **/
+#define CASTFLAGS 0 /**/
+
+/* HAS_CLASS:
+ * This symbol, if defined, indicates that the class routine is
+ * available to classify doubles. Available for example in AIX.
+ * The returned values are defined in <float.h> and are:
+ *
+ * FP_PLUS_NORM Positive normalized, nonzero
+ * FP_MINUS_NORM Negative normalized, nonzero
+ * FP_PLUS_DENORM Positive denormalized, nonzero
+ * FP_MINUS_DENORM Negative denormalized, nonzero
+ * FP_PLUS_ZERO +0.0
+ * FP_MINUS_ZERO -0.0
+ * FP_PLUS_INF +INF
+ * FP_MINUS_INF -INF
+ * FP_NANS Signaling Not a Number (NaNS)
+ * FP_NANQ Quiet Not a Number (NaNQ)
*/
-/* HASATTRIBUTE_WARN_UNUSED_RESULT:
- * Can we handle GCC attribute for warning on unused results
+/*#define HAS_CLASS / **/
+
+/* VOID_CLOSEDIR:
+ * This symbol, if defined, indicates that the closedir() routine
+ * does not return a value.
*/
-/*#define HASATTRIBUTE_DEPRECATED / **/
-/*#define HASATTRIBUTE_FORMAT / **/
-/*#define PRINTF_FORMAT_NULL_OK / **/
-/*#define HASATTRIBUTE_NORETURN / **/
-/*#define HASATTRIBUTE_MALLOC / **/
-/*#define HASATTRIBUTE_NONNULL / **/
-/*#define HASATTRIBUTE_PURE / **/
-/*#define HASATTRIBUTE_UNUSED / **/
-/*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/
+/*#define VOID_CLOSEDIR / **/
-/* HASCONST:
- * This symbol, if defined, indicates that this C compiler knows about
- * the const type. There is no need to actually test for that symbol
- * within your programs. The mere use of the "const" keyword will
- * trigger the necessary tests.
+/* HAS_STRUCT_CMSGHDR:
+ * This symbol, if defined, indicates that the struct cmsghdr
+ * is supported.
*/
-/*#define HASCONST / **/
-#ifndef HASCONST
-#define const
-#endif
+/*#define HAS_STRUCT_CMSGHDR / **/
/* HAS_CRYPT_R:
* This symbol, if defined, indicates that the crypt_r routine
@@ -1124,19 +1212,6 @@
#define CSH "" /**/
#endif
-/* HAS_CTERMID_R:
- * This symbol, if defined, indicates that the ctermid_r routine
- * is available to ctermid re-entrantly.
- */
-/* CTERMID_R_PROTO:
- * This symbol encodes the prototype of ctermid_r.
- * It is zero if d_ctermid_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
- * is defined.
- */
-/*#define HAS_CTERMID_R / **/
-#define CTERMID_R_PROTO 0 /**/
-
/* HAS_CTIME_R:
* This symbol, if defined, indicates that the ctime_r routine
* is available to ctime re-entrantly.
@@ -1150,6 +1225,14 @@
/*#define HAS_CTIME_R / **/
#define CTIME_R_PROTO 0 /**/
+/* DLSYM_NEEDS_UNDERSCORE:
+ * This symbol, if defined, indicates that we need to prepend an
+ * underscore to the symbol name before calling dlsym(). This only
+ * makes sense if you *have* dlsym, which we will presume is the
+ * case if you're using dl_dlopen.xs.
+ */
+/*#define DLSYM_NEEDS_UNDERSCORE / **/
+
/* HAS_DRAND48_R:
* This symbol, if defined, indicates that the drand48_r routine
* is available to drand48 re-entrantly.
@@ -1171,12 +1254,6 @@
*/
/*#define HAS_DRAND48_PROTO / **/
-/* HAS_EACCESS:
- * This symbol, if defined, indicates that the eaccess routine is
- * available to do extended access checks.
- */
-/*#define HAS_EACCESS / **/
-
/* HAS_ENDGRENT:
* This symbol, if defined, indicates that the getgrent routine is
* available for finalizing sequential access of the group database.
@@ -1202,57 +1279,18 @@
*/
/*#define HAS_ENDHOSTENT / **/
-/* HAS_ENDHOSTENT_R:
- * This symbol, if defined, indicates that the endhostent_r routine
- * is available to endhostent re-entrantly.
- */
-/* ENDHOSTENT_R_PROTO:
- * This symbol encodes the prototype of endhostent_r.
- * It is zero if d_endhostent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
- * is defined.
- */
-/*#define HAS_ENDHOSTENT_R / **/
-#define ENDHOSTENT_R_PROTO 0 /**/
-
/* HAS_ENDNETENT:
* This symbol, if defined, indicates that the endnetent() routine is
* available to close whatever was being used for network queries.
*/
/*#define HAS_ENDNETENT / **/
-/* HAS_ENDNETENT_R:
- * This symbol, if defined, indicates that the endnetent_r routine
- * is available to endnetent re-entrantly.
- */
-/* ENDNETENT_R_PROTO:
- * This symbol encodes the prototype of endnetent_r.
- * It is zero if d_endnetent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
- * is defined.
- */
-/*#define HAS_ENDNETENT_R / **/
-#define ENDNETENT_R_PROTO 0 /**/
-
/* HAS_ENDPROTOENT:
* This symbol, if defined, indicates that the endprotoent() routine is
* available to close whatever was being used for protocol queries.
*/
/*#define HAS_ENDPROTOENT / **/
-/* HAS_ENDPROTOENT_R:
- * This symbol, if defined, indicates that the endprotoent_r routine
- * is available to endprotoent re-entrantly.
- */
-/* ENDPROTOENT_R_PROTO:
- * This symbol encodes the prototype of endprotoent_r.
- * It is zero if d_endprotoent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
- * is defined.
- */
-/*#define HAS_ENDPROTOENT_R / **/
-#define ENDPROTOENT_R_PROTO 0 /**/
-
/* HAS_ENDPWENT:
* This symbol, if defined, indicates that the getgrent routine is
* available for finalizing sequential access of the passwd database.
@@ -1278,18 +1316,37 @@
*/
/*#define HAS_ENDSERVENT / **/
-/* HAS_ENDSERVENT_R:
- * This symbol, if defined, indicates that the endservent_r routine
- * is available to endservent re-entrantly.
+/* HAS_FCHDIR:
+ * This symbol, if defined, indicates that the fchdir routine is
+ * available to change directory using a file descriptor.
*/
-/* ENDSERVENT_R_PROTO:
- * This symbol encodes the prototype of endservent_r.
- * It is zero if d_endservent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
- * is defined.
+/*#define HAS_FCHDIR / **/
+
+/* FCNTL_CAN_LOCK:
+ * This symbol, if defined, indicates that fcntl() can be used
+ * for file locking. Normally on Unix systems this is defined.
+ * It may be undefined on VMS.
*/
-/*#define HAS_ENDSERVENT_R / **/
-#define ENDSERVENT_R_PROTO 0 /**/
+/*#define FCNTL_CAN_LOCK / **/
+
+/* HAS_FD_SET:
+ * This symbol, when defined, indicates presence of the fd_set typedef
+ * in <sys/types.h>
+ */
+/*#define HAS_FD_SET / **/
+
+/* HAS_FINITE:
+ * This symbol, if defined, indicates that the finite routine is
+ * available to check whether a double is finite (non-infinity non-NaN).
+ */
+/*#define HAS_FINITE / **/
+
+/* HAS_FINITEL:
+ * This symbol, if defined, indicates that the finitel routine is
+ * available to check whether a long double is finite
+ * (non-infinity non-NaN).
+ */
+/*#define HAS_FINITEL / **/
/* FLEXFILENAMES:
* This symbol, if defined, indicates that the system supports filenames
@@ -1297,6 +1354,134 @@
*/
/*#define FLEXFILENAMES / **/
+/* HAS_FP_CLASS:
+ * This symbol, if defined, indicates that the fp_class routine is
+ * available to classify doubles. Available for example in Digital UNIX.
+ * The returned values are defined in <math.h> and are:
+ *
+ * FP_SNAN Signaling NaN (Not-a-Number)
+ * FP_QNAN Quiet NaN (Not-a-Number)
+ * FP_POS_INF +infinity
+ * FP_NEG_INF -infinity
+ * FP_POS_NORM Positive normalized
+ * FP_NEG_NORM Negative normalized
+ * FP_POS_DENORM Positive denormalized
+ * FP_NEG_DENORM Negative denormalized
+ * FP_POS_ZERO +0.0 (positive zero)
+ * FP_NEG_ZERO -0.0 (negative zero)
+ */
+/*#define HAS_FP_CLASS / **/
+
+/* HAS_FPCLASS:
+ * This symbol, if defined, indicates that the fpclass routine is
+ * available to classify doubles. Available for example in Solaris/SVR4.
+ * The returned values are defined in <ieeefp.h> and are:
+ *
+ * FP_SNAN signaling NaN
+ * FP_QNAN quiet NaN
+ * FP_NINF negative infinity
+ * FP_PINF positive infinity
+ * FP_NDENORM negative denormalized non-zero
+ * FP_PDENORM positive denormalized non-zero
+ * FP_NZERO negative zero
+ * FP_PZERO positive zero
+ * FP_NNORM negative normalized non-zero
+ * FP_PNORM positive normalized non-zero
+ */
+/*#define HAS_FPCLASS / **/
+
+/* HAS_FPCLASSIFY:
+ * This symbol, if defined, indicates that the fpclassify routine is
+ * available to classify doubles. Available for example in HP-UX.
+ * The returned values are defined in <math.h> and are
+ *
+ * FP_NORMAL Normalized
+ * FP_ZERO Zero
+ * FP_INFINITE Infinity
+ * FP_SUBNORMAL Denormalized
+ * FP_NAN NaN
+ *
+ */
+/*#define HAS_FPCLASSIFY / **/
+
+/* HAS_FPOS64_T:
+ * This symbol will be defined if the C compiler supports fpos64_t.
+ */
+/*#define HAS_FPOS64_T / **/
+
+/* HAS_FREXPL:
+ * This symbol, if defined, indicates that the frexpl routine is
+ * available to break a long double floating-point number into
+ * a normalized fraction and an integral power of 2.
+ */
+/*#define HAS_FREXPL / **/
+
+/* HAS_STRUCT_FS_DATA:
+ * This symbol, if defined, indicates that the struct fs_data
+ * to do statfs() is supported.
+ */
+/*#define HAS_STRUCT_FS_DATA / **/
+
+/* HAS_FSEEKO:
+ * This symbol, if defined, indicates that the fseeko routine is
+ * available to fseek beyond 32 bits (useful for ILP32 hosts).
+ */
+/*#define HAS_FSEEKO / **/
+
+/* HAS_FSTATFS:
+ * This symbol, if defined, indicates that the fstatfs routine is
+ * available to stat filesystems by file descriptors.
+ */
+/*#define HAS_FSTATFS / **/
+
+/* HAS_FSYNC:
+ * This symbol, if defined, indicates that the fsync routine is
+ * available to write a file's modified data and attributes to
+ * permanent storage.
+ */
+/*#define HAS_FSYNC / **/
+
+/* HAS_FTELLO:
+ * This symbol, if defined, indicates that the ftello routine is
+ * available to ftell beyond 32 bits (useful for ILP32 hosts).
+ */
+/*#define HAS_FTELLO / **/
+
+/* Gconvert:
+ * This preprocessor macro is defined to convert a floating point
+ * number to a string without a trailing decimal point. This
+ * emulates the behavior of sprintf("%g"), but is sometimes much more
+ * efficient. If gconvert() is not available, but gcvt() drops the
+ * trailing decimal point, then gcvt() is used. If all else fails,
+ * a macro using sprintf("%g") is used. Arguments for the Gconvert
+ * macro are: value, number of digits, whether trailing zeros should
+ * be retained, and the output buffer.
+ * The usual values are:
+ * d_Gconvert='gconvert((x),(n),(t),(b))'
+ * d_Gconvert='gcvt((x),(n),(b))'
+ * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+ * The last two assume trailing zeros should not be kept.
+ */
+#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
+
+/* HAS_GETCWD:
+ * This symbol, if defined, indicates that the getcwd routine is
+ * available to get the current working directory.
+ */
+/*#define HAS_GETCWD / **/
+
+/* HAS_GETESPWNAM:
+ * This symbol, if defined, indicates that the getespwnam system call is
+ * available to retrieve enchanced (shadow) password entries by name.
+ */
+/*#define HAS_GETESPWNAM / **/
+
+/* HAS_GETFSSTAT:
+ * This symbol, if defined, indicates that the getfsstat routine is
+ * available to stat filesystems in bulk.
+ */
+/*#define HAS_GETFSSTAT / **/
+
/* HAS_GETGRENT:
* This symbol, if defined, indicates that the getgrent routine is
* available for sequential access of the group database.
@@ -1386,48 +1571,9 @@
/*#define HAS_UNAME / **/
/*#define HAS_PHOSTNAME / **/
#ifdef HAS_PHOSTNAME
-#define PHOSTNAME "/bin/hostname" /* How to get the host name */
+#define PHOSTNAME "" /* How to get the host name */
#endif
-/* HAS_GETHOSTBYADDR_R:
- * This symbol, if defined, indicates that the gethostbyaddr_r routine
- * is available to gethostbyaddr re-entrantly.
- */
-/* GETHOSTBYADDR_R_PROTO:
- * This symbol encodes the prototype of gethostbyaddr_r.
- * It is zero if d_gethostbyaddr_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
- * is defined.
- */
-/*#define HAS_GETHOSTBYADDR_R / **/
-#define GETHOSTBYADDR_R_PROTO 0 /**/
-
-/* HAS_GETHOSTBYNAME_R:
- * This symbol, if defined, indicates that the gethostbyname_r routine
- * is available to gethostbyname re-entrantly.
- */
-/* GETHOSTBYNAME_R_PROTO:
- * This symbol encodes the prototype of gethostbyname_r.
- * It is zero if d_gethostbyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
- * is defined.
- */
-/*#define HAS_GETHOSTBYNAME_R / **/
-#define GETHOSTBYNAME_R_PROTO 0 /**/
-
-/* HAS_GETHOSTENT_R:
- * This symbol, if defined, indicates that the gethostent_r routine
- * is available to gethostent re-entrantly.
- */
-/* GETHOSTENT_R_PROTO:
- * This symbol encodes the prototype of gethostent_r.
- * It is zero if d_gethostent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
- * is defined.
- */
-/*#define HAS_GETHOSTENT_R / **/
-#define GETHOSTENT_R_PROTO 0 /**/
-
/* HAS_GETHOST_PROTOS:
* This symbol, if defined, indicates that <netdb.h> includes
* prototypes for gethostent(), gethostbyname(), and
@@ -1436,6 +1582,12 @@
*/
/*#define HAS_GETHOST_PROTOS / **/
+/* HAS_GETITIMER:
+ * This symbol, if defined, indicates that the getitimer routine is
+ * available to return interval timers.
+ */
+/*#define HAS_GETITIMER / **/
+
/* HAS_GETLOGIN_R:
* This symbol, if defined, indicates that the getlogin_r routine
* is available to getlogin re-entrantly.
@@ -1449,6 +1601,18 @@
/*#define HAS_GETLOGIN_R / **/
#define GETLOGIN_R_PROTO 0 /**/
+/* HAS_GETMNT:
+ * This symbol, if defined, indicates that the getmnt routine is
+ * available to get filesystem mount info by filename.
+ */
+/*#define HAS_GETMNT / **/
+
+/* HAS_GETMNTENT:
+ * This symbol, if defined, indicates that the getmntent routine is
+ * available to iterate through mounted file systems to get their info.
+ */
+/*#define HAS_GETMNTENT / **/
+
/* HAS_GETNETBYADDR:
* This symbol, if defined, indicates that the getnetbyaddr() routine is
* available to look up networks by their IP addresses.
@@ -1467,45 +1631,6 @@
*/
/*#define HAS_GETNETENT / **/
-/* HAS_GETNETBYADDR_R:
- * This symbol, if defined, indicates that the getnetbyaddr_r routine
- * is available to getnetbyaddr re-entrantly.
- */
-/* GETNETBYADDR_R_PROTO:
- * This symbol encodes the prototype of getnetbyaddr_r.
- * It is zero if d_getnetbyaddr_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
- * is defined.
- */
-/*#define HAS_GETNETBYADDR_R / **/
-#define GETNETBYADDR_R_PROTO 0 /**/
-
-/* HAS_GETNETBYNAME_R:
- * This symbol, if defined, indicates that the getnetbyname_r routine
- * is available to getnetbyname re-entrantly.
- */
-/* GETNETBYNAME_R_PROTO:
- * This symbol encodes the prototype of getnetbyname_r.
- * It is zero if d_getnetbyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
- * is defined.
- */
-/*#define HAS_GETNETBYNAME_R / **/
-#define GETNETBYNAME_R_PROTO 0 /**/
-
-/* HAS_GETNETENT_R:
- * This symbol, if defined, indicates that the getnetent_r routine
- * is available to getnetent re-entrantly.
- */
-/* GETNETENT_R_PROTO:
- * This symbol encodes the prototype of getnetent_r.
- * It is zero if d_getnetent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
- * is defined.
- */
-/*#define HAS_GETNETENT_R / **/
-#define GETNETENT_R_PROTO 0 /**/
-
/* HAS_GETNET_PROTOS:
* This symbol, if defined, indicates that <netdb.h> includes
* prototypes for getnetent(), getnetbyname(), and
@@ -1514,6 +1639,13 @@
*/
/*#define HAS_GETNET_PROTOS / **/
+/* HAS_GETPAGESIZE:
+ * This symbol, if defined, indicates that the getpagesize system call
+ * is available to get system page size, which is the granularity of
+ * many memory management calls.
+ */
+/*#define HAS_GETPAGESIZE / **/
+
/* HAS_GETPROTOENT:
* This symbol, if defined, indicates that the getprotoent() routine is
* available to look up protocols in some data base or another.
@@ -1542,45 +1674,6 @@
/*#define HAS_GETPROTOBYNAME / **/
/*#define HAS_GETPROTOBYNUMBER / **/
-/* HAS_GETPROTOBYNAME_R:
- * This symbol, if defined, indicates that the getprotobyname_r routine
- * is available to getprotobyname re-entrantly.
- */
-/* GETPROTOBYNAME_R_PROTO:
- * This symbol encodes the prototype of getprotobyname_r.
- * It is zero if d_getprotobyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
- * is defined.
- */
-/*#define HAS_GETPROTOBYNAME_R / **/
-#define GETPROTOBYNAME_R_PROTO 0 /**/
-
-/* HAS_GETPROTOBYNUMBER_R:
- * This symbol, if defined, indicates that the getprotobynumber_r routine
- * is available to getprotobynumber re-entrantly.
- */
-/* GETPROTOBYNUMBER_R_PROTO:
- * This symbol encodes the prototype of getprotobynumber_r.
- * It is zero if d_getprotobynumber_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
- * is defined.
- */
-/*#define HAS_GETPROTOBYNUMBER_R / **/
-#define GETPROTOBYNUMBER_R_PROTO 0 /**/
-
-/* HAS_GETPROTOENT_R:
- * This symbol, if defined, indicates that the getprotoent_r routine
- * is available to getprotoent re-entrantly.
- */
-/* GETPROTOENT_R_PROTO:
- * This symbol encodes the prototype of getprotoent_r.
- * It is zero if d_getprotoent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
- * is defined.
- */
-/*#define HAS_GETPROTOENT_R / **/
-#define GETPROTOENT_R_PROTO 0 /**/
-
/* HAS_GETPROTO_PROTOS:
* This symbol, if defined, indicates that <netdb.h> includes
* prototypes for getprotoent(), getprotobyname(), and
@@ -1589,6 +1682,12 @@
*/
/*#define HAS_GETPROTO_PROTOS / **/
+/* HAS_GETPRPWNAM:
+ * This symbol, if defined, indicates that the getprpwnam system call is
+ * available to retrieve protected (shadow) password entries by name.
+ */
+/*#define HAS_GETPRPWNAM / **/
+
/* HAS_GETPWENT:
* This symbol, if defined, indicates that the getpwent routine is
* available for sequential access of the passwd database.
@@ -1641,45 +1740,6 @@
*/
/*#define HAS_GETSERVENT / **/
-/* HAS_GETSERVBYNAME_R:
- * This symbol, if defined, indicates that the getservbyname_r routine
- * is available to getservbyname re-entrantly.
- */
-/* GETSERVBYNAME_R_PROTO:
- * This symbol encodes the prototype of getservbyname_r.
- * It is zero if d_getservbyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
- * is defined.
- */
-/*#define HAS_GETSERVBYNAME_R / **/
-#define GETSERVBYNAME_R_PROTO 0 /**/
-
-/* HAS_GETSERVBYPORT_R:
- * This symbol, if defined, indicates that the getservbyport_r routine
- * is available to getservbyport re-entrantly.
- */
-/* GETSERVBYPORT_R_PROTO:
- * This symbol encodes the prototype of getservbyport_r.
- * It is zero if d_getservbyport_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
- * is defined.
- */
-/*#define HAS_GETSERVBYPORT_R / **/
-#define GETSERVBYPORT_R_PROTO 0 /**/
-
-/* HAS_GETSERVENT_R:
- * This symbol, if defined, indicates that the getservent_r routine
- * is available to getservent re-entrantly.
- */
-/* GETSERVENT_R_PROTO:
- * This symbol encodes the prototype of getservent_r.
- * It is zero if d_getservent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
- * is defined.
- */
-/*#define HAS_GETSERVENT_R / **/
-#define GETSERVENT_R_PROTO 0 /**/
-
/* HAS_GETSERV_PROTOS:
* This symbol, if defined, indicates that <netdb.h> includes
* prototypes for getservent(), getservbyname(), and
@@ -1688,6 +1748,12 @@
*/
/*#define HAS_GETSERV_PROTOS / **/
+/* HAS_GETSPNAM:
+ * This symbol, if defined, indicates that the getspnam system call is
+ * available to retrieve SysV shadow password entries by name.
+ */
+/*#define HAS_GETSPNAM / **/
+
/* HAS_GETSPNAM_R:
* This symbol, if defined, indicates that the getspnam_r routine
* is available to getspnam re-entrantly.
@@ -1725,6 +1791,21 @@
/*#define HAS_GMTIME_R / **/
#define GMTIME_R_PROTO 0 /**/
+/* HAS_GNULIBC:
+ * This symbol, if defined, indicates to the C program that
+ * the GNU C library is being used. A better check is to use
+ * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
+ */
+/*#define HAS_GNULIBC / **/
+#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
+# define _GNU_SOURCE
+#endif
+/* HAS_HASMNTOPT:
+ * This symbol, if defined, indicates that the hasmntopt routine is
+ * available to query the mount options of file systems.
+ */
+/*#define HAS_HASMNTOPT / **/
+
/* HAS_HTONL:
* This symbol, if defined, indicates that the htonl() routine (and
* friends htons() ntohl() ntohs()) are available to do network
@@ -1750,23 +1831,62 @@
/*#define HAS_NTOHL / **/
/*#define HAS_NTOHS / **/
+/* HAS_INT64_T:
+ * This symbol will defined if the C compiler supports int64_t.
+ * Usually the <inttypes.h> needs to be included, but sometimes
+ * <sys/types.h> is enough.
+ */
+/*#define HAS_INT64_T / **/
+
+/* HAS_ISASCII:
+ * This manifest constant lets the C program know that isascii
+ * is available.
+ */
+/*#define HAS_ISASCII / **/
+
+/* HAS_ISFINITE:
+ * This symbol, if defined, indicates that the isfinite routine is
+ * available to check whether a double is finite (non-infinity non-NaN).
+ */
+/*#define HAS_ISFINITE / **/
+
+/* HAS_ISINF:
+ * This symbol, if defined, indicates that the isinf routine is
+ * available to check whether a double is an infinity.
+ */
+/*#define HAS_ISINF / **/
+
+/* HAS_ISNAN:
+ * This symbol, if defined, indicates that the isnan routine is
+ * available to check whether a double is a NaN.
+ */
+/*#define HAS_ISNAN / **/
+
+/* HAS_ISNANL:
+ * This symbol, if defined, indicates that the isnanl routine is
+ * available to check whether a long double is a NaN.
+ */
+/*#define HAS_ISNANL / **/
+
+/* HAS_LCHOWN:
+ * This symbol, if defined, indicates that the lchown routine is
+ * available to operate on a symbolic link (instead of following the
+ * link).
+ */
+/*#define HAS_LCHOWN / **/
+
+/* HAS_LDBL_DIG:
+ * This symbol, if defined, indicates that this system's <float.h>
+ * or <limits.h> defines the symbol LDBL_DIG, which is the number
+ * of significant digits in a long double precision number. Unlike
+ * for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
+ */
+/*#define HAS_LDBL_DIG / * */
+
/* HAS_LOCALTIME_R:
* This symbol, if defined, indicates that the localtime_r routine
* is available to localtime re-entrantly.
*/
-/* LOCALTIME_R_NEEDS_TZSET:
- * Many libc's localtime_r implementations do not call tzset,
- * making them differ from localtime(), and making timezone
- * changes using $ENV{TZ} without explicitly calling tzset
- * impossible. This symbol makes us call tzset before localtime_r
- */
-/*#define LOCALTIME_R_NEEDS_TZSET / **/
-#ifdef LOCALTIME_R_NEEDS_TZSET
-#define L_R_TZSET tzset(),
-#else
-#define L_R_TZSET
-#endif
-
/* LOCALTIME_R_PROTO:
* This symbol encodes the prototype of localtime_r.
* It is zero if d_localtime_r is undef, and one of the
@@ -1781,7 +1901,7 @@
* doubles.
*/
/* LONG_DOUBLESIZE:
- * This symbol contains the size of a long double, so that the
+ * This symbol contains the size of a long double, so that the
* C preprocessor can make decisions based on it. It is only
* defined if the system supports long doubles.
*/
@@ -1794,7 +1914,7 @@
* This symbol will be defined if the C compiler supports long long.
*/
/* LONGLONGSIZE:
- * This symbol contains the size of a long long, so that the
+ * This symbol contains the size of a long long, so that the
* C preprocessor can make decisions based on it. It is only
* defined if the system supports long long.
*/
@@ -1811,11 +1931,23 @@
*/
/*#define HAS_LSEEK_PROTO / **/
+/* HAS_MADVISE:
+ * This symbol, if defined, indicates that the madvise system call is
+ * available to map a file into memory.
+ */
+/*#define HAS_MADVISE / **/
+
/* HAS_MEMCHR:
* This symbol, if defined, indicates that the memchr routine is available
* to locate characters within a C string.
*/
-#define HAS_MEMCHR /**/
+/*#define HAS_MEMCHR / **/
+
+/* HAS_MKDTEMP:
+ * This symbol, if defined, indicates that the mkdtemp routine is
+ * available to exclusively create a uniquely named temporary directory.
+ */
+/*#define HAS_MKDTEMP / **/
/* HAS_MKSTEMP:
* This symbol, if defined, indicates that the mkstemp routine is
@@ -1824,6 +1956,13 @@
*/
/*#define HAS_MKSTEMP / **/
+/* HAS_MKSTEMPS:
+ * This symbol, if defined, indicates that the mkstemps routine is
+ * available to excluslvely create and open a uniquely named
+ * (with a suffix) temporary file.
+ */
+/*#define HAS_MKSTEMPS / **/
+
/* HAS_MMAP:
* This symbol, if defined, indicates that the mmap system call is
* available to map a file into memory.
@@ -1831,10 +1970,31 @@
/* Mmap_t:
* This symbol holds the return type of the mmap() system call
* (and simultaneously the type of the first argument).
- * Usually set to 'void *' or 'caddr_t'.
+ * Usually set to 'void *' or 'cadd_t'.
*/
/*#define HAS_MMAP / **/
-#define Mmap_t void * /**/
+#define Mmap_t /**/
+
+/* HAS_MODFL:
+ * This symbol, if defined, indicates that the modfl routine is
+ * available to split a long double x into a fractional part f and
+ * an integer part i such that |f| < 1.0 and (f + i) = x.
+ */
+/* HAS_MODFL_POW32_BUG:
+ * This symbol, if defined, indicates that the modfl routine is
+ * broken for long doubles >= pow(2, 32).
+ * For example from 4294967303.150000 one would get 4294967302.000000
+ * and 1.150000. The bug has been seen in certain versions of glibc,
+ * release 2.2.2 is known to be okay.
+ */
+/*#define HAS_MODFL / **/
+/*#define HAS_MODFL_POW32_BUG / **/
+
+/* HAS_MPROTECT:
+ * This symbol, if defined, indicates that the mprotect system call is
+ * available to modify the access protection of a memory mapped file.
+ */
+/*#define HAS_MPROTECT / **/
/* HAS_MSG:
* This symbol, if defined, indicates that the entire msg*(2) library is
@@ -1842,6 +2002,23 @@
*/
/*#define HAS_MSG / **/
+/* HAS_STRUCT_MSGHDR:
+ * This symbol, if defined, indicates that the struct msghdr
+ * is supported.
+ */
+/*#define HAS_STRUCT_MSGHDR / **/
+
+/* HAS_OFF64_T:
+ * This symbol will be defined if the C compiler supports off64_t.
+ */
+/*#define HAS_OFF64_T / **/
+
+/* HAS_OPEN3:
+ * This manifest constant lets the C program know that the three
+ * argument form of open(2) is available.
+ */
+/*#define HAS_OPEN3 / **/
+
/* OLD_PTHREAD_CREATE_JOINABLE:
* This symbol, if defined, indicates how to create pthread
* in joinable (aka undetached) state. NOTE: not defined
@@ -1852,14 +2029,8 @@
*/
/*#define OLD_PTHREAD_CREATE_JOINABLE / **/
-/* HAS_PTHREAD_ATFORK:
- * This symbol, if defined, indicates that the pthread_atfork routine
- * is available to setup fork handlers.
- */
-/*#define HAS_PTHREAD_ATFORK / **/
-
/* HAS_PTHREAD_YIELD:
- * This symbol, if defined, indicates that the pthread_yield
+ * This symbol, if defined, indicates that the pthread_yield
* routine is available to yield the execution of the current
* thread. sched_yield is preferable to pthread_yield.
*/
@@ -1890,19 +2061,6 @@
/*#define HAS_RANDOM_R / **/
#define RANDOM_R_PROTO 0 /**/
-/* HAS_READDIR64_R:
- * This symbol, if defined, indicates that the readdir64_r routine
- * is available to readdir64 re-entrantly.
- */
-/* READDIR64_R_PROTO:
- * This symbol encodes the prototype of readdir64_r.
- * It is zero if d_readdir64_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
- * is defined.
- */
-/*#define HAS_READDIR64_R / **/
-#define READDIR64_R_PROTO 0 /**/
-
/* HAS_READDIR_R:
* This symbol, if defined, indicates that the readdir_r routine
* is available to readdir re-entrantly.
@@ -1916,12 +2074,63 @@
/*#define HAS_READDIR_R / **/
#define READDIR_R_PROTO 0 /**/
+/* HAS_READV:
+ * This symbol, if defined, indicates that the readv routine is
+ * available to do gather reads. You will also need <sys/uio.h>
+ * and there I_SYSUIO.
+ */
+/*#define HAS_READV / **/
+
+/* HAS_RECVMSG:
+ * This symbol, if defined, indicates that the recvmsg routine is
+ * available to send structured socket messages.
+ */
+/*#define HAS_RECVMSG / **/
+
+/* HAS_SAFE_BCOPY:
+ * This symbol, if defined, indicates that the bcopy routine is available
+ * to copy potentially overlapping memory blocks. Normally, you should
+ * probably use memmove() or memcpy(). If neither is defined, roll your
+ * own version.
+ */
+/*#define HAS_SAFE_BCOPY / **/
+
+/* HAS_SAFE_MEMCPY:
+ * This symbol, if defined, indicates that the memcpy routine is available
+ * to copy potentially overlapping memory blocks. If you need to
+ * copy overlapping memory blocks, you should check HAS_MEMMOVE and
+ * use memmove() instead, if available.
+ */
+/*#define HAS_SAFE_MEMCPY / **/
+
+/* HAS_SANE_MEMCMP:
+ * This symbol, if defined, indicates that the memcmp routine is available
+ * and can be used to compare relative magnitudes of chars with their high
+ * bits set. If it is not defined, roll your own version.
+ */
+/*#define HAS_SANE_MEMCMP / **/
+
+/* HAS_SBRK_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the sbrk() function. Otherwise, it is up
+ * to the program to supply one. Good guesses are
+ * extern void* sbrk(int);
+ * extern void* sbrk(size_t);
+ */
+/*#define HAS_SBRK_PROTO / **/
+
/* HAS_SEM:
* This symbol, if defined, indicates that the entire sem*(2) library is
* supported.
*/
/*#define HAS_SEM / **/
+/* HAS_SENDMSG:
+ * This symbol, if defined, indicates that the sendmsg routine is
+ * available to send structured socket messages.
+ */
+/*#define HAS_SENDMSG / **/
+
/* HAS_SETGRENT:
* This symbol, if defined, indicates that the setgrent routine is
* available for initializing sequential access of the group database.
@@ -1941,37 +2150,24 @@
/*#define HAS_SETGRENT_R / **/
#define SETGRENT_R_PROTO 0 /**/
+/* HAS_SETGROUPS:
+ * This symbol, if defined, indicates that the setgroups() routine is
+ * available to set the list of process groups. If unavailable, multiple
+ * groups are probably not supported.
+ */
+/*#define HAS_SETGROUPS / **/
+
/* HAS_SETHOSTENT:
* This symbol, if defined, indicates that the sethostent() routine is
* available.
*/
/*#define HAS_SETHOSTENT / **/
-/* HAS_SETHOSTENT_R:
- * This symbol, if defined, indicates that the sethostent_r routine
- * is available to sethostent re-entrantly.
- */
-/* SETHOSTENT_R_PROTO:
- * This symbol encodes the prototype of sethostent_r.
- * It is zero if d_sethostent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
- * is defined.
- */
-/*#define HAS_SETHOSTENT_R / **/
-#define SETHOSTENT_R_PROTO 0 /**/
-
-/* HAS_SETLOCALE_R:
- * This symbol, if defined, indicates that the setlocale_r routine
- * is available to setlocale re-entrantly.
- */
-/* SETLOCALE_R_PROTO:
- * This symbol encodes the prototype of setlocale_r.
- * It is zero if d_setlocale_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
- * is defined.
+/* HAS_SETITIMER:
+ * This symbol, if defined, indicates that the setitimer routine is
+ * available to set interval timers.
*/
-/*#define HAS_SETLOCALE_R / **/
-#define SETLOCALE_R_PROTO 0 /**/
+/*#define HAS_SETITIMER / **/
/* HAS_SETNETENT:
* This symbol, if defined, indicates that the setnetent() routine is
@@ -1979,19 +2175,6 @@
*/
/*#define HAS_SETNETENT / **/
-/* HAS_SETNETENT_R:
- * This symbol, if defined, indicates that the setnetent_r routine
- * is available to setnetent re-entrantly.
- */
-/* SETNETENT_R_PROTO:
- * This symbol encodes the prototype of setnetent_r.
- * It is zero if d_setnetent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
- * is defined.
- */
-/*#define HAS_SETNETENT_R / **/
-#define SETNETENT_R_PROTO 0 /**/
-
/* HAS_SETPROTOENT:
* This symbol, if defined, indicates that the setprotoent() routine is
* available.
@@ -2010,18 +2193,11 @@
/*#define HAS_SETPGRP / **/
/*#define USE_BSD_SETPGRP / **/
-/* HAS_SETPROTOENT_R:
- * This symbol, if defined, indicates that the setprotoent_r routine
- * is available to setprotoent re-entrantly.
- */
-/* SETPROTOENT_R_PROTO:
- * This symbol encodes the prototype of setprotoent_r.
- * It is zero if d_setprotoent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
- * is defined.
+/* HAS_SETPROCTITLE:
+ * This symbol, if defined, indicates that the setproctitle routine is
+ * available to set process title.
*/
-/*#define HAS_SETPROTOENT_R / **/
-#define SETPROTOENT_R_PROTO 0 /**/
+/*#define HAS_SETPROCTITLE / **/
/* HAS_SETPWENT:
* This symbol, if defined, indicates that the setpwent routine is
@@ -2048,19 +2224,6 @@
*/
/*#define HAS_SETSERVENT / **/
-/* HAS_SETSERVENT_R:
- * This symbol, if defined, indicates that the setservent_r routine
- * is available to setservent re-entrantly.
- */
-/* SETSERVENT_R_PROTO:
- * This symbol encodes the prototype of setservent_r.
- * It is zero if d_setservent_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
- * is defined.
- */
-/*#define HAS_SETSERVENT_R / **/
-#define SETSERVENT_R_PROTO 0 /**/
-
/* HAS_SETVBUF:
* This symbol, if defined, indicates that the setvbuf routine is
* available to change buffering on an open stdio stream.
@@ -2068,25 +2231,54 @@
*/
/*#define HAS_SETVBUF / **/
+/* USE_SFIO:
+ * This symbol, if defined, indicates that sfio should
+ * be used.
+ */
+/*#define USE_SFIO / **/
+
/* HAS_SHM:
* This symbol, if defined, indicates that the entire shm*(2) library is
* supported.
*/
/*#define HAS_SHM / **/
-/* Shmat_t:
- * This symbol holds the return type of the shmat() system call.
- * Usually set to 'void *' or 'char *'.
+/* HAS_SIGACTION:
+ * This symbol, if defined, indicates that Vr4's sigaction() routine
+ * is available.
*/
-/* HAS_SHMAT_PROTOTYPE:
- * This symbol, if defined, indicates that the sys/shm.h includes
- * a prototype for shmat(). Otherwise, it is up to the program to
- * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess,
- * but not always right so it should be emitted by the program only
- * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
+/*#define HAS_SIGACTION / **/
+
+/* HAS_SIGSETJMP:
+ * This variable indicates to the C program that the sigsetjmp()
+ * routine is available to save the calling process's registers
+ * and stack environment for later use by siglongjmp(), and
+ * to optionally save the process's signal mask. See
+ * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
*/
-#define Shmat_t void * /**/
-/*#define HAS_SHMAT_PROTOTYPE / **/
+/* Sigjmp_buf:
+ * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
+ */
+/* Sigsetjmp:
+ * This macro is used in the same way as sigsetjmp(), but will invoke
+ * traditional setjmp() if sigsetjmp isn't available.
+ * See HAS_SIGSETJMP.
+ */
+/* Siglongjmp:
+ * This macro is used in the same way as siglongjmp(), but will invoke
+ * traditional longjmp() if siglongjmp isn't available.
+ * See HAS_SIGSETJMP.
+ */
+/*#define HAS_SIGSETJMP / **/
+#ifdef HAS_SIGSETJMP
+#define Sigjmp_buf sigjmp_buf
+#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
+#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
+#else
+#define Sigjmp_buf jmp_buf
+#define Sigsetjmp(buf,save_mask) setjmp((buf))
+#define Siglongjmp(buf,retval) longjmp((buf),(retval))
+#endif
/* HAS_SOCKET:
* This symbol, if defined, indicates that the BSD socket interface is
@@ -2135,6 +2327,18 @@
/*#define HAS_MSG_PROXY / **/
/*#define HAS_SCM_RIGHTS / **/
+/* HAS_SOCKS5_INIT:
+ * This symbol, if defined, indicates that the socks5_init routine is
+ * available to initialize SOCKS 5.
+ */
+/*#define HAS_SOCKS5_INIT / **/
+
+/* HAS_SQRTL:
+ * This symbol, if defined, indicates that the sqrtl routine is
+ * available to do long double square roots.
+ */
+/*#define HAS_SQRTL / **/
+
/* HAS_SRAND48_R:
* This symbol, if defined, indicates that the srand48_r routine
* is available to srand48 re-entrantly.
@@ -2169,12 +2373,98 @@
/*#define USE_STAT_BLOCKS / **/
#endif
-/* USE_STRUCT_COPY:
- * This symbol, if defined, indicates that this C compiler knows how
- * to copy structures. If undefined, you'll need to use a block copy
- * routine of some sort instead.
+/* HAS_STRUCT_STATFS_F_FLAGS:
+ * This symbol, if defined, indicates that the struct statfs
+ * does have the f_flags member containing the mount flags of
+ * the filesystem containing the file.
+ * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3),
+ * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not
+ * have statfs() and struct statfs, they have ustat() and getmnt()
+ * with struct ustat and struct fs_data.
*/
-/*#define USE_STRUCT_COPY / **/
+/*#define HAS_STRUCT_STATFS_F_FLAGS / **/
+
+/* HAS_STRUCT_STATFS:
+ * This symbol, if defined, indicates that the struct statfs
+ * to do statfs() is supported.
+ */
+/*#define HAS_STRUCT_STATFS / **/
+
+/* HAS_FSTATVFS:
+ * This symbol, if defined, indicates that the fstatvfs routine is
+ * available to stat filesystems by file descriptors.
+ */
+/*#define HAS_FSTATVFS / **/
+
+/* USE_STDIO_PTR:
+ * This symbol is defined if the _ptr and _cnt fields (or similar)
+ * of the stdio FILE structure can be used to access the stdio buffer
+ * for a file handle. If this is defined, then the FILE_ptr(fp)
+ * and FILE_cnt(fp) macros will also be defined and should be used
+ * to access these fields.
+ */
+/* FILE_ptr:
+ * This macro is used to access the _ptr field (or equivalent) of the
+ * FILE structure pointed to by its argument. This macro will always be
+ * defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_PTR_LVALUE:
+ * This symbol is defined if the FILE_ptr macro can be used as an
+ * lvalue.
+ */
+/* FILE_cnt:
+ * This macro is used to access the _cnt field (or equivalent) of the
+ * FILE structure pointed to by its argument. This macro will always be
+ * defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_CNT_LVALUE:
+ * This symbol is defined if the FILE_cnt macro can be used as an
+ * lvalue.
+ */
+/* STDIO_PTR_LVAL_SETS_CNT:
+ * This symbol is defined if using the FILE_ptr macro as an lvalue
+ * to increase the pointer by n has the side effect of decreasing the
+ * value of File_cnt(fp) by n.
+ */
+/* STDIO_PTR_LVAL_NOCHANGE_CNT:
+ * This symbol is defined if using the FILE_ptr macro as an lvalue
+ * to increase the pointer by n leaves File_cnt(fp) unchanged.
+ */
+/*#define USE_STDIO_PTR / **/
+#ifdef USE_STDIO_PTR
+#define FILE_ptr(fp) ((fp)->_IO_read_ptr)
+/*#define STDIO_PTR_LVALUE / **/
+#define FILE_cnt(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr)
+/*#define STDIO_CNT_LVALUE / **/
+/*#define STDIO_PTR_LVAL_SETS_CNT / **/
+/*#define STDIO_PTR_LVAL_NOCHANGE_CNT / **/
+#endif
+
+/* USE_STDIO_BASE:
+ * This symbol is defined if the _base field (or similar) of the
+ * stdio FILE structure can be used to access the stdio buffer for
+ * a file handle. If this is defined, then the FILE_base(fp) macro
+ * will also be defined and should be used to access this field.
+ * Also, the FILE_bufsiz(fp) macro will be defined and should be used
+ * to determine the number of bytes in the buffer. USE_STDIO_BASE
+ * will never be defined unless USE_STDIO_PTR is.
+ */
+/* FILE_base:
+ * This macro is used to access the _base field (or equivalent) of the
+ * FILE structure pointed to by its argument. This macro will always be
+ * defined if USE_STDIO_BASE is defined.
+ */
+/* FILE_bufsiz:
+ * This macro is used to determine the number of bytes in the I/O
+ * buffer pointed to by _base field (or equivalent) of the FILE
+ * structure pointed to its argument. This macro will always be defined
+ * if USE_STDIO_BASE is defined.
+ */
+/*#define USE_STDIO_BASE / **/
+#ifdef USE_STDIO_BASE
+#define FILE_base(fp) ((fp)->_IO_read_base)
+#define FILE_bufsiz(fp) ((fp)->_IO_read_end - (fp)->_IO_read_base)
+#endif
/* HAS_STRERROR:
* This symbol, if defined, indicates that the strerror routine is
@@ -2208,11 +2498,49 @@
/*#define HAS_STRERROR_R / **/
#define STRERROR_R_PROTO 0 /**/
+/* HAS_STRTOLD:
+ * This symbol, if defined, indicates that the strtold routine is
+ * available to convert strings to long doubles.
+ */
+/*#define HAS_STRTOLD / **/
+
+/* HAS_STRTOLL:
+ * This symbol, if defined, indicates that the strtoll routine is
+ * available to convert strings to long longs.
+ */
+/*#define HAS_STRTOLL / **/
+
+/* HAS_STRTOQ:
+ * This symbol, if defined, indicates that the strtoq routine is
+ * available to convert strings to long longs (quads).
+ */
+/*#define HAS_STRTOQ / **/
+
/* HAS_STRTOUL:
* This symbol, if defined, indicates that the strtoul routine is
* available to provide conversion of strings to unsigned long.
*/
-#define HAS_STRTOUL /**/
+/*#define HAS_STRTOUL / **/
+
+/* HAS_STRTOULL:
+ * This symbol, if defined, indicates that the strtoull routine is
+ * available to convert strings to unsigned long longs.
+ */
+/*#define HAS_STRTOULL / **/
+
+/* HAS_STRTOUQ:
+ * This symbol, if defined, indicates that the strtouq routine is
+ * available to convert strings to unsigned long longs (quads).
+ */
+/*#define HAS_STRTOUQ / **/
+
+/* HAS_TELLDIR_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the telldir() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern long telldir(DIR*);
+ */
+/*#define HAS_TELLDIR_PROTO / **/
/* HAS_TIME:
* This symbol, if defined, indicates that the time() routine exists.
@@ -2245,18 +2573,11 @@
/*#define HAS_TMPNAM_R / **/
#define TMPNAM_R_PROTO 0 /**/
-/* HAS_TTYNAME_R:
- * This symbol, if defined, indicates that the ttyname_r routine
- * is available to ttyname re-entrantly.
- */
-/* TTYNAME_R_PROTO:
- * This symbol encodes the prototype of ttyname_r.
- * It is zero if d_ttyname_r is undef, and one of the
- * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
- * is defined.
+/* HAS_UALARM:
+ * This symbol, if defined, indicates that the ualarm routine is
+ * available to do alarms with microsecond granularity.
*/
-/*#define HAS_TTYNAME_R / **/
-#define TTYNAME_R_PROTO 0 /**/
+/*#define HAS_UALARM / **/
/* HAS_UNION_SEMUN:
* This symbol, if defined, indicates that the union semun is
@@ -2280,17 +2601,24 @@
/*#define USE_SEMCTL_SEMUN / **/
/*#define USE_SEMCTL_SEMID_DS / **/
+/* HAS_UNORDERED:
+ * This symbol, if defined, indicates that the unordered routine is
+ * available to check whether two doubles are unordered
+ * (effectively: whether either of them is NaN)
+ */
+/*#define HAS_UNORDERED / **/
+
+/* HAS_USTAT:
+ * This symbol, if defined, indicates that the ustat system call is
+ * available to query file system statistics by dev_t.
+ */
+/*#define HAS_USTAT / **/
+
/* HAS_VFORK:
* This symbol, if defined, indicates that vfork() exists.
*/
/*#define HAS_VFORK / **/
-/* HAS_PSEUDOFORK:
- * This symbol, if defined, indicates that an emulation of the
- * fork routine is available.
- */
-/*#define HAS_PSEUDOFORK / **/
-
/* Signal_t:
* This symbol's value is either "void" or "int", corresponding to the
* appropriate return type of a signal handler. Thus, you can declare
@@ -2299,14 +2627,57 @@
*/
#define Signal_t int /* Signal handler's return type */
-/* HASVOLATILE:
- * This symbol, if defined, indicates that this C compiler knows about
- * the volatile declaration.
+/* HAS_VPRINTF:
+ * This symbol, if defined, indicates that the vprintf routine is available
+ * to printf with a pointer to an argument list. If unavailable, you
+ * may need to write your own, probably in terms of _doprnt().
*/
-/*#define HASVOLATILE / **/
-#ifndef HASVOLATILE
-#define volatile
-#endif
+/* USE_CHAR_VSPRINTF:
+ * This symbol is defined if this system has vsprintf() returning type
+ * (char*). The trend seems to be to declare it as "int vsprintf()". It
+ * is up to the package author to declare vsprintf correctly based on the
+ * symbol.
+ */
+#define HAS_VPRINTF /**/
+/*#define USE_CHAR_VSPRINTF / **/
+
+/* HAS_WRITEV:
+ * This symbol, if defined, indicates that the writev routine is
+ * available to do scatter writes.
+ */
+/*#define HAS_WRITEV / **/
+
+/* USE_DYNAMIC_LOADING:
+ * This symbol, if defined, indicates that dynamic loading of
+ * some sort is available.
+ */
+/*#define USE_DYNAMIC_LOADING / **/
+
+/* DOUBLESIZE:
+ * This symbol contains the size of a double, so that the C preprocessor
+ * can make decisions based on it.
+ */
+#define DOUBLESIZE 8 /**/
+
+/* EBCDIC:
+ * This symbol, if defined, indicates that this system uses
+ * EBCDIC encoding.
+ */
+/*#define EBCDIC / **/
+
+/* FFLUSH_NULL:
+ * This symbol, if defined, tells that fflush(NULL) does flush
+ * all pending stdio output.
+ */
+/* FFLUSH_ALL:
+ * This symbol, if defined, tells that to flush
+ * all pending stdio output one must loop through all
+ * the stdio file handles stored in an array and fflush them.
+ * Note that if fflushNULL is defined, fflushall will not
+ * even be probed for and will be left undefined.
+ */
+/*#define FFLUSH_NULL / **/
+/*#define FFLUSH_ALL / **/
/* Fpos_t:
* This symbol holds the type used to declare file positions in libc.
@@ -2340,25 +2711,54 @@
*/
#define Gid_t int /* Type for getgid(), etc... */
-/* I_DIRENT:
- * This symbol, if defined, indicates to the C program that it should
- * include <dirent.h>. Using this symbol also triggers the definition
- * of the Direntry_t define which ends up being 'struct dirent' or
- * 'struct direct' depending on the availability of <dirent.h>.
+/* Groups_t:
+ * This symbol holds the type used for the second argument to
+ * getgroups() and setgroups(). Usually, this is the same as
+ * gidtype (gid_t) , but sometimes it isn't.
+ * It can be int, ushort, gid_t, etc...
+ * It may be necessary to include <sys/types.h> to get any
+ * typedef'ed information. This is only required if you have
+ * getgroups() or setgroups()..
*/
-/* DIRNAMLEN:
- * This symbol, if defined, indicates to the C program that the length
- * of directory entry names is provided by a d_namlen field. Otherwise
- * you need to do strlen() on the d_name field.
+#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
+#define Groups_t int /* Type for 2nd arg to [sg]etgroups() */
+#endif
+
+/* DB_Prefix_t:
+ * This symbol contains the type of the prefix structure element
+ * in the <db.h> header file. In older versions of DB, it was
+ * int, while in newer ones it is u_int32_t.
*/
-/* Direntry_t:
- * This symbol is set to 'struct direct' or 'struct dirent' depending on
- * whether dirent is available or not. You should use this pseudo type to
- * portably declare your directory entries.
+/* DB_Hash_t:
+ * This symbol contains the type of the prefix structure element
+ * in the <db.h> header file. In older versions of DB, it was
+ * int, while in newer ones it is size_t.
*/
-#define I_DIRENT /**/
-/*#define DIRNAMLEN / **/
-#define Direntry_t struct dirent
+/* DB_VERSION_MAJOR_CFG:
+ * This symbol, if defined, defines the major version number of
+ * Berkeley DB found in the <db.h> header when Perl was configured.
+ */
+/* DB_VERSION_MINOR_CFG:
+ * This symbol, if defined, defines the minor version number of
+ * Berkeley DB found in the <db.h> header when Perl was configured.
+ * For DB version 1 this is always 0.
+ */
+/* DB_VERSION_PATCH_CFG:
+ * This symbol, if defined, defines the patch version number of
+ * Berkeley DB found in the <db.h> header when Perl was configured.
+ * For DB version 1 this is always 0.
+ */
+#define DB_Hash_t u_int32_t /**/
+#define DB_Prefix_t size_t /**/
+#define DB_VERSION_MAJOR_CFG /**/
+#define DB_VERSION_MINOR_CFG /**/
+#define DB_VERSION_PATCH_CFG /**/
+
+/* I_FP_CLASS:
+ * This symbol, if defined, indicates that <fp_class.h> exists and
+ * should be included.
+ */
+/*#define I_FP_CLASS / **/
/* I_GRP:
* This symbol, if defined, indicates to the C program that it should
@@ -2371,50 +2771,35 @@
/*#define I_GRP / **/
/*#define GRPASSWD / **/
+/* I_IEEEFP:
+ * This symbol, if defined, indicates that <ieeefp.h> exists and
+ * should be included.
+ */
+/*#define I_IEEEFP / **/
+
+/* I_INTTYPES:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <inttypes.h>.
+ */
+/*#define I_INTTYPES / **/
+
+/* I_LIBUTIL:
+ * This symbol, if defined, indicates that <libutil.h> exists and
+ * should be included.
+ */
+/*#define I_LIBUTIL / **/
+
/* I_MACH_CTHREADS:
* This symbol, if defined, indicates to the C program that it should
* include <mach/cthreads.h>.
*/
/*#define I_MACH_CTHREADS / **/
-/* I_NDBM:
- * This symbol, if defined, indicates that <ndbm.h> exists and should
- * be included.
- */
-/* I_GDBMNDBM:
- * This symbol, if defined, indicates that <gdbm/ndbm.h> exists and should
- * be included. This was the location of the ndbm.h compatibility file
- * in RedHat 7.1.
- */
-/* I_GDBM_NDBM:
- * This symbol, if defined, indicates that <gdbm-ndbm.h> exists and should
- * be included. This is the location of the ndbm.h compatibility file
- * in Debian 4.0.
- */
-/* NDBM_H_USES_PROTOTYPES:
- * This symbol, if defined, indicates that <ndbm.h> uses real ANSI C
- * prototypes instead of K&R style function declarations without any
- * parameter information. While ANSI C prototypes are supported in C++,
- * K&R style function declarations will yield errors.
- */
-/* GDBMNDBM_H_USES_PROTOTYPES:
- * This symbol, if defined, indicates that <gdbm/ndbm.h> uses real ANSI C
- * prototypes instead of K&R style function declarations without any
- * parameter information. While ANSI C prototypes are supported in C++,
- * K&R style function declarations will yield errors.
- */
-/* GDBM_NDBM_H_USES_PROTOTYPES:
- * This symbol, if defined, indicates that <gdbm-ndbm.h> uses real ANSI C
- * prototypes instead of K&R style function declarations without any
- * parameter information. While ANSI C prototypes are supported in C++,
- * K&R style function declarations will yield errors.
+/* I_MNTENT:
+ * This symbol, if defined, indicates that <mntent.h> exists and
+ * should be included.
*/
-/*#define I_NDBM / **/
-/*#define I_GDBMNDBM / **/
-/*#define I_GDBM_NDBM / **/
-/*#define NDBM_H_USES_PROTOTYPES / **/
-/*#define GDBMNDBM_H_USES_PROTOTYPES / **/
-/*#define GDBM_NDBM_H_USES_PROTOTYPES / **/
+/*#define I_MNTENT / **/
/* I_NETDB:
* This symbol, if defined, indicates that <netdb.h> exists and
@@ -2422,11 +2807,23 @@
*/
/*#define I_NETDB / **/
-/* I_NET_ERRNO:
- * This symbol, if defined, indicates that <net/errno.h> exists and
+/* I_NETINET_TCP:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <netinet/tcp.h>.
+ */
+/*#define I_NETINET_TCP / **/
+
+/* I_POLL:
+ * This symbol, if defined, indicates that <poll.h> exists and
* should be included.
*/
-/*#define I_NET_ERRNO / **/
+/*#define I_POLL / **/
+
+/* I_PROT:
+ * This symbol, if defined, indicates that <prot.h> exists and
+ * should be included.
+ */
+/*#define I_PROT / **/
/* I_PTHREAD:
* This symbol, if defined, indicates to the C program that it should
@@ -2480,17 +2877,52 @@
/*#define PWGECOS / **/
/*#define PWPASSWD / **/
-/* I_SYS_ACCESS:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/access.h>.
+/* I_SHADOW:
+ * This symbol, if defined, indicates that <shadow.h> exists and
+ * should be included.
*/
-/*#define I_SYS_ACCESS / **/
+/*#define I_SHADOW / **/
-/* I_SYS_SECURITY:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/security.h>.
+/* I_SOCKS:
+ * This symbol, if defined, indicates that <socks.h> exists and
+ * should be included.
*/
-/*#define I_SYS_SECURITY / **/
+/*#define I_SOCKS / **/
+
+/* I_SUNMATH:
+ * This symbol, if defined, indicates that <sunmath.h> exists and
+ * should be included.
+ */
+/*#define I_SUNMATH / **/
+
+/* I_SYSLOG:
+ * This symbol, if defined, indicates that <syslog.h> exists and
+ * should be included.
+ */
+/*#define I_SYSLOG / **/
+
+/* I_SYSMODE:
+ * This symbol, if defined, indicates that <sys/mode.h> exists and
+ * should be included.
+ */
+/*#define I_SYSMODE / **/
+
+/* I_SYS_MOUNT:
+ * This symbol, if defined, indicates that <sys/mount.h> exists and
+ * should be included.
+ */
+/*#define I_SYS_MOUNT / **/
+
+/* I_SYS_STATFS:
+ * This symbol, if defined, indicates that <sys/statfs.h> exists.
+ */
+/*#define I_SYS_STATFS / **/
+
+/* I_SYS_STATVFS:
+ * This symbol, if defined, indicates that <sys/statvfs.h> exists and
+ * should be included.
+ */
+/*#define I_SYS_STATVFS / **/
/* I_SYSUIO:
* This symbol, if defined, indicates that <sys/uio.h> exists and
@@ -2498,16 +2930,44 @@
*/
/*#define I_SYSUIO / **/
-/* I_STDARG:
- * This symbol, if defined, indicates that <stdarg.h> exists and should
- * be included.
+/* I_SYSUTSNAME:
+ * This symbol, if defined, indicates that <sys/utsname.h> exists and
+ * should be included.
*/
-/* I_VARARGS:
+/*#define I_SYSUTSNAME / **/
+
+/* I_SYS_VFS:
+ * This symbol, if defined, indicates that <sys/vfs.h> exists and
+ * should be included.
+ */
+/*#define I_SYS_VFS / **/
+
+/* I_TIME:
* This symbol, if defined, indicates to the C program that it should
- * include <varargs.h>.
+ * include <time.h>.
*/
-#define I_STDARG /**/
-/*#define I_VARARGS / **/
+/* I_SYS_TIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h>.
+ */
+/* I_SYS_TIME_KERNEL:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h> with KERNEL defined.
+ */
+/* HAS_TM_TM_ZONE:
+ * This symbol, if defined, indicates to the C program that
+ * the struct tm has a tm_zone field.
+ */
+#define I_TIME /**/
+/*#define I_SYS_TIME / **/
+/*#define I_SYS_TIME_KERNEL / **/
+/*#define HAS_TM_TM_ZONE / **/
+
+/* I_USTAT:
+ * This symbol, if defined, indicates that <ustat.h> exists and
+ * should be included.
+ */
+/*#define I_USTAT / **/
/* PERL_INC_VERSION_LIST:
* This variable specifies the list of subdirectories in over
@@ -2516,7 +2976,7 @@
* for a C initialization string. See the inc_version_list entry
* in Porting/Glossary for more details.
*/
-/*#define PERL_INC_VERSION_LIST NULL / **/
+#define PERL_INC_VERSION_LIST NULL /**/
/* INSTALL_USR_BIN_PERL:
* This symbol, if defined, indicates that Perl is to be installed
@@ -2524,6 +2984,27 @@
*/
/*#define INSTALL_USR_BIN_PERL / **/
+/* PERL_PRIfldbl:
+ * This symbol, if defined, contains the string used by stdio to
+ * format long doubles (format 'f') for output.
+ */
+/* PERL_PRIgldbl:
+ * This symbol, if defined, contains the string used by stdio to
+ * format long doubles (format 'g') for output.
+ */
+/* PERL_PRIeldbl:
+ * This symbol, if defined, contains the string used by stdio to
+ * format long doubles (format 'e') for output.
+ */
+/* PERL_SCNfldbl:
+ * This symbol, if defined, contains the string used by stdio to
+ * format long doubles (format 'f') for input.
+ */
+/*#define PERL_PRIfldbl "llf" / **/
+/*#define PERL_PRIgldbl "llg" / **/
+/*#define PERL_PRIeldbl "lle" / **/
+/*#define PERL_SCNfldbl "llf" / **/
+
/* Off_t:
* This symbol holds the type used to declare offsets in the kernel.
* It can be int, long, off_t, etc... It may be necessary to include
@@ -2547,12 +3028,7 @@
* This symbol is the type of pointer returned by malloc and realloc.
*/
#define Malloc_t void * /**/
-#define Free_t void /**/
-
-/* PERL_MALLOC_WRAP:
- * This symbol, if defined, indicates that we'd like malloc wrap checks.
- */
-/*#define PERL_MALLOC_WRAP / **/
+#define Free_t int /**/
/* MYMALLOC:
* This symbol, if defined, indicates that we're using our own malloc.
@@ -2560,13 +3036,51 @@
/*#define MYMALLOC / **/
/* Mode_t:
- * This symbol holds the type used to declare file modes
+ * This symbol holds the type used to declare file modes
* for systems calls. It is usually mode_t, but may be
* int or unsigned short. It may be necessary to include <sys/types.h>
* to get any typedef'ed information.
*/
#define Mode_t int /* file mode parameter for system calls */
+/* VAL_O_NONBLOCK:
+ * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ * non-blocking I/O for the file descriptor. Note that there is no way
+ * back, i.e. you cannot turn it blocking again this way. If you wish to
+ * alternatively switch between blocking and non-blocking, use the
+ * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+ */
+/* VAL_EAGAIN:
+ * This symbol holds the errno error code set by read() when no data was
+ * present on the non-blocking file descriptor.
+ */
+/* RD_NODATA:
+ * This symbol holds the return code from read() when no data is present
+ * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ * not defined, then you can't distinguish between no data and EOF by
+ * issuing a read(). You'll have to find another way to tell for sure!
+ */
+/* EOF_NONBLOCK:
+ * This symbol, if defined, indicates to the C program that a read() on
+ * a non-blocking file descriptor will return 0 on EOF, and not the value
+ * held in RD_NODATA (-1 usually, in that case!).
+ */
+#define VAL_O_NONBLOCK O_NONBLOCK
+#define VAL_EAGAIN EAGAIN
+#define RD_NODATA -1
+#undef EOF_NONBLOCK
+
+/* NEED_VA_COPY:
+ * This symbol, if defined, indicates that the system stores
+ * the variable argument list datatype, va_list, in a format
+ * that cannot be copied by simple assignment, so that some
+ * other means must be used when copying is required.
+ * As such systems vary in their provision (or non-provision)
+ * of copying mechanisms, handy.h defines a platform-
+ * independent macro, Perl_va_copy(src, dst), to do the job.
+ */
+/*#define NEED_VA_COPY / **/
+
/* Netdb_host_t:
* This symbol holds the type used for the 1st argument
* to gethostbyaddr().
@@ -2596,7 +3110,151 @@
* and architecture-specific directories. See PERL_INC_VERSION_LIST
* for more details.
*/
-/*#define PERL_OTHERLIBDIRS " " / **/
+/*#define PERL_OTHERLIBDIRS "" / **/
+
+/* IVTYPE:
+ * This symbol defines the C type used for Perl's IV.
+ */
+/* UVTYPE:
+ * This symbol defines the C type used for Perl's UV.
+ */
+/* I8TYPE:
+ * This symbol defines the C type used for Perl's I8.
+ */
+/* U8TYPE:
+ * This symbol defines the C type used for Perl's U8.
+ */
+/* I16TYPE:
+ * This symbol defines the C type used for Perl's I16.
+ */
+/* U16TYPE:
+ * This symbol defines the C type used for Perl's U16.
+ */
+/* I32TYPE:
+ * This symbol defines the C type used for Perl's I32.
+ */
+/* U32TYPE:
+ * This symbol defines the C type used for Perl's U32.
+ */
+/* I64TYPE:
+ * This symbol defines the C type used for Perl's I64.
+ */
+/* U64TYPE:
+ * This symbol defines the C type used for Perl's U64.
+ */
+/* NVTYPE:
+ * This symbol defines the C type used for Perl's NV.
+ */
+/* IVSIZE:
+ * This symbol contains the sizeof(IV).
+ */
+/* UVSIZE:
+ * This symbol contains the sizeof(UV).
+ */
+/* I8SIZE:
+ * This symbol contains the sizeof(I8).
+ */
+/* U8SIZE:
+ * This symbol contains the sizeof(U8).
+ */
+/* I16SIZE:
+ * This symbol contains the sizeof(I16).
+ */
+/* U16SIZE:
+ * This symbol contains the sizeof(U16).
+ */
+/* I32SIZE:
+ * This symbol contains the sizeof(I32).
+ */
+/* U32SIZE:
+ * This symbol contains the sizeof(U32).
+ */
+/* I64SIZE:
+ * This symbol contains the sizeof(I64).
+ */
+/* U64SIZE:
+ * This symbol contains the sizeof(U64).
+ */
+/* NVSIZE:
+ * This symbol contains the sizeof(NV).
+ */
+/* NV_PRESERVES_UV:
+ * This symbol, if defined, indicates that a variable of type NVTYPE
+ * can preserve all the bits of a variable of type UVTYPE.
+ */
+/* NV_PRESERVES_UV_BITS:
+ * This symbol contains the number of bits a variable of type NVTYPE
+ * can preserve of a variable of type UVTYPE.
+ */
+#define IVTYPE long /**/
+#define UVTYPE unsigned long /**/
+#define I8TYPE char /**/
+#define U8TYPE unsigned char /**/
+#define I16TYPE short /**/
+#define U16TYPE unsigned short /**/
+#define I32TYPE long /**/
+#define U32TYPE unsigned long /**/
+#ifdef HAS_QUAD
+#define I64TYPE int64_t /**/
+#define U64TYPE uint64_t /**/
+#endif
+#define NVTYPE double /**/
+#define IVSIZE 4 /**/
+#define UVSIZE 4 /**/
+#define I8SIZE 1 /**/
+#define U8SIZE 1 /**/
+#define I16SIZE 2 /**/
+#define U16SIZE 2 /**/
+#define I32SIZE 4 /**/
+#define U32SIZE 4 /**/
+#ifdef HAS_QUAD
+#define I64SIZE 8 /**/
+#define U64SIZE 8 /**/
+#endif
+#define NVSIZE 8 /**/
+#undef NV_PRESERVES_UV
+#define NV_PRESERVES_UV_BITS 0
+
+/* IVdf:
+ * This symbol defines the format string used for printing a Perl IV
+ * as a signed decimal integer.
+ */
+/* UVuf:
+ * This symbol defines the format string used for printing a Perl UV
+ * as an unsigned decimal integer.
+ */
+/* UVof:
+ * This symbol defines the format string used for printing a Perl UV
+ * as an unsigned octal integer.
+ */
+/* UVxf:
+ * This symbol defines the format string used for printing a Perl UV
+ * as an unsigned hexadecimal integer in lowercase abcdef.
+ */
+/* UVXf:
+ * This symbol defines the format string used for printing a Perl UV
+ * as an unsigned hexadecimal integer in uppercase ABCDEF.
+ */
+/* NVef:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %e-ish floating point format.
+ */
+/* NVff:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %f-ish floating point format.
+ */
+/* NVgf:
+ * This symbol defines the format string used for printing a Perl NV
+ * using %g-ish floating point format.
+ */
+#define IVdf "ld" /**/
+#define UVuf "lu" /**/
+#define UVof "lo" /**/
+#define UVxf "lx" /**/
+#define UVXf "lX" /**/
+#define NVef "e" /**/
+#define NVff "f" /**/
+#define NVgf "g" /**/
/* Pid_t:
* This symbol holds the type used to declare process ids in the kernel.
@@ -2615,44 +3273,59 @@
* This symbol contains the ~name expanded version of PRIVLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define PRIVLIB "/usr/local/lib/perl5/5.11" /**/
-#define PRIVLIB_EXP "/usr/local/lib/perl5/5.11" /**/
+#define PRIVLIB "/usr/local/lib/perl5/5.7" /**/
+#define PRIVLIB_EXP "/usr/local/lib/perl5/5.7" /**/
-/* CAN_PROTOTYPE:
- * If defined, this macro indicates that the C compiler can handle
- * function prototypes.
+/* PTRSIZE:
+ * This symbol contains the size of a pointer, so that the C preprocessor
+ * can make decisions based on it. It will be sizeof(void *) if
+ * the compiler supports (void *); otherwise it will be
+ * sizeof(char *).
*/
-/* _:
- * This macro is used to declare function parameters for folks who want
- * to make declarations with prototypes using a different style than
- * the above macros. Use double parentheses. For example:
- *
- * int main _((int argc, char *argv[]));
+#define PTRSIZE 4 /**/
+
+/* Drand01:
+ * This macro is to be used to generate uniformly distributed
+ * random numbers over the range [0., 1.[. You may have to supply
+ * an 'extern double drand48();' in your program since SunOS 4.1.3
+ * doesn't provide you with anything relevant in its headers.
+ * See HAS_DRAND48_PROTO.
*/
-/*#define CAN_PROTOTYPE / **/
-#ifdef CAN_PROTOTYPE
-#define _(args) args
-#else
-#define _(args) ()
-#endif
+/* Rand_seed_t:
+ * This symbol defines the type of the argument of the
+ * random seed function.
+ */
+/* seedDrand01:
+ * This symbol defines the macro to be used in seeding the
+ * random number generator (see Drand01).
+ */
+/* RANDBITS:
+ * This symbol indicates how many bits are produced by the
+ * function used to generate normalized random numbers.
+ * Values include 15, 16, 31, and 48.
+ */
+#define Drand01() ((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15)) /**/
+#define Rand_seed_t int /**/
+#define seedDrand01(x) srand((Rand_seed_t)x) /**/
+#define RANDBITS 48 /**/
+
+/* SELECT_MIN_BITS:
+ * This symbol holds the minimum number of bits operated by select.
+ * That is, if you do select(n, ...), how many bits at least will be
+ * cleared in the masks if some activity is detected. Usually this
+ * is either n or 32*ceil(n/32), especially many little-endians do
+ * the latter. This is only useful if you have select(), naturally.
+ */
+#define SELECT_MIN_BITS 32 /**/
/* Select_fd_set_t:
* This symbol holds the type used for the 2nd, 3rd, and 4th
* arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
- * is defined, and 'int *' otherwise. This is only useful if you
+ * is defined, and 'int *' otherwise. This is only useful if you
* have select(), of course.
*/
#define Select_fd_set_t int /**/
-/* SH_PATH:
- * This symbol contains the full pathname to the shell used on this
- * on this system to execute Bourne shell scripts. Usually, this will be
- * /bin/sh, though it's possible that some systems will have /bin/ksh,
- * /bin/pdksh, /bin/ash, /bin/bash, or even something such as
- * D:/bin/sh.exe.
- */
-#define SH_PATH "/bin/sh" /**/
-
/* SIG_NAME:
* This symbol contains a list of signal names in order of
* signal number. This is intended
@@ -2665,9 +3338,7 @@
* etc., where nn is the actual signal number (e.g. NUM37).
* The signal number for sig_name[i] is stored in sig_num[i].
* The last element is 0 to terminate the list with a NULL. This
- * corresponds to the 0 at the end of the sig_name_init list.
- * Note that this variable is initialized from the sig_name_init,
- * not from sig_name (which is unused).
+ * corresponds to the 0 at the end of the sig_num list.
*/
/* SIG_NUM:
* This symbol contains a list of signal numbers, in the same order as the
@@ -2676,18 +3347,16 @@
* The signals in the list are separated with commas, and the indices
* within that list and the SIG_NAME list match, so it's easy to compute
* the signal name from a number or vice versa at the price of a small
- * dynamic linear lookup.
+ * dynamic linear lookup.
* Duplicates are allowed, but are moved to the end of the list.
* The signal number corresponding to sig_name[i] is sig_number[i].
- * if (i < NSIG) then sig_number[i] == i.
+ * if (i < NSIG) then sig_number[i] == i.
* The last element is 0, corresponding to the 0 at the end of
- * the sig_name_init list.
- * Note that this variable is initialized from the sig_num_init,
- * not from sig_num (which is unused).
+ * the sig_name list.
*/
/* SIG_SIZE:
- * This variable contains the number of elements of the SIG_NAME
- * and SIG_NUM arrays, excluding the final NULL entry.
+ * This variable contains the number of elements of the sig_name
+ * and sig_num arrays, excluding the final NULL entry.
*/
#define SIG_NAME 0 /**/
#define SIG_NUM 0 /**/
@@ -2708,8 +3377,8 @@
* This symbol contains the ~name expanded version of SITEARCH, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-/*#define SITEARCH "/usr/local/lib/perl5/5.11/unknown" / **/
-/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.11/unknown" / **/
+#define SITEARCH "" /**/
+#define SITEARCH_EXP "" /**/
/* SITELIB:
* This symbol contains the name of the private library for this package.
@@ -2731,9 +3400,9 @@
* removed. The elements in inc_version_list (inc_version_list.U) can
* be tacked onto this variable to generate a list of directories to search.
*/
-#define SITELIB "/usr/local/lib/perl5/5.11" /**/
-#define SITELIB_EXP "/usr/local/lib/perl5/5.11" /**/
-#define SITELIB_STEM "/usr/local/lib/perl5" /**/
+#define SITELIB "" /**/
+#define SITELIB_EXP "" /**/
+#define SITELIB_STEM "" /**/
/* Size_t_size:
* This symbol holds the size of a Size_t in bytes.
@@ -2746,7 +3415,7 @@
* unsigned long, int, etc. It may be necessary to include
* <sys/types.h> to get any typedef'ed information.
*/
-#define Size_t size_t /* length paramater for string functions */
+#define Size_t int /* length paramater for string functions */
/* Sock_size_t:
* This symbol holds the type used for the size argument of
@@ -2754,12 +3423,40 @@
*/
#define Sock_size_t int /**/
+/* SSize_t:
+ * This symbol holds the type used by functions that return
+ * a count of bytes or an error condition. It must be a signed type.
+ * It is usually ssize_t, but may be long or int, etc.
+ * It may be necessary to include <sys/types.h> or <unistd.h>
+ * to get any typedef'ed information.
+ * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t int /* signed count of bytes */
+
+/* STARTPERL:
+ * This variable contains the string to put in front of a perl
+ * script to make sure (one hopes) that it runs with perl and not
+ * some shell.
+ */
+#define STARTPERL "" /**/
+
/* STDCHAR:
* This symbol is defined to be the type of char used in stdio.h.
* It has the values "unsigned char" or "char".
*/
#define STDCHAR char /**/
+/* HAS_STDIO_STREAM_ARRAY:
+ * This symbol, if defined, tells that there is an array
+ * holding the stdio streams.
+ */
+/* STDIO_STREAM_ARRAY:
+ * This symbol tells the name of the array holding the stdio streams.
+ * Usual values include _iob, __iob, and __sF.
+ */
+/*#define HAS_STDIO_STREAM_ARRAY / **/
+#define STDIO_STREAM_ARRAY
+
/* Uid_t_f:
* This symbol defines the format string used for printing a Uid_t.
*/
@@ -2783,6 +3480,81 @@
*/
#define Uid_t int /* UID type */
+/* USE_64_BIT_INT:
+ * This symbol, if defined, indicates that 64-bit integers should
+ * be used when available. If not defined, the native integers
+ * will be employed (be they 32 or 64 bits). The minimal possible
+ * 64-bitness is used, just enough to get 64-bit integers into Perl.
+ * This may mean using for example "long longs", while your memory
+ * may still be limited to 2 gigabytes.
+ */
+/* USE_64_BIT_ALL:
+ * This symbol, if defined, indicates that 64-bit integers should
+ * be used when available. If not defined, the native integers
+ * will be used (be they 32 or 64 bits). The maximal possible
+ * 64-bitness is employed: LP64 or ILP64, meaning that you will
+ * be able to use more than 2 gigabytes of memory. This mode is
+ * even more binary incompatible than USE_64_BIT_INT. You may not
+ * be able to run the resulting executable in a 32-bit CPU at all or
+ * you may need at least to reboot your OS to 64-bit mode.
+ */
+#ifndef USE_64_BIT_INT
+/*#define USE_64_BIT_INT / **/
+#endif
+
+#ifndef USE_64_BIT_ALL
+/*#define USE_64_BIT_ALL / **/
+#endif
+
+/* USE_LARGE_FILES:
+ * This symbol, if defined, indicates that large file support
+ * should be used when available.
+ */
+#ifndef USE_LARGE_FILES
+/*#define USE_LARGE_FILES / **/
+#endif
+
+/* USE_LONG_DOUBLE:
+ * This symbol, if defined, indicates that long doubles should
+ * be used when available.
+ */
+#ifndef USE_LONG_DOUBLE
+/*#define USE_LONG_DOUBLE / **/
+#endif
+
+/* USE_MORE_BITS:
+ * This symbol, if defined, indicates that 64-bit interfaces and
+ * long doubles should be used when available.
+ */
+#ifndef USE_MORE_BITS
+/*#define USE_MORE_BITS / **/
+#endif
+
+/* MULTIPLICITY:
+ * This symbol, if defined, indicates that Perl should
+ * be built to use multiplicity.
+ */
+#ifndef MULTIPLICITY
+/*#define MULTIPLICITY / **/
+#endif
+
+/* USE_PERLIO:
+ * This symbol, if defined, indicates that the PerlIO abstraction should
+ * be used throughout. If not defined, stdio should be
+ * used in a fully backward compatible manner.
+ */
+#ifndef USE_PERLIO
+/*#define USE_PERLIO / **/
+#endif
+
+/* USE_SOCKS:
+ * This symbol, if defined, indicates that Perl should
+ * be built to use socks.
+ */
+#ifndef USE_SOCKS
+/*#define USE_SOCKS / **/
+#endif
+
/* USE_ITHREADS:
* This symbol, if defined, indicates that Perl should be built to
* use the interpreter-based threading implementation.
@@ -2790,7 +3562,6 @@
/* USE_5005THREADS:
* This symbol, if defined, indicates that Perl should be built to
* use the 5.005-based threading implementation.
- * Only valid up to 5.8.x.
*/
/* OLD_PTHREADS_API:
* This symbol, if defined, indicates that Perl should
@@ -2813,11 +3584,11 @@
* If defined, this symbol contains the name of a private library.
* The library is private in the sense that it needn't be in anyone's
* execution path, but it should be accessible by the world.
- * It may have a ~ on the front.
+ * It may have a ~ on the front.
* The standard distribution will put nothing in this directory.
* Vendors who distribute perl may wish to place their own
* architecture-dependent modules and extensions in this directory with
- * MakeMaker Makefile.PL INSTALLDIRS=vendor
+ * MakeMaker Makefile.PL INSTALLDIRS=vendor
* or equivalent. See INSTALL for details.
*/
/* PERL_VENDORARCH_EXP:
@@ -2864,498 +3635,137 @@
#define M_VOID /* Xenix strikes again */
#endif
-/* USE_CROSS_COMPILE:
- * This symbol, if defined, indicates that Perl is being cross-compiled.
- */
-/* PERL_TARGETARCH:
- * This symbol, if defined, indicates the target architecture
- * Perl has been cross-compiled to. Undefined if not a cross-compile.
- */
-#ifndef USE_CROSS_COMPILE
-/*#define USE_CROSS_COMPILE / **/
-#define PERL_TARGETARCH "" /**/
-#endif
-
-/* MEM_ALIGNBYTES:
- * This symbol contains the number of bytes required to align a
- * double, or a long double when applicable. Usual values are 2,
- * 4 and 8. The default is eight, for safety.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-# define MEM_ALIGNBYTES 8
-#else
-#define MEM_ALIGNBYTES 4
-#endif
-
-/* BYTEORDER:
- * This symbol holds the hexadecimal constant defined in byteorder,
- * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
- * If the compiler supports cross-compiling or multiple-architecture
- * binaries (eg. on NeXT systems), use compiler-defined macros to
- * determine the byte order.
- * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
- * Binaries (MAB) on either big endian or little endian machines.
- * The endian-ness is available at compile-time. This only matters
- * for perl, where the config.h can be generated and installed on
- * one system, and used by a different architecture to build an
- * extension. Older versions of NeXT that might not have
- * defined either *_ENDIAN__ were all on Motorola 680x0 series,
- * so the default case (for NeXT) is big endian to catch them.
- * This might matter for NeXT 3.0.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-# ifdef __LITTLE_ENDIAN__
-# if LONGSIZE == 4
-# define BYTEORDER 0x1234
-# else
-# if LONGSIZE == 8
-# define BYTEORDER 0x12345678
-# endif
-# endif
-# else
-# ifdef __BIG_ENDIAN__
-# if LONGSIZE == 4
-# define BYTEORDER 0x4321
-# else
-# if LONGSIZE == 8
-# define BYTEORDER 0x87654321
-# endif
-# endif
-# endif
-# endif
-# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
-# define BYTEORDER 0x4321
-# endif
-#else
-#define BYTEORDER 0x1234 /* large digits for MSB */
-#endif /* NeXT */
-
-/* CASTI32:
- * This symbol is defined if the C compiler can cast negative
- * or large floating point numbers to 32-bit ints.
- */
-/*#define CASTI32 / **/
-
-/* CASTNEGFLOAT:
- * This symbol is defined if the C compiler can cast negative
- * numbers to unsigned longs, ints and shorts.
- */
-/* CASTFLAGS:
- * This symbol contains flags that say what difficulties the compiler
- * has casting odd floating values to unsigned long:
- * 0 = ok
- * 1 = couldn't cast < 0
- * 2 = couldn't cast >= 0x80000000
- * 4 = couldn't cast in argument expression list
- */
-/*#define CASTNEGFLOAT / **/
-#define CASTFLAGS 0 /**/
-
-/* VOID_CLOSEDIR:
- * This symbol, if defined, indicates that the closedir() routine
- * does not return a value.
- */
-/*#define VOID_CLOSEDIR / **/
-
-/* HAS_FD_SET:
- * This symbol, when defined, indicates presence of the fd_set typedef
- * in <sys/types.h>
- */
-/*#define HAS_FD_SET / **/
-
-/* Gconvert:
- * This preprocessor macro is defined to convert a floating point
- * number to a string without a trailing decimal point. This
- * emulates the behavior of sprintf("%g"), but is sometimes much more
- * efficient. If gconvert() is not available, but gcvt() drops the
- * trailing decimal point, then gcvt() is used. If all else fails,
- * a macro using sprintf("%g") is used. Arguments for the Gconvert
- * macro are: value, number of digits, whether trailing zeros should
- * be retained, and the output buffer.
- * The usual values are:
- * d_Gconvert='gconvert((x),(n),(t),(b))'
- * d_Gconvert='gcvt((x),(n),(b))'
- * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
- * The last two assume trailing zeros should not be kept.
- */
-#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
-
-/* HAS_GETPAGESIZE:
- * This symbol, if defined, indicates that the getpagesize system call
- * is available to get system page size, which is the granularity of
- * many memory management calls.
- */
-/*#define HAS_GETPAGESIZE / **/
+/* PERL_XS_APIVERSION:
+ * This variable contains the version of the oldest perl binary
+ * compatible with the present perl. perl.c:incpush() and
+ * lib/lib.pm will automatically search in for older
+ * directories across major versions back to xs_apiversion.
+ * This is only useful if you have a perl library directory tree
+ * structured like the default one.
+ * See INSTALL for how this works.
+ * The versioned site_perl directory was introduced in 5.005,
+ * so that is the lowest possible value.
+ * Since this can depend on compile time options
+ * it is set by Configure. Other non-default sources
+ * of potential incompatibility, such as multiplicity, threads,
+ * debugging, 64bits, sfio, etc., are not checked for currently,
+ * though in principle we could go snooping around in old
+ * Config.pm files.
+ */
+/* PERL_PM_APIVERSION:
+ * This variable contains the version of the oldest perl
+ * compatible with the present perl. (That is, pure perl modules
+ * written for pm_apiversion will still work for the current
+ * version). perl.c:incpush() and lib/lib.pm will automatically
+ * search in for older directories across major versions
+ * back to pm_apiversion. This is only useful if you have a perl
+ * library directory tree structured like the default one. The
+ * versioned site_perl library was introduced in 5.005, so that's
+ * the default setting for this variable. It's hard to imagine
+ * it changing before Perl6. It is included here for symmetry
+ * with xs_apiveprsion -- the searching algorithms will
+ * (presumably) be similar.
+ * See the INSTALL file for how this works.
+ */
+#define PERL_XS_APIVERSION "5.008"
+#define PERL_PM_APIVERSION "5.005"
-/* HAS_GNULIBC:
- * This symbol, if defined, indicates to the C program that
- * the GNU C library is being used. A better check is to use
- * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
+/* HAS_CRYPT:
+ * This symbol, if defined, indicates that the crypt routine is available
+ * to encrypt passwords and the like.
*/
-/*#define HAS_GNULIBC / **/
-#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
-# define _GNU_SOURCE
-#endif
+/*#define HAS_CRYPT / **/
-/* HAS_ISASCII:
- * This manifest constant lets the C program know that isascii
- * is available.
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ * This symbol, if defined, indicates that the bug that prevents
+ * setuid scripts from being secure is not present in this kernel.
*/
-/*#define HAS_ISASCII / **/
-
-/* HAS_LCHOWN:
- * This symbol, if defined, indicates that the lchown routine is
- * available to operate on a symbolic link (instead of following the
- * link).
+/* DOSUID:
+ * This symbol, if defined, indicates that the C program should
+ * check the script that it is executing for setuid/setgid bits, and
+ * attempt to emulate setuid/setgid on systems that have disabled
+ * setuid #! scripts because the kernel can't do it securely.
+ * It is up to the package designer to make sure that this emulation
+ * is done securely. Among other things, it should do an fstat on
+ * the script it just opened to make sure it really is a setuid/setgid
+ * script, it should make sure the arguments passed correspond exactly
+ * to the argument on the #! line, and it should not trust any
+ * subprocesses to which it must pass the filename rather than the
+ * file descriptor of the script to be executed.
*/
-/*#define HAS_LCHOWN / **/
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
+/*#define DOSUID / **/
-/* HAS_OPEN3:
- * This manifest constant lets the C program know that the three
- * argument form of open(2) is available.
+/* Shmat_t:
+ * This symbol holds the return type of the shmat() system call.
+ * Usually set to 'void *' or 'char *'.
*/
-/*#define HAS_OPEN3 / **/
-
-/* HAS_SAFE_BCOPY:
- * This symbol, if defined, indicates that the bcopy routine is available
- * to copy potentially overlapping memory blocks. Normally, you should
- * probably use memmove() or memcpy(). If neither is defined, roll your
- * own version.
+/* HAS_SHMAT_PROTOTYPE:
+ * This symbol, if defined, indicates that the sys/shm.h includes
+ * a prototype for shmat(). Otherwise, it is up to the program to
+ * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess,
+ * but not always right so it should be emitted by the program only
+ * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
*/
-/*#define HAS_SAFE_BCOPY / **/
+#define Shmat_t void * /**/
+/*#define HAS_SHMAT_PROTOTYPE / **/
-/* HAS_SAFE_MEMCPY:
- * This symbol, if defined, indicates that the memcpy routine is available
- * to copy potentially overlapping memory blocks. If you need to
- * copy overlapping memory blocks, you should check HAS_MEMMOVE and
- * use memmove() instead, if available.
+/* I_NDBM:
+ * This symbol, if defined, indicates that <ndbm.h> exists and should
+ * be included.
*/
-/*#define HAS_SAFE_MEMCPY / **/
+/*#define I_NDBM / **/
-/* HAS_SANE_MEMCMP:
- * This symbol, if defined, indicates that the memcmp routine is available
- * and can be used to compare relative magnitudes of chars with their high
- * bits set. If it is not defined, roll your own version.
+/* I_STDARG:
+ * This symbol, if defined, indicates that <stdarg.h> exists and should
+ * be included.
*/
-/*#define HAS_SANE_MEMCMP / **/
-
-/* HAS_SIGACTION:
- * This symbol, if defined, indicates that Vr4's sigaction() routine
- * is available.
+/* I_VARARGS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <varargs.h>.
*/
-/*#define HAS_SIGACTION / **/
+#define I_STDARG /**/
+/*#define I_VARARGS / **/
-/* HAS_SIGSETJMP:
- * This variable indicates to the C program that the sigsetjmp()
- * routine is available to save the calling process's registers
- * and stack environment for later use by siglongjmp(), and
- * to optionally save the process's signal mask. See
- * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
- */
-/* Sigjmp_buf:
- * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
- */
-/* Sigsetjmp:
- * This macro is used in the same way as sigsetjmp(), but will invoke
- * traditional setjmp() if sigsetjmp isn't available.
- * See HAS_SIGSETJMP.
+/* CAN_PROTOTYPE:
+ * If defined, this macro indicates that the C compiler can handle
+ * function prototypes.
*/
-/* Siglongjmp:
- * This macro is used in the same way as siglongjmp(), but will invoke
- * traditional longjmp() if siglongjmp isn't available.
- * See HAS_SIGSETJMP.
+/* _:
+ * This macro is used to declare function parameters for folks who want
+ * to make declarations with prototypes using a different style than
+ * the above macros. Use double parentheses. For example:
+ *
+ * int main _((int argc, char *argv[]));
*/
-/*#define HAS_SIGSETJMP / **/
-#ifdef HAS_SIGSETJMP
-#define Sigjmp_buf sigjmp_buf
-#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
-#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
+/*#define CAN_PROTOTYPE / **/
+#ifdef CAN_PROTOTYPE
+#define _(args) args
#else
-#define Sigjmp_buf jmp_buf
-#define Sigsetjmp(buf,save_mask) setjmp((buf))
-#define Siglongjmp(buf,retval) longjmp((buf),(retval))
+#define _(args) ()
#endif
-/* USE_STDIO_PTR:
- * This symbol is defined if the _ptr and _cnt fields (or similar)
- * of the stdio FILE structure can be used to access the stdio buffer
- * for a file handle. If this is defined, then the FILE_ptr(fp)
- * and FILE_cnt(fp) macros will also be defined and should be used
- * to access these fields.
- */
-/* FILE_ptr:
- * This macro is used to access the _ptr field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_PTR_LVALUE:
- * This symbol is defined if the FILE_ptr macro can be used as an
- * lvalue.
- */
-/* FILE_cnt:
- * This macro is used to access the _cnt field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_CNT_LVALUE:
- * This symbol is defined if the FILE_cnt macro can be used as an
- * lvalue.
- */
-/* STDIO_PTR_LVAL_SETS_CNT:
- * This symbol is defined if using the FILE_ptr macro as an lvalue
- * to increase the pointer by n has the side effect of decreasing the
- * value of File_cnt(fp) by n.
- */
-/* STDIO_PTR_LVAL_NOCHANGE_CNT:
- * This symbol is defined if using the FILE_ptr macro as an lvalue
- * to increase the pointer by n leaves File_cnt(fp) unchanged.
+/* SH_PATH:
+ * This symbol contains the full pathname to the shell used on this
+ * on this system to execute Bourne shell scripts. Usually, this will be
+ * /bin/sh, though it's possible that some systems will have /bin/ksh,
+ * /bin/pdksh, /bin/ash, /bin/bash, or even something such as
+ * D:/bin/sh.exe.
*/
-/*#define USE_STDIO_PTR / **/
-#ifdef USE_STDIO_PTR
-#define FILE_ptr(fp) ((fp)->_IO_read_ptr)
-/*#define STDIO_PTR_LVALUE / **/
-#define FILE_cnt(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr)
-/*#define STDIO_CNT_LVALUE / **/
-/*#define STDIO_PTR_LVAL_SETS_CNT / **/
-/*#define STDIO_PTR_LVAL_NOCHANGE_CNT / **/
-#endif
+#define SH_PATH "" /**/
-/* USE_STDIO_BASE:
- * This symbol is defined if the _base field (or similar) of the
- * stdio FILE structure can be used to access the stdio buffer for
- * a file handle. If this is defined, then the FILE_base(fp) macro
- * will also be defined and should be used to access this field.
- * Also, the FILE_bufsiz(fp) macro will be defined and should be used
- * to determine the number of bytes in the buffer. USE_STDIO_BASE
- * will never be defined unless USE_STDIO_PTR is.
- */
-/* FILE_base:
- * This macro is used to access the _base field (or equivalent) of the
- * FILE structure pointed to by its argument. This macro will always be
- * defined if USE_STDIO_BASE is defined.
+/* USE_CROSS_COMPILE:
+ * This symbol, if defined, indicates that Perl is being cross-compiled.
*/
-/* FILE_bufsiz:
- * This macro is used to determine the number of bytes in the I/O
- * buffer pointed to by _base field (or equivalent) of the FILE
- * structure pointed to its argument. This macro will always be defined
- * if USE_STDIO_BASE is defined.
+/* PERL_TARGETARCH:
+ * This symbol, if defined, indicates the target architecture
+ * Perl has been cross-compiled to. Undefined if not a cross-compile.
*/
-/*#define USE_STDIO_BASE / **/
-#ifdef USE_STDIO_BASE
-#define FILE_base(fp) ((fp)->_IO_read_base)
-#define FILE_bufsiz(fp) ((fp)->_IO_read_end - (fp)->_IO_read_base)
+#ifndef USE_CROSS_COMPILE
+/*#define USE_CROSS_COMPILE / **/
+#define PERL_TARGETARCH "" /**/
#endif
-/* HAS_VPRINTF:
- * This symbol, if defined, indicates that the vprintf routine is available
- * to printf with a pointer to an argument list. If unavailable, you
- * may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- * This symbol is defined if this system has vsprintf() returning type
- * (char*). The trend seems to be to declare it as "int vsprintf()". It
- * is up to the package author to declare vsprintf correctly based on the
- * symbol.
- */
-#define HAS_VPRINTF /**/
-/*#define USE_CHAR_VSPRINTF / **/
-
-/* DOUBLESIZE:
- * This symbol contains the size of a double, so that the C preprocessor
- * can make decisions based on it.
- */
-#define DOUBLESIZE 8 /**/
-
-/* I_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <time.h>.
- */
-/* I_SYS_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_gmtoff field.
- */
-#define I_TIME /**/
-/*#define I_SYS_TIME / **/
-/*#define I_SYS_TIME_KERNEL / **/
-/*#define HAS_TM_TM_ZONE / **/
-/*#define HAS_TM_TM_GMTOFF / **/
-
-/* VAL_O_NONBLOCK:
- * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- * non-blocking I/O for the file descriptor. Note that there is no way
- * back, i.e. you cannot turn it blocking again this way. If you wish to
- * alternatively switch between blocking and non-blocking, use the
- * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- * This symbol holds the errno error code set by read() when no data was
- * present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- * This symbol holds the return code from read() when no data is present
- * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- * not defined, then you can't distinguish between no data and EOF by
- * issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- * This symbol, if defined, indicates to the C program that a read() on
- * a non-blocking file descriptor will return 0 on EOF, and not the value
- * held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#undef EOF_NONBLOCK
-
-/* PTRSIZE:
- * This symbol contains the size of a pointer, so that the C preprocessor
- * can make decisions based on it. It will be sizeof(void *) if
- * the compiler supports (void *); otherwise it will be
- * sizeof(char *).
- */
-#define PTRSIZE 4 /**/
-
-/* Drand01:
- * This macro is to be used to generate uniformly distributed
- * random numbers over the range [0., 1.[. You may have to supply
- * an 'extern double drand48();' in your program since SunOS 4.1.3
- * doesn't provide you with anything relevant in its headers.
- * See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- * This symbol defines the type of the argument of the
- * random seed function.
- */
-/* seedDrand01:
- * This symbol defines the macro to be used in seeding the
- * random number generator (see Drand01).
- */
-/* RANDBITS:
- * This symbol indicates how many bits are produced by the
- * function used to generate normalized random numbers.
- * Values include 15, 16, 31, and 48.
- */
-#define Drand01() ((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15)) /**/
-#define Rand_seed_t int /**/
-#define seedDrand01(x) srand((Rand_seed_t)x) /**/
-#define RANDBITS 48 /**/
-
-/* SSize_t:
- * This symbol holds the type used by functions that return
- * a count of bytes or an error condition. It must be a signed type.
- * It is usually ssize_t, but may be long or int, etc.
- * It may be necessary to include <sys/types.h> or <unistd.h>
- * to get any typedef'ed information.
- * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t int /* signed count of bytes */
-
-/* EBCDIC:
- * This symbol, if defined, indicates that this system uses
- * EBCDIC encoding.
- */
-/*#define EBCDIC / **/
-
-/* PERL_USE_DEVEL:
- * This symbol, if defined, indicates that Perl was configured with
- * -Dusedevel, to enable development features. This should not be
- * done for production builds.
- */
-/*#define PERL_USE_DEVEL / **/
-
-/* HAS_ATOLF:
- * This symbol, if defined, indicates that the atolf routine is
- * available to convert strings into long doubles.
- */
-/*#define HAS_ATOLF / **/
-
-/* HAS_ATOLL:
- * This symbol, if defined, indicates that the atoll routine is
- * available to convert strings into long longs.
- */
-/*#define HAS_ATOLL / **/
-
-/* HAS__FWALK:
- * This symbol, if defined, indicates that the _fwalk system call is
- * available to apply a function to all the file handles.
- */
-/*#define HAS__FWALK / **/
-
-/* HAS_AINTL:
- * This symbol, if defined, indicates that the aintl routine is
- * available. If copysignl is also present we can emulate modfl.
- */
-/*#define HAS_AINTL / **/
-
-/* HAS_BUILTIN_CHOOSE_EXPR:
- * Can we handle GCC builtin for compile-time ternary-like expressions
- */
-/* HAS_BUILTIN_EXPECT:
- * Can we handle GCC builtin for telling that certain values are more
- * likely
- */
-/*#define HAS_BUILTIN_EXPECT / **/
-/*#define HAS_BUILTIN_CHOOSE_EXPR / **/
-
-/* HAS_C99_VARIADIC_MACROS:
- * If defined, the compiler supports C99 variadic macros.
- */
-/*#define HAS_C99_VARIADIC_MACROS / **/
-
-/* HAS_CLASS:
- * This symbol, if defined, indicates that the class routine is
- * available to classify doubles. Available for example in AIX.
- * The returned values are defined in <float.h> and are:
- *
- * FP_PLUS_NORM Positive normalized, nonzero
- * FP_MINUS_NORM Negative normalized, nonzero
- * FP_PLUS_DENORM Positive denormalized, nonzero
- * FP_MINUS_DENORM Negative denormalized, nonzero
- * FP_PLUS_ZERO +0.0
- * FP_MINUS_ZERO -0.0
- * FP_PLUS_INF +INF
- * FP_MINUS_INF -INF
- * FP_NANS Signaling Not a Number (NaNS)
- * FP_NANQ Quiet Not a Number (NaNQ)
- */
-/*#define HAS_CLASS / **/
-
-/* HAS_CLEARENV:
- * This symbol, if defined, indicates that the clearenv () routine is
- * available for use.
- */
-/*#define HAS_CLEARENV / **/
-
-/* HAS_STRUCT_CMSGHDR:
- * This symbol, if defined, indicates that the struct cmsghdr
- * is supported.
- */
-/*#define HAS_STRUCT_CMSGHDR / **/
-
-/* HAS_COPYSIGNL:
- * This symbol, if defined, indicates that the copysignl routine is
- * available. If aintl is also present we can emulate modfl.
- */
-/*#define HAS_COPYSIGNL / **/
-
-/* USE_CPLUSPLUS:
- * This symbol, if defined, indicates that a C++ compiler was
- * used to compiled Perl and will be used to compile extensions.
- */
-/*#define USE_CPLUSPLUS / **/
-
/* HAS_DBMINIT_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the dbminit() function. Otherwise, it is up
@@ -3364,58 +3774,12 @@
*/
/*#define HAS_DBMINIT_PROTO / **/
-/* HAS_DIR_DD_FD:
- * This symbol, if defined, indicates that the the DIR* dirstream
- * structure contains a member variable named dd_fd.
- */
-/*#define HAS_DIR_DD_FD / **/
-
/* HAS_DIRFD:
* This manifest constant lets the C program know that dirfd
* is available.
*/
/*#define HAS_DIRFD / **/
-/* DLSYM_NEEDS_UNDERSCORE:
- * This symbol, if defined, indicates that we need to prepend an
- * underscore to the symbol name before calling dlsym(). This only
- * makes sense if you *have* dlsym, which we will presume is the
- * case if you're using dl_dlopen.xs.
- */
-/*#define DLSYM_NEEDS_UNDERSCORE / **/
-
-/* HAS_FAST_STDIO:
- * This symbol, if defined, indicates that the "fast stdio"
- * is available to manipulate the stdio buffers directly.
- */
-/*#define HAS_FAST_STDIO / **/
-
-/* HAS_FCHDIR:
- * This symbol, if defined, indicates that the fchdir routine is
- * available to change directory using a file descriptor.
- */
-/*#define HAS_FCHDIR / **/
-
-/* FCNTL_CAN_LOCK:
- * This symbol, if defined, indicates that fcntl() can be used
- * for file locking. Normally on Unix systems this is defined.
- * It may be undefined on VMS.
- */
-/*#define FCNTL_CAN_LOCK / **/
-
-/* HAS_FINITE:
- * This symbol, if defined, indicates that the finite routine is
- * available to check whether a double is finite (non-infinity non-NaN).
- */
-/*#define HAS_FINITE / **/
-
-/* HAS_FINITEL:
- * This symbol, if defined, indicates that the finitel routine is
- * available to check whether a long double is finite
- * (non-infinity non-NaN).
- */
-/*#define HAS_FINITEL / **/
-
/* HAS_FLOCK_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the flock() function. Otherwise, it is up
@@ -3424,56 +3788,6 @@
*/
/*#define HAS_FLOCK_PROTO / **/
-/* HAS_FP_CLASS:
- * This symbol, if defined, indicates that the fp_class routine is
- * available to classify doubles. Available for example in Digital UNIX.
- * The returned values are defined in <math.h> and are:
- *
- * FP_SNAN Signaling NaN (Not-a-Number)
- * FP_QNAN Quiet NaN (Not-a-Number)
- * FP_POS_INF +infinity
- * FP_NEG_INF -infinity
- * FP_POS_NORM Positive normalized
- * FP_NEG_NORM Negative normalized
- * FP_POS_DENORM Positive denormalized
- * FP_NEG_DENORM Negative denormalized
- * FP_POS_ZERO +0.0 (positive zero)
- * FP_NEG_ZERO -0.0 (negative zero)
- */
-/*#define HAS_FP_CLASS / **/
-
-/* HAS_FPCLASS:
- * This symbol, if defined, indicates that the fpclass routine is
- * available to classify doubles. Available for example in Solaris/SVR4.
- * The returned values are defined in <ieeefp.h> and are:
- *
- * FP_SNAN signaling NaN
- * FP_QNAN quiet NaN
- * FP_NINF negative infinity
- * FP_PINF positive infinity
- * FP_NDENORM negative denormalized non-zero
- * FP_PDENORM positive denormalized non-zero
- * FP_NZERO negative zero
- * FP_PZERO positive zero
- * FP_NNORM negative normalized non-zero
- * FP_PNORM positive normalized non-zero
- */
-/*#define HAS_FPCLASS / **/
-
-/* HAS_FPCLASSIFY:
- * This symbol, if defined, indicates that the fpclassify routine is
- * available to classify doubles. Available for example in HP-UX.
- * The returned values are defined in <math.h> and are
- *
- * FP_NORMAL Normalized
- * FP_ZERO Zero
- * FP_INFINITE Infinity
- * FP_SUBNORMAL Denormalized
- * FP_NAN NaN
- *
- */
-/*#define HAS_FPCLASSIFY / **/
-
/* HAS_FPCLASSL:
* This symbol, if defined, indicates that the fpclassl routine is
* available to classify long doubles. Available for example in IRIX.
@@ -3492,224 +3806,6 @@
*/
/*#define HAS_FPCLASSL / **/
-/* HAS_FPOS64_T:
- * This symbol will be defined if the C compiler supports fpos64_t.
- */
-/*#define HAS_FPOS64_T / **/
-
-/* HAS_FREXPL:
- * This symbol, if defined, indicates that the frexpl routine is
- * available to break a long double floating-point number into
- * a normalized fraction and an integral power of 2.
- */
-/*#define HAS_FREXPL / **/
-
-/* HAS_STRUCT_FS_DATA:
- * This symbol, if defined, indicates that the struct fs_data
- * to do statfs() is supported.
- */
-/*#define HAS_STRUCT_FS_DATA / **/
-
-/* HAS_FSEEKO:
- * This symbol, if defined, indicates that the fseeko routine is
- * available to fseek beyond 32 bits (useful for ILP32 hosts).
- */
-/*#define HAS_FSEEKO / **/
-
-/* HAS_FSTATFS:
- * This symbol, if defined, indicates that the fstatfs routine is
- * available to stat filesystems by file descriptors.
- */
-/*#define HAS_FSTATFS / **/
-
-/* HAS_FSYNC:
- * This symbol, if defined, indicates that the fsync routine is
- * available to write a file's modified data and attributes to
- * permanent storage.
- */
-/*#define HAS_FSYNC / **/
-
-/* HAS_FTELLO:
- * This symbol, if defined, indicates that the ftello routine is
- * available to ftell beyond 32 bits (useful for ILP32 hosts).
- */
-/*#define HAS_FTELLO / **/
-
-/* HAS_FUTIMES:
- * This symbol, if defined, indicates that the futimes routine is
- * available to change file descriptor time stamps with struct timevals.
- */
-/*#define HAS_FUTIMES / **/
-
-/* HAS_GETCWD:
- * This symbol, if defined, indicates that the getcwd routine is
- * available to get the current working directory.
- */
-/*#define HAS_GETCWD / **/
-
-/* HAS_GETESPWNAM:
- * This symbol, if defined, indicates that the getespwnam system call is
- * available to retrieve enchanced (shadow) password entries by name.
- */
-/*#define HAS_GETESPWNAM / **/
-
-/* HAS_GETFSSTAT:
- * This symbol, if defined, indicates that the getfsstat routine is
- * available to stat filesystems in bulk.
- */
-/*#define HAS_GETFSSTAT / **/
-
-/* HAS_GETITIMER:
- * This symbol, if defined, indicates that the getitimer routine is
- * available to return interval timers.
- */
-/*#define HAS_GETITIMER / **/
-
-/* HAS_GETMNT:
- * This symbol, if defined, indicates that the getmnt routine is
- * available to get filesystem mount info by filename.
- */
-/*#define HAS_GETMNT / **/
-
-/* HAS_GETMNTENT:
- * This symbol, if defined, indicates that the getmntent routine is
- * available to iterate through mounted file systems to get their info.
- */
-/*#define HAS_GETMNTENT / **/
-
-/* HAS_GETPRPWNAM:
- * This symbol, if defined, indicates that the getprpwnam system call is
- * available to retrieve protected (shadow) password entries by name.
- */
-/*#define HAS_GETPRPWNAM / **/
-
-/* HAS_GETSPNAM:
- * This symbol, if defined, indicates that the getspnam system call is
- * available to retrieve SysV shadow password entries by name.
- */
-/*#define HAS_GETSPNAM / **/
-
-/* HAS_HASMNTOPT:
- * This symbol, if defined, indicates that the hasmntopt routine is
- * available to query the mount options of file systems.
- */
-/*#define HAS_HASMNTOPT / **/
-
-/* HAS_ILOGBL:
- * This symbol, if defined, indicates that the ilogbl routine is
- * available. If scalbnl is also present we can emulate frexpl.
- */
-/*#define HAS_ILOGBL / **/
-
-/* HAS_INT64_T:
- * This symbol will defined if the C compiler supports int64_t.
- * Usually the <inttypes.h> needs to be included, but sometimes
- * <sys/types.h> is enough.
- */
-/*#define HAS_INT64_T / **/
-
-/* HAS_ISFINITE:
- * This symbol, if defined, indicates that the isfinite routine is
- * available to check whether a double is finite (non-infinity non-NaN).
- */
-/*#define HAS_ISFINITE / **/
-
-/* HAS_ISINF:
- * This symbol, if defined, indicates that the isinf routine is
- * available to check whether a double is an infinity.
- */
-/*#define HAS_ISINF / **/
-
-/* HAS_ISNAN:
- * This symbol, if defined, indicates that the isnan routine is
- * available to check whether a double is a NaN.
- */
-/*#define HAS_ISNAN / **/
-
-/* HAS_ISNANL:
- * This symbol, if defined, indicates that the isnanl routine is
- * available to check whether a long double is a NaN.
- */
-/*#define HAS_ISNANL / **/
-
-/* HAS_LDBL_DIG:
- * This symbol, if defined, indicates that this system's <float.h>
- * or <limits.h> defines the symbol LDBL_DIG, which is the number
- * of significant digits in a long double precision number. Unlike
- * for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
- */
-/*#define HAS_LDBL_DIG / * */
-
-/* LIBM_LIB_VERSION:
- * This symbol, if defined, indicates that libm exports _LIB_VERSION
- * and that math.h defines the enum to manipulate it.
- */
-/*#define LIBM_LIB_VERSION / **/
-
-/* HAS_MADVISE:
- * This symbol, if defined, indicates that the madvise system call is
- * available to map a file into memory.
- */
-/*#define HAS_MADVISE / **/
-
-/* HAS_MALLOC_SIZE:
- * This symbol, if defined, indicates that the malloc_size
- * routine is available for use.
- */
-/*#define HAS_MALLOC_SIZE / **/
-
-/* HAS_MALLOC_GOOD_SIZE:
- * This symbol, if defined, indicates that the malloc_good_size
- * routine is available for use.
- */
-/*#define HAS_MALLOC_GOOD_SIZE / **/
-
-/* HAS_MKDTEMP:
- * This symbol, if defined, indicates that the mkdtemp routine is
- * available to exclusively create a uniquely named temporary directory.
- */
-/*#define HAS_MKDTEMP / **/
-
-/* HAS_MKSTEMPS:
- * This symbol, if defined, indicates that the mkstemps routine is
- * available to excluslvely create and open a uniquely named
- * (with a suffix) temporary file.
- */
-/*#define HAS_MKSTEMPS / **/
-
-/* HAS_MODFL:
- * This symbol, if defined, indicates that the modfl routine is
- * available to split a long double x into a fractional part f and
- * an integer part i such that |f| < 1.0 and (f + i) = x.
- */
-/* HAS_MODFL_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the modfl() function. Otherwise, it is up
- * to the program to supply one.
- */
-/* HAS_MODFL_POW32_BUG:
- * This symbol, if defined, indicates that the modfl routine is
- * broken for long doubles >= pow(2, 32).
- * For example from 4294967303.150000 one would get 4294967302.000000
- * and 1.150000. The bug has been seen in certain versions of glibc,
- * release 2.2.2 is known to be okay.
- */
-/*#define HAS_MODFL / **/
-/*#define HAS_MODFL_PROTO / **/
-/*#define HAS_MODFL_POW32_BUG / **/
-
-/* HAS_MPROTECT:
- * This symbol, if defined, indicates that the mprotect system call is
- * available to modify the access protection of a memory mapped file.
- */
-/*#define HAS_MPROTECT / **/
-
-/* HAS_STRUCT_MSGHDR:
- * This symbol, if defined, indicates that the struct msghdr
- * is supported.
- */
-/*#define HAS_STRUCT_MSGHDR / **/
-
/* HAS_NL_LANGINFO:
* This symbol, if defined, indicates that the nl_langinfo routine is
* available to return local data. You will also need <langinfo.h>
@@ -3717,11 +3813,6 @@
*/
/*#define HAS_NL_LANGINFO / **/
-/* HAS_OFF64_T:
- * This symbol will be defined if the C compiler supports off64_t.
- */
-/*#define HAS_OFF64_T / **/
-
/* HAS_PROCSELFEXE:
* This symbol is defined if PROCSELFEXE_PATH is a symlink
* to the absolute pathname of the executing program.
@@ -3736,75 +3827,6 @@
#define PROCSELFEXE_PATH /**/
#endif
-/* HAS_PTHREAD_ATTR_SETSCOPE:
- * This symbol, if defined, indicates that the pthread_attr_setscope
- * system call is available to set the contention scope attribute of
- * a thread attribute object.
- */
-/*#define HAS_PTHREAD_ATTR_SETSCOPE / **/
-
-/* HAS_READV:
- * This symbol, if defined, indicates that the readv routine is
- * available to do gather reads. You will also need <sys/uio.h>
- * and there I_SYSUIO.
- */
-/*#define HAS_READV / **/
-
-/* HAS_RECVMSG:
- * This symbol, if defined, indicates that the recvmsg routine is
- * available to send structured socket messages.
- */
-/*#define HAS_RECVMSG / **/
-
-/* HAS_SBRK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the sbrk() function. Otherwise, it is up
- * to the program to supply one. Good guesses are
- * extern void* sbrk(int);
- * extern void* sbrk(size_t);
- */
-/*#define HAS_SBRK_PROTO / **/
-
-/* HAS_SCALBNL:
- * This symbol, if defined, indicates that the scalbnl routine is
- * available. If ilogbl is also present we can emulate frexpl.
- */
-/*#define HAS_SCALBNL / **/
-
-/* HAS_SENDMSG:
- * This symbol, if defined, indicates that the sendmsg routine is
- * available to send structured socket messages.
- */
-/*#define HAS_SENDMSG / **/
-
-/* HAS_SETITIMER:
- * This symbol, if defined, indicates that the setitimer routine is
- * available to set interval timers.
- */
-/*#define HAS_SETITIMER / **/
-
-/* HAS_SETPROCTITLE:
- * This symbol, if defined, indicates that the setproctitle routine is
- * available to set process title.
- */
-/*#define HAS_SETPROCTITLE / **/
-
-/* USE_SFIO:
- * This symbol, if defined, indicates that sfio should
- * be used.
- */
-/*#define USE_SFIO / **/
-
-/* HAS_SIGNBIT:
- * This symbol, if defined, indicates that the signbit routine is
- * available to check if the given number has the sign bit set.
- * This should include correct testing of -0.0. This will only be set
- * if the signbit() routine is safe to use with the NV type used internally
- * in perl. Users should call Perl_signbit(), which will be #defined to
- * the system's signbit() function or macro if this symbol is defined.
- */
-/*#define HAS_SIGNBIT / **/
-
/* HAS_SIGPROCMASK:
* This symbol, if defined, indicates that the sigprocmask
* system call is available to examine or change the signal mask
@@ -3812,25 +3834,6 @@
*/
/*#define HAS_SIGPROCMASK / **/
-/* USE_SITECUSTOMIZE:
- * This symbol, if defined, indicates that sitecustomize should
- * be used.
- */
-#ifndef USE_SITECUSTOMIZE
-/*#define USE_SITECUSTOMIZE / **/
-#endif
-
-/* HAS_SNPRINTF:
- * This symbol, if defined, indicates that the snprintf () library
- * function is available for use.
- */
-/* HAS_VSNPRINTF:
- * This symbol, if defined, indicates that the vsnprintf () library
- * function is available for use.
- */
-/*#define HAS_SNPRINTF / **/
-/*#define HAS_VSNPRINTF / **/
-
/* HAS_SOCKATMARK:
* This symbol, if defined, indicates that the sockatmark routine is
* available to test whether a socket is at the out-of-band mark.
@@ -3845,26 +3848,6 @@
*/
/*#define HAS_SOCKATMARK_PROTO / **/
-/* HAS_SOCKS5_INIT:
- * This symbol, if defined, indicates that the socks5_init routine is
- * available to initialize SOCKS 5.
- */
-/*#define HAS_SOCKS5_INIT / **/
-
-/* SPRINTF_RETURNS_STRLEN:
- * This variable defines whether sprintf returns the length of the string
- * (as per the ANSI spec). Some C libraries retain compatibility with
- * pre-ANSI C and return a pointer to the passed in buffer; for these
- * this variable will be undef.
- */
-/*#define SPRINTF_RETURNS_STRLEN / **/
-
-/* HAS_SQRTL:
- * This symbol, if defined, indicates that the sqrtl routine is
- * available to do long double square roots.
- */
-/*#define HAS_SQRTL / **/
-
/* HAS_SETRESGID_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the setresgid() function. Otherwise, it is up
@@ -3881,77 +3864,12 @@
*/
/*#define HAS_SETRESUID_PROTO / **/
-/* HAS_STRUCT_STATFS_F_FLAGS:
- * This symbol, if defined, indicates that the struct statfs
- * does have the f_flags member containing the mount flags of
- * the filesystem containing the file.
- * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3),
- * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not
- * have statfs() and struct statfs, they have ustat() and getmnt()
- * with struct ustat and struct fs_data.
- */
-/*#define HAS_STRUCT_STATFS_F_FLAGS / **/
-
-/* HAS_STRUCT_STATFS:
- * This symbol, if defined, indicates that the struct statfs
- * to do statfs() is supported.
- */
-/*#define HAS_STRUCT_STATFS / **/
-
-/* HAS_FSTATVFS:
- * This symbol, if defined, indicates that the fstatvfs routine is
- * available to stat filesystems by file descriptors.
- */
-/*#define HAS_FSTATVFS / **/
-
/* HAS_STRFTIME:
* This symbol, if defined, indicates that the strftime routine is
* available to do time formatting.
*/
/*#define HAS_STRFTIME / **/
-/* HAS_STRLCAT:
- * This symbol, if defined, indicates that the strlcat () routine is
- * available to do string concatenation.
- */
-/*#define HAS_STRLCAT / **/
-
-/* HAS_STRLCPY:
- * This symbol, if defined, indicates that the strlcpy () routine is
- * available to do string copying.
- */
-/*#define HAS_STRLCPY / **/
-
-/* HAS_STRTOLD:
- * This symbol, if defined, indicates that the strtold routine is
- * available to convert strings to long doubles.
- */
-/*#define HAS_STRTOLD / **/
-
-/* HAS_STRTOLL:
- * This symbol, if defined, indicates that the strtoll routine is
- * available to convert strings to long longs.
- */
-/*#define HAS_STRTOLL / **/
-
-/* HAS_STRTOQ:
- * This symbol, if defined, indicates that the strtoq routine is
- * available to convert strings to long longs (quads).
- */
-/*#define HAS_STRTOQ / **/
-
-/* HAS_STRTOULL:
- * This symbol, if defined, indicates that the strtoull routine is
- * available to convert strings to unsigned long longs.
- */
-/*#define HAS_STRTOULL / **/
-
-/* HAS_STRTOUQ:
- * This symbol, if defined, indicates that the strtouq routine is
- * available to convert strings to unsigned long longs (quads).
- */
-/*#define HAS_STRTOUQ / **/
-
/* HAS_SYSCALL_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the syscall() function. Otherwise, it is up
@@ -3961,51 +3879,6 @@
*/
/*#define HAS_SYSCALL_PROTO / **/
-/* HAS_TELLDIR_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the telldir() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern long telldir(DIR*);
- */
-/*#define HAS_TELLDIR_PROTO / **/
-
-/* HAS_CTIME64:
- * This symbol, if defined, indicates that the ctime64 () routine is
- * available to do the 64bit variant of ctime ()
- */
-/* HAS_LOCALTIME64:
- * This symbol, if defined, indicates that the localtime64 () routine is
- * available to do the 64bit variant of localtime ()
- */
-/* HAS_GMTIME64:
- * This symbol, if defined, indicates that the gmtime64 () routine is
- * available to do the 64bit variant of gmtime ()
- */
-/* HAS_MKTIME64:
- * This symbol, if defined, indicates that the mktime64 () routine is
- * available to do the 64bit variant of mktime ()
- */
-/* HAS_DIFFTIME64:
- * This symbol, if defined, indicates that the difftime64 () routine is
- * available to do the 64bit variant of difftime ()
- */
-/* HAS_ASCTIME64:
- * This symbol, if defined, indicates that the asctime64 () routine is
- * available to do the 64bit variant of asctime ()
- */
-/*#define HAS_CTIME64 / **/
-/*#define HAS_LOCALTIME64 / **/
-/*#define HAS_GMTIME64 / **/
-/*#define HAS_MKTIME64 / **/
-/*#define HAS_DIFFTIME64 / **/
-/*#define HAS_ASCTIME64 / **/
-
-/* HAS_TIMEGM:
- * This symbol, if defined, indicates that the timegm routine is
- * available to do the opposite of gmtime ()
- */
-/*#define HAS_TIMEGM / **/
-
/* U32_ALIGNMENT_REQUIRED:
* This symbol, if defined, indicates that you must access
* character data through U32-aligned pointers.
@@ -4014,25 +3887,6 @@
#define U32_ALIGNMENT_REQUIRED /**/
#endif
-/* HAS_UALARM:
- * This symbol, if defined, indicates that the ualarm routine is
- * available to do alarms with microsecond granularity.
- */
-/*#define HAS_UALARM / **/
-
-/* HAS_UNORDERED:
- * This symbol, if defined, indicates that the unordered routine is
- * available to check whether two doubles are unordered
- * (effectively: whether either of them is NaN)
- */
-/*#define HAS_UNORDERED / **/
-
-/* HAS_UNSETENV:
- * This symbol, if defined, indicates that the unsetenv () routine is
- * available for use.
- */
-/*#define HAS_UNSETENV / **/
-
/* HAS_USLEEP_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the usleep() function. Otherwise, it is up
@@ -4041,555 +3895,340 @@
*/
/*#define HAS_USLEEP_PROTO / **/
-/* HAS_USTAT:
- * This symbol, if defined, indicates that the ustat system call is
- * available to query file system statistics by dev_t.
- */
-/*#define HAS_USTAT / **/
-
-/* HAS_WRITEV:
- * This symbol, if defined, indicates that the writev routine is
- * available to do scatter writes.
- */
-/*#define HAS_WRITEV / **/
-
-/* USE_DYNAMIC_LOADING:
- * This symbol, if defined, indicates that dynamic loading of
- * some sort is available.
- */
-/*#define USE_DYNAMIC_LOADING / **/
-
-/* FFLUSH_NULL:
- * This symbol, if defined, tells that fflush(NULL) does flush
- * all pending stdio output.
- */
-/* FFLUSH_ALL:
- * This symbol, if defined, tells that to flush
- * all pending stdio output one must loop through all
- * the stdio file handles stored in an array and fflush them.
- * Note that if fflushNULL is defined, fflushall will not
- * even be probed for and will be left undefined.
- */
-/*#define FFLUSH_NULL / **/
-/*#define FFLUSH_ALL / **/
-
-/* I_ASSERT:
- * This symbol, if defined, indicates that <assert.h> exists and
- * could be included by the C program to get the assert() macro.
- */
-#define I_ASSERT /**/
-
/* I_CRYPT:
* This symbol, if defined, indicates that <crypt.h> exists and
* should be included.
*/
/*#define I_CRYPT / **/
-/* DB_Prefix_t:
- * This symbol contains the type of the prefix structure element
- * in the <db.h> header file. In older versions of DB, it was
- * int, while in newer ones it is u_int32_t.
- */
-/* DB_Hash_t:
- * This symbol contains the type of the prefix structure element
- * in the <db.h> header file. In older versions of DB, it was
- * int, while in newer ones it is size_t.
- */
-/* DB_VERSION_MAJOR_CFG:
- * This symbol, if defined, defines the major version number of
- * Berkeley DB found in the <db.h> header when Perl was configured.
- */
-/* DB_VERSION_MINOR_CFG:
- * This symbol, if defined, defines the minor version number of
- * Berkeley DB found in the <db.h> header when Perl was configured.
- * For DB version 1 this is always 0.
- */
-/* DB_VERSION_PATCH_CFG:
- * This symbol, if defined, defines the patch version number of
- * Berkeley DB found in the <db.h> header when Perl was configured.
- * For DB version 1 this is always 0.
- */
-#define DB_Hash_t u_int32_t /**/
-#define DB_Prefix_t size_t /**/
-#define DB_VERSION_MAJOR_CFG 0 /**/
-#define DB_VERSION_MINOR_CFG 0 /**/
-#define DB_VERSION_PATCH_CFG 0 /**/
-
/* I_FP:
* This symbol, if defined, indicates that <fp.h> exists and
* should be included.
*/
/*#define I_FP / **/
-/* I_FP_CLASS:
- * This symbol, if defined, indicates that <fp_class.h> exists and
- * should be included.
- */
-/*#define I_FP_CLASS / **/
-
-/* I_IEEEFP:
- * This symbol, if defined, indicates that <ieeefp.h> exists and
- * should be included.
- */
-/*#define I_IEEEFP / **/
-
-/* I_INTTYPES:
- * This symbol, if defined, indicates to the C program that it should
- * include <inttypes.h>.
- */
-/*#define I_INTTYPES / **/
-
/* I_LANGINFO:
* This symbol, if defined, indicates that <langinfo.h> exists and
* should be included.
*/
/*#define I_LANGINFO / **/
-/* I_LIBUTIL:
- * This symbol, if defined, indicates that <libutil.h> exists and
- * should be included.
- */
-/*#define I_LIBUTIL / **/
-
-/* I_MALLOCMALLOC:
- * This symbol, if defined, indicates to the C program that it should
- * include <malloc/malloc.h>.
+/* HAS_CTERMID_R:
+ * This symbol, if defined, indicates that the ctermid_r routine
+ * is available to ctermid re-entrantly.
*/
-/*#define I_MALLOCMALLOC / **/
-
-/* I_MNTENT:
- * This symbol, if defined, indicates that <mntent.h> exists and
- * should be included.
+/* CTERMID_R_PROTO:
+ * This symbol encodes the prototype of ctermid_r.
+ * It is zero if d_ctermid_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
+ * is defined.
*/
-/*#define I_MNTENT / **/
+/*#define HAS_CTERMID_R / **/
+#define CTERMID_R_PROTO 0 /**/
-/* I_NETINET_TCP:
- * This symbol, if defined, indicates to the C program that it should
- * include <netinet/tcp.h>.
+/* HAS_ENDHOSTENT_R:
+ * This symbol, if defined, indicates that the endhostent_r routine
+ * is available to endhostent re-entrantly.
*/
-/*#define I_NETINET_TCP / **/
-
-/* I_POLL:
- * This symbol, if defined, indicates that <poll.h> exists and
- * should be included. (see also HAS_POLL)
+/* ENDHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of endhostent_r.
+ * It is zero if d_endhostent_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
+ * is defined.
*/
-/*#define I_POLL / **/
+/*#define HAS_ENDHOSTENT_R / **/
+#define ENDHOSTENT_R_PROTO 0 /**/
-/* I_PROT:
- * This symbol, if defined, indicates that <prot.h> exists and
- * should be included.
+/* HAS_ENDNETENT_R:
+ * This symbol, if defined, indicates that the endnetent_r routine
+ * is available to endnetent re-entrantly.
*/
-/*#define I_PROT / **/
-
-/* I_SHADOW:
- * This symbol, if defined, indicates that <shadow.h> exists and
- * should be included.
+/* ENDNETENT_R_PROTO:
+ * This symbol encodes the prototype of endnetent_r.
+ * It is zero if d_endnetent_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
+ * is defined.
*/
-/*#define I_SHADOW / **/
+/*#define HAS_ENDNETENT_R / **/
+#define ENDNETENT_R_PROTO 0 /**/
-/* I_SOCKS:
- * This symbol, if defined, indicates that <socks.h> exists and
- * should be included.
+/* HAS_ENDPROTOENT_R:
+ * This symbol, if defined, indicates that the endprotoent_r routine
+ * is available to endprotoent re-entrantly.
*/
-/*#define I_SOCKS / **/
-
-/* I_SUNMATH:
- * This symbol, if defined, indicates that <sunmath.h> exists and
- * should be included.
+/* ENDPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of endprotoent_r.
+ * It is zero if d_endprotoent_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
+ * is defined.
*/
-/*#define I_SUNMATH / **/
+/*#define HAS_ENDPROTOENT_R / **/
+#define ENDPROTOENT_R_PROTO 0 /**/
-/* I_SYSLOG:
- * This symbol, if defined, indicates that <syslog.h> exists and
- * should be included.
+/* HAS_ENDSERVENT_R:
+ * This symbol, if defined, indicates that the endservent_r routine
+ * is available to endservent re-entrantly.
*/
-/*#define I_SYSLOG / **/
-
-/* I_SYSMODE:
- * This symbol, if defined, indicates that <sys/mode.h> exists and
- * should be included.
+/* ENDSERVENT_R_PROTO:
+ * This symbol encodes the prototype of endservent_r.
+ * It is zero if d_endservent_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
+ * is defined.
*/
-/*#define I_SYSMODE / **/
+/*#define HAS_ENDSERVENT_R / **/
+#define ENDSERVENT_R_PROTO 0 /**/
-/* I_SYS_MOUNT:
- * This symbol, if defined, indicates that <sys/mount.h> exists and
- * should be included.
+/* HAS_GETHOSTBYADDR_R:
+ * This symbol, if defined, indicates that the gethostbyaddr_r routine
+ * is available to gethostbyaddr re-entrantly.
*/
-/*#define I_SYS_MOUNT / **/
-
-/* I_SYS_STATFS:
- * This symbol, if defined, indicates that <sys/statfs.h> exists.
+/* GETHOSTBYADDR_R_PROTO:
+ * This symbol encodes the prototype of gethostbyaddr_r.
+ * It is zero if d_gethostbyaddr_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
+ * is defined.
*/
-/*#define I_SYS_STATFS / **/
+/*#define HAS_GETHOSTBYADDR_R / **/
+#define GETHOSTBYADDR_R_PROTO 0 /**/
-/* I_SYS_STATVFS:
- * This symbol, if defined, indicates that <sys/statvfs.h> exists and
- * should be included.
+/* HAS_GETHOSTBYNAME_R:
+ * This symbol, if defined, indicates that the gethostbyname_r routine
+ * is available to gethostbyname re-entrantly.
*/
-/*#define I_SYS_STATVFS / **/
-
-/* I_SYSUTSNAME:
- * This symbol, if defined, indicates that <sys/utsname.h> exists and
- * should be included.
+/* GETHOSTBYNAME_R_PROTO:
+ * This symbol encodes the prototype of gethostbyname_r.
+ * It is zero if d_gethostbyname_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
+ * is defined.
*/
-/*#define I_SYSUTSNAME / **/
+/*#define HAS_GETHOSTBYNAME_R / **/
+#define GETHOSTBYNAME_R_PROTO 0 /**/
-/* I_SYS_VFS:
- * This symbol, if defined, indicates that <sys/vfs.h> exists and
- * should be included.
+/* HAS_GETHOSTENT_R:
+ * This symbol, if defined, indicates that the gethostent_r routine
+ * is available to gethostent re-entrantly.
*/
-/*#define I_SYS_VFS / **/
-
-/* I_USTAT:
- * This symbol, if defined, indicates that <ustat.h> exists and
- * should be included.
+/* GETHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of gethostent_r.
+ * It is zero if d_gethostent_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
+ * is defined.
*/
-/*#define I_USTAT / **/
+/*#define HAS_GETHOSTENT_R / **/
+#define GETHOSTENT_R_PROTO 0 /**/
-/* PERL_PRIfldbl:
- * This symbol, if defined, contains the string used by stdio to
- * format long doubles (format 'f') for output.
- */
-/* PERL_PRIgldbl:
- * This symbol, if defined, contains the string used by stdio to
- * format long doubles (format 'g') for output.
- */
-/* PERL_PRIeldbl:
- * This symbol, if defined, contains the string used by stdio to
- * format long doubles (format 'e') for output.
+/* HAS_GETNETBYADDR_R:
+ * This symbol, if defined, indicates that the getnetbyaddr_r routine
+ * is available to getnetbyaddr re-entrantly.
*/
-/* PERL_SCNfldbl:
- * This symbol, if defined, contains the string used by stdio to
- * format long doubles (format 'f') for input.
+/* GETNETBYADDR_R_PROTO:
+ * This symbol encodes the prototype of getnetbyaddr_r.
+ * It is zero if d_getnetbyaddr_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
+ * is defined.
*/
-/*#define PERL_PRIfldbl "llf" / **/
-/*#define PERL_PRIgldbl "llg" / **/
-/*#define PERL_PRIeldbl "lle" / **/
-/*#define PERL_SCNfldbl "llf" / **/
+/*#define HAS_GETNETBYADDR_R / **/
+#define GETNETBYADDR_R_PROTO 0 /**/
-/* PERL_MAD:
- * This symbol, if defined, indicates that the Misc Attribution
- * Declaration code should be conditionally compiled.
+/* HAS_GETNETBYNAME_R:
+ * This symbol, if defined, indicates that the getnetbyname_r routine
+ * is available to getnetbyname re-entrantly.
*/
-/*#define PERL_MAD / **/
-
-/* NEED_VA_COPY:
- * This symbol, if defined, indicates that the system stores
- * the variable argument list datatype, va_list, in a format
- * that cannot be copied by simple assignment, so that some
- * other means must be used when copying is required.
- * As such systems vary in their provision (or non-provision)
- * of copying mechanisms, handy.h defines a platform-
- * independent macro, Perl_va_copy(src, dst), to do the job.
+/* GETNETBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getnetbyname_r.
+ * It is zero if d_getnetbyname_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
+ * is defined.
*/
-/*#define NEED_VA_COPY / **/
+/*#define HAS_GETNETBYNAME_R / **/
+#define GETNETBYNAME_R_PROTO 0 /**/
-/* IVTYPE:
- * This symbol defines the C type used for Perl's IV.
- */
-/* UVTYPE:
- * This symbol defines the C type used for Perl's UV.
- */
-/* I8TYPE:
- * This symbol defines the C type used for Perl's I8.
- */
-/* U8TYPE:
- * This symbol defines the C type used for Perl's U8.
- */
-/* I16TYPE:
- * This symbol defines the C type used for Perl's I16.
- */
-/* U16TYPE:
- * This symbol defines the C type used for Perl's U16.
- */
-/* I32TYPE:
- * This symbol defines the C type used for Perl's I32.
- */
-/* U32TYPE:
- * This symbol defines the C type used for Perl's U32.
- */
-/* I64TYPE:
- * This symbol defines the C type used for Perl's I64.
- */
-/* U64TYPE:
- * This symbol defines the C type used for Perl's U64.
- */
-/* NVTYPE:
- * This symbol defines the C type used for Perl's NV.
- */
-/* IVSIZE:
- * This symbol contains the sizeof(IV).
- */
-/* UVSIZE:
- * This symbol contains the sizeof(UV).
- */
-/* I8SIZE:
- * This symbol contains the sizeof(I8).
- */
-/* U8SIZE:
- * This symbol contains the sizeof(U8).
- */
-/* I16SIZE:
- * This symbol contains the sizeof(I16).
- */
-/* U16SIZE:
- * This symbol contains the sizeof(U16).
- */
-/* I32SIZE:
- * This symbol contains the sizeof(I32).
- */
-/* U32SIZE:
- * This symbol contains the sizeof(U32).
- */
-/* I64SIZE:
- * This symbol contains the sizeof(I64).
- */
-/* U64SIZE:
- * This symbol contains the sizeof(U64).
- */
-/* NVSIZE:
- * This symbol contains the sizeof(NV).
- */
-/* NV_PRESERVES_UV:
- * This symbol, if defined, indicates that a variable of type NVTYPE
- * can preserve all the bits of a variable of type UVTYPE.
+/* HAS_GETNETENT_R:
+ * This symbol, if defined, indicates that the getnetent_r routine
+ * is available to getnetent re-entrantly.
*/
-/* NV_PRESERVES_UV_BITS:
- * This symbol contains the number of bits a variable of type NVTYPE
- * can preserve of a variable of type UVTYPE.
+/* GETNETENT_R_PROTO:
+ * This symbol encodes the prototype of getnetent_r.
+ * It is zero if d_getnetent_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
+ * is defined.
*/
-/* NV_OVERFLOWS_INTEGERS_AT:
- * This symbol gives the largest integer value that NVs can hold. This
- * value + 1.0 cannot be stored accurately. It is expressed as constant
- * floating point expression to reduce the chance of decimale/binary
- * conversion issues. If it can not be determined, the value 0 is given.
+/*#define HAS_GETNETENT_R / **/
+#define GETNETENT_R_PROTO 0 /**/
+
+/* HAS_GETPROTOBYNAME_R:
+ * This symbol, if defined, indicates that the getprotobyname_r routine
+ * is available to getprotobyname re-entrantly.
*/
-/* NV_ZERO_IS_ALLBITS_ZERO:
- * This symbol, if defined, indicates that a variable of type NVTYPE
- * stores 0.0 in memory as all bits zero.
+/* GETPROTOBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getprotobyname_r.
+ * It is zero if d_getprotobyname_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
+ * is defined.
*/
-#define IVTYPE long /**/
-#define UVTYPE unsigned long /**/
-#define I8TYPE char /**/
-#define U8TYPE unsigned char /**/
-#define I16TYPE short /**/
-#define U16TYPE unsigned short /**/
-#define I32TYPE long /**/
-#define U32TYPE unsigned long /**/
-#ifdef HAS_QUAD
-#define I64TYPE int64_t /**/
-#define U64TYPE uint64_t /**/
-#endif
-#define NVTYPE double /**/
-#define IVSIZE 4 /**/
-#define UVSIZE 4 /**/
-#define I8SIZE 1 /**/
-#define U8SIZE 1 /**/
-#define I16SIZE 2 /**/
-#define U16SIZE 2 /**/
-#define I32SIZE 4 /**/
-#define U32SIZE 4 /**/
-#ifdef HAS_QUAD
-#define I64SIZE 8 /**/
-#define U64SIZE 8 /**/
-#endif
-#define NVSIZE 8 /**/
-#undef NV_PRESERVES_UV
-#define NV_PRESERVES_UV_BITS 0
-#define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
-#undef NV_ZERO_IS_ALLBITS_ZERO
-#if UVSIZE == 8
-# ifdef BYTEORDER
-# if BYTEORDER == 0x1234
-# undef BYTEORDER
-# define BYTEORDER 0x12345678
-# else
-# if BYTEORDER == 0x4321
-# undef BYTEORDER
-# define BYTEORDER 0x87654321
-# endif
-# endif
-# endif
-#endif
+/*#define HAS_GETPROTOBYNAME_R / **/
+#define GETPROTOBYNAME_R_PROTO 0 /**/
-/* IVdf:
- * This symbol defines the format string used for printing a Perl IV
- * as a signed decimal integer.
+/* HAS_GETPROTOBYNUMBER_R:
+ * This symbol, if defined, indicates that the getprotobynumber_r routine
+ * is available to getprotobynumber re-entrantly.
*/
-/* UVuf:
- * This symbol defines the format string used for printing a Perl UV
- * as an unsigned decimal integer.
+/* GETPROTOBYNUMBER_R_PROTO:
+ * This symbol encodes the prototype of getprotobynumber_r.
+ * It is zero if d_getprotobynumber_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
+ * is defined.
*/
-/* UVof:
- * This symbol defines the format string used for printing a Perl UV
- * as an unsigned octal integer.
+/*#define HAS_GETPROTOBYNUMBER_R / **/
+#define GETPROTOBYNUMBER_R_PROTO 0 /**/
+
+/* HAS_GETPROTOENT_R:
+ * This symbol, if defined, indicates that the getprotoent_r routine
+ * is available to getprotoent re-entrantly.
*/
-/* UVxf:
- * This symbol defines the format string used for printing a Perl UV
- * as an unsigned hexadecimal integer in lowercase abcdef.
+/* GETPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of getprotoent_r.
+ * It is zero if d_getprotoent_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
+ * is defined.
*/
-/* UVXf:
- * This symbol defines the format string used for printing a Perl UV
- * as an unsigned hexadecimal integer in uppercase ABCDEF.
+/*#define HAS_GETPROTOENT_R / **/
+#define GETPROTOENT_R_PROTO 0 /**/
+
+/* HAS_GETSERVBYNAME_R:
+ * This symbol, if defined, indicates that the getservbyname_r routine
+ * is available to getservbyname re-entrantly.
*/
-/* NVef:
- * This symbol defines the format string used for printing a Perl NV
- * using %e-ish floating point format.
+/* GETSERVBYNAME_R_PROTO:
+ * This symbol encodes the prototype of getservbyname_r.
+ * It is zero if d_getservbyname_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
+ * is defined.
*/
-/* NVff:
- * This symbol defines the format string used for printing a Perl NV
- * using %f-ish floating point format.
+/*#define HAS_GETSERVBYNAME_R / **/
+#define GETSERVBYNAME_R_PROTO 0 /**/
+
+/* HAS_GETSERVBYPORT_R:
+ * This symbol, if defined, indicates that the getservbyport_r routine
+ * is available to getservbyport re-entrantly.
*/
-/* NVgf:
- * This symbol defines the format string used for printing a Perl NV
- * using %g-ish floating point format.
+/* GETSERVBYPORT_R_PROTO:
+ * This symbol encodes the prototype of getservbyport_r.
+ * It is zero if d_getservbyport_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
+ * is defined.
*/
-#define IVdf "ld" /**/
-#define UVuf "lu" /**/
-#define UVof "lo" /**/
-#define UVxf "lx" /**/
-#define UVXf "lX" /**/
-#define NVef "e" /**/
-#define NVff "f" /**/
-#define NVgf "g" /**/
+/*#define HAS_GETSERVBYPORT_R / **/
+#define GETSERVBYPORT_R_PROTO 0 /**/
-/* SELECT_MIN_BITS:
- * This symbol holds the minimum number of bits operated by select.
- * That is, if you do select(n, ...), how many bits at least will be
- * cleared in the masks if some activity is detected. Usually this
- * is either n or 32*ceil(n/32), especially many little-endians do
- * the latter. This is only useful if you have select(), naturally.
+/* HAS_GETSERVENT_R:
+ * This symbol, if defined, indicates that the getservent_r routine
+ * is available to getservent re-entrantly.
*/
-#define SELECT_MIN_BITS 32 /**/
-
-/* STARTPERL:
- * This variable contains the string to put in front of a perl
- * script to make sure (one hopes) that it runs with perl and not
- * some shell.
+/* GETSERVENT_R_PROTO:
+ * This symbol encodes the prototype of getservent_r.
+ * It is zero if d_getservent_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
+ * is defined.
*/
-#define STARTPERL "#!perl" /**/
+/*#define HAS_GETSERVENT_R / **/
+#define GETSERVENT_R_PROTO 0 /**/
-/* HAS_STDIO_STREAM_ARRAY:
- * This symbol, if defined, tells that there is an array
- * holding the stdio streams.
- */
-/* STDIO_STREAM_ARRAY:
- * This symbol tells the name of the array holding the stdio streams.
- * Usual values include _iob, __iob, and __sF.
+/* HAS_PTHREAD_ATFORK:
+ * This symbol, if defined, indicates that the pthread_atfork routine
+ * is available setup fork handlers.
*/
-/*#define HAS_STDIO_STREAM_ARRAY / **/
-#ifdef HAS_STDIO_STREAM_ARRAY
-#define STDIO_STREAM_ARRAY
-#endif
+/*#define HAS_PTHREAD_ATFORK / **/
-/* GMTIME_MAX:
- * This symbol contains the maximum value for the time_t offset that
- * the system function gmtime () accepts, and defaults to 0
+/* HAS_READDIR64_R:
+ * This symbol, if defined, indicates that the readdir64_r routine
+ * is available to readdir64 re-entrantly.
*/
-/* GMTIME_MIN:
- * This symbol contains the minimum value for the time_t offset that
- * the system function gmtime () accepts, and defaults to 0
+/* READDIR64_R_PROTO:
+ * This symbol encodes the prototype of readdir64_r.
+ * It is zero if d_readdir64_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
+ * is defined.
*/
-/* LOCALTIME_MAX:
- * This symbol contains the maximum value for the time_t offset that
- * the system function localtime () accepts, and defaults to 0
+/*#define HAS_READDIR64_R / **/
+#define READDIR64_R_PROTO 0 /**/
+
+/* HAS_SETHOSTENT_R:
+ * This symbol, if defined, indicates that the sethostent_r routine
+ * is available to sethostent re-entrantly.
*/
-/* LOCALTIME_MIN:
- * This symbol contains the minimum value for the time_t offset that
- * the system function localtime () accepts, and defaults to 0
+/* SETHOSTENT_R_PROTO:
+ * This symbol encodes the prototype of sethostent_r.
+ * It is zero if d_sethostent_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
+ * is defined.
*/
-#define GMTIME_MAX 2147483647 /**/
-#define GMTIME_MIN 0 /**/
-#define LOCALTIME_MAX 2147483647 /**/
-#define LOCALTIME_MIN 0 /**/
+/*#define HAS_SETHOSTENT_R / **/
+#define SETHOSTENT_R_PROTO 0 /**/
-/* USE_64_BIT_INT:
- * This symbol, if defined, indicates that 64-bit integers should
- * be used when available. If not defined, the native integers
- * will be employed (be they 32 or 64 bits). The minimal possible
- * 64-bitness is used, just enough to get 64-bit integers into Perl.
- * This may mean using for example "long longs", while your memory
- * may still be limited to 2 gigabytes.
+/* HAS_SETLOCALE_R:
+ * This symbol, if defined, indicates that the setlocale_r routine
+ * is available to setlocale re-entrantly.
*/
-/* USE_64_BIT_ALL:
- * This symbol, if defined, indicates that 64-bit integers should
- * be used when available. If not defined, the native integers
- * will be used (be they 32 or 64 bits). The maximal possible
- * 64-bitness is employed: LP64 or ILP64, meaning that you will
- * be able to use more than 2 gigabytes of memory. This mode is
- * even more binary incompatible than USE_64_BIT_INT. You may not
- * be able to run the resulting executable in a 32-bit CPU at all or
- * you may need at least to reboot your OS to 64-bit mode.
+/* SETLOCALE_R_PROTO:
+ * This symbol encodes the prototype of setlocale_r.
+ * It is zero if d_setlocale_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
+ * is defined.
*/
-#ifndef USE_64_BIT_INT
-/*#define USE_64_BIT_INT / **/
-#endif
-#ifndef USE_64_BIT_ALL
-/*#define USE_64_BIT_ALL / **/
-#endif
+/*#define HAS_SETLOCALE_R / **/
+#define SETLOCALE_R_PROTO 0 /**/
-/* USE_DTRACE:
- * This symbol, if defined, indicates that Perl should
- * be built with support for DTrace.
+/* HAS_SETNETENT_R:
+ * This symbol, if defined, indicates that the setnetent_r routine
+ * is available to setnetent re-entrantly.
*/
-/*#define USE_DTRACE / **/
-
-/* USE_FAST_STDIO:
- * This symbol, if defined, indicates that Perl should
- * be built to use 'fast stdio'.
- * Defaults to define in Perls 5.8 and earlier, to undef later.
+/* SETNETENT_R_PROTO:
+ * This symbol encodes the prototype of setnetent_r.
+ * It is zero if d_setnetent_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
+ * is defined.
*/
-#ifndef USE_FAST_STDIO
-/*#define USE_FAST_STDIO / **/
-#endif
+/*#define HAS_SETNETENT_R / **/
+#define SETNETENT_R_PROTO 0 /**/
-/* USE_LARGE_FILES:
- * This symbol, if defined, indicates that large file support
- * should be used when available.
+/* HAS_SETPROTOENT_R:
+ * This symbol, if defined, indicates that the setprotoent_r routine
+ * is available to setprotoent re-entrantly.
*/
-#ifndef USE_LARGE_FILES
-/*#define USE_LARGE_FILES / **/
-#endif
-
-/* USE_LONG_DOUBLE:
- * This symbol, if defined, indicates that long doubles should
- * be used when available.
+/* SETPROTOENT_R_PROTO:
+ * This symbol encodes the prototype of setprotoent_r.
+ * It is zero if d_setprotoent_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
+ * is defined.
*/
-#ifndef USE_LONG_DOUBLE
-/*#define USE_LONG_DOUBLE / **/
-#endif
+/*#define HAS_SETPROTOENT_R / **/
+#define SETPROTOENT_R_PROTO 0 /**/
-/* USE_MORE_BITS:
- * This symbol, if defined, indicates that 64-bit interfaces and
- * long doubles should be used when available.
+/* HAS_SETSERVENT_R:
+ * This symbol, if defined, indicates that the setservent_r routine
+ * is available to setservent re-entrantly.
*/
-#ifndef USE_MORE_BITS
-/*#define USE_MORE_BITS / **/
-#endif
-
-/* MULTIPLICITY:
- * This symbol, if defined, indicates that Perl should
- * be built to use multiplicity.
+/* SETSERVENT_R_PROTO:
+ * This symbol encodes the prototype of setservent_r.
+ * It is zero if d_setservent_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
+ * is defined.
*/
-#ifndef MULTIPLICITY
-/*#define MULTIPLICITY / **/
-#endif
+/*#define HAS_SETSERVENT_R / **/
+#define SETSERVENT_R_PROTO 0 /**/
-/* USE_PERLIO:
- * This symbol, if defined, indicates that the PerlIO abstraction should
- * be used throughout. If not defined, stdio should be
- * used in a fully backward compatible manner.
+/* HAS_TTYNAME_R:
+ * This symbol, if defined, indicates that the ttyname_r routine
+ * is available to ttyname re-entrantly.
*/
-#ifndef USE_PERLIO
-/*#define USE_PERLIO / **/
-#endif
-
-/* USE_SOCKS:
- * This symbol, if defined, indicates that Perl should
- * be built to use socks.
+/* TTYNAME_R_PROTO:
+ * This symbol encodes the prototype of ttyname_r.
+ * It is zero if d_ttyname_r is undef, and one of the
+ * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
+ * is defined.
*/
-#ifndef USE_SOCKS
-/*#define USE_SOCKS / **/
-#endif
+/*#define HAS_TTYNAME_R / **/
+#define TTYNAME_R_PROTO 0 /**/
#endif
diff --git a/gnu/usr.bin/perl/uconfig.sh b/gnu/usr.bin/perl/uconfig.sh
index ca3742d8c6d..5a06d2e4172 100644
--- a/gnu/usr.bin/perl/uconfig.sh
+++ b/gnu/usr.bin/perl/uconfig.sh
@@ -4,23 +4,16 @@ _o='.o'
afs='false'
afsroot='/afs'
alignbytes='4'
-aphostname='/bin/hostname'
-archlib='/usr/local/lib/perl5/5.12/unknown'
-archlibexp='/usr/local/lib/perl5/5.12/unknown'
+apiversion='5.005'
+archlib='/usr/local/lib/perl5/5.7/unknown'
+archlibexp='/usr/local/lib/perl5/5.7/unknown'
archname='unknown'
asctime_r_proto='0'
bin='/usr/local/bin'
-binexp='/usr/local/bin'
byteorder='1234'
castflags='0'
-cf_by='root@localhost'
-cf_time='Thu Jan 1 00:00:00 GMT 1970'
-charbits='8'
+charsize='1'
clocktype='clock_t'
-cpplast='-'
-cppminus='-'
-cpprun='cc -E'
-cppstdin='cc -E'
cpp_stuff='42'
crypt_r_proto='0'
ctermid_r_proto='0'
@@ -42,30 +35,18 @@ d_SCNfldbl='undef'
d__fwalk='undef'
d_access='undef'
d_accessx='undef'
-d_aintl='undef'
d_alarm='undef'
d_archlib='undef'
-d_asctime64='undef'
d_asctime_r='undef'
d_atolf='undef'
d_atoll='undef'
-d_attribute_deprecated='undef'
-d_attribute_format='undef'
-d_attribute_malloc='undef'
-d_attribute_nonnull='undef'
-d_attribute_noreturn='undef'
-d_attribute_pure='undef'
-d_attribute_unused='undef'
-d_attribute_warn_unused_result='undef'
+d_attribut='undef'
d_bcmp='undef'
d_bcopy='undef'
+d_bsd='undef'
d_bsdgetpgrp='undef'
d_bsdsetpgrp='undef'
-d_bsd='undef'
-d_builtin_choose_expr='undef'
-d_builtin_expect='undef'
d_bzero='undef'
-d_c99_variadic_macros='undef'
d_casti32='undef'
d_castneg='undef'
d_charvspr='undef'
@@ -73,70 +54,62 @@ d_chown='undef'
d_chroot='undef'
d_chsize='undef'
d_class='undef'
-d_clearenv='undef'
-d_closedir='define'
+d_closedir='undef'
d_cmsghdr_s='undef'
d_const='undef'
-d_copysignl='undef'
-d_cplusplus='undef'
-d_crypt_r='undef'
d_crypt='undef'
+d_crypt_r='undef'
d_csh='undef'
d_ctermid_r='undef'
-d_ctermid='undef'
-d_ctime64='undef'
d_ctime_r='undef'
d_cuserid='undef'
d_dbl_dig='undef'
d_dbminitproto='undef'
-d_difftime64='undef'
d_difftime='undef'
-d_dir_dd_fd='undef'
d_dirfd='undef'
d_dirnamlen='undef'
d_dlerror='undef'
d_dlopen='undef'
d_dlsymun='undef'
d_dosuid='undef'
-d_drand48proto='undef'
d_drand48_r='undef'
+d_drand48proto='undef'
d_dup2='undef'
d_eaccess='undef'
-d_endgrent_r='undef'
d_endgrent='undef'
+d_endgrent_r='undef'
d_endhent='undef'
d_endhostent_r='undef'
d_endnent='undef'
d_endnetent_r='undef'
d_endpent='undef'
d_endprotoent_r='undef'
-d_endpwent_r='undef'
d_endpwent='undef'
+d_endpwent_r='undef'
d_endsent='undef'
d_endservent_r='undef'
d_eofnblk='undef'
d_eunice='undef'
-d_faststdio='undef'
d_fchdir='undef'
d_fchmod='undef'
d_fchown='undef'
-d_fcntl_can_lock='undef'
d_fcntl='undef'
+d_fcntl_can_lock='undef'
d_fd_macros='undef'
-d_fds_bits='undef'
d_fd_set='undef'
+d_fds_bits='undef'
d_fgetpos='undef'
-d_finitel='undef'
d_finite='undef'
+d_finitel='undef'
d_flexfnam='undef'
-d_flockproto='undef'
d_flock='undef'
+d_flockproto='undef'
d_fork='define'
+d_fp_class='undef'
d_fpathconf='undef'
+d_fpclass='undef'
d_fpclassify='undef'
d_fpclassl='undef'
-d_fp_class='undef'
-d_fpclass='undef'
d_fpos64_t='undef'
d_frexpl='undef'
d_fs_data_s='undef'
@@ -147,15 +120,11 @@ d_fstatvfs='undef'
d_fsync='undef'
d_ftello='undef'
d_ftime='undef'
-d_futimes='undef'
-d_gdbm_ndbm_h_uses_prototypes='undef'
-d_gdbmndbm_h_uses_prototypes='undef'
-d_getaddrinfo='undef'
d_getcwd='undef'
d_getespwnam='undef'
d_getfsstat='undef'
-d_getgrent_r='undef'
d_getgrent='undef'
+d_getgrent_r='undef'
d_getgrgid_r='undef'
d_getgrnam_r='undef'
d_getgrps='undef'
@@ -168,11 +137,10 @@ d_gethostbyname_r='undef'
d_gethostent_r='undef'
d_gethostprotos='undef'
d_getitimer='undef'
-d_getlogin_r='undef'
d_getlogin='undef'
-d_getmntent='undef'
+d_getlogin_r='undef'
d_getmnt='undef'
-d_getnameinfo='undef'
+d_getmntent='undef'
d_getnbyaddr='undef'
d_getnbyname='undef'
d_getnent='undef'
@@ -194,8 +162,8 @@ d_getprotobynumber_r='undef'
d_getprotoent_r='undef'
d_getprotoprotos='undef'
d_getprpwnam='undef'
-d_getpwent_r='undef'
d_getpwent='undef'
+d_getpwent_r='undef'
d_getpwnam_r='undef'
d_getpwuid_r='undef'
d_getsbyname='undef'
@@ -206,34 +174,26 @@ d_getservbyport_r='undef'
d_getservent_r='undef'
d_getservprotos='undef'
d_getspent='undef'
-d_getspnam_r='undef'
d_getspnam='undef'
+d_getspnam_r='undef'
d_gettimeod='undef'
-d_gmtime64='undef'
d_gmtime_r='undef'
d_gnulibc='undef'
d_grpasswd='undef'
d_hasmntopt='undef'
d_htonl='undef'
-d_ilogbl='undef'
-d_inc_version_list='undef'
d_index='undef'
d_inetaton='undef'
-d_inetntop='undef'
-d_inetpton='undef'
d_int64_t='undef'
d_isascii='undef'
d_isfinite='undef'
d_isinf='undef'
-d_isnanl='undef'
d_isnan='undef'
+d_isnanl='undef'
d_killpg='undef'
d_lchown='undef'
d_ldbl_dig='undef'
-d_libm_lib_version='undef'
d_link='undef'
-d_localtime64='undef'
-d_localtime_r_needs_tzset='undef'
d_localtime_r='undef'
d_locconv='undef'
d_lockf='undef'
@@ -242,54 +202,47 @@ d_longlong='undef'
d_lseekproto='undef'
d_lstat='undef'
d_madvise='undef'
-d_malloc_good_size='undef'
-d_malloc_size='undef'
d_mblen='undef'
d_mbstowcs='undef'
d_mbtowc='undef'
-d_memchr='define'
-d_memcmp='define'
-d_memcpy='define'
+d_memchr='undef'
+d_memcmp='undef'
+d_memcpy='undef'
d_memmove='undef'
d_memset='undef'
d_mkdir='undef'
d_mkdtemp='undef'
d_mkfifo='undef'
-d_mkstemps='undef'
d_mkstemp='undef'
-d_mktime64='undef'
+d_mkstemps='undef'
d_mktime='undef'
d_mmap='undef'
-d_modfl_pow32_bug='undef'
-d_modflproto='undef'
d_modfl='undef'
+d_modfl_pow32_bug='undef'
d_mprotect='undef'
-d_msgctl='undef'
+d_msg='undef'
d_msg_ctrunc='undef'
d_msg_dontroute='undef'
-d_msgget='undef'
-d_msghdr_s='undef'
d_msg_oob='undef'
d_msg_peek='undef'
d_msg_proxy='undef'
+d_msgctl='undef'
+d_msgget='undef'
+d_msghdr_s='undef'
d_msgrcv='undef'
d_msgsnd='undef'
-d_msg='undef'
d_msync='undef'
d_munmap='undef'
d_mymalloc='undef'
-d_ndbm_h_uses_prototypes='undef'
d_nice='undef'
d_nl_langinfo='undef'
d_nv_preserves_uv='undef'
-d_nv_zero_is_allbits_zero='undef'
+nv_preserves_uv_bits='0'
d_off64_t='undef'
d_old_pthread_create_joinable='undef'
d_oldpthreads='undef'
d_oldsock='undef'
d_open3='undef'
-nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
-nv_preserves_uv_bits='0'
d_pathconf='undef'
d_pause='undef'
d_perl_otherlibdirs='undef'
@@ -297,11 +250,8 @@ d_phostname='undef'
d_pipe='undef'
d_poll='undef'
d_portable='undef'
-d_printf_format_null='undef'
d_procselfexe='undef'
-d_pseudofork='undef'
d_pthread_atfork='undef'
-d_pthread_attr_setscope='undef'
d_pthread_yield='undef'
d_pwage='undef'
d_pwchange='undef'
@@ -315,19 +265,18 @@ d_qgcvt='undef'
d_quad='undef'
d_random_r='undef'
d_readdir64_r='undef'
-d_readdir='define'
+d_readdir='undef'
d_readdir_r='undef'
d_readlink='undef'
d_readv='undef'
d_recvmsg='undef'
-d_rename='define'
+d_rename='undef'
d_rewinddir='undef'
d_rmdir='undef'
d_safebcpy='undef'
d_safemcpy='undef'
d_sanemcmp='undef'
d_sbrkproto='undef'
-d_scalbnl='undef'
d_sched_yield='undef'
d_scm_rights='undef'
d_seekdir='undef'
@@ -379,18 +328,14 @@ d_shmctl='undef'
d_shmdt='undef'
d_shmget='undef'
d_sigaction='undef'
-d_signbit='undef'
d_sigprocmask='undef'
d_sigsetjmp='undef'
-d_sitearch='undef'
d_sockatmark='undef'
-d_snprintf='undef'
d_sockatmarkproto='undef'
d_socket='undef'
d_socklen_t='undef'
d_sockpair='undef'
d_socks5_init='undef'
-d_sprintf_returns_strlen='undef'
d_sqrtl='undef'
d_srand48_r='undef'
d_srandom_r='undef'
@@ -414,14 +359,12 @@ d_strerrm='strerror(e)'
d_strerror='undef'
d_strerror_r='undef'
d_strftime='undef'
-d_strlcat='undef'
-d_strlcpy='undef'
d_strtod='undef'
d_strtol='undef'
d_strtold='undef'
d_strtoll='undef'
d_strtoq='undef'
-d_strtoul='define'
+d_strtoul='undef'
d_strtoull='undef'
d_strtouq='undef'
d_strxfrm='undef'
@@ -438,7 +381,6 @@ d_tcsetpgrp='undef'
d_telldir='undef'
d_telldirproto='undef'
d_time='define'
-d_timegm='undef'
d_times='undef'
d_tm_tm_gmtoff='undef'
d_tm_tm_zone='undef'
@@ -452,7 +394,6 @@ d_umask='undef'
d_uname='undef'
d_union_semun='undef'
d_unordered='undef'
-d_unsetenv='undef'
d_usleep='undef'
d_usleepproto='undef'
d_ustat='undef'
@@ -465,7 +406,6 @@ d_voidsig='undef'
d_voidtty=''
d_volatile='undef'
d_vprintf='define'
-d_vsnprintf='undef'
d_wait4='undef'
d_waitpid='undef'
d_wcstombs='undef'
@@ -474,15 +414,11 @@ d_writev='undef'
d_xenix='undef'
db_hashtype='u_int32_t'
db_prefixtype='size_t'
-db_version_major='0'
-db_version_minor='0'
-db_version_patch='0'
defvoidused=1
direntrytype='struct dirent'
doublesize='8'
drand01="((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))"
drand48_r_proto='0'
-dtrace=''
eagain='EAGAIN'
ebcdic='undef'
endgrent_r_proto='0'
@@ -496,9 +432,7 @@ fflushall='undef'
firstmakefile='makefile'
fpossize='4'
fpostype=int
-freetype=void
-full_csh=''
-full_sed=''
+freetype=int
getgrent_r_proto='0'
getgrgid_r_proto='0'
getgrnam_r_proto='0'
@@ -536,12 +470,11 @@ i64type='int64_t'
i8size='1'
i8type='char'
i_arpainet='undef'
-i_assert='define'
i_bsdioctl=''
i_crypt='undef'
i_db='undef'
i_dbm='undef'
-i_dirent='define'
+i_dirent='undef'
i_dld='undef'
i_dlfcn='undef'
i_fcntl='undef'
@@ -549,8 +482,6 @@ i_float='undef'
i_fp='undef'
i_fp_class='undef'
i_gdbm='undef'
-i_gdbm_ndbm='undef'
-i_gdbmndbm='undef'
i_grp='undef'
i_ieeefp='undef'
i_inttypes='undef'
@@ -560,7 +491,6 @@ i_limits='undef'
i_locale='undef'
i_machcthr='undef'
i_malloc='undef'
-i_mallocmalloc='undef'
i_math='define'
i_memory='undef'
i_mntent='undef'
@@ -580,7 +510,7 @@ i_shadow='undef'
i_socks='undef'
i_stdarg='define'
i_stddef='undef'
-i_stdlib='define'
+i_stdlib='undef'
i_string='define'
i_sunmath='undef'
i_sysaccess='undef'
@@ -595,7 +525,6 @@ i_sysmode='undef'
i_sysmount='undef'
i_sysndir='undef'
i_sysparam='undef'
-i_syspoll='undef'
i_sysresrc='undef'
i_syssecrt='undef'
i_sysselct='undef'
@@ -637,10 +566,8 @@ longlongsize=8
longsize='4'
lseeksize=4
lseektype=int
-mad='undef'
malloctype='int*'
malloctype='void *'
-mmaptype='void *'
modetype='mode_t'
modetype=int
multiarch='undef'
@@ -659,17 +586,14 @@ nvsize='8'
nvtype='double'
o_nonblock='O_NONBLOCK'
obj_ext='.o'
-old_pthread_create_joinable=''
optimize='-O2'
orderlib='false'
osname='unknown'
-osvers='unknown'
-otherlibdirs=' '
-package='perl5'
phostname='hostname'
pidtype=int
-privlib='/usr/local/lib/perl5/5.12'
-privlibexp='/usr/local/lib/perl5/5.12'
+pm_apiversion='5.005'
+privlib='/usr/local/lib/perl5/5.7'
+privlibexp='/usr/local/lib/perl5/5.7'
procselfexe=''
prototype='undef'
ptrsize='4'
@@ -682,22 +606,18 @@ randseedtype='int'
rd_nodata='-1'
readdir64_r_proto='0'
readdir_r_proto='0'
-sGMTIME_max='2147483647'
-sGMTIME_min='0'
-sLOCALTIME_max='2147483647'
-sLOCALTIME_min='0'
+sPRIEUldbl='"llE"'
+sPRIFUldbl='"llF"'
+sPRIGUldbl='"llG"'
+sPRIXU64='"LX"'
sPRId64='"Ld"'
sPRIeldbl='"lle"'
-sPRIEUldbl='"llE"'
sPRIfldbl='"llf"'
-sPRIFUldbl='"llF"'
sPRIgldbl='"llg"'
-sPRIGUldbl='"llG"'
sPRIi64='"Li"'
sPRIo64='"Lo"'
sPRIu64='"Lu"'
sPRIx64='"Lx"'
-sPRIXU64='"LX"'
sSCNfldbl='"llf"'
sched_yield='sched_yield()'
scriptdir='/usr/local/bin'
@@ -712,26 +632,18 @@ setnetent_r_proto='0'
setprotoent_r_proto='0'
setpwent_r_proto='0'
setservent_r_proto='0'
-sh='/bin/sh'
shmattype='void *'
-shortsize='2'
+shortsize=2
sig_name_init='0'
sig_num_init='0'
sig_size='1'
signal_t=int
-sitearch='/usr/local/lib/perl5/5.12/unknown'
-sitearchexp='/usr/local/lib/perl5/5.12/unknown'
-sitelib='/usr/local/lib/perl5/5.12'
-sitelib_stem='/usr/local/lib/perl5'
-sitelibexp='/usr/local/lib/perl5/5.12'
sizesize=4
-sizetype='size_t'
+sizetype=int
socksizetype='int'
srand48_r_proto='0'
srandom_r_proto='0'
-src='.'
ssizetype=int
-startperl='#!perl'
stdchar=char
stdio_base='((fp)->_IO_read_base)'
stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
@@ -740,7 +652,6 @@ stdio_filbuf=''
stdio_ptr='((fp)->_IO_read_ptr)'
stdio_stream_array=''
strerror_r_proto='0'
-targetarch=''
timetype=time_t
tmpnam_r_proto='0'
touch='touch'
@@ -762,14 +673,10 @@ use5005threads='undef'
use64bitall='undef'
use64bitint='undef'
usecrosscompile='undef'
-usedevel='undef'
usedl='undef'
-usedtrace='undef'
-usefaststdio='undef'
useithreads='undef'
uselargefiles='undef'
uselongdouble='undef'
-usemallocwrap='undef'
usemorebits='undef'
usemultiplicity='undef'
usemymalloc='n'
@@ -778,10 +685,8 @@ useopcode='true'
useperlio='undef'
useposix='true'
usereentrant='undef'
-userelocatableinc='undef'
usesfio='false'
useshrplib='false'
-usesitecustomize='undef'
usesocks='undef'
usethreads='undef'
usevendorprefix='undef'
@@ -792,10 +697,6 @@ uvsize='4'
uvtype='unsigned long'
uvuformat='"lu"'
uvxformat='"lx"'
-vaproto='undef'
-vendorarch=''
-vendorarchexp=''
-vendorlib_stem=''
-vendorlibexp=''
versiononly='undef'
voidflags=1
+xs_apiversion='5.008'
diff --git a/gnu/usr.bin/perl/win32/sync_ext.pl b/gnu/usr.bin/perl/win32/sync_ext.pl
index cb09285561b..e482b69838d 100644
--- a/gnu/usr.bin/perl/win32/sync_ext.pl
+++ b/gnu/usr.bin/perl/win32/sync_ext.pl
@@ -1,14 +1,7 @@
-=begin comment
+=comment
Synchronize filename cases for extensions.
-This script could be used to perform following renaming:
-if there exist file, for example, "FiLeNaME.c" and
-filename.obj then it renames "filename.obj" to "FiLeNaME.obj".
-There is a problem when some compilers (e.g.Borland) generate
-such .obj files and then "make" process will not treat them
-as dependant and already maked files.
-
This script takes two arguments - first and second extensions to
synchronize filename cases with.