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' );