This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Config::Perl::V to 0.33
authorH.Merijn Brand <perl5@tux.freedom.nl>
Fri, 18 Dec 2020 15:41:30 +0000 (16:41 +0100)
committerH.Merijn Brand <perl5@tux.freedom.nl>
Fri, 18 Dec 2020 16:05:15 +0000 (17:05 +0100)
MANIFEST
Porting/Maintainers.pl
cpan/Config-Perl-V/V.pm
cpan/Config-Perl-V/t/35_plv52910g.t [new file with mode: 0644]
cpan/Config-Perl-V/t/36_plv5300.t [new file with mode: 0644]
cpan/Config-Perl-V/t/37_plv53111qm.t [new file with mode: 0644]
cpan/Config-Perl-V/t/38_plv5320tld.t [new file with mode: 0644]
t/porting/customized.dat

index c3adc8d..2bf07c9 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -248,6 +248,10 @@ cpan/Config-Perl-V/t/31_plv52511.t         Config::Perl::V
 cpan/Config-Perl-V/t/32_plv5261rc1.t           Config::Perl::V
 cpan/Config-Perl-V/t/33_plv52711r.t            Config::Perl::V
 cpan/Config-Perl-V/t/34_plv5280.t              Config::Perl::V
+cpan/Config-Perl-V/t/35_plv52910g.t            Config::Perl::V
+cpan/Config-Perl-V/t/36_plv5300.t              Config::Perl::V
+cpan/Config-Perl-V/t/37_plv53111qm.t           Config::Perl::V
+cpan/Config-Perl-V/t/38_plv5320tld.t           Config::Perl::V
 cpan/Config-Perl-V/V.pm                                Config::Perl::V
 cpan/CPAN/lib/App/Cpan.pm              helper package for CPAN.pm
 cpan/CPAN/lib/CPAN.pm                  Interface to Comprehensive Perl Archive Network
index 32b4c23..42abcd5 100755 (executable)
@@ -224,12 +224,11 @@ use File::Glob qw(:case);
     },
 
     'Config::Perl::V' => {
-        'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.31.tgz',
+        'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.33.tgz',
         'FILES'        => q[cpan/Config-Perl-V],
         'EXCLUDED'     => [qw(
                examples/show-v.pl
                )],
-        'CUSTOMIZED'   => [ qw(V.pm) ],
     },
 
     'constant' => {
index dbb0f88..774446a 100644 (file)
@@ -6,12 +6,12 @@ use warnings;
 use Config;
 use Exporter;
 use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS);
-$VERSION     = "0.32";
+$VERSION     = "0.33";
 @ISA         = qw( Exporter );
 @EXPORT_OK   = qw( plv2hash summary myconfig signature );
 %EXPORT_TAGS = (
-    all => [ @EXPORT_OK  ],
-    sig => [ "signature" ],
+    'all' => [ @EXPORT_OK  ],
+    'sig' => [ "signature" ],
     );
 
 #  Characteristics of this binary (from libperl):
@@ -24,7 +24,7 @@ $VERSION     = "0.32";
 #     perl -ne'(/^S_Internals_V/../^}/)&&s/^\s+"( .*)"/$1/ and print' perl.c
 #   perl.h line 4566 PL_bincompat_options
 #     perl -ne'(/^\w.*PL_bincompat/../^\w}/)&&s/^\s+"( .*)"/$1/ and print' perl.h
-my %BTD = map { $_ => 0 } qw(
+my %BTD = map {( $_ => 0 )} qw(
 
     DEBUGGING
     NO_HASH_SEED
@@ -183,52 +183,52 @@ my @config_vars = qw(
     );
 
 my %empty_build = (
-    osname  => "",
-    stamp   => 0,
-    options => { %BTD },
-    patches => [],
+    'osname'  => "",
+    'stamp'   => 0,
+    'options' => { %BTD },
+    'patches' => [],
     );
 
 sub _make_derived {
     my $conf = shift;
 
-    for ( [ lseektype          => "Off_t"      ],
-         [ myuname             => "uname"      ],
-         [ perl_patchlevel     => "patch"      ],
+    for ( [ 'lseektype'                => "Off_t"      ],
+         [ 'myuname'           => "uname"      ],
+         [ 'perl_patchlevel'   => "patch"      ],
          ) {
-       my ($official, $derived) = @$_;
-       $conf->{config}{$derived}  ||= $conf->{config}{$official};
-       $conf->{config}{$official} ||= $conf->{config}{$derived};
-       $conf->{derived}{$derived} = delete $conf->{config}{$derived};
+       my ($official, $derived) = @{$_};
+       $conf->{'config'}{$derived}  ||= $conf->{'config'}{$official};
+       $conf->{'config'}{$official} ||= $conf->{'config'}{$derived};
+       $conf->{'derived'}{$derived} = delete $conf->{'config'}{$derived};
        }
 
-    if (exists $conf->{config}{version_patchlevel_string} &&
-       !exists $conf->{config}{api_version}) {
-       my $vps = $conf->{config}{version_patchlevel_string};
+    if (exists $conf->{'config'}{'version_patchlevel_string'} &&
+       !exists $conf->{'config'}{'api_version'}) {
+       my $vps = $conf->{'config'}{'version_patchlevel_string'};
        $vps =~ s{\b revision   \s+ (\S+) }{}x and
-           $conf->{config}{revision}        ||= $1;
+           $conf->{'config'}{'revision'}        ||= $1;
 
        $vps =~ s{\b version    \s+ (\S+) }{}x and
-           $conf->{config}{api_version}     ||= $1;
+           $conf->{'config'}{'api_version'}     ||= $1;
        $vps =~ s{\b subversion \s+ (\S+) }{}x and
-           $conf->{config}{subversion}      ||= $1;
+           $conf->{'config'}{'subversion'}      ||= $1;
        $vps =~ s{\b patch      \s+ (\S+) }{}x and
-           $conf->{config}{perl_patchlevel} ||= $1;
+           $conf->{'config'}{'perl_patchlevel'} ||= $1;
        }
 
-    ($conf->{config}{version_patchlevel_string} ||= join " ",
-       map  { ($_, $conf->{config}{$_} ) }
-       grep {      $conf->{config}{$_}   }
+    ($conf->{'config'}{'version_patchlevel_string'} ||= join " ",
+       map  { ($_, $conf->{'config'}{$_} ) }
+       grep {      $conf->{'config'}{$_}   }
        qw( api_version subversion perl_patchlevel )) =~ s/\bperl_//; 
 
-    $conf->{config}{perl_patchlevel}  ||= "";  # 0 is not a valid patchlevel
+    $conf->{'config'}{'perl_patchlevel'}  ||= "";      # 0 is not a valid patchlevel
 
-    if ($conf->{config}{perl_patchlevel} =~ m{^git\w*-([^-]+)}i) {
-       $conf->{config}{git_branch}   ||= $1;
-       $conf->{config}{git_describe} ||= $conf->{config}{perl_patchlevel};
+    if ($conf->{'config'}{'perl_patchlevel'} =~ m{^git\w*-([^-]+)}i) {
+       $conf->{'config'}{'git_branch'}   ||= $1;
+       $conf->{'config'}{'git_describe'} ||= $conf->{'config'}{'perl_patchlevel'};
        }
 
-    $conf->{config}{$_} ||= "undef" for grep m/^(?:use|def)/ => @config_vars;
+    $conf->{'config'}{$_} ||= "undef" for grep m{^(?:use|def)} => @config_vars;
 
     $conf;
     } # _make_derived
@@ -238,20 +238,20 @@ sub plv2hash {
 
     my $pv = join "\n" => @_;
 
-    if ($pv =~ m/^Summary of my\s+(\S+)\s+\(\s*(.*?)\s*\)/m) {
-       $config{"package"} = $1;
+    if ($pv =~ m{^Summary of my\s+(\S+)\s+\(\s*(.*?)\s*\)}m) {
+       $config{'package'} = $1;
        my $rev = $2;
-       $rev =~ s/^ revision \s+ (\S+) \s*//x and $config{revision} = $1;
-       $rev and $config{version_patchlevel_string} = $rev;
-       my ($rel) = $config{"package"} =~ m{perl(\d)};
+       $rev =~ s/^ revision \s+ (\S+) \s*//x and $config{'revision'} = $1;
+       $rev and $config{'version_patchlevel_string'} = $rev;
+       my ($rel) = $config{'package'} =~ m{perl(\d)};
        my ($vers, $subvers) = $rev =~ m{version\s+(\d+)\s+subversion\s+(\d+)};
        defined $vers && defined $subvers && defined $rel and
-           $config{version} = "$rel.$vers.$subvers";
+           $config{'version'} = "$rel.$vers.$subvers";
        }
 
-    if ($pv =~ m/^\s+(Snapshot of:)\s+(\S+)/) {
-       $config{git_commit_id_title} = $1;
-       $config{git_commit_id}       = $2;
+    if ($pv =~ m{^\s+(Snapshot of:)\s+(\S+)}) {
+       $config{'git_commit_id_title'} = $1;
+       $config{'git_commit_id'}       = $2;
        }
 
     # these are always last on line and can have multiple quotation styles
@@ -275,11 +275,11 @@ sub plv2hash {
            }gx)) {             # between every kv pair
 
        while (my ($k, $v) = each %kv) {
-           $k =~ s/\s+$//;
-           $v =~ s/\s*\n\z//;
-           $v =~ s/,$//;
-           $v =~ m/^'(.*)'$/ and $v = $1;
-           $v =~ s/\s+$//;
+           $k =~ s{\s+$}       {};
+           $v =~ s{\s*\n\z}    {};
+           $v =~ s{,$}         {};
+           $v =~ m{^'(.*)'$} and $v = $1;
+           $v =~ s{\s+$}       {};
            $config{$k} = $v;
            }
        }
@@ -287,36 +287,36 @@ sub plv2hash {
     my $build = { %empty_build };
 
     $pv =~ m{^\s+Compiled at\s+(.*)}m
-       and $build->{stamp}   = $1;
+       and $build->{'stamp'}   = $1;
     $pv =~ m{^\s+Locally applied patches:(?:\s+|\n)(.*?)(?:[\s\n]+Buil[td] under)}ms
-       and $build->{patches} = [ split m/\n+\s*/, $1 ];
+       and $build->{'patches'} = [ split m{\n+\s*}, $1 ];
     $pv =~ m{^\s+Compile-time options:(?:\s+|\n)(.*?)(?:[\s\n]+(?:Locally applied|Buil[td] under))}ms
-       and map { $build->{options}{$_} = 1 } split m/\s+|\n/ => $1;
+       and map { $build->{'options'}{$_} = 1 } split m{\s+|\n} => $1;
 
-    $build->{osname} = $config{osname};
+    $build->{'osname'} = $config{'osname'};
     $pv =~ m{^\s+Built under\s+(.*)}m
-       and $build->{osname}  = $1;
-    $config{osname} ||= $build->{osname};
+       and $build->{'osname'}  = $1;
+    $config{'osname'} ||= $build->{'osname'};
 
     return _make_derived ({
-       build           => $build,
-       environment     => {},
-       config          => \%config,
-       derived         => {},
-       inc             => [],
+       'build'         => $build,
+       'environment'   => {},
+       'config'        => \%config,
+       'derived'       => {},
+       'inc'           => [],
        });
     } # plv2hash
 
 sub summary {
     my $conf = shift || myconfig ();
     ref $conf eq "HASH"
-    && exists $conf->{config}
-    && exists $conf->{build}
-    && ref $conf->{config} eq "HASH"
-    && ref $conf->{build}  eq "HASH" or return;
+    && exists $conf->{'config'}
+    && exists $conf->{'build'}
+    && ref $conf->{'config'} eq "HASH"
+    && ref $conf->{'build'}  eq "HASH" or return;
 
     my %info = map {
-       exists $conf->{config}{$_} ? ( $_ => $conf->{config}{$_} ) : () }
+       exists $conf->{'config'}{$_} ? ( $_ => $conf->{'config'}{$_} ) : () }
        qw( archname osname osvers revision patchlevel subversion version
            cc ccversion gccversion config_args inc_version_list
            d_longdbl d_longlong use64bitall use64bitint useithreads
@@ -324,7 +324,7 @@ sub summary {
            doublesize intsize ivsize nvsize longdblsize longlongsize lseeksize
            default_inc_excludes_dot
            );
-    $info{$_}++ for grep { $conf->{build}{options}{$_} } keys %{$conf->{build}{options}};
+    $info{$_}++ for grep { $conf->{'build'}{'options'}{$_} } keys %{$conf->{'build'}{'options'}};
 
     return \%info;
     } # summary
@@ -336,19 +336,19 @@ sub signature {
     eval { require Digest::MD5 };
     $@ and return $no_md5;
 
-    $conf->{cc} =~ s{.*\bccache\s+}{};
-    $conf->{cc} =~ s{.*[/\\]}{};
+    $conf->{'cc'} =~ s{.*\bccache\s+}{};
+    $conf->{'cc'} =~ s{.*[/\\]}{};
 
-    delete $conf->{config_args};
+    delete $conf->{'config_args'};
     return Digest::MD5::md5_hex (join "\xFF" => map {
        "$_=".(defined $conf->{$_} ? $conf->{$_} : "\xFE");
-       } sort keys %$conf);
+       } sort keys %{$conf});
     } # signature
 
 sub myconfig {
     my $args = shift;
-    my %args = ref $args eq "HASH"  ? %$args :
-               ref $args eq "ARRAY" ? @$args : ();
+    my %args = ref $args eq "HASH"  ? %{$args} :
+               ref $args eq "ARRAY" ? @{$args} : ();
 
     my $build = { %empty_build };
 
@@ -356,33 +356,34 @@ sub myconfig {
     my $stamp = eval { Config::compile_date () };
     if (defined $stamp) {
        $stamp =~ s/^Compiled at //;
-       $build->{osname}      = $^O;
-       $build->{stamp}       = $stamp;
-       $build->{patches}     =     [ Config::local_patches () ];
-       $build->{options}{$_} = 1 for Config::bincompat_options (),
-                                     Config::non_bincompat_options ();
+       $build->{'osname'}      = $^O;
+       $build->{'stamp'}       = $stamp;
+       $build->{'patches'}     =     [ Config::local_patches () ];
+       $build->{'options'}{$_} = 1 for Config::bincompat_options (),
+                                       Config::non_bincompat_options ();
        }
     else {
        #y $pv = qx[$^X -e"sub Config::myconfig{};" -V];
        my $cnf = plv2hash (qx[$^X -V]);
 
-       $build->{$_} = $cnf->{build}{$_} for qw( osname stamp patches options );
+       $build->{$_} = $cnf->{'build'}{$_} for qw( osname stamp patches options );
        }
 
     my @KEYS = keys %ENV;
     my %env  =
-       map {      $_ => $ENV{$_} } grep m/^PERL/      => @KEYS;
-    $args{env} and
-       map { $env{$_} = $ENV{$_} } grep m{$args{env}} => @KEYS;
+       map {( $_ => $ENV{$_} )}  grep m{^PERL}        => @KEYS;
+    if ($args{'env'}) {
+       $env{$_}  =  $ENV{$_} for grep m{$args{'env'}} => @KEYS;
+       }
 
     my %config = map { $_ => $Config{$_} } @config_vars;
 
     return _make_derived ({
-       build           => $build,
-       environment     => \%env,
-       config          => \%config,
-       derived         => {},
-       inc             => \@INC,
+       'build'         => $build,
+       'environment'   => \%env,
+       'config'        => \%config,
+       'derived'       => {},
+       'inc'           => \@INC,
        });
     } # myconfig
 
@@ -553,7 +554,7 @@ H.Merijn Brand <h.m.brand@xs4all.nl>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2009-2018 H.Merijn Brand
+Copyright (C) 2009-2020 H.Merijn Brand
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
diff --git a/cpan/Config-Perl-V/t/35_plv52910g.t b/cpan/Config-Perl-V/t/35_plv52910g.t
new file mode 100644 (file)
index 0000000..6d822d1
--- /dev/null
@@ -0,0 +1,188 @@
+#!/pro/bin/perl
+
+use strict;
+use warnings;
+
+BEGIN {
+    use Test::More;
+    my $tests = 128;
+    unless ($ENV{PERL_CORE}) {
+       require Test::NoWarnings;
+       Test::NoWarnings->import ();
+       $tests++;
+       }
+
+    plan tests => $tests;
+    }
+
+use Config::Perl::V qw( summary );
+
+ok (my $conf = Config::Perl::V::plv2hash (<DATA>), "Read perl -v block");
+ok (exists $conf->{$_}, "Has $_ entry") for qw( build environment config inc );
+
+is ($conf->{build}{osname}, $conf->{config}{osname}, "osname");
+is ($conf->{build}{stamp}, "Apr 13 2019 00:06:38", "Build time");
+is ($conf->{config}{version}, "5.29.10", "reconstructed \$Config{version}");
+
+my $opt = Config::Perl::V::plv2hash ("")->{build}{options};
+foreach my $o (sort qw(
+       DEBUGGING HAS_TIMES MULTIPLICITY PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV
+       PERL_IMPLICIT_CONTEXT PERLIO_LAYERS PERL_MALLOC_WRAP PERL_OP_PARENT
+       PERL_PRESERVE_IVUV PERL_TRACK_MEMPOOL PERL_USE_DEVEL USE_64_BIT_ALL
+       USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
+       USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_LONG_DOUBLE
+       USE_PERL_ATOF USE_PERLIO USE_REENTRANT_API USE_THREAD_SAFE_LOCALE
+       )) {
+    is ($conf->{build}{options}{$o}, 1, "Runtime option $o set");
+    delete $opt->{$o};
+    }
+foreach my $o (sort keys %$opt) {
+    is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
+    }
+
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "8404b533829bd9752df7f662a710f993";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
+is_deeply ($conf->{build}{patches}, [
+    "SMOKEdfba4714a9dc4c35123b4df0a5e1721ccb081d97" ], "No local patches");
+
+my %check = (
+    alignbytes      => 16,
+    api_version     => 29,
+    bincompat5005   => "undef",
+    byteorder       => 12345678,
+    cc              => "g++",
+    cccdlflags      => "-fPIC",
+    ccdlflags       => "-Wl,-E",
+    config_args     => "-des -Dcc=g++ -Dusedevel -Duseithreads -Duse64bitall -Duselongdouble -DDEBUGGING",
+    gccversion      => "8.3.1 20190226 [gcc-8-branch revision 269204]",
+    gnulibc_version => "2.29",
+    ivsize          => 8,
+    ivtype          => "long",
+    ld              => "g++",
+    lddlflags       => "-shared -O2 -g -L/pro/local/lib -fstack-protector-strong",
+    ldflags         => "-L/pro/local/lib -fstack-protector-strong",
+    libc            => "libc-2.29.so",
+    lseektype       => "off_t",
+    osvers          => "5.0.7-1-default",
+    use64bitall     => "define",
+    use64bitint     => "define",
+    usemymalloc     => "n",
+    default_inc_excludes_dot
+                   => "define",
+    );
+is ($conf->{config}{$_}, $check{$_}, "reconstructed \$Config{$_}") for sort keys %check;
+
+ok (my $info = summary ($conf), "A summary");
+ok (exists $info->{$_}, "Summary has $_") for qw( cc config_args usemymalloc default_inc_excludes_dot );
+is ($info->{default_inc_excludes_dot}, "define", "This build has . NOT in INC");
+
+__END__
+Summary of my perl5 (revision 5 version 29 subversion 10) configuration:
+  Snapshot of: dfba4714a9dc4c35123b4df0a5e1721ccb081d97
+  Platform:
+    osname=linux
+    osvers=5.0.7-1-default
+    archname=x86_64-linux-thread-multi-ld
+    uname='linux lx09 5.0.7-1-default #1 smp sat apr 6 14:47:49 utc 2019 (8f18342) x86_64 x86_64 x86_64 gnulinux '
+    config_args='-des -Dcc=g++ -Dusedevel -Duseithreads -Duse64bitall -Duselongdouble -DDEBUGGING'
+    hint=recommended
+    useposix=true
+    d_sigaction=define
+    useithreads=define
+    usemultiplicity=define
+    use64bitint=define
+    use64bitall=define
+    uselongdouble=define
+    usemymalloc=n
+    default_inc_excludes_dot=define
+    bincompat5005=undef
+  Compiler:
+    cc='g++'
+    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2'
+    optimize='-O2 -g'
+    cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/pro/local/include'
+    ccversion=''
+    gccversion='8.3.1 20190226 [gcc-8-branch revision 269204]'
+    gccosandvers=''
+    intsize=4
+    longsize=8
+    ptrsize=8
+    doublesize=8
+    byteorder=12345678
+    doublekind=3
+    d_longlong=define
+    longlongsize=8
+    d_longdbl=define
+    longdblsize=16
+    longdblkind=3
+    ivtype='long'
+    ivsize=8
+    nvtype='long double'
+    nvsize=16
+    Off_t='off_t'
+    lseeksize=8
+    alignbytes=16
+    prototype=define
+  Linker and Libraries:
+    ld='g++'
+    ldflags ='-L/pro/local/lib -fstack-protector-strong'
+    libpth=/usr/include/c++/8 /usr/include/c++/8/x86_64-suse-linux /usr/include/c++/8/backward /usr/local/lib /usr/lib64/gcc/x86_64-suse-linux/8/include-fixed /usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/lib /usr/lib /pro/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
+    libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
+    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
+    libc=libc-2.29.so
+    so=so
+    useshrplib=false
+    libperl=libperl.a
+    gnulibc_version='2.29'
+  Dynamic Linking:
+    dlsrc=dl_dlopen.xs
+    dlext=so
+    d_dlsymun=undef
+    ccdlflags='-Wl,-E'
+    cccdlflags='-fPIC'
+    lddlflags='-shared -O2 -g -L/pro/local/lib -fstack-protector-strong'
+
+
+Characteristics of this binary (from libperl):
+  Compile-time options:
+    DEBUGGING
+    HAS_TIMES
+    MULTIPLICITY
+    PERLIO_LAYERS
+    PERL_COPY_ON_WRITE
+    PERL_DONT_CREATE_GVSV
+    PERL_IMPLICIT_CONTEXT
+    PERL_MALLOC_WRAP
+    PERL_OP_PARENT
+    PERL_PRESERVE_IVUV
+    PERL_TRACK_MEMPOOL
+    PERL_USE_DEVEL
+    USE_64_BIT_ALL
+    USE_64_BIT_INT
+    USE_ITHREADS
+    USE_LARGE_FILES
+    USE_LOCALE
+    USE_LOCALE_COLLATE
+    USE_LOCALE_CTYPE
+    USE_LOCALE_NUMERIC
+    USE_LOCALE_TIME
+    USE_LONG_DOUBLE
+    USE_PERLIO
+    USE_PERL_ATOF
+    USE_REENTRANT_API
+    USE_THREAD_SAFE_LOCALE
+  Locally applied patches:
+    SMOKEdfba4714a9dc4c35123b4df0a5e1721ccb081d97
+  Built under linux
+  Compiled at Apr 13 2019 00:06:38
+  %ENV:
+    PERL6LIB="inst#/pro/3gl/CPAN/rakudo/install"
+  @INC:
+    lib
+    /opt/perl/lib/site_perl/5.29.10/x86_64-linux-thread-multi-ld
+    /opt/perl/lib/site_perl/5.29.10
+    /opt/perl/lib/5.29.10/x86_64-linux-thread-multi-ld
+    /opt/perl/lib/5.29.10
diff --git a/cpan/Config-Perl-V/t/36_plv5300.t b/cpan/Config-Perl-V/t/36_plv5300.t
new file mode 100644 (file)
index 0000000..6db7512
--- /dev/null
@@ -0,0 +1,182 @@
+#!/pro/bin/perl
+
+use strict;
+use warnings;
+
+BEGIN {
+    use Test::More;
+    my $tests = 128;
+    unless ($ENV{PERL_CORE}) {
+       require Test::NoWarnings;
+       Test::NoWarnings->import ();
+       $tests++;
+       }
+
+    plan tests => $tests;
+    }
+
+use Config::Perl::V qw( summary );
+
+ok (my $conf = Config::Perl::V::plv2hash (<DATA>), "Read perl -v block");
+ok (exists $conf->{$_}, "Has $_ entry") for qw( build environment config inc );
+
+is ($conf->{build}{osname}, $conf->{config}{osname}, "osname");
+is ($conf->{build}{stamp}, "May 23 2019 14:05:36", "Build time");
+is ($conf->{config}{version}, "5.30.0", "reconstructed \$Config{version}");
+
+my $opt = Config::Perl::V::plv2hash ("")->{build}{options};
+foreach my $o (sort qw(
+       HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE
+       PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
+       PERL_OP_PARENT PERL_PRESERVE_IVUV USE_THREAD_SAFE_LOCALE
+       USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
+       USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC
+       USE_LOCALE_TIME USE_LONG_DOUBLE USE_PERLIO USE_PERL_ATOF
+       USE_REENTRANT_API
+       )) {
+    is ($conf->{build}{options}{$o}, 1, "Runtime option $o set");
+    delete $opt->{$o};
+    }
+foreach my $o (sort keys %$opt) {
+    is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
+    }
+
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "b1138522685da4fff74f7b1118128d02";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
+is_deeply ($conf->{build}{patches}, [ ], "No patches");
+
+my %check = (
+    alignbytes      => 16,
+    api_version     => 30,
+    bincompat5005   => "undef",
+    byteorder       => 12345678,
+    cc              => "cc",
+    cccdlflags      => "-fPIC",
+    ccdlflags       => "-Wl,-E -Wl,-rpath,/pro/lib/perl5/5.30.0/x86_64-linux-thread-multi-ld/CORE",
+    config_args     => "-Dusethreads -Duseithreads -Duse64bitall -Duselongdouble -Duseshrplib -des",
+    gccversion      => "8.3.1 20190226 [gcc-8-branch revision 269204]",
+    gnulibc_version => "2.29",
+    ivsize          => 8,
+    ivtype          => "long",
+    ld              => "cc",
+    lddlflags       => "-shared -O2 -L/pro/local/lib -fstack-protector-strong",
+    ldflags         => "-L/pro/local/lib -fstack-protector-strong",
+    libc            => "libc-2.29.so",
+    lseektype       => "off_t",
+    osvers          => "5.1.3-1-default",
+    use64bitall     => "define",
+    use64bitint     => "define",
+    usemymalloc     => "n",
+    default_inc_excludes_dot
+                   => "define",
+    );
+is ($conf->{config}{$_}, $check{$_}, "reconstructed \$Config{$_}") for sort keys %check;
+
+ok (my $info = summary ($conf), "A summary");
+ok (exists $info->{$_}, "Summary has $_") for qw( cc config_args usemymalloc default_inc_excludes_dot );
+is ($info->{default_inc_excludes_dot}, "define", "This build has . NOT in INC");
+
+__END__
+Summary of my perl5 (revision 5 version 30 subversion 0) configuration:
+   
+  Platform:
+    osname=linux
+    osvers=5.1.3-1-default
+    archname=x86_64-linux-thread-multi-ld
+    uname='linux lx09 5.1.3-1-default #1 smp fri may 17 04:54:29 utc 2019 (07d2e25) x86_64 x86_64 x86_64 gnulinux '
+    config_args='-Dusethreads -Duseithreads -Duse64bitall -Duselongdouble -Duseshrplib -des'
+    hint=recommended
+    useposix=true
+    d_sigaction=define
+    useithreads=define
+    usemultiplicity=define
+    use64bitint=define
+    use64bitall=define
+    uselongdouble=define
+    usemymalloc=n
+    default_inc_excludes_dot=define
+    bincompat5005=undef
+  Compiler:
+    cc='cc'
+    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2'
+    optimize='-O2'
+    cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/pro/local/include'
+    ccversion=''
+    gccversion='8.3.1 20190226 [gcc-8-branch revision 269204]'
+    gccosandvers=''
+    intsize=4
+    longsize=8
+    ptrsize=8
+    doublesize=8
+    byteorder=12345678
+    doublekind=3
+    d_longlong=define
+    longlongsize=8
+    d_longdbl=define
+    longdblsize=16
+    longdblkind=3
+    ivtype='long'
+    ivsize=8
+    nvtype='long double'
+    nvsize=16
+    Off_t='off_t'
+    lseeksize=8
+    alignbytes=16
+    prototype=define
+  Linker and Libraries:
+    ld='cc'
+    ldflags ='-L/pro/local/lib -fstack-protector-strong'
+    libpth=/usr/local/lib /usr/lib64/gcc/x86_64-suse-linux/8/include-fixed /usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/lib /usr/lib /pro/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
+    libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
+    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
+    libc=libc-2.29.so
+    so=so
+    useshrplib=true
+    libperl=libperl.so
+    gnulibc_version='2.29'
+  Dynamic Linking:
+    dlsrc=dl_dlopen.xs
+    dlext=so
+    d_dlsymun=undef
+    ccdlflags='-Wl,-E -Wl,-rpath,/pro/lib/perl5/5.30.0/x86_64-linux-thread-multi-ld/CORE'
+    cccdlflags='-fPIC'
+    lddlflags='-shared -O2 -L/pro/local/lib -fstack-protector-strong'
+
+
+Characteristics of this binary (from libperl): 
+  Compile-time options:
+    HAS_TIMES
+    MULTIPLICITY
+    PERLIO_LAYERS
+    PERL_COPY_ON_WRITE
+    PERL_DONT_CREATE_GVSV
+    PERL_IMPLICIT_CONTEXT
+    PERL_MALLOC_WRAP
+    PERL_OP_PARENT
+    PERL_PRESERVE_IVUV
+    USE_64_BIT_ALL
+    USE_64_BIT_INT
+    USE_ITHREADS
+    USE_LARGE_FILES
+    USE_LOCALE
+    USE_LOCALE_COLLATE
+    USE_LOCALE_CTYPE
+    USE_LOCALE_NUMERIC
+    USE_LOCALE_TIME
+    USE_LONG_DOUBLE
+    USE_PERLIO
+    USE_PERL_ATOF
+    USE_REENTRANT_API
+    USE_THREAD_SAFE_LOCALE
+  Built under linux
+  Compiled at May 23 2019 14:05:36
+  %ENV:
+    PERL6LIB="inst#/pro/3gl/CPAN/rakudo/install"
+  @INC:
+    /pro/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi-ld
+    /pro/lib/perl5/site_perl/5.30.0
+    /pro/lib/perl5/5.30.0/x86_64-linux-thread-multi-ld
+    /pro/lib/perl5/5.30.0
diff --git a/cpan/Config-Perl-V/t/37_plv53111qm.t b/cpan/Config-Perl-V/t/37_plv53111qm.t
new file mode 100644 (file)
index 0000000..f566f76
--- /dev/null
@@ -0,0 +1,186 @@
+#!/pro/bin/perl
+
+use strict;
+use warnings;
+
+BEGIN {
+    use Test::More;
+    my $tests = 128;
+    unless ($ENV{PERL_CORE}) {
+       require Test::NoWarnings;
+       Test::NoWarnings->import ();
+       $tests++;
+       }
+
+    plan tests => $tests;
+    }
+
+use Config::Perl::V qw( summary );
+
+ok (my $conf = Config::Perl::V::plv2hash (<DATA>), "Read perl -v block");
+ok (exists $conf->{$_}, "Has $_ entry") for qw( build environment config inc );
+
+is ($conf->{build}{osname}, $conf->{config}{osname}, "osname");
+is ($conf->{build}{stamp}, "Apr  9 2020 17:12:07", "Build time");
+is ($conf->{config}{version}, "5.31.11", "reconstructed \$Config{version}");
+
+my $opt = Config::Perl::V::plv2hash ("")->{build}{options};
+foreach my $o (sort qw(
+       DEBUGGING HAS_TIMES MULTIPLICITY PERL_COPY_ON_WRITE
+       PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERLIO_LAYERS
+       PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV PERL_TRACK_MEMPOOL
+       PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
+       USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
+       USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERL_ATOF USE_PERLIO
+       USE_QUADMATH USE_REENTRANT_API USE_THREAD_SAFE_LOCALE
+       )) {
+    is ($conf->{build}{options}{$o}, 1, "Runtime option $o set");
+    delete $opt->{$o};
+    }
+foreach my $o (sort keys %$opt) {
+    is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
+    }
+
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "146e648c6239f623b8a8242fc8b5759f";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
+is_deeply ($conf->{build}{patches}, [ ], "No patches");
+
+my %check = (
+    alignbytes      => 16,
+    api_version     => 31,
+    bincompat5005   => "undef",
+    byteorder       => 12345678,
+    cc              => "cc",
+    cccdlflags      => "-fPIC",
+    ccdlflags       => "-Wl,-E",
+    config_args     => "-Dusedevel -Duse64bitall -Dusethreads -Duseithreads -Dusequadmath -des",
+    gccversion      => "10.0.1 20200302 (experimental) [revision 778a77357cad11e8dd4c810544330af0fbe843b1]",
+    gnulibc_version => "2.31",
+    ivsize          => 8,
+    ivtype          => "long",
+    ld              => "cc",
+    lddlflags       => "-shared -O2 -L/pro/local/lib -fstack-protector-strong",
+    ldflags         => "-L/pro/local/lib -fstack-protector-strong",
+    libc            => "libc-2.31.so",
+    lseektype       => "off_t",
+    osvers          => "5.6.2-1-default",
+    use64bitall     => "define",
+    use64bitint     => "define",
+    usemymalloc     => "n",
+    default_inc_excludes_dot
+                   => "define",
+    );
+is ($conf->{config}{$_}, $check{$_}, "reconstructed \$Config{$_}") for sort keys %check;
+
+ok (my $info = summary ($conf), "A summary");
+ok (exists $info->{$_}, "Summary has $_") for qw( cc config_args usemymalloc default_inc_excludes_dot );
+is ($info->{default_inc_excludes_dot}, "define", "This build has . NOT in INC");
+
+__END__
+Summary of my perl5 (revision 5 version 31 subversion 11) configuration:
+  Snapshot of: +0300
+  Platform:
+    osname=linux
+    osvers=5.6.2-1-default
+    archname=x86_64-linux-thread-multi-quadmath
+    uname='linux lx09 5.6.2-1-default #1 smp thu apr 2 06:31:32 utc 2020 (c8170d6) x86_64 x86_64 x86_64 gnulinux '
+    config_args='-Dusedevel -Duse64bitall -Dusethreads -Duseithreads -Dusequadmath -des'
+    hint=recommended
+    useposix=true
+    d_sigaction=define
+    useithreads=define
+    usemultiplicity=define
+    use64bitint=define
+    use64bitall=define
+    uselongdouble=undef
+    usemymalloc=n
+    default_inc_excludes_dot=define
+    bincompat5005=undef
+  Compiler:
+    cc='cc'
+    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2'
+    optimize='-O2'
+    cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/pro/local/include'
+    ccversion=''
+    gccversion='10.0.1 20200302 (experimental) [revision 778a77357cad11e8dd4c810544330af0fbe843b1]'
+    gccosandvers=''
+    intsize=4
+    longsize=8
+    ptrsize=8
+    doublesize=8
+    byteorder=12345678
+    doublekind=3
+    d_longlong=define
+    longlongsize=8
+    d_longdbl=define
+    longdblsize=16
+    longdblkind=3
+    ivtype='long'
+    ivsize=8
+    nvtype='__float128'
+    nvsize=16
+    Off_t='off_t'
+    lseeksize=8
+    alignbytes=16
+    prototype=define
+  Linker and Libraries:
+    ld='cc'
+    ldflags ='-L/pro/local/lib -fstack-protector-strong'
+    libpth=/usr/local/lib /usr/lib64/gcc/x86_64-suse-linux/10/include-fixed /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/lib /usr/lib /pro/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
+    libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat -lquadmath
+    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc -lquadmath
+    libc=libc-2.31.so
+    so=so
+    useshrplib=false
+    libperl=libperl.a
+    gnulibc_version='2.31'
+  Dynamic Linking:
+    dlsrc=dl_dlopen.xs
+    dlext=so
+    d_dlsymun=undef
+    ccdlflags='-Wl,-E'
+    cccdlflags='-fPIC'
+    lddlflags='-shared -O2 -L/pro/local/lib -fstack-protector-strong'
+
+
+Characteristics of this binary (from libperl):
+  Compile-time options:
+    DEBUGGING
+    HAS_TIMES
+    MULTIPLICITY
+    PERLIO_LAYERS
+    PERL_COPY_ON_WRITE
+    PERL_DONT_CREATE_GVSV
+    PERL_IMPLICIT_CONTEXT
+    PERL_MALLOC_WRAP
+    PERL_OP_PARENT
+    PERL_PRESERVE_IVUV
+    PERL_TRACK_MEMPOOL
+    PERL_USE_DEVEL
+    USE_64_BIT_ALL
+    USE_64_BIT_INT
+    USE_ITHREADS
+    USE_LARGE_FILES
+    USE_LOCALE
+    USE_LOCALE_COLLATE
+    USE_LOCALE_CTYPE
+    USE_LOCALE_NUMERIC
+    USE_LOCALE_TIME
+    USE_PERLIO
+    USE_PERL_ATOF
+    USE_QUADMATH
+    USE_REENTRANT_API
+    USE_THREAD_SAFE_LOCALE
+  Built under linux
+  Compiled at Apr  9 2020 17:12:07
+  %ENV:
+    PERL6LIB="inst#/pro/3gl/CPAN/rakudo/install"
+  @INC:
+    lib
+    /pro/lib/perl5/site_perl/5.31.11/x86_64-linux-thread-multi-quadmath
+    /pro/lib/perl5/site_perl/5.31.11
+    /pro/lib/perl5/5.31.11/x86_64-linux-thread-multi-quadmath
+    /pro/lib/perl5/5.31.11
diff --git a/cpan/Config-Perl-V/t/38_plv5320tld.t b/cpan/Config-Perl-V/t/38_plv5320tld.t
new file mode 100644 (file)
index 0000000..a8f0d73
--- /dev/null
@@ -0,0 +1,182 @@
+#!/pro/bin/perl
+
+use strict;
+use warnings;
+
+BEGIN {
+    use Test::More;
+    my $tests = 128;
+    unless ($ENV{PERL_CORE}) {
+       require Test::NoWarnings;
+       Test::NoWarnings->import ();
+       $tests++;
+       }
+
+    plan tests => $tests;
+    }
+
+use Config::Perl::V qw( summary );
+
+ok (my $conf = Config::Perl::V::plv2hash (<DATA>), "Read perl -v block");
+ok (exists $conf->{$_}, "Has $_ entry") for qw( build environment config inc );
+
+is ($conf->{build}{osname}, $conf->{config}{osname}, "osname");
+is ($conf->{build}{stamp}, "Jun 21 2020 10:17:00", "Build time");
+is ($conf->{config}{version}, "5.32.0", "reconstructed \$Config{version}");
+
+my $opt = Config::Perl::V::plv2hash ("")->{build}{options};
+foreach my $o (sort qw(
+       HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE
+       PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
+       PERL_OP_PARENT PERL_PRESERVE_IVUV USE_THREAD_SAFE_LOCALE
+       USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
+       USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC
+       USE_LOCALE_TIME USE_LONG_DOUBLE USE_PERLIO USE_PERL_ATOF
+       USE_REENTRANT_API
+       )) {
+    is ($conf->{build}{options}{$o}, 1, "Runtime option $o set");
+    delete $opt->{$o};
+    }
+foreach my $o (sort keys %$opt) {
+    is ($conf->{build}{options}{$o}, 0, "Runtime option $o unset");
+    }
+
+eval { require Digest::MD5; };
+my $md5 = $@ ? "0" x 32 : "901df8463a7bda6075bd75539214e75e";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
+is_deeply ($conf->{build}{patches}, [ ], "No patches");
+
+my %check = (
+    alignbytes      => 16,
+    api_version     => 32,
+    bincompat5005   => "undef",
+    byteorder       => 12345678,
+    cc              => "cc",
+    cccdlflags      => "-fPIC",
+    ccdlflags       => "-Wl,-E -Wl,-rpath,/pro/lib/perl5/5.32.0/x86_64-linux-thread-multi-ld/CORE",
+    config_args     => "-Dusethreads -Duseithreads -Duse64bitall -Duselongdouble -Duseshrplib -des",
+    gccversion      => "10.1.1 20200507 [revision dd38686d9c810cecbaa80bb82ed91caaa58ad635]",
+    gnulibc_version => "2.31",
+    ivsize          => 8,
+    ivtype          => "long",
+    ld              => "cc",
+    lddlflags       => "-shared -O2 -L/pro/local/lib -fstack-protector-strong",
+    ldflags         => "-L/pro/local/lib -fstack-protector-strong",
+    libc            => "libc-2.31.so",
+    lseektype       => "off_t",
+    osvers          => "5.7.1-1-default",
+    use64bitall     => "define",
+    use64bitint     => "define",
+    usemymalloc     => "n",
+    default_inc_excludes_dot
+                   => "define",
+    );
+is ($conf->{config}{$_}, $check{$_}, "reconstructed \$Config{$_}") for sort keys %check;
+
+ok (my $info = summary ($conf), "A summary");
+ok (exists $info->{$_}, "Summary has $_") for qw( cc config_args usemymalloc default_inc_excludes_dot );
+is ($info->{default_inc_excludes_dot}, "define", "This build has . NOT in INC");
+
+__END__
+Summary of my perl5 (revision 5 version 32 subversion 0) configuration:
+   
+  Platform:
+    osname=linux
+    osvers=5.7.1-1-default
+    archname=x86_64-linux-thread-multi-ld
+    uname='linux lx09 5.7.1-1-default #1 smp wed jun 10 11:53:46 utc 2020 (6a549f6) x86_64 x86_64 x86_64 gnulinux '
+    config_args='-Dusethreads -Duseithreads -Duse64bitall -Duselongdouble -Duseshrplib -des'
+    hint=recommended
+    useposix=true
+    d_sigaction=define
+    useithreads=define
+    usemultiplicity=define
+    use64bitint=define
+    use64bitall=define
+    uselongdouble=define
+    usemymalloc=n
+    default_inc_excludes_dot=define
+    bincompat5005=undef
+  Compiler:
+    cc='cc'
+    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2'
+    optimize='-O2'
+    cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/pro/local/include'
+    ccversion=''
+    gccversion='10.1.1 20200507 [revision dd38686d9c810cecbaa80bb82ed91caaa58ad635]'
+    gccosandvers=''
+    intsize=4
+    longsize=8
+    ptrsize=8
+    doublesize=8
+    byteorder=12345678
+    doublekind=3
+    d_longlong=define
+    longlongsize=8
+    d_longdbl=define
+    longdblsize=16
+    longdblkind=3
+    ivtype='long'
+    ivsize=8
+    nvtype='long double'
+    nvsize=16
+    Off_t='off_t'
+    lseeksize=8
+    alignbytes=16
+    prototype=define
+  Linker and Libraries:
+    ld='cc'
+    ldflags ='-L/pro/local/lib -fstack-protector-strong'
+    libpth=/usr/local/lib /usr/lib64/gcc/x86_64-suse-linux/10/include-fixed /usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/lib /usr/lib /pro/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
+    libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
+    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
+    libc=libc-2.31.so
+    so=so
+    useshrplib=true
+    libperl=libperl.so
+    gnulibc_version='2.31'
+  Dynamic Linking:
+    dlsrc=dl_dlopen.xs
+    dlext=so
+    d_dlsymun=undef
+    ccdlflags='-Wl,-E -Wl,-rpath,/pro/lib/perl5/5.32.0/x86_64-linux-thread-multi-ld/CORE'
+    cccdlflags='-fPIC'
+    lddlflags='-shared -O2 -L/pro/local/lib -fstack-protector-strong'
+
+
+Characteristics of this binary (from libperl): 
+  Compile-time options:
+    HAS_TIMES
+    MULTIPLICITY
+    PERLIO_LAYERS
+    PERL_COPY_ON_WRITE
+    PERL_DONT_CREATE_GVSV
+    PERL_IMPLICIT_CONTEXT
+    PERL_MALLOC_WRAP
+    PERL_OP_PARENT
+    PERL_PRESERVE_IVUV
+    USE_64_BIT_ALL
+    USE_64_BIT_INT
+    USE_ITHREADS
+    USE_LARGE_FILES
+    USE_LOCALE
+    USE_LOCALE_COLLATE
+    USE_LOCALE_CTYPE
+    USE_LOCALE_NUMERIC
+    USE_LOCALE_TIME
+    USE_LONG_DOUBLE
+    USE_PERLIO
+    USE_PERL_ATOF
+    USE_REENTRANT_API
+    USE_THREAD_SAFE_LOCALE
+  Built under linux
+  Compiled at Jun 21 2020 10:17:00
+  %ENV:
+    PERL6LIB="inst#/pro/3gl/CPAN/rakudo/install"
+  @INC:
+    /pro/lib/perl5/site_perl/5.32.0/x86_64-linux-thread-multi-ld
+    /pro/lib/perl5/site_perl/5.32.0
+    /pro/lib/perl5/5.32.0/x86_64-linux-thread-multi-ld
+    /pro/lib/perl5/5.32.0
index 3bde674..bf97579 100644 (file)
@@ -1,7 +1,6 @@
 # Regenerate this file using:
 #     cd t
 #     ./perl -I../lib porting/customized.t --regen
-Config::Perl::V cpan/Config-Perl-V/V.pm 0a0f7207e6505b78ee345a933acb0246a13579f5
 ExtUtils::Constant cpan/ExtUtils-Constant/t/Constant.t d5c75c41d6736a0c5897130f534af0896a7d6f4d
 ExtUtils::PL2Bat cpan/ExtUtils-PL2Bat/t/make_executable.t 2f58339b567d943712488812f06d99f907af46ab
 Filter::Util::Call pod/perlfilter.pod 2d98239c4f4a930ad165444c3879629bb91f4cef