The attached patch takes a swing at correcting the problems I reported
earlier and gets all tests passing on

Perl 5.8.4, OpenVMS Alphs 7.1
[EMAIL PROTECTED], OpenVMS Alpha 7.3-1

I'm slightly queasy, though, about removing the command-line switches
from the make equivalent and relying on pasthru to take care of
everything. As I read pasthru, it only adds values for MakeMaker
keywords that it knows about. The VMS make utilities have the ability to
pass along to a subsidiary build the exact command switches that were
passed in.

$(MMS)$(MMSQUALIFIERS)

is guaranteed to build the child using the same command that built the
parent, regardless of whether the switches/qualifiers were known to
MakeMaker or not.

Does pasthru ever send switches to the child that were not sent to the
parent? If not, we might be better off dispensing with pasthru on VMS
and keeping the old definition of $self->{MAKE}.

Craig A. Berry wrote:
At 9:31 AM -0500 2/8/05, Michael G Schwern wrote:

Its time for another MakeMaker alpha!


With Perl 5.8.4 on OpenVMS Alpha 7.1, an older, directory-depth
challenged version, basic.t and recurs.t fail because they blow the
8-level limit.

With Perl 5.8.4 on OpenVMS Alpha 7.3-1, basic.t fails the disttest
check (#67).  It appears to be supplying the macro definition twice, which
causes it to exceed the command length limit:
--- lib/ExtUtils/MM_VMS.pm;-0   Tue Feb  8 08:06:55 2005
+++ lib/ExtUtils/MM_VMS.pm      Thu Feb 17 19:22:41 2005
@@ -571,7 +571,7 @@
     }
 
     # mms/k does not define a $(MAKE) macro.
-    $self->{MAKE} = '$(MMS)$(MMSQUALIFIERS)';
+    $self->{MAKE} = '$(MMS)';
 
     return $self->SUPER::constants;
 }
--- t/basic.t;-0        Fri Dec 31 02:41:33 2004
+++ t/basic.t   Thu Feb 17 19:57:40 2005
@@ -30,8 +30,7 @@
 my $perl = which_perl();
 my $Is_VMS = $^O eq 'VMS';
 
-chdir($Is_VMS ? 'BFD_TEST_ROOT:[t]' : 't');
-
+chdir('t');
 
 perl_lib;
 
@@ -40,6 +39,7 @@
 $| = 1;
 
 ok( setup_recurs(), 'setup' );
+chdir('BFD_TEST_ROOT:[t]') if $Is_VMS; # must be after setup_recurs()
 END {
     ok( chdir File::Spec->updir );
     ok( teardown_recurs(), 'teardown' );
--- t/recurs.t;-0       Mon Dec 20 03:17:43 2004
+++ t/recurs.t  Thu Feb 17 20:29:32 2005
@@ -35,6 +35,7 @@
 $| = 1;
 
 ok( setup_recurs(), 'setup' );
+chdir('BFD_TEST_ROOT:[t]') if $Is_VMS; # must be after setup_recurs()
 END { 
     ok( chdir File::Spec->updir );
     ok( teardown_recurs(), 'teardown' );

Reply via email to