Blame Makefile.PL

Packit a557cb
require 5.00503;
Packit a557cb
use strict;
Packit a557cb
use ExtUtils::MakeMaker;
Packit a557cb
Packit a557cb
use lib qw( ./lib );
Packit a557cb
Packit a557cb
$| = 1;
Packit a557cb
Packit a557cb
$ENV{PERL_JSON_BACKEND} = 'JSON::backportPP';
Packit a557cb
eval q| require JSON |;
Packit a557cb
Packit a557cb
if ($@) {
Packit a557cb
    print "Loading lib/JSON.pm failed. No B module?\n";
Packit a557cb
    print "perl says : $@";
Packit a557cb
    print "Setting environmental variable 'PERL_DL_NONLAZY' to 0 may help.\n";
Packit a557cb
    print "No Makefile created.\n";
Packit a557cb
    exit 0;
Packit a557cb
}
Packit a557cb
Packit a557cb
Packit a557cb
my $version     = JSON->VERSION;
Packit a557cb
Packit a557cb
print <
Packit a557cb
Welcome to JSON (v.$version)
Packit a557cb
=============================
Packit a557cb
Packit a557cb
 ** BACKWARD INCOMPATIBILITY **
Packit a557cb
Packit a557cb
Since version 2.90, stringification (and string comparison) for
Packit a557cb
JSON::true and JSON::false has not been overloaded. It shouldn't
Packit a557cb
matter as long as you treat them as boolean values, but a code that
Packit a557cb
expects they are stringified as "true" or "false" doesn't work as
Packit a557cb
you have expected any more.
Packit a557cb
Packit a557cb
    if (JSON::true eq 'true') {  # now fails
Packit a557cb
Packit a557cb
    print "The result is $JSON::true now."; # => The result is 1 now.
Packit a557cb
Packit a557cb
And now these boolean values don't inherit JSON::Boolean, either.
Packit a557cb
When you need to test a value is a JSON boolean value or not, use
Packit a557cb
JSON::is_bool function, instead of testing the value inherits
Packit a557cb
a particular boolean class or not.
Packit a557cb
Packit a557cb
EOF
Packit a557cb
Packit a557cb
Packit a557cb
WriteMakefile(
Packit a557cb
    'NAME'          => 'JSON',
Packit a557cb
    'VERSION_FROM'  => 'lib/JSON.pm', # finds $VERSION
Packit a557cb
    'ABSTRACT_FROM' => 'lib/JSON.pm', # retrieve abstract from module
Packit a557cb
    'AUTHOR' => 'Makamaka Hannyaharamitu, E<lt>makamaka[at]cpan.orgE<gt>',
Packit a557cb
    'PREREQ_PM'     => {
Packit a557cb
              'Test::More'  => 0,
Packit a557cb
    },
Packit a557cb
    ( $ExtUtils::MakeMaker::VERSION >= 6.3002 ? ('LICENSE' => 'perl', ) : () ),
Packit a557cb
Packit a557cb
    ( $ExtUtils::MakeMaker::VERSION >= 6.46 ? (
Packit a557cb
        'META_MERGE' => {
Packit a557cb
            resources => {
Packit a557cb
                repository  =>      'https://github.com/makamaka/JSON',
Packit a557cb
            },
Packit a557cb
            recommends => {
Packit a557cb
                'JSON::XS' => JSON->require_xs_version,
Packit a557cb
            },
Packit a557cb
        } ) : ()
Packit a557cb
    ),
Packit a557cb
);
Packit a557cb
Packit a557cb
Packit a557cb
if ($] < 5.006) { # I saw to http://d.hatena.ne.jp/asakusabashi/20051231/p1 
Packit a557cb
    open(IN, "Makefile");
Packit a557cb
    open(OUT,">Makefile.tmp") || die;
Packit a557cb
    while(<IN>) {
Packit a557cb
        s/PERL_DL_NONLAZY=1//g;
Packit a557cb
        print OUT;
Packit a557cb
    }
Packit a557cb
    close(OUT);
Packit a557cb
    close(IN);
Packit a557cb
    rename("Makefile.tmp" => "Makefile");
Packit a557cb
}