On Thu, Dec 16, 2004 at 11:07:03PM -0600, Craig A. Berry wrote:
> > There's a lot of redundant code in MakeMaker because there's no common idiom
> > for "cd into this directory and run this command".
>
> The idea is to turn 'foo' into '[.foo]' not 'foo[.foo]' so you need
> something like the following:
>
> --- lib/ExtUtils/MM_VMS.pm;-0 Thu Dec 16 21:42:19 2004
> +++ lib/ExtUtils/MM_VMS.pm Thu Dec 16 22:41:53 2004
> @@ -2111,7 +2111,7 @@ sub cd {
> my($self, $dir, @cmds) = @_;
>
> # Translate a Unix directory to a relative VMS dir.
> - $dir .= "[.$dir]" unless /^\[.*\]$/;
> + $dir = "[.$dir]" unless $dir =~ m/^\[.*\]$/;
Thanks. Typo from when I borrowed that code.
> That should work as long as there is no punctuation, but it might turn
> './foo' into the illegal '[../foo]'.
>
> It might be better to simply say
>
> $dir = VMS::Filespec::vmspath($dir);
>
> I'll give that a try tomorrow. On VMS, VMS::Filespec is always already
> loaded, even in miniperl, so it's kosher to use it here.
Ok, thanks. Let me know.
> And while we're here, distdir is broken. $(MAKE) has no meaning on
> VMS; what you want is $(MMS)$(MMSQUALIFIERS). There are various
> examples in MM_VMS.pm.
I changed the code to define a MAKE macro on VMS set to
$(MMS)$(MMSQUALIFIERS). At least I thought I did. The end of
MM_VMS->constants() is where its set and the middle of MM_Unix->constants()
should be where its printed out. Make sure you have the latest version
out of the repository.
Tomorrow I'll start debugging things on VMS and Win9x, I haven't looked at
it at all so there's likely to be stupid mistakes. For now though I go to
sleep, so the changes are done for the night.
It might be useful to look at the diff between 6.25 (revision 2146) and now
to see what got deleted in MM_VMS so you know where to look. Here's the
list of deleted subroutines.
tool_xsubpp
dynamic_bs
processPL
installbin
subdir_x
clean_subdirs_target
realclean
dist_test
makefile
find_tests
test
For MM_Win95 its
dist_test
subdir_x
clean_subdirs_target
realclean_subdirs_target
For MM_Win32 its
find_tests
Very little code was added or altered.
PS Does Subversion run on VMS?
--
Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern/
Only by practice does one shed the dumb.
-- Clint Moore