On Fri, Jul 15, 2005 at 12:49:01AM -0400, John E. Malmberg wrote: > >Ya know, if there's this many differences between your flavor of VMS > >and the more traditional flavor rather than trying to wedge them both > > into File::Spec::VMS and MM_VMS you should probably make a new > >subclass. File::Spec::VMS::Unix or something. > > Unfortunately making such a change is beyond my skill set. I do not > know how to make such a modification to Perl.
Unless a white knight comes in to clean this all up, I can't see how it could be applied to the mainline. :( > Actually it is not "what sort of VMS am I on?" but how has VMS been told > to behave for this running of Perl. You're running smack into a flawed assumption throughout much Perl code which trying to nail down things about the operating environment based solely on $^O. Breaking that assumption opens a barrel of worms. Its a barrel that needs to be opened, just letting you know what you're getting into. > Careful of what you ask for. :-) The main missing piece seems to be > that a template is missing for GNU MAKE, and that MakeMaker needs to > know that for that flavor of VMS it needs to make sure that all the > filenames are in UNIX format. Of course the Mutant variant that I have > now will give it the names that way. > <snip> > > Since I do not think that MakeMaker can generate anything other than > MMK/MMS files on VMS right now, as IIRC, I saw that the description file > name was driven by the $^O and not by the make program name in at least > one place. > > Now with the version of Perl that can run with UNIX emulation mode, all > MakeMaker needs to know that if the make program is MMK or MMS it should > output the files in VMS format, but be prepared that filenames could be > returned in UNIX or VMS format. > > But when outputting to other make programs it could assume that it would > be supplied all the file names in UNIX format and not need VMS specific > actions at all. You're right, MakeMaker currently cannot output anything but MMS/K on VMS. As far as its concerned when $^O eq 'VMS' you're using MMS/K. And when $^O eq 'MSWin32' you're using nmake or dmake. This is a deep assumption in the code. Breaking this assumption will require a whole lot more code change than I'd like, MakeMaker is very fragile and time consuming to test. That said, its something I've been wanting to do for a long time but it has a high probability of breaking existing code and will be an enormous time suck. Doom doom doom doom. -- Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern You are wicked and wrong to have broken inside and peeked at the implementation and then relied upon it. -- tchrist in <[EMAIL PROTECTED]>