Craig A. Berry wrote:
On 10/27/07, John E. Malmberg <[EMAIL PROTECTED]> wrote:

These patches actually get VMS beyond where it was before by a little
bit.  Compat.t was not being run on VMS because it could not determine
if the <Config{make}> image was present.

It still can not, but assumes that it is on VMS now.

Sounds promising.  Couldn't we do a test to determine whether our make
or make equivalent is present?

We probably need to make a generic method that can be called to see if a program is present. It checking ones accessed through DCL requires either reading DCL tables or knowing the real image name. Do you know where the source to VERB is?

We have also had some fun in other tests where GNV GNU utilities where found with the same names as DCL verbs.

In Module/Build.pm :

It is vmsish if OS is VMS and the make program is one of MMK or MMS.
That seems wrong to me because it assumes we'd only need to do some
things natively when run in compatibility mode.  I think we should
leave it as a general property and if compatibility mode needs
something else as well, then do the something else there.

We have two cases, one is if we want to run gnu make on VMS and the other which is more common, is running MMS/MMK on VMS.

When running gnu make on VMS, the CRTL will likely be in the UNIX report mode so the VMSish behavior will generally not be desired.


A catdir() should be a catfile().
Since what we're concatenating is 'blib' which is a directory, why
shouldn't it be catdir?

Look again below, it is concatenating blib to $rel_file.

>>     my $to_file  =
>>-     File::Spec->catdir( $ppm, 'blib',
>>+     File::Spec->catfile( $ppm, 'blib',
>>                     exists( $types{$type} ) ? $types{$type} : $type,
>>                     $rel_file );


Add the filenames generated on VMS to the Manifest skip list.
Good, I've been meaning to do that for awhile. Did you get .OPT and .LIS?

No.  I did not think of those.


In Compat.pm :

glob on VMS will not handle tildes, so use the Module::Build->_detildefy
to help.

Generated Makefile - Descrip.mms needs some changes for MMS/MMK.

1. Perl image needs to be preceded by MCR.
We can probably get away with doing that in our find_perl_interpreter
override.  A spawned Perl will add that on its own, but it should hurt
if it's already there.  Spawning other things, like MMS or MMK,
obviously does need it.

I only changed it for the cases where a descrip.mms is being generated.

When we start supporting gnu make on VMS, the MCR would not be wanted, and could mess things up.

With this patch, compat.t now passes all tests.


All sounds very promising, except for the nits I've noted above.


We still have two issues with Module build on VMS:

1. ppm.t fails because it is apparently creating a corrupt compressed
tarball..

If I could get some hints as to where the tarball is being generated, I could try to find out why it is corrupt, or at least come op with a simpler reproducer.

2. xs.t is failing because it is mis-interpreting how to lookup blib.
It is not failing when run in the Perl debugger.

I think the only way to find this is to start adding print statements since the debugger changes things.

-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to