Front page | perl.perl6.build |
Postings from September 2001
RE: Building Perl6 on VMS
Thread Next
From:
Brent Dax
Date:
September 26, 2001 02:29
Subject:
RE: Building Perl6 on VMS
Message ID:
FJELLKOPEAGHOOODKEDPKEPICGAA.brentdax@cpan.org
(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
brentdax@cpan.org
Configure pumpking for Perl 6
They *will* pay for what they've done.
Thread Next
-
RE: Building Perl6 on VMS
by Brent Dax