xref: /openbsd-src/gnu/usr.bin/perl/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm (revision e068048151d29f2562a32185e21a8ba885482260)
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