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