use
5.008;
my
$shared_dir
=
"../shared"
;
my
$in_source_repo
= -d
"../../.git"
and -d
$shared_dir
;
my
$module
=
"Sereal::Encoder"
;
unshift
@INC
,
"."
,
"./inc"
;
unshift
@INC
,
$shared_dir
,
"$shared_dir/inc"
if
$in_source_repo
;
inc::Sereal::BuildTools::link_files(
$shared_dir
)
if
$in_source_repo
;
inc::Sereal::BuildTools::generate_constant_includes(
$module
)
if
$in_source_repo
;
our
$OPTIMIZE
;
my
$defines
=
join
" "
,
map
"-D$_"
,
grep
exists
$ENV
{
$_
},
qw(NOINLINE DEBUG MEMDEBUG NDEBUG ENABLE_DANGEROUS_HACKS)
;
if
(
$Config
{gccversion}) {
$OPTIMIZE
=
'-O3 -Wall -W'
;
}
elsif
(
$Config
{osname} eq
'MSWin32'
) {
$OPTIMIZE
=
'-O2 -W4'
;
}
else
{
$OPTIMIZE
=
$Config
{optimize};
}
if
(
$ENV
{DEBUG}) {
$OPTIMIZE
.=
' -g'
;
$OPTIMIZE
.=
' -Wextra'
if
$ENV
{DEBUG} > 1 &&
$Config
{gccversion};
$OPTIMIZE
.=
' -pedantic'
if
$ENV
{DEBUG} > 5 &&
$Config
{gccversion};
}
else
{
$defines
.=
" -DNDEBUG"
;
}
if
(
$Config
{osname} eq
'hpux'
&& not
$Config
{gccversion}) {
$defines
.=
" -Dinline= "
;
}
my
$ctz
= Devel::CheckLib::check_lib(
lib
=>
'c'
,
function
=>
'return (__builtin_ctzll(0x100000000LL) != 32);'
) ?
'-DHAVE_BUILTIN_CTZ'
:
''
;
$defines
.=
" $ctz"
if
$ctz
;
WriteMakefile1(
MIN_PERL_VERSION
=>
'5.008'
,
META_MERGE
=> {
resources
=> {
},
},
BUILD_REQUIRES
=> {
'Test::More'
=> 0.88,
'Scalar::Util'
=> 0,
'File::Find'
=> 0,
'File::Spec'
=> 0,
'Scalar::Util'
=> 0,
'File::Path'
=> 0,
'ExtUtils::ParseXS'
=>
'2.21'
,
'Test::LongString'
=>
'0'
,
'Data::Dumper'
=>
'0'
,
'Test::Warn'
=>
'0'
,
'Sereal::Decoder'
=>
'3.00'
,
},
NAME
=>
$module
,
VERSION_FROM
=>
'lib/Sereal/Encoder.pm'
,
PREREQ_PM
=> {
'XSLoader'
=> 0,
},
LICENSE
=>
'perl'
,
ABSTRACT_FROM
=>
'lib/Sereal/Encoder.pm'
,
AUTHOR
=>
'Steffen Mueller <smueller@cpan.org>, Yves Orton <yves@cpan.org>'
,
LIBS
=> [
''
],
DEFINE
=>
$defines
,
INC
=>
'-I.'
,
OPTIMIZE
=>
$OPTIMIZE
,
OBJECT
=>
'$(O_FILES)'
,
test
=> {
TESTS
=>
"t/*.t t/*/*/*.t"
,
},
);
$ENV
{OPTIMIZE} =
$OPTIMIZE
;
sub
WriteMakefile1 {
my
%params
=
@_
;
my
$eumm_version
=
$ExtUtils::MakeMaker::VERSION
;
$eumm_version
=
eval
$eumm_version
;
die
"EXTRA_META is deprecated"
if
exists
$params
{EXTRA_META};
die
"License not specified"
if
not
exists
$params
{LICENSE};
if
(
$params
{BUILD_REQUIRES} and
$eumm_version
< 6.5503) {
$params
{PREREQ_PM}={ %{
$params
{PREREQ_PM} || {}} , %{
$params
{BUILD_REQUIRES}} };
delete
$params
{BUILD_REQUIRES};
}
delete
$params
{CONFIGURE_REQUIRES}
if
$eumm_version
< 6.52;
delete
$params
{MIN_PERL_VERSION}
if
$eumm_version
< 6.48;
delete
$params
{META_MERGE}
if
$eumm_version
< 6.46;
delete
$params
{META_ADD}
if
$eumm_version
< 6.46;
delete
$params
{LICENSE}
if
$eumm_version
< 6.31;
delete
$params
{AUTHOR}
if
$] < 5.005;
delete
$params
{ABSTRACT_FROM}
if
$] < 5.005;
delete
$params
{BINARY_LOCATION}
if
$] < 5.005;
delete
$params
{OPTIMIZE}
if
$^O eq
'MSWin32'
;
WriteMakefile(
%params
);
}