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

Reply via email to