diff options
author | Nicholas Clark <nick@ccl4.org> | 2011-11-21 16:12:04 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2011-11-22 08:47:12 +0000 |
commit | 93a0b6a3d232eae4bac48664365f35f55bb68549 (patch) | |
tree | ac019bcf194f1879cf8275295987738a5074bbdf | |
parent | 74adbdfacd83589c2b1c2016c0daf51aa3ffa36d (diff) | |
download | perl-93a0b6a3d232eae4bac48664365f35f55bb68549.tar.gz |
bisect-runner.pl now fixes more 5.11-era make bugs.
bisect-runner.pl now patches Makefile.SH to ensure that git_version.h is built
before perl.o, for revisions between the addition of git_version.h, and the
addition of rules to ensure the correct build sequence.
-rwxr-xr-x | Porting/bisect-runner.pl | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Porting/bisect-runner.pl b/Porting/bisect-runner.pl index fdf68cd760..df36968760 100755 --- a/Porting/bisect-runner.pl +++ b/Porting/bisect-runner.pl @@ -1702,6 +1702,46 @@ EOPATCH # fixed in 0f13ebd5d71f8177 $code =~ s{^(uudmap\.h) (bitcount\.h): } {$1: $2\n\n$2: }m; + + # The rats nest of getting git_version.h correct + + if ($code =~ s{git_version\.h: stock_git_version\.h +\tcp stock_git_version\.h git_version\.h} + {}m) { + # before 486cd780047ff224 + + # We probably can't build between + # 953f6acfa20ec275^ and 8565263ab8a47cda + # inclusive, but all commits in that range + # relate to getting make_patchnum.sh working, + # so it is extremely unlikely to be an + # interesting bisect target. They will skip. + + # No, don't spawn a submake if + # make_patchnum.sh or make_patchnum.pl fails + $code =~ s{\|\| \$\(MAKE\) miniperl.*} + {}m; + $code =~ s{^\t(sh.*make_patchnum\.sh.*)} + {\t-$1}m; + + # Use an external perl to run make_patchnum.pl + # because miniperl still depends on + # git_version.h + $code =~ s{^\t.*make_patchnum\.pl} + {\t-$^X make_patchnum.pl}m; + + + # "Truth in advertising" - running + # make_patchnum generates 2 files. + $code =~ s{^make_patchnum:.*}{ +make_patchnum: lib/Config_git.pl + +git_version.h: lib/Config_git.pl + +perlmini\$(OBJ_EXT): git_version.h + +lib/Config_git.pl:}m; + } return $code; }); } |