|
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 |
}
|