diff options
author | Daniel Dragan <bulk88@hotmail.com> | 2014-07-14 15:10:52 +1000 |
---|---|---|
committer | Tony Cook <tony@develop-help.com> | 2014-07-14 15:12:45 +1000 |
commit | 96dcbc3791f8077935704b73ec8cd4e1dbde2883 (patch) | |
tree | dcc3ac1845ce0170ddf7c0936794270763ce4096 /dist | |
parent | ed0e322ca1d56fd4f31e1f778f65732f9e1e7dbb (diff) | |
download | perl-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.pm | 8 | ||||
-rw-r--r-- | dist/PathTools/lib/File/Spec.pm | 2 | ||||
-rw-r--r-- | dist/PathTools/lib/File/Spec/Cygwin.pm | 2 | ||||
-rw-r--r-- | dist/PathTools/lib/File/Spec/Epoc.pm | 2 | ||||
-rw-r--r-- | dist/PathTools/lib/File/Spec/Functions.pm | 2 | ||||
-rw-r--r-- | dist/PathTools/lib/File/Spec/Mac.pm | 2 | ||||
-rw-r--r-- | dist/PathTools/lib/File/Spec/OS2.pm | 2 | ||||
-rw-r--r-- | dist/PathTools/lib/File/Spec/Unix.pm | 9 | ||||
-rw-r--r-- | dist/PathTools/lib/File/Spec/VMS.pm | 2 | ||||
-rw-r--r-- | dist/PathTools/lib/File/Spec/Win32.pm | 2 |
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); |