1b8851fccSafresh1#--------------------------------------------------------------------------# 2b8851fccSafresh1# This is a modified copy of version.pm 0.9909, bundled exclusively for 3b8851fccSafresh1# use by ExtUtils::Makemaker and its dependencies to bootstrap when 4b8851fccSafresh1# version.pm is not available. It should not be used by ordinary modules. 5b8851fccSafresh1# 6b8851fccSafresh1# When loaded, it will try to load version.pm. If that fails, it will load 7b8851fccSafresh1# ExtUtils::MakeMaker::version::vpp and alias various *version functions 8b8851fccSafresh1# to functions in that module. It will also override UNIVERSAL::VERSION. 9b8851fccSafresh1#--------------------------------------------------------------------------# 10b8851fccSafresh1 11b8851fccSafresh1package ExtUtils::MakeMaker::version; 12b8851fccSafresh1 135759b3d2Safresh1use 5.006001; 14b8851fccSafresh1use strict; 15eac174f2Safresh1use warnings; 16b8851fccSafresh1 17b8851fccSafresh1use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv); 18b8851fccSafresh1 19*e0680481Safresh1$VERSION = '7.70'; 2056d68f1eSafresh1$VERSION =~ tr/_//d; 21b8851fccSafresh1$CLASS = 'version'; 22b8851fccSafresh1 23b8851fccSafresh1{ 24b8851fccSafresh1 local $SIG{'__DIE__'}; 25b8851fccSafresh1 eval "use version"; 26b8851fccSafresh1 if ( $@ ) { # don't have any version.pm installed 27b8851fccSafresh1 eval "use ExtUtils::MakeMaker::version::vpp"; 28b8851fccSafresh1 die "$@" if ( $@ ); 29eac174f2Safresh1 no warnings; 30b8851fccSafresh1 delete $INC{'version.pm'}; 31b8851fccSafresh1 $INC{'version.pm'} = $INC{'ExtUtils/MakeMaker/version.pm'}; 32b8851fccSafresh1 push @version::ISA, "ExtUtils::MakeMaker::version::vpp"; 33b8851fccSafresh1 $version::VERSION = $VERSION; 34b8851fccSafresh1 *version::qv = \&ExtUtils::MakeMaker::version::vpp::qv; 35b8851fccSafresh1 *version::declare = \&ExtUtils::MakeMaker::version::vpp::declare; 36b8851fccSafresh1 *version::_VERSION = \&ExtUtils::MakeMaker::version::vpp::_VERSION; 37b8851fccSafresh1 *version::vcmp = \&ExtUtils::MakeMaker::version::vpp::vcmp; 38b8851fccSafresh1 *version::new = \&ExtUtils::MakeMaker::version::vpp::new; 3956d68f1eSafresh1 if ("$]" >= 5.009000) { 40b8851fccSafresh1 no strict 'refs'; 41b8851fccSafresh1 *version::stringify = \&ExtUtils::MakeMaker::version::vpp::stringify; 42b8851fccSafresh1 *{'version::(""'} = \&ExtUtils::MakeMaker::version::vpp::stringify; 43b8851fccSafresh1 *{'version::(<=>'} = \&ExtUtils::MakeMaker::version::vpp::vcmp; 44b8851fccSafresh1 *version::parse = \&ExtUtils::MakeMaker::version::vpp::parse; 45b8851fccSafresh1 } 46b8851fccSafresh1 require ExtUtils::MakeMaker::version::regex; 47b8851fccSafresh1 *version::is_lax = \&ExtUtils::MakeMaker::version::regex::is_lax; 48b8851fccSafresh1 *version::is_strict = \&ExtUtils::MakeMaker::version::regex::is_strict; 49b8851fccSafresh1 *LAX = \$ExtUtils::MakeMaker::version::regex::LAX; 50b8851fccSafresh1 *STRICT = \$ExtUtils::MakeMaker::version::regex::STRICT; 51b8851fccSafresh1 } 52b8851fccSafresh1 elsif ( ! version->can('is_qv') ) { 53b8851fccSafresh1 *version::is_qv = sub { exists $_[0]->{qv} }; 54b8851fccSafresh1 } 55b8851fccSafresh1} 56b8851fccSafresh1 57b8851fccSafresh11; 58