John E. Malmberg wrote:
These are the patches needed for the tests FIRST_MAKEFILE.t and
PL_FILES.t to pass on VMS.
I have seen no response to the patch in the message I am replying to, is
there a problem with it?
There are also two typo fixes in MM_Unix.pm and MM_VMS.pm that are
already in [EMAIL PROTECTED] but not in the 6.30_01 tarball.
In lib/ExtUtils/MM_Unix.pm, $^X is a complete specification on VMS, and
adding $Config{exe_ext} to it will always produce the wrong file name.
The VMS version of the Perl test harness runs with Perl having the name
"Perl.". This bug has not caused tests to fail because find_perl was
able to find another copy of Perl in it's search.
To clarify, even though MM_Unix is starting out with an incorrect
filename for the Perl on VMS that it is running under, the file_perl()
routine is finding a Perl to make it work, which is why this bug has not
been visible.
Because directories can not be combined in VMS the way they can be on
UNIX macros need to be expanded/eliminated in sub process_PL().
In lib/ExtUtils/MM_VMS.pm, setup the $self->{MAKEFILE} to default to the
FIRST_MAKEFILE parameter if present, else to 'descrip.mms'.
'$(FIRST_MAKEFILE)_OLD' needs to have it's macros expanded/eliminated so
that it is parsed correctly on VMS before it is stored in
$self->{MAKEFILE_OLD}
Then, if the filenames did not already contain a '.' to delimit a file
type from the filename, then VMS needs a tailing "." to indicate that
there is a blank type instead of the default ".MMS" in this case.
In t/FIRST_MAKEFILE.t, for using a makefile name with out an ".type" on
VMS, a trailing dot is generated as above, so the test needs to be
modified to not fail when a trailing dot has been added to the filename.
I still need to come up with a solution to an issue with t/basic.t. This
test fails on VMS if the logical name "BIN" is defined and the DECC
feature DECC$UNIX_PATH_BEFORE_LOGNAME is not not also enabled.
What I missed writing here, is that the GNV product when installed by
default creates the logical name BIN that causes the conflict.
And a correction below:
The test t/Installed.t will also fail on VMS if the logical name "foo" is
defined before it runs. One of the other test scripts will leave this
logical name behind if it is run with out using the test harness.
-John
[EMAIL PROTECTED]
Personal Opinion Only