(I've added perl6-build to the CC list, since this seems germane to that list.)
Brad Hughes: # Brent Dax wrote: # [...] # > Okay. What do we need to support this? Is it something that can be # > done with a hints file and a few Makefile tweaks, or is it # more involved # > than that? (My father (who worked on VMS in the Good Old Days) # # Gee, talk about making one feel old... :) "The Good Old Days" were only about ten years ago. (Understand, I'm pretty young myself, so ten years is a very long time for me.) I'm well aware that VMS is still alive and kicking, although I have't used it myself. (OTOH, I did sign up for TestDrive's VMS systems, so maybe I'll get to play a little.) # > has told # > me that the formats are pretty similar, so hopefully no # drastic changes # > will be necessary.) # > # # MMS is the DEC build utility, similar to make but different # enough that you can't feed it a Makefile and have it work. # # MMS costs money. MMK is a freeware version of MMS, and is the # tool most VMS sites which run perl will have. I've intended that # the VMS build target MMK, but asked on the list to see if anyone # is using make on VMS. I don't expect anyone will. ... # Perl 5 uses ExtUtils::MakeMaker, which C<require>s an OS specific # file which overrides MakeMaker methods. ExtUtils::MakeMaker makes # my head hurt. ExtUtils::MM_VMS is the VMS specific package, and # creates a file that MMK likes. This makes my head hurt too, but # nowhere near as bad as ExtUtils::MakeMaker. # # That was the long answer. The short answer is, no, we can't really # do it with a hints file and a few Makefile tweaks. A platform # independent build system for a complex system like Perl is a really # hard problem to do right, and even though ExtUtil::MM and friends # makes heads hurt, you have to admit that Andy and Charles pretty # much got it right. # # I'm not advocating the wholesale lifting of the ExtUtils directory, # but there's some pretty good work by some pretty smart guys in there; # we might want to look at it and talk over the general approach. In the long term, we probably should implement something like MakeMaker; for now, however, I think we can go with a much simpler approach. Imagine this directory structure: +-+parrot +---Makefile.in +---(other stuff) +--+hints +---vms.pl +---Makefile.vms +---(other stuff) Makefile.vms would be VMS's version of Makefile.in; when the VMS hints file was called, it would copy Makefile.vms over the existing Makefile.in. Ugly, but it'll work for now. Actually, now that I think about it, perhaps this trick should be extended to all platforms--Makefile.vms, Makefile.win, Makefile.mac, Makefile.unix, etc. There would be no regular Makefile.in--Configure would put the right one into place before generating the Makefile. --Brent Dax [EMAIL PROTECTED] Configure pumpking for Perl 6 They *will* pay for what they've done.