This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update threads::shared in Porting/Maintainers.pl to 1.29
[perl5.git] / configpm
index 1fb9c3e..5baed2b 100755 (executable)
--- a/configpm
+++ b/configpm
@@ -124,6 +124,10 @@ $config_txt .= sprintf <<'ENDOFBEG', ($myver) x 3;
 # This file was created by configpm when Perl was built. Any changes
 # made to this file will be lost the next time perl is built.
 
 # This file was created by configpm when Perl was built. Any changes
 # made to this file will be lost the next time perl is built.
 
+# for a description of the variables, please have a look at the
+# Glossary file, as written in the Porting folder, or use the url:
+# http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/Glossary
+
 package Config;
 use strict;
 # use warnings; Pulls in Carp
 package Config;
 use strict;
 # use warnings; Pulls in Carp
@@ -458,7 +462,19 @@ my $summary_expanded;
 sub myconfig {
     return $summary_expanded if $summary_expanded;
     ($summary_expanded = $summary) =~ s{\$(\w+)}
 sub myconfig {
     return $summary_expanded if $summary_expanded;
     ($summary_expanded = $summary) =~ s{\$(\w+)}
-                { my $c = $Config::Config{$1}; defined($c) ? $c : 'undef' }ge;
+                { 
+                       my $c;
+                       if ($1 eq 'git_ancestor_line') {
+                               if ($Config::Config{git_ancestor}) {
+                                       $c= "\n  Ancestor: $Config::Config{git_ancestor}";
+                               } else {
+                                       $c= "";
+                               }
+                       } else {
+                               $c = $Config::Config{$1}; 
+                       }
+                       defined($c) ? $c : 'undef' 
+               }ge;
     $summary_expanded;
 }
 
     $summary_expanded;
 }
 
@@ -535,6 +551,15 @@ foreach my $prefix (qw(libs libswanted)) {
 
 $heavy_txt .= "EOVIRTUAL\n";
 
 
 $heavy_txt .= "EOVIRTUAL\n";
 
+$heavy_txt .= <<'ENDOFGIT';
+eval {
+       # do not have hairy conniptions if this isnt available
+       require 'Config_git.pl';
+       $Config_SH_expanded .= $Config::Git_Data;
+       1;
+} or warn "Warning: failed to load Config_git.pl, something strange about this perl...\n";
+ENDOFGIT
+
 $heavy_txt .= $fetch_string;
 
 $config_txt .= <<'ENDOFEND';
 $heavy_txt .= $fetch_string;
 
 $config_txt .= <<'ENDOFEND';
@@ -751,6 +776,10 @@ Values stored in config.sh as 'undef' are returned as undefined
 values.  The perl C<exists> function can be used to check if a
 named variable exists.
 
 values.  The perl C<exists> function can be used to check if a
 named variable exists.
 
+For a description of the variables, please have a look at the
+Glossary file, as written in the Porting folder, or use the url:
+http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/Glossary
+
 =over 4
 
 =item myconfig()
 =over 4
 
 =item myconfig()
@@ -832,6 +861,8 @@ some of the variables described below, or may have extraneous variables
 specific to that particular port.  See the port specific documentation
 in such cases.
 
 specific to that particular port.  See the port specific documentation
 in such cases.
 
+=cut
+
 ENDOFTAIL
 
 if ($Opts{glossary}) {
 ENDOFTAIL
 
 if ($Opts{glossary}) {
@@ -848,12 +879,16 @@ sub process {
       print CONFIG_POD <<EOF if $text;
 =back
 
       print CONFIG_POD <<EOF if $text;
 =back
 
+=cut
+
 EOF
       print CONFIG_POD <<EOF;
 =head2 $c
 
 =over 4
 
 EOF
       print CONFIG_POD <<EOF;
 =head2 $c
 
 =over 4
 
+=cut
+
 EOF
      $text = 1;
     }
 EOF
      $text = 1;
     }
@@ -903,6 +938,21 @@ print CONFIG_POD <<'ENDOFTAIL';
 
 =back
 
 
 =back
 
+=head1 GIT DATA
+
+Information on the git commit from which the current perl binary was compiled
+can be found in the variable C<$Config::Git_Data>.  The variable is a
+structured string that looks something like this:
+
+  git_commit_id='ea0c2dbd5f5ac6845ecc7ec6696415bf8e27bd52'
+  git_describe='GitLive-blead-1076-gea0c2db'
+  git_branch='smartmatch'
+  git_uncommitted_changes=''
+  git_commit_id_title='Commit id:'
+  git_commit_date='2009-05-09 17:47:31 +0200'
+
+Its format is not guaranteed not to change over time.
+
 =head1 NOTE
 
 This module contains a good example of how to use tie to implement a
 =head1 NOTE
 
 This module contains a good example of how to use tie to implement a