summaryrefslogtreecommitdiff
path: root/lib/ExtUtils
diff options
context:
space:
mode:
authorSteve Hay <SteveHay@planit.com>2009-01-14 18:02:38 +0000
committerSteve Hay <SteveHay@planit.com>2009-01-14 18:02:38 +0000
commit2319519c806d9caae735abca859278c05f2e05cd (patch)
tree4f1a59ef3ec069dc1fa92dc7bc29d6003f73c2ab /lib/ExtUtils
parent15cb7b9da658d77c02df54e9e55d86f9755d1f88 (diff)
downloadperl-2319519c806d9caae735abca859278c05f2e05cd.tar.gz
Upgrade to ExtUtils-Command-1.16
Diffstat (limited to 'lib/ExtUtils')
-rw-r--r--lib/ExtUtils/Command.pm27
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;