develooper Front page | perl.perl5.porters | Postings from May 2008

[patch@33919] Module build changes for VMS

Thread Next
From:
John E. Malmberg
Date:
May 25, 2008 14:19
Subject:
[patch@33919] Module build changes for VMS
Message ID:
4839D76F.8010405@qsl.net
Please review these patches for improving module build on VMS.  These 
were being discussed before the 5.10 release, but not included.

Also, I left the makefile name as generated by the tests.  Sometimes it 
was generated as 'Makefile' and sometimes as 'descrip.mms'.

I am thinking that if the makefile is being generated for is_vms_mms(), 
then the name should be forced to 'descrip.mms' for consistency, as I do 
not think gnu make can deal with MMS/MMK syntax.

With these patches, all but the ppm.t tests will pass on VMS.

The xs.t test passes, but the extra output is messing up the test 
analysis, so for now, I have left it being skipped.

The ppm.t test still has the issue where it is creating a tarball that 
it then can not detar, and I will try to look at that in a little bit.


In Module/Build.pm:

    * Add is_vms_mms method to indicate that VMS is using
      either MMS or MMK for the make program.

In Module/Build/Base.pm :

    * Use is_vms_mms instead of is_vmsish where needed.

    * fileparse can return an empty path on VMS, and
      splitdir on an empty path.

    * catdir for directories, catfile for files.

    * Add some VMS specific files to be skipped.
      Probably more need to be added.


In Module/Build/Compat.pm:

    * glob() on VMS does not handle tilde expansion.

    Is there a better way of locating the Module::Build
    class to find the Module::Build->is_vmsish and
    Module::Build->_detildefy methods.

    * MCR needs to be added as a prefix for running the
      Perl from MMS/MMK makefiles.

    * Use is_vms_mms to indicate when a makefile for
      MMS/MMK is being used or created.

    * Build script is named build.com when MMS/MMK is used.

    * Unlink needs to unlink all versions of a file.

    * MMS/MMK does not support .EXPORT target.

In Module/Build/Platform/VMS.pm:

    * Arguments preceded by '/' must not be quoted.

    * When detildifying a path, remove the trailing '/'.

In Module/Build/t/lib/MBTest.pm:

    * VMS does not use $PATH.  Currently there is
      no practical way to probe to see if a command or
      program will work.


In Module/Build/t/compat.t:

    * Save test if MMS/MMK is being used.

    * Macros need to be passed differently on the
      MMS/MMK command line.

    * Makefile can also be named descrip.mms for MMS/MMK.

In Module/Build/t/tilde.t:

    * Convert the $home directory to UNIX format.

-John
Personal Opinion Only

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About