The build of perl@16147 fails on VMS at B::C because that extension
has no .pm file and thus an empty PM_TO_BLIB macro. We end up trying
to read from a temp file that doesn't exist. The patch here fixes
that by being more careful about how we construct the pm_to_blib.ts
target. After this all extensions in the core build cleanly.
--- lib/ExtUtils/MM_VMS.pm;-0 Wed Apr 24 00:52:07 2002
+++ lib/ExtUtils/MM_VMS.pm Thu Apr 25 12:09:11 2002
@@ -745,29 +745,28 @@
pm_to_blib : pm_to_blib.ts
$(NOECHO) $(NOOP)
-};
-
- push @m, <<'MAKE_FRAG',
# As always, keep under DCL's 255-char limit
pm_to_blib.ts : $(TO_INST_PM)
- $(NOECHO) $(RM_F) .MM_tmp
-MAKE_FRAG
+};
+
+ if (scalar(@files) > 0) { # protect ourselves from empty PM_TO_BLIB
- $line = ''; # avoid uninitialized var warning
- while ($from = shift(@files),$to = shift(@files)) {
+ push(@m,qq[\t\$(NOECHO) \$(RM_F) .MM_tmp\n]);
+ $line = ''; # avoid uninitialized var warning
+ while ($from = shift(@files),$to = shift(@files)) {
$line .= " $from $to";
if (length($line) > 128) {
push(@m,"\t\$(NOECHO) \$(PERL) -e \"print '$line'\" >>.MM_tmp\n");
$line = '';
}
- }
- push(@m,"\t\$(NOECHO) \$(PERL) -e \"print '$line'\" >>.MM_tmp\n") if $line;
+ }
+ push(@m,"\t\$(NOECHO) \$(PERL) -e \"print '$line'\" >>.MM_tmp\n") if $line;
+
+ push(@m,q[ $(PERLRUN) "-MExtUtils::Install" -e "pm_to_blib({split('
+',<STDIN>)},'].$autodir.q[','$(PM_FILTER)')" <.MM_tmp]);
+ push(@m,qq[\n\t\$(NOECHO) \$(RM_F) .MM_tmp\n]);
- push(@m,q[ $(PERLRUN) "-MExtUtils::Install" -e "pm_to_blib({split('
',<STDIN>)},'].$autodir.q[','$(PM_FILTER)')" <.MM_tmp]);
- push(@m,qq[
- \$(NOECHO) Delete/NoLog/NoConfirm .MM_tmp;
- \$(NOECHO) \$(TOUCH) pm_to_blib.ts
-]);
+ }
+ push(@m,qq[\t\$(NOECHO) \$(TOUCH) pm_to_blib.ts]);
join('',@m);
}
[end of patch]
--
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]
"... getting out of a sonnet is much more
difficult than getting in."
Brad Leithauser