this seems to work, still not using the perl version, but this works the way it would
Yves Orton [Sun, 4 Jan 2009 18:12:53 +0000 (19:12 +0100)]
Makefile.SH
configpm
make_patchnum.sh

index 9bf115c..c6bebe0 100644 (file)
@@ -541,7 +541,8 @@ sperl.i: perl.c $(h)
 .PHONY: all translators utilities make_patchnum
 
 make_patchnum:
-       sh $(shellflags) make_patchnum.sh
+       sh $(shellflags) make_patchnum.sh || $(MAKE) miniperl
+
 
 git_version.h: stock_git_version.h
        cp stock_git_version.h git_version.h
@@ -594,7 +595,7 @@ miniperlmain$(OBJ_EXT): miniperlmain.c patchlevel.h
 perlmain.c: miniperlmain.c config.sh $(FIRSTMAKEFILE)
        sh writemain $(DYNALOADER) $(static_ext) > perlmain.c
 
-perlmain$(OBJ_EXT): perlmain.c
+perlmain$(OBJ_EXT): perlmain.c git_version.h
        $(CCCMD) $(PLDLFLAGS) $*.c
 
 # The file ext.libs is a list of libraries that must be linked in
index af6f65a..17f02c5 100755 (executable)
--- a/configpm
+++ b/configpm
@@ -548,8 +548,11 @@ foreach my $prefix (qw(libs libswanted)) {
 $heavy_txt .= "EOVIRTUAL\n";
 
 $heavy_txt .= <<'ENDOFGIT';
-require 'Config_git.pl';
-$Config_SH_expanded .= $Config::Git_Data;
+eval { 
+       # do not have hairy conniptions if this isnt available
+       require 'Config_git.pl';
+       $Config_SH_expanded .= $Config::Git_Data;
+};
 ENDOFGIT
 
 $heavy_txt .= $fetch_string;
index e770f75..6c3ae65 100644 (file)
@@ -69,19 +69,19 @@ test -z "$commit_title" && commit_title='Commit id:'
 
 new_header=`cat <<EOFTEXT
 /***************************************************************************
-* WARNING: $header_file is automatically generated by make_patchnum.sh 
-*          DO NOT EDIT DIRECTLY - edit make_patchnum.sh instead      
+* WARNING: $header_file is automatically generated by make_patchnum.sh
+*          DO NOT EDIT DIRECTLY - edit make_patchnum.sh instead
 ****************************************************************************/
 #define PERL_PATCHNUM $describe
 $status
-#define PERL_GIT_UNPUSHED_COMMITS $unpushed_commits 
+#define PERL_GIT_UNPUSHED_COMMITS $unpushed_commits
 /*leave-this-comment*/
 EOFTEXT
 `
 new_config=`cat <<EOFDATA
 #######################################################################
-# WARNING: $config_file is generated by make_patchnum.sh   
-#          DO NOT EDIT DIRECTLY - edit make_patchnum.sh instead 
+# WARNING: $config_file is generated by make_patchnum.sh
+#          DO NOT EDIT DIRECTLY - edit make_patchnum.sh instead
 #######################################################################
 \\$Config::Git_Data=<<'ENDOFGIT';
 git_commit_id='$commit_id'
@@ -98,6 +98,7 @@ if [ "$new_config" != "$existing_config" ] || [ "$existing_header" != "$new_head
        echo "Updating $header_file and $config_file"
        echo "$new_config" > $config_file
        echo "$new_header" > $header_file
+       exit 1 
 else
        echo "Reusing $header_file and $config_file"
 fi