summaryrefslogtreecommitdiff
path: root/dist
diff options
context:
space:
mode:
authorDaniel Dragan <bulk88@hotmail.com>2014-07-14 15:10:52 +1000
committerTony Cook <tony@develop-help.com>2014-07-14 15:12:45 +1000
commit96dcbc3791f8077935704b73ec8cd4e1dbde2883 (patch)
treedcc3ac1845ce0170ddf7c0936794270763ce4096 /dist
parented0e322ca1d56fd4f31e1f778f65732f9e1e7dbb (diff)
downloadperl-96dcbc3791f8077935704b73ec8cd4e1dbde2883.tar.gz
optimize PathTools to not try to load XS on miniperl
this will slightly speed up perl's build time by not loading XSLoader.pm and DynaLoader.pm into the process, and then die()+eval trap when trying to load the XS module. Tony: update perldelta message to avoid a broken link
Diffstat (limited to 'dist')
-rw-r--r--dist/PathTools/Cwd.pm8
-rw-r--r--dist/PathTools/lib/File/Spec.pm2
-rw-r--r--dist/PathTools/lib/File/Spec/Cygwin.pm2
-rw-r--r--dist/PathTools/lib/File/Spec/Epoc.pm2
-rw-r--r--dist/PathTools/lib/File/Spec/Functions.pm2
-rw-r--r--dist/PathTools/lib/File/Spec/Mac.pm2
-rw-r--r--dist/PathTools/lib/File/Spec/OS2.pm2
-rw-r--r--dist/PathTools/lib/File/Spec/Unix.pm9
-rw-r--r--dist/PathTools/lib/File/Spec/VMS.pm2
-rw-r--r--dist/PathTools/lib/File/Spec/Win32.pm2
10 files changed, 19 insertions, 14 deletions
diff --git a/dist/PathTools/Cwd.pm b/dist/PathTools/Cwd.pm
index 01393f3369..461e94de8b 100644
--- a/dist/PathTools/Cwd.pm
+++ b/dist/PathTools/Cwd.pm
@@ -171,7 +171,7 @@ use strict;
use Exporter;
use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
-$VERSION = '3.48';
+$VERSION = '3.49';
my $xs_version = $VERSION;
$VERSION =~ tr/_//;
@@ -242,8 +242,10 @@ sub _vms_efs {
# If loading the XS stuff doesn't work, we can fall back to pure perl
-unless (defined &getcwd) {
- eval {
+if(! defined &getcwd && defined &DynaLoader::boot_DynaLoader) {
+ eval {#eval is questionable since we are handling potential errors like
+ #"Cwd object version 3.48 does not match bootstrap parameter 3.49
+ #at lib/DynaLoader.pm line 216." by having this eval
if ( $] >= 5.006 ) {
require XSLoader;
XSLoader::load( __PACKAGE__, $xs_version);
diff --git a/dist/PathTools/lib/File/Spec.pm b/dist/PathTools/lib/File/Spec.pm
index bf0a327953..e5cb8159ba 100644
--- a/dist/PathTools/lib/File/Spec.pm
+++ b/dist/PathTools/lib/File/Spec.pm
@@ -3,7 +3,7 @@ package File::Spec;
use strict;
use vars qw(@ISA $VERSION);
-$VERSION = '3.48';
+$VERSION = '3.49';
$VERSION =~ tr/_//;
my %module = (MacOS => 'Mac',
diff --git a/dist/PathTools/lib/File/Spec/Cygwin.pm b/dist/PathTools/lib/File/Spec/Cygwin.pm
index a791a2ab92..ef3b0a23df 100644
--- a/dist/PathTools/lib/File/Spec/Cygwin.pm
+++ b/dist/PathTools/lib/File/Spec/Cygwin.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.48';
+$VERSION = '3.49';
$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
diff --git a/dist/PathTools/lib/File/Spec/Epoc.pm b/dist/PathTools/lib/File/Spec/Epoc.pm
index a7859c5049..4dbc13d443 100644
--- a/dist/PathTools/lib/File/Spec/Epoc.pm
+++ b/dist/PathTools/lib/File/Spec/Epoc.pm
@@ -3,7 +3,7 @@ package File::Spec::Epoc;
use strict;
use vars qw($VERSION @ISA);
-$VERSION = '3.48';
+$VERSION = '3.49';
$VERSION =~ tr/_//;
require File::Spec::Unix;
diff --git a/dist/PathTools/lib/File/Spec/Functions.pm b/dist/PathTools/lib/File/Spec/Functions.pm
index 0170843a8a..1bbfaae068 100644
--- a/dist/PathTools/lib/File/Spec/Functions.pm
+++ b/dist/PathTools/lib/File/Spec/Functions.pm
@@ -5,7 +5,7 @@ use strict;
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);
-$VERSION = '3.48';
+$VERSION = '3.49';
$VERSION =~ tr/_//;
require Exporter;
diff --git a/dist/PathTools/lib/File/Spec/Mac.pm b/dist/PathTools/lib/File/Spec/Mac.pm
index a8dc2df942..42a5d4ac1c 100644
--- a/dist/PathTools/lib/File/Spec/Mac.pm
+++ b/dist/PathTools/lib/File/Spec/Mac.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.48';
+$VERSION = '3.49';
$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
diff --git a/dist/PathTools/lib/File/Spec/OS2.pm b/dist/PathTools/lib/File/Spec/OS2.pm
index df458c9211..9202c3cc48 100644
--- a/dist/PathTools/lib/File/Spec/OS2.pm
+++ b/dist/PathTools/lib/File/Spec/OS2.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.48';
+$VERSION = '3.49';
$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
diff --git a/dist/PathTools/lib/File/Spec/Unix.pm b/dist/PathTools/lib/File/Spec/Unix.pm
index e4eddbb018..3a3537c86f 100644
--- a/dist/PathTools/lib/File/Spec/Unix.pm
+++ b/dist/PathTools/lib/File/Spec/Unix.pm
@@ -3,12 +3,15 @@ package File::Spec::Unix;
use strict;
use vars qw($VERSION);
-$VERSION = '3.48';
+$VERSION = '3.49';
my $xs_version = $VERSION;
$VERSION =~ tr/_//;
-unless (defined &canonpath) {
- eval {
+#dont try to load XSLoader and DynaLoader only to ultimately fail on miniperl
+if(!defined &canonpath && defined &DynaLoader::boot_DynaLoader) {
+ eval {#eval is questionable since we are handling potential errors like
+ #"Cwd object version 3.48 does not match bootstrap parameter 3.49
+ #at lib/DynaLoader.pm line 216." by having this eval
if ( $] >= 5.006 ) {
require XSLoader;
XSLoader::load("Cwd", $xs_version);
diff --git a/dist/PathTools/lib/File/Spec/VMS.pm b/dist/PathTools/lib/File/Spec/VMS.pm
index b045e270ca..82801f4d49 100644
--- a/dist/PathTools/lib/File/Spec/VMS.pm
+++ b/dist/PathTools/lib/File/Spec/VMS.pm
@@ -4,7 +4,7 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.48';
+$VERSION = '3.49';
$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
diff --git a/dist/PathTools/lib/File/Spec/Win32.pm b/dist/PathTools/lib/File/Spec/Win32.pm
index 352ec990db..7195a310da 100644
--- a/dist/PathTools/lib/File/Spec/Win32.pm
+++ b/dist/PathTools/lib/File/Spec/Win32.pm
@@ -5,7 +5,7 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.48';
+$VERSION = '3.49';
$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);