| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
|
|
|
|
|
|
# This file was created by Config_xs_heavy.pl.PL. |
|
2
|
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
package Config; |
|
4
|
1
|
|
|
1
|
|
508
|
use strict; |
|
|
1
|
|
|
|
|
2
|
|
|
|
1
|
|
|
|
|
25
|
|
|
5
|
1
|
|
|
1
|
|
4
|
use warnings; |
|
|
1
|
|
|
|
|
9
|
|
|
|
1
|
|
|
|
|
23
|
|
|
6
|
1
|
|
|
1
|
|
4
|
use vars '%Config'; |
|
|
1
|
|
|
|
|
1
|
|
|
|
1
|
|
|
|
|
1012
|
|
|
7
|
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
sub bincompat_options { |
|
9
|
0
|
|
|
0
|
1
|
0
|
return split ' ', (Internals::V())[0]; |
|
10
|
|
|
|
|
|
|
} |
|
11
|
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
sub non_bincompat_options { |
|
13
|
0
|
|
|
0
|
1
|
0
|
return split ' ', (Internals::V())[1]; |
|
14
|
|
|
|
|
|
|
} |
|
15
|
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
sub compile_date { |
|
17
|
0
|
|
|
0
|
1
|
0
|
return (Internals::V())[2] |
|
18
|
|
|
|
|
|
|
} |
|
19
|
|
|
|
|
|
|
|
|
20
|
|
|
|
|
|
|
sub local_patches { |
|
21
|
0
|
|
|
0
|
1
|
0
|
my (undef, undef, undef, @patches) = Internals::V(); |
|
22
|
0
|
|
|
|
|
0
|
return @patches; |
|
23
|
|
|
|
|
|
|
} |
|
24
|
|
|
|
|
|
|
|
|
25
|
|
|
|
|
|
|
sub _V { |
|
26
|
0
|
0
|
|
0
|
|
0
|
die "Perl lib was built for 'linux' but is being run on '$^O'" |
|
27
|
|
|
|
|
|
|
unless "linux" eq $^O; |
|
28
|
|
|
|
|
|
|
|
|
29
|
0
|
|
|
|
|
0
|
my ($bincompat, $non_bincompat, $date, @patches) = Internals::V(); |
|
30
|
|
|
|
|
|
|
|
|
31
|
0
|
|
|
|
|
0
|
my @opts = sort split ' ', "$bincompat $non_bincompat"; |
|
32
|
|
|
|
|
|
|
|
|
33
|
0
|
|
|
|
|
0
|
print Config::myconfig(); |
|
34
|
0
|
|
|
|
|
0
|
print "\nCharacteristics of this binary (from libperl): \n"; |
|
35
|
|
|
|
|
|
|
|
|
36
|
0
|
|
|
|
|
0
|
print " Compile-time options:\n"; |
|
37
|
0
|
|
|
|
|
0
|
print " $_\n" for @opts; |
|
38
|
|
|
|
|
|
|
|
|
39
|
0
|
0
|
|
|
|
0
|
if (@patches) { |
|
40
|
0
|
|
|
|
|
0
|
print " Locally applied patches:\n"; |
|
41
|
0
|
|
|
|
|
0
|
print " $_\n" foreach @patches; |
|
42
|
|
|
|
|
|
|
} |
|
43
|
|
|
|
|
|
|
|
|
44
|
0
|
|
|
|
|
0
|
print " Built under linux\n"; |
|
45
|
|
|
|
|
|
|
|
|
46
|
0
|
0
|
|
|
|
0
|
print " $date\n" if defined $date; |
|
47
|
|
|
|
|
|
|
|
|
48
|
0
|
|
|
|
|
0
|
my @env = map { "$_=\"$ENV{$_}\"" } sort grep {/^PERL/} keys %ENV; |
|
|
0
|
|
|
|
|
0
|
|
|
|
0
|
|
|
|
|
0
|
|
|
49
|
|
|
|
|
|
|
|
|
50
|
0
|
0
|
|
|
|
0
|
if (@env) { |
|
51
|
0
|
|
|
|
|
0
|
print " \%ENV:\n"; |
|
52
|
0
|
|
|
|
|
0
|
print " $_\n" foreach @env; |
|
53
|
|
|
|
|
|
|
} |
|
54
|
0
|
|
|
|
|
0
|
print " \@INC:\n"; |
|
55
|
0
|
|
|
|
|
0
|
print " $_\n" foreach @INC; |
|
56
|
|
|
|
|
|
|
} |
|
57
|
|
|
|
|
|
|
|
|
58
|
|
|
|
|
|
|
sub header_files { |
|
59
|
0
|
|
|
0
|
1
|
0
|
return qw(EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h |
|
60
|
|
|
|
|
|
|
dosish.h embed.h embedvar.h form.h gv.h handy.h hv.h hv_func.h |
|
61
|
|
|
|
|
|
|
intrpvar.h iperlsys.h keywords.h mg.h nostdio.h op.h opcode.h |
|
62
|
|
|
|
|
|
|
pad.h parser.h patchlevel.h perl.h perlio.h perliol.h perlsdio.h |
|
63
|
|
|
|
|
|
|
perlvars.h perly.h pp.h pp_proto.h proto.h regcomp.h regexp.h |
|
64
|
|
|
|
|
|
|
regnodes.h scope.h sv.h thread.h time64.h unixish.h utf8.h |
|
65
|
|
|
|
|
|
|
util.h); |
|
66
|
|
|
|
|
|
|
} |
|
67
|
|
|
|
|
|
|
|
|
68
|
|
|
|
|
|
|
## |
|
69
|
|
|
|
|
|
|
## This file was produced by running the Configure script. It holds all the |
|
70
|
|
|
|
|
|
|
## definitions figured out by Configure. Should you modify one of these values, |
|
71
|
|
|
|
|
|
|
## do not forget to propagate your changes by running "Configure -der". You may |
|
72
|
|
|
|
|
|
|
## instead choose to run each of the .SH files by yourself, or "Configure -S". |
|
73
|
|
|
|
|
|
|
## |
|
74
|
|
|
|
|
|
|
# |
|
75
|
|
|
|
|
|
|
## Package name : perl5 |
|
76
|
|
|
|
|
|
|
## Source directory : . |
|
77
|
|
|
|
|
|
|
## Configuration time: Sat Oct 7 20:10:24 UTC 2017 |
|
78
|
|
|
|
|
|
|
## Configured by : root |
|
79
|
|
|
|
|
|
|
## Target system : linux df6157fbe2c4 4.4.0-96-generic #119-ubuntu smp tue sep 12 14:59:54 utc 2017 x86_64 x86_64 x86_64 gnulinux |
|
80
|
|
|
|
|
|
|
# |
|
81
|
|
|
|
|
|
|
#: Configure command line arguments. |
|
82
|
|
|
|
|
|
|
# |
|
83
|
|
|
|
|
|
|
#: Variables propagated from previous config.sh file. |
|
84
|
|
|
|
|
|
|
|
|
85
|
|
|
|
|
|
|
our $summary = <<'!END!'; |
|
86
|
|
|
|
|
|
|
Summary of my $package (revision $revision $version_patchlevel_string) configuration: |
|
87
|
|
|
|
|
|
|
$git_commit_id_title $git_commit_id$git_ancestor_line |
|
88
|
|
|
|
|
|
|
Platform: |
|
89
|
|
|
|
|
|
|
osname=$osname |
|
90
|
|
|
|
|
|
|
osvers=$osvers |
|
91
|
|
|
|
|
|
|
archname=$archname |
|
92
|
|
|
|
|
|
|
uname='$myuname' |
|
93
|
|
|
|
|
|
|
config_args='$config_args' |
|
94
|
|
|
|
|
|
|
hint=$hint |
|
95
|
|
|
|
|
|
|
useposix=$useposix |
|
96
|
|
|
|
|
|
|
d_sigaction=$d_sigaction |
|
97
|
|
|
|
|
|
|
useithreads=$useithreads |
|
98
|
|
|
|
|
|
|
usemultiplicity=$usemultiplicity |
|
99
|
|
|
|
|
|
|
use64bitint=$use64bitint |
|
100
|
|
|
|
|
|
|
use64bitall=$use64bitall |
|
101
|
|
|
|
|
|
|
uselongdouble=$uselongdouble |
|
102
|
|
|
|
|
|
|
usemymalloc=$usemymalloc |
|
103
|
|
|
|
|
|
|
default_inc_excludes_dot=$default_inc_excludes_dot |
|
104
|
|
|
|
|
|
|
bincompat5005=undef |
|
105
|
|
|
|
|
|
|
Compiler: |
|
106
|
|
|
|
|
|
|
cc='$cc' |
|
107
|
|
|
|
|
|
|
ccflags ='$ccflags' |
|
108
|
|
|
|
|
|
|
optimize='$optimize' |
|
109
|
|
|
|
|
|
|
cppflags='$cppflags' |
|
110
|
|
|
|
|
|
|
ccversion='$ccversion' |
|
111
|
|
|
|
|
|
|
gccversion='$gccversion' |
|
112
|
|
|
|
|
|
|
gccosandvers='$gccosandvers' |
|
113
|
|
|
|
|
|
|
intsize=$intsize |
|
114
|
|
|
|
|
|
|
longsize=$longsize |
|
115
|
|
|
|
|
|
|
ptrsize=$ptrsize |
|
116
|
|
|
|
|
|
|
doublesize=$doublesize |
|
117
|
|
|
|
|
|
|
byteorder=$byteorder |
|
118
|
|
|
|
|
|
|
doublekind=$doublekind |
|
119
|
|
|
|
|
|
|
d_longlong=$d_longlong |
|
120
|
|
|
|
|
|
|
longlongsize=$longlongsize |
|
121
|
|
|
|
|
|
|
d_longdbl=$d_longdbl |
|
122
|
|
|
|
|
|
|
longdblsize=$longdblsize |
|
123
|
|
|
|
|
|
|
longdblkind=$longdblkind |
|
124
|
|
|
|
|
|
|
ivtype='$ivtype' |
|
125
|
|
|
|
|
|
|
ivsize=$ivsize |
|
126
|
|
|
|
|
|
|
nvtype='$nvtype' |
|
127
|
|
|
|
|
|
|
nvsize=$nvsize |
|
128
|
|
|
|
|
|
|
Off_t='$lseektype' |
|
129
|
|
|
|
|
|
|
lseeksize=$lseeksize |
|
130
|
|
|
|
|
|
|
alignbytes=$alignbytes |
|
131
|
|
|
|
|
|
|
prototype=$prototype |
|
132
|
|
|
|
|
|
|
Linker and Libraries: |
|
133
|
|
|
|
|
|
|
ld='$ld' |
|
134
|
|
|
|
|
|
|
ldflags ='$ldflags' |
|
135
|
|
|
|
|
|
|
libpth=$libpth |
|
136
|
|
|
|
|
|
|
libs=$libs |
|
137
|
|
|
|
|
|
|
perllibs=$perllibs |
|
138
|
|
|
|
|
|
|
libc=$libc |
|
139
|
|
|
|
|
|
|
so=$so |
|
140
|
|
|
|
|
|
|
useshrplib=$useshrplib |
|
141
|
|
|
|
|
|
|
libperl=$libperl |
|
142
|
|
|
|
|
|
|
gnulibc_version='$gnulibc_version' |
|
143
|
|
|
|
|
|
|
Dynamic Linking: |
|
144
|
|
|
|
|
|
|
dlsrc=$dlsrc |
|
145
|
|
|
|
|
|
|
dlext=$dlext |
|
146
|
|
|
|
|
|
|
d_dlsymun=$d_dlsymun |
|
147
|
|
|
|
|
|
|
ccdlflags='$ccdlflags' |
|
148
|
|
|
|
|
|
|
cccdlflags='$cccdlflags' |
|
149
|
|
|
|
|
|
|
lddlflags='$lddlflags' |
|
150
|
|
|
|
|
|
|
|
|
151
|
|
|
|
|
|
|
!END! |
|
152
|
|
|
|
|
|
|
my $summary_expanded; |
|
153
|
|
|
|
|
|
|
|
|
154
|
|
|
|
|
|
|
sub myconfig { |
|
155
|
1
|
50
|
|
1
|
1
|
20
|
return $summary_expanded if $summary_expanded; |
|
156
|
1
|
|
|
|
|
14
|
($summary_expanded = $summary) =~ s{\$(\w+)} |
|
157
|
63
|
|
|
|
|
70
|
{ |
|
158
|
63
|
100
|
|
|
|
83
|
my $c; |
|
159
|
1
|
50
|
|
|
|
4
|
if ($1 eq 'git_ancestor_line') { |
|
160
|
0
|
|
|
|
|
0
|
if ($Config::Config{git_ancestor}) { |
|
161
|
|
|
|
|
|
|
$c= "\n Ancestor: $Config::Config{git_ancestor}"; |
|
162
|
1
|
|
|
|
|
2
|
} else { |
|
163
|
|
|
|
|
|
|
$c= ""; |
|
164
|
|
|
|
|
|
|
} |
|
165
|
62
|
|
|
|
|
160
|
} else { |
|
166
|
|
|
|
|
|
|
$c = $Config::Config{$1}; |
|
167
|
63
|
100
|
|
|
|
201
|
} |
|
168
|
|
|
|
|
|
|
defined($c) ? $c : 'undef' |
|
169
|
1
|
|
|
|
|
26
|
}ge; |
|
170
|
|
|
|
|
|
|
$summary_expanded; |
|
171
|
|
|
|
|
|
|
} |
|
172
|
3
|
|
|
3
|
|
31
|
|
|
173
|
|
|
|
|
|
|
sub STORE { die "\%Config::Config is read-only\n" } |
|
174
|
|
|
|
|
|
|
*DELETE = *CLEAR = \*STORE; # Typeglob aliasing uses less space |
|
175
|
|
|
|
|
|
|
|
|
176
|
3
|
|
|
3
|
1
|
51
|
sub config_sh { |
|
177
|
3
|
|
|
|
|
4
|
my $s = ' ' x 32000; # prealloc 32.000 byte, I got 33568 |
|
178
|
3
|
|
|
|
|
1546
|
$s = ''; |
|
179
|
3681
|
|
|
|
|
5486
|
for my $k (sort &Config::KEYS) { # XXX sort Config::KEYS() is broken |
|
180
|
3681
|
100
|
|
|
|
5640
|
my $v = Config->FETCH($k); |
|
181
|
|
|
|
|
|
|
$s .= defined $v ? "$k='$v'\n" : "$k=''\n"; |
|
182
|
|
|
|
|
|
|
} |
|
183
|
3
|
|
|
|
|
237
|
$s |
|
184
|
|
|
|
|
|
|
} |
|
185
|
|
|
|
|
|
|
|
|
186
|
15
|
50
|
|
15
|
1
|
39
|
sub config_re { |
|
187
|
15
|
|
|
|
|
16
|
my $re = shift or return (); |
|
188
|
15
|
|
|
|
|
7551
|
my @s; |
|
189
|
18405
|
100
|
|
|
|
18616
|
for my $k (sort &Config::KEYS) { |
|
|
18405
|
|
|
|
|
40610
|
|
|
190
|
67
|
|
|
|
|
147
|
if (eval { $k =~ /^(?:$re)/ }) { |
|
191
|
67
|
50
|
|
|
|
170
|
my $v = Config->FETCH($k); |
|
192
|
|
|
|
|
|
|
push @s, defined $v ? "$k='$v'" : "$k=''"; |
|
193
|
|
|
|
|
|
|
} |
|
194
|
|
|
|
|
|
|
} |
|
195
|
15
|
|
|
|
|
393
|
sort @s |
|
196
|
|
|
|
|
|
|
} |
|
197
|
|
|
|
|
|
|
|
|
198
|
|
|
|
|
|
|
sub config_vars { |
|
199
|
10
|
|
|
10
|
1
|
128
|
# implements -V:cfgvar option (see perlrun -V:) |
|
200
|
|
|
|
|
|
|
foreach (@_) { |
|
201
|
10
|
|
|
|
|
52
|
# find optional leading, trailing colons; and query-spec |
|
202
|
|
|
|
|
|
|
my ($notag,$qry,$lncont) = m/^(:)?(.*?)(:)?$/; # flags fore and aft, |
|
203
|
10
|
100
|
|
|
|
21
|
# map colon-flags to print decorations |
|
204
|
10
|
100
|
|
|
|
14
|
my $prfx = $notag ? '': "$qry="; # tag-prefix for print |
|
205
|
|
|
|
|
|
|
my $lnend = $lncont ? ' ' : ";\n"; # line ending for print |
|
206
|
|
|
|
|
|
|
|
|
207
|
10
|
100
|
|
|
|
26
|
# all config-vars are by definition \w only, any \W means regex |
|
208
|
8
|
|
|
|
|
11
|
if ($qry =~ /\W/) { |
|
209
|
8
|
100
|
|
|
|
42
|
my @matches = config_re($qry); |
|
|
|
100
|
|
|
|
|
|
|
210
|
8
|
50
|
|
|
|
49
|
print map "$_$lnend", @matches ? @matches : "$qry: not found" if !$notag; |
|
|
7
|
100
|
|
|
|
24
|
|
|
|
7
|
|
|
|
|
22
|
|
|
211
|
|
|
|
|
|
|
print map { s/\w+=//; "$_$lnend" } @matches ? @matches : "$qry: not found" if $notag; |
|
212
|
2
|
100
|
|
|
|
11
|
} else { |
|
213
|
|
|
|
|
|
|
my $v = (exists $Config::Config{$qry}) ? $Config::Config{$qry} |
|
214
|
2
|
50
|
|
|
|
6
|
: 'UNKNOWN'; |
|
215
|
2
|
|
|
|
|
7
|
$v = 'undef' unless defined $v; |
|
216
|
|
|
|
|
|
|
print "${prfx}'${v}'$lnend"; |
|
217
|
|
|
|
|
|
|
} |
|
218
|
|
|
|
|
|
|
} |
|
219
|
|
|
|
|
|
|
} |
|
220
|
|
|
|
|
|
|
|
|
221
|
|
|
|
|
|
|
# Called by the real AUTOLOAD |
|
222
|
1
|
|
|
1
|
0
|
12
|
sub launcher { |
|
223
|
1
|
|
|
|
|
3
|
undef &AUTOLOAD; |
|
224
|
|
|
|
|
|
|
goto \&$Config::AUTOLOAD; |
|
225
|
|
|
|
|
|
|
} |
|
226
|
|
|
|
|
|
|
|
|
227
|
|
|
|
|
|
|
1; |