develooper Front page | perl.perl5.porters | Postings from October 2007

m b beta from CPAN - More patches for VMS

Thread Previous | Thread Next
John E. Malmberg
October 27, 2007 21:53
m b beta from CPAN - More patches for VMS
Message ID:
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.

In Module/ :

It is vmsish if OS is VMS and the make program is one of MMK or MMS.

Overriding localize_file_path and localize_dir_path in Platform/ 
now, so do not need is_vmsish here.

A catdir() should be a catfile().

Add the filenames generated on VMS to the Manifest skip list.

In :

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.

2. It is Build.COM instead of just Build.

3. Unlink of the makefile is done differently for realclean target.

4. MMS/MMK do not support .EXPORT.

Set the makefile to be Descrip.MMS when building for MMS/MMK on VMS.

MMS/MMK will use 'Makefile', but that could confuse things.

Note:  Do not use 'Makefile.vms' for a MMS/MMK style makefile.  It 
breaks GNU make in the GNV kit, as it chooses Makefile.vms over a plain 
Makefile when searching.

In Compat.t :

If using VMS and MMK/MMS assume that MMS or MMK is present.  The only 
practical way to test to see if an program is present on VMS is to try 
to run it.

find_in_path simply will not work on VMS, so not fixing the issues in it 
where it is not handling VMS format file specifications correctly and 
emitting diagnostics, just not using it on VMS.

If on VMS and using MMK or MMS, assume that the makefile is 'Descrip.MMS'.

TEST_VERBOSE = 0, must be done by setting and restoring the environment 
variable on VMS.  This is because Perl on VMS is using logical names for 
environment variables, and this is incompatible with MMS/MMK macros.

The non-verbose output on VMS is apparently slightly different, as there 
  appears to be extra newlines inserted.

In :

Do not quote "/qualifiers" which are already in VMS syntax.

Add localize_file_path and localize_dir_path to use VMS::Filespec 
routines, and so will handle most VMS and UNIX format names.  The 
existing ones were just passing through the VMS format names with out 
changing them, which was good enough for the tests, but would have 
mangled the UNIX format names on VMS.

Probably have to revise those two when implementing support for gnu make 
on VMS, as then the result should be in LINUX format.

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

We still have two issues with Module build on VMS:

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

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

Personal Opinion Only

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About