Ken Williams wrote:

On Oct 28, 2007, at 1:21 PM, John E. Malmberg wrote:

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

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.


I don't think this bit looks right. M::B isn't just about how to run make, so is_vmsish() shouldn't be thinking about makefiles either, just what platform it's running on.

It is constructing the makefile, and the syntax of the MMS/MMK makefile is slightly different than for the UNIX makes, and that is what almost all the "VMS" specific code is handling.

On VMS, if the MAKE program is not MMS or MMK, it will be using the UNIXish path almost everywhere in side Module Build. I only found one case where VMS required something different than UNIX when the makefile is gnu make.

In almost all cases, the VMSish code is only used on VMS if the MAKE program is MMK or MMS.

It may be a case where it a second constant is setup named VMS_MMS should be used to make what is happening more obvious, and it would be used everywhere that the existing VMS constant is, and the one place where $^O eq 'VMS' can get the older constant.

Regards,
-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to