This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Config-Perl-V to CPAN version 0.29
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Fri, 13 Oct 2017 12:25:29 +0000 (13:25 +0100)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Fri, 13 Oct 2017 12:52:24 +0000 (13:52 +0100)
  [DELTA]

0.29  - 12 Oct 2017, H.Merijn Brand
    * It's 2017
    * Add test for 5.26.1-RC1
    * Fix signature with argument
    * Ignore ccache and compiler path in signature

21 files changed:
MANIFEST
Porting/Maintainers.pl
cpan/Config-Perl-V/V.pm
cpan/Config-Perl-V/t/10_base.t
cpan/Config-Perl-V/t/20_plv56.t
cpan/Config-Perl-V/t/21_plv58.t
cpan/Config-Perl-V/t/22_plv510.t
cpan/Config-Perl-V/t/23_plv512.t
cpan/Config-Perl-V/t/24_plv514.t
cpan/Config-Perl-V/t/25_plv516.t
cpan/Config-Perl-V/t/25_plv5162.t
cpan/Config-Perl-V/t/26_plv518.t
cpan/Config-Perl-V/t/26_plv5182.t
cpan/Config-Perl-V/t/27_plv5200.t
cpan/Config-Perl-V/t/27_plv5202.t
cpan/Config-Perl-V/t/28_plv5220.t
cpan/Config-Perl-V/t/28_plv52201w.t
cpan/Config-Perl-V/t/29_plv5235w.t
cpan/Config-Perl-V/t/30_plv5240.t
cpan/Config-Perl-V/t/31_plv52511.t
cpan/Config-Perl-V/t/32_plv5261rc1.t [new file with mode: 0644]

index 7d70905..b5492ed 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -243,6 +243,7 @@ cpan/Config-Perl-V/t/28_plv52201w.t         Config::Perl::V
 cpan/Config-Perl-V/t/29_plv5235w.t             Config::Perl::V
 cpan/Config-Perl-V/t/30_plv5240.t              Config::Perl::V
 cpan/Config-Perl-V/t/31_plv52511.t             Config::Perl::V
+cpan/Config-Perl-V/t/32_plv5261rc1.t
 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 d22c8ad..539fb5a 100755 (executable)
@@ -227,7 +227,7 @@ use File::Glob qw(:case);
     },
 
     'Config::Perl::V' => {
-        'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.27.tgz',
+        'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.29.tgz',
         'FILES'        => q[cpan/Config-Perl-V],
         'EXCLUDED'     => [qw(
                examples/show-v.pl
index 9e9c09c..4489cc8 100644 (file)
@@ -8,7 +8,7 @@ use warnings;
 use Config;
 use Exporter;
 use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS);
-$VERSION     = "0.28";
+$VERSION     = "0.29";
 @ISA         = qw( Exporter );
 @EXPORT_OK   = qw( plv2hash summary myconfig signature );
 %EXPORT_TAGS = (
@@ -310,8 +310,11 @@ sub plv2hash {
 
 sub summary {
     my $conf = shift || myconfig ();
-    ref $conf eq "HASH" &&
-       exists $conf->{config} && exists $conf->{build} or return;
+    ref $conf eq "HASH"
+    && 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}{$_} ) : () }
@@ -328,10 +331,15 @@ sub summary {
     } # summary
 
 sub signature {
+    my $no_md5 = "0" x 32;
+    my $conf = summary (shift) or return $no_md5;
+
     eval { require Digest::MD5 };
-    $@ and return "00000000000000000000000000000000";
+    $@ and return $no_md5;
+
+    $conf->{cc} =~ s{.*\bccache\s+}{};
+    $conf->{cc} =~ s{.*[/\\]}{};
 
-    my $conf = shift || summary ();
     delete $conf->{config_args};
     return Digest::MD5::md5_hex (join "\xFF" => map {
        "$_=".(defined $conf->{$_} ? $conf->{$_} : "\xFE");
@@ -546,7 +554,7 @@ H.Merijn Brand <h.m.brand@xs4all.nl>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2009-2016 H.Merijn Brand
+Copyright (C) 2009-2017 H.Merijn Brand
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
index 6113828..c4deda0 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 12;
+    my $tests = 42;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -26,6 +26,19 @@ ok (my $info1 = Config::Perl::V::summary ($conf), "Get a summary for \$conf");
 ok (my $info2 = Config::Perl::V::summary,         "Get a summary for \$^X");
 is_deeply ($info1, $info2, "Info should match");
 
+ok (my $sig = Config::Perl::V::signature, "Get signature");
+like ($sig, qr{^[0-9a-f]{32}$}, "Valid md5");
+
+my $no_md5 = "0" x 32;
+ok (my $bad = Config::Perl::V::signature ({ cfg => 0 }), "Signature on invalid data");
+is ($bad, $no_md5, "Invalid md5");
+ok (   $bad = Config::Perl::V::signature ({ config => {} }), "Signature on incomplete data");
+is ($bad, $no_md5, "Invalid md5");
+ok (   $bad = Config::Perl::V::signature ({ config => 0, build => {} }), "Signature on invalid data");
+is ($bad, $no_md5, "Invalid md5");
+ok (   $bad = Config::Perl::V::signature ({ config => {}, build => 0 }), "Signature on invalid data");
+is ($bad, $no_md5, "Invalid md5");
+
 SKIP: {
     # Test that the code that shells out to perl -V and parses the output
     # gives the same results as the code that calls Config::* routines directly.
@@ -36,3 +49,24 @@ SKIP: {
     is_deeply (Config::Perl::V::myconfig, $conf,
        "perl -V parsing code produces same result as the Config module");
     }
+
+$ENV{CPV_TEST_ENV} = 42;
+ok ($conf = Config::Perl::V::myconfig ({ env => qr{^CPV_TEST_ENV$} }), "Read config plus ENV");
+ok (exists $conf->{$_},        "Has $_ entry") for qw( build environment config inc environment );
+ok (my $eh = $conf->{environment}, "Get ENV from conf");
+is ($eh->{CPV_TEST_ENV}, 42, "Valid entry");
+
+ok ($conf = Config::Perl::V::myconfig ([ env => qr{^CPV_TEST_ENV$} ]), "Read config plus ENV");
+ok (exists $conf->{$_},        "Has $_ entry") for qw( build environment config inc environment );
+ok ($eh = $conf->{environment}, "Get ENV from conf");
+is ($eh->{CPV_TEST_ENV}, 42, "Valid entry");
+
+ok ($conf = Config::Perl::V::myconfig (  env => qr{^CPV_TEST_ENV$}  ), "Read config invalid arguments");
+is ($conf->{environment}{CPV_TEST_ENV}, undef, "No entry");
+
+delete $INC{"Digest/MD5.pm"};
+delete $INC{"Digest/base.pm"};
+$INC{"Digest/MD5"} = "./flooble/blurgh/Digest/MD5.pm";
+local @INC = ("xyzzy$$"); # Should be unable to find Digest::MD5
+ok ($sig = Config::Perl::V::signature, "Get signature (No Digest::MD5)");
+is ($sig, $no_md5, "Valid md5");
index 445531b..a7e9f9e 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 97;
+    my $tests = 99;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -36,6 +36,11 @@ 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 : "9dc187182be100c1713f210a8c6d9f45";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 __END__
 Summary of my perl5 (revision 5.0 version 6 subversion 2) configuration:
   Platform:
index 39f0352..a7b797b 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 97;
+    my $tests = 99;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -39,6 +39,11 @@ 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 : "df48dce1adaaf63855d8acd455c51818";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 __END__
 Summary of my perl5 (revision 5 version 8 subversion 9) configuration:
   Platform:
index 430410c..51ba142 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 96;
+    my $tests = 98;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -29,6 +29,11 @@ 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 : "ce0a7871dfddbbed0a6c685c0f52dbf9";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 __END__
 Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
   Platform:
index 572fef0..00479ba 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 98;
+    my $tests = 100;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -39,6 +39,11 @@ 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 : "a2c38153cc47d340bc140d0bfe294afb";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 __END__
 Summary of my perl5 (revision 5 version 12 subversion 2) configuration:
 
index abaceb1..db2ac2a 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 98;
+    my $tests = 100;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -40,6 +40,11 @@ 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 : "778815a670c0c454738aedf0c88930ba";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 __END__
 Summary of my perl5 (revision 5 version 14 subversion 2) configuration:
 
index f91279a..6315223 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 97;
+    my $tests = 99;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -40,6 +40,11 @@ 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 : "7b00cf3b306d96fa802892e6ad4b070f";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 __END__
 Summary of my perl5 (revision 5 version 16 subversion 3) configuration:
    
index 2bab664..aed85b9 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 155;
+    my $tests = 157;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -42,6 +42,11 @@ 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 : "2917ca2a97b6db1ab8fb08798f53c0bb";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [
     "/Library/Perl/Updates/<version> comes before system perl directories",
     "installprivlib and installarchlib points to the Updates directory",
index 08f275b..cedc734 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 116;
+    my $tests = 118;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -40,6 +40,11 @@ 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 : "8f46b07a7775e6a92347d4cd564b8f03";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (
index f25e42e..178fb92 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 116;
+    my $tests = 118;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -40,6 +40,11 @@ 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 : "874325856acfea3dab7e7c944660f398";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (
index 8e8ce8e..4d9b400 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 116;
+    my $tests = 118;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -43,6 +43,11 @@ 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 : "3e7b4513cd80c6ef00fcd77e5e16f8b4";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (
index 9faf121..33396be 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 117;
+    my $tests = 119;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -43,6 +43,11 @@ 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 : "9f954ebc2be7b1d7e151ab28dbdf7062";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (
index e9a07c4..77bc99d 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 117;
+    my $tests = 119;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -43,6 +43,11 @@ 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 : "ddcc2d51e43bf18f5234ba66529068ef";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (
index 1043dfa..1ec81a4 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 117;
+    my $tests = 119;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -43,6 +43,11 @@ 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 : "dfb32b8299b66e8bdb2712934f700d94";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (
index 2c23e42..26d3281 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 117;
+    my $tests = 119;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -43,6 +43,11 @@ 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 : "bccd5d78dfebd48b89faf7f1fe711733";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (
index b43b46f..6b717d6 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 125;
+    my $tests = 127;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -41,6 +41,11 @@ 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 : "3dffae79f6d2c74073f0d64646709101";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches}, [], "No local patches");
 
 my %check = (
index b3c09cd..762a63d 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 
 BEGIN {
     use Test::More;
-    my $tests = 125;
+    my $tests = 127;
     unless ($ENV{PERL_CORE}) {
        require Test::NoWarnings;
        Test::NoWarnings->import ();
@@ -41,6 +41,11 @@ 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 : "f0e463400e40ca35b67cec3834b5b9b7";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
 is_deeply ($conf->{build}{patches},
     [ "SMOKEaa9ac6cf00899a6f55881d4ca6c1214215dc83ee" ], "Local patches");
 
diff --git a/cpan/Config-Perl-V/t/32_plv5261rc1.t b/cpan/Config-Perl-V/t/32_plv5261rc1.t
new file mode 100644 (file)
index 0000000..9250016
--- /dev/null
@@ -0,0 +1,183 @@
+#!/pro/bin/perl
+
+use strict;
+use warnings;
+
+BEGIN {
+    use Test::More;
+    my $tests = 127;
+    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}, "Sep 19 2017 11:20:22", "Build time");
+is ($conf->{config}{version}, "5.26.1", "reconstructed \$Config{version}");
+
+my $opt = Config::Perl::V::plv2hash ("")->{build}{options};
+foreach my $o (sort qw(
+       DEBUGGING HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE
+       PERL_DONT_CREATE_GVSV PERL_OP_PARENT
+       PERL_TRACK_MEMPOOL PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
+       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
+       )) {
+    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 : "dd710670fec7d2e260414648dcc94e89";
+ok (my $sig = Config::Perl::V::signature ($conf), "Get signature");
+is ($sig, $md5, "MD5");
+
+is_deeply ($conf->{build}{patches}, [ "RC1" ], "No local patches");
+
+my %check = (
+    alignbytes      => 16,
+    api_version     => 26,
+    bincompat5005   => "undef",
+    byteorder       => 12345678,
+    cc              => "ccache cc",
+    cccdlflags      => "-fPIC",
+    ccdlflags       => "-Wl,-E",
+    config_args     => "-Duse64bitall -Duselongdouble -Dusethreads -Duseithreads -Uversiononly -Dinc_version_list=none -des",
+    gccversion      => "4.8.3 20140627 [gcc-4_8-branch revision 212064]",
+    gnulibc_version => "2.19",
+    ivsize          => 8,
+    ivtype          => "long",
+    ld              => "ccache cc",
+    lddlflags       => "-shared -O2 -L/pro/local/lib -fstack-protector",
+    ldflags         => "-L/pro/local/lib -fstack-protector",
+    libc            => "libc-2.19.so",
+    lseektype       => "off_t",
+    osvers          => "3.16.7-32-desktop",
+    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 . in INC");
+
+__END__
+Summary of my perl5 (revision 5 version 26 subversion 1) configuration:
+
+  Platform:
+    osname=linux
+    osvers=3.16.7-32-desktop
+    archname=x86_64-linux-thread-multi-ld
+    uname='linux sv02 3.16.7-32-desktop #1 smp preempt wed jan 20 14:05:33 utc 2016 (d4df98a) x86_64 x86_64 x86_64 gnulinux '
+    config_args='-Duse64bitall -Duselongdouble -Dusethreads -Duseithreads -Uversiononly -Dinc_version_list=none -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='ccache cc'
+    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -DDEBUGGING -fwrapv -fno-strict-aliasing -pipe -fstack-protector -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'
+    ccversion=''
+    gccversion='4.8.3 20140627 [gcc-4_8-branch revision 212064]'
+    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='ccache cc'
+    ldflags ='-L/pro/local/lib -fstack-protector'
+    libpth=/usr/local/lib /usr/lib64/gcc/x86_64-suse-linux/4.8/include-fixed /usr/lib64/gcc/x86_64-suse-linux/4.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 -ldb -ldl -lm -lcrypt -lutil -lc
+    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
+    libc=libc-2.19.so
+    so=so
+    useshrplib=false
+    libperl=libperl.a
+    gnulibc_version='2.19'
+  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'
+
+
+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
+    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
+  Locally applied patches:
+    RC1
+  Built under linux
+  Compiled at Sep 19 2017 11:20:22
+  @INC:
+    /pro/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi-ld
+    /pro/lib/perl5/site_perl/5.26.1
+    /pro/lib/perl5/5.26.1/x86_64-linux-thread-multi-ld
+    /pro/lib/perl5/5.26.1