diff options
author | Steve Hay <SteveHay@planit.com> | 2009-01-14 18:02:38 +0000 |
---|---|---|
committer | Steve Hay <SteveHay@planit.com> | 2009-01-14 18:02:38 +0000 |
commit | 2319519c806d9caae735abca859278c05f2e05cd (patch) | |
tree | 4f1a59ef3ec069dc1fa92dc7bc29d6003f73c2ab /lib/ExtUtils | |
parent | 15cb7b9da658d77c02df54e9e55d86f9755d1f88 (diff) | |
download | perl-2319519c806d9caae735abca859278c05f2e05cd.tar.gz |
Upgrade to ExtUtils-Command-1.16
Diffstat (limited to 'lib/ExtUtils')
-rw-r--r-- | lib/ExtUtils/Command.pm | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/lib/ExtUtils/Command.pm b/lib/ExtUtils/Command.pm index 63fbfd6b9e..b5632ff06d 100644 --- a/lib/ExtUtils/Command.pm +++ b/lib/ExtUtils/Command.pm @@ -12,11 +12,34 @@ use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION); @ISA = qw(Exporter); @EXPORT = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f test_d chmod dos2unix); -$VERSION = '1.15'; +$VERSION = '1.16'; my $Is_VMS = $^O eq 'VMS'; +my $Is_VMS_mode = $Is_VMS; +my $Is_VMS_noefs = $Is_VMS; my $Is_Win32 = $^O eq 'MSWin32'; +if( $Is_VMS ) { + my $vms_unix_rpt; + my $vms_efs; + my $vms_case; + + if (eval { local $SIG{__DIE__}; require VMS::Feature; }) { + $vms_unix_rpt = VMS::Feature::current("filename_unix_report"); + $vms_efs = VMS::Feature::current("efs_charset"); + $vms_case = VMS::Feature::current("efs_case_preserve"); + } else { + my $unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || ''; + my $efs_charset = $ENV{'DECC$EFS_CHARSET'} || ''; + my $efs_case = $ENV{'DECC$EFS_CASE_PRESERVE'} || ''; + $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i; + $vms_efs = $efs_charset =~ /^[ET1]/i; + $vms_case = $efs_case =~ /^[ET1]/i; + } + $Is_VMS_mode = 0 if $vms_unix_rpt; + $Is_VMS_noefs = 0 if ($vms_efs); +} + =head1 NAME @@ -233,7 +256,7 @@ sub chmod { my $mode = shift(@ARGV); expand_wildcards(); - if( $Is_VMS ) { + if( $Is_VMS_mode && $Is_VMS_noefs) { foreach my $idx (0..$#ARGV) { my $path = $ARGV[$idx]; next unless -d $path; |