An update to the Module/Build/Platform/VMS.pm patch. This saves and restores the environment variable HARNESS_PERL_SWITCHES.
After multiple runs of xs.t, this was ending up with garbage in it. I still have not figured out what is wrong with xs.t. -John [EMAIL PROTECTED] Personal Opinion Only
--- /rsync_root/perl/lib/Module/Build/Platform/VMS.pm Thu Oct 25 04:50:40 2007 +++ lib/Module/Build/Platform/VMS.pm Sun Nov 11 22:58:50 2007 @@ -5,6 +5,7 @@ $VERSION = '0.2808_01'; $VERSION = eval $VERSION; use Module::Build::Base; +use Env; use vars qw(@ISA); @ISA = qw(Module::Build::Base); @@ -136,7 +137,9 @@ ? 1 : 0; - map { $_ = q(").$_.q(") if !/^\"/ && length($_) > 0 } + # Do not quote qualifiers that begin with '/' or already + # quoted arguments. + map { $_ = q(").$_.q(") if !/^[\"|\/]/ && length($_) > 0 } ($got_arrayref ? @{$args[0]} : @args ); @@ -304,6 +307,7 @@ # Trivial case of just ~ by it self if ($spec eq '') { + $home =~ s#/$##; return $home; } @@ -336,6 +340,7 @@ $newdirs = File::Spec::Unix->catdir(@hdirs, @backup, @dirs); } + $newdirs =~ s#/$##; # Now put the two cases back together $arg = File::Spec::Unix->catpath($hvol, $newdirs, $file); @@ -357,7 +362,55 @@ sub find_perl_interpreter { return $^X; } +=item localize_file_path + +Convert the file path to the local syntax + +=cut + +sub localize_file_path { + my ($self, $path) = @_; + $path =~ s/\.\z//; + return VMS::Filespec::vmsify($path); +} + +=item localize_dir_path + +Convert the directory path to the local syntax + +=cut + +sub localize_dir_path { + my ($self, $path) = @_; + return VMS::Filespec::vmspath($path); +} + =back + +=head2 initialization and cleanup + +Need to save and restore the state of the HARNESS_PERL_SWITCHES + +=cut + +my $old_env_harness_perl_switches; + +BEGIN { + + # Get the old value + $old_env_harness_perl_switches = $ENV{HARNESS_PERL_SWITCHES}; +} + +END { + + # put it back or remove it. + if (defined $old_env_harness_perl_switches) { + $ENV{HARNESS_PERL_SWITCHES} = $old_env_harness_perl_switches; + } else { + delete $ENV{HARNESS_PERL_SWITCHES}; + } +} + =head1 AUTHOR