To build perl-5.003 bisect-runner.pl needs to force a value for trnl.
authorNicholas Clark <nick@ccl4.org>
Fri, 30 Sep 2011 20:49:14 +0000 (22:49 +0200)
committerNicholas Clark <nick@ccl4.org>
Fri, 30 Sep 2011 20:49:14 +0000 (22:49 +0200)
Without this the current makedepend will hang waiting on stdin.
Additionally, when bisecting this far back we need to watch out for the
//depot/perlext/Compiler branch, which has no Configure, patchlevel.h or
other perl source, but may be checked out by the bisect, as it is the second
parent of a8581515f26a081f. If the file Configure is missing, we exit 125
to signal a skip.

Porting/bisect-runner.pl

index 0d35e6e..fb2e940 100755 (executable)
@@ -104,6 +104,9 @@ if ($match) {
     report_and_exit(!$matches, 'matches for', 'no matches for', $match);
 }
 
+skip('no Configure - is this the //depot/perlext/Compiler branch?')
+    unless -f 'Configure';
+
 # This changes to PERL_VERSION in 4d8076ea25903dcb in 1999
 my $major
     = extract_from_file('patchlevel.h',
@@ -152,6 +155,11 @@ unless (extract_from_file('Configure', 'ignore_versioned_solibs')) {
     push @ARGS, "-Dlibs=@libs";
 }
 
+# This seems to be necessary to avoid makedepend becoming confused, and hanging
+# on stdin. Seems that the code after make shlist || ...here... is never run.
+push @ARGS, q{-Dtrnl='\n'}
+    if $major < 4;
+
 # </dev/null because it seems that some earlier versions of Configure can
 # call commands in a way that now has them reading from stdin (and hanging)
 my $pid = fork;