File Coverage

blib/arch/Config_xs_heavy.pl
Criterion Covered Total %
statement 48 75 64.0
branch 28 42 66.6
condition n/a
subroutine 9 15 60.0
pod 9 10 90.0
total 94 142 66.2


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   847 use strict;
  1         3  
  1         38  
5 1     1   7 use warnings;
  1         3  
  1         45  
6 1     1   8 use vars '%Config';
  1         3  
  1         1525  
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 10 return $summary_expanded if $summary_expanded;
156 1         9 ($summary_expanded = $summary) =~ s{\$(\w+)}
157 63         113 {
158 63 100       148 my $c;
159 1 50       7 if ($1 eq 'git_ancestor_line') {
160 0         0 if ($Config::Config{git_ancestor}) {
161             $c= "\n Ancestor: $Config::Config{git_ancestor}";
162 1         4 } else {
163             $c= "";
164             }
165 62         284 } else {
166             $c = $Config::Config{$1};
167 63 100       323 }
168             defined($c) ? $c : 'undef'
169 1         37 }ge;
170             $summary_expanded;
171             }
172 3     3   47  
173             sub STORE { die "\%Config::Config is read-only\n" }
174             *DELETE = *CLEAR = \*STORE; # Typeglob aliasing uses less space
175              
176 3     3 1 77 sub config_sh {
177 3         10 my $s = ' ' x 32000; # prealloc 32.000 byte, I got 33568
178 3         1896 $s = '';
179 3681         8959 for my $k (sort &Config::KEYS) { # XXX sort Config::KEYS() is broken
180 3681 100       9441 my $v = Config->FETCH($k);
181             $s .= defined $v ? "$k='$v'\n" : "$k=''\n";
182             }
183 3         386 $s
184             }
185              
186 15 50   15 1 86 sub config_re {
187 15         34 my $re = shift or return ();
188 15         9797 my @s;
189 18405 100       31203 for my $k (sort &Config::KEYS) {
  18405         70662  
190 67         286 if (eval { $k =~ /^(?:$re)/ }) {
191 67 50       312 my $v = Config->FETCH($k);
192             push @s, defined $v ? "$k='$v'" : "$k=''";
193             }
194             }
195 15         682 sort @s
196             }
197              
198             sub config_vars {
199 10     10 1 291 # implements -V:cfgvar option (see perlrun -V:)
200             foreach (@_) {
201 10         112 # find optional leading, trailing colons; and query-spec
202             my ($notag,$qry,$lncont) = m/^(:)?(.*?)(:)?$/; # flags fore and aft,
203 10 100       53 # map colon-flags to print decorations
204 10 100       38 my $prfx = $notag ? '': "$qry="; # tag-prefix for print
205             my $lnend = $lncont ? ' ' : ";\n"; # line ending for print
206              
207 10 100       49 # all config-vars are by definition \w only, any \W means regex
208 8         33 if ($qry =~ /\W/) {
209 8 100       114 my @matches = config_re($qry);
    100          
210 8 50       116 print map "$_$lnend", @matches ? @matches : "$qry: not found" if !$notag;
  7 100       43  
  7         52  
211             print map { s/\w+=//; "$_$lnend" } @matches ? @matches : "$qry: not found" if $notag;
212 2 100       24 } else {
213             my $v = (exists $Config::Config{$qry}) ? $Config::Config{$qry}
214 2 50       10 : 'UNKNOWN';
215 2         14 $v = 'undef' unless defined $v;
216             print "${prfx}'${v}'$lnend";
217             }
218             }
219             }
220              
221             # Called by the real AUTOLOAD
222 1     1 0 13 sub launcher {
223 1         5 undef &AUTOLOAD;
224             goto \&$Config::AUTOLOAD;
225             }
226              
227             1;