use 5.006; use strict; use warnings; use ExtUtils::MakeMaker; require "./inc/ExtUtils/HasCompiler.pm"; my $can_xs = ExtUtils::HasCompiler::can_compile_loadable_object( quiet => 1 ) ? 1 : 0; if ( !$can_xs ) { print "Sorry! YAML::Syck requires a compiler in order to be built.\n"; exit 1; } my $bad; if ( eval { require YAML; $YAML::VERSION < 0.60 } ) { print "*** Pre-0.60 version of YAML.pm ($YAML::VERSION) detected.\n"; $bad++; } if ( eval { require YAML::Syck; $YAML::Syck::VERSION < 0.60 } ) { print "*** Pre-0.60 version of YAML::Syck ($YAML::Syck::VERSION) detected.\n"; $bad++; } if ($bad) { print << '_'; *** WARNING *** YAML::Syck version >=0.60 breaks compatibility with earlier versions of YAML::Syck and YAML.pm (<0.60) when serializing blessed references. See the COMPATIBILITY file for more information. _ my $ans = prompt( "Continue installing YAML::Syck?", "y" ); exit() unless $ans =~ /^y/i; } # One liner stolen from inc/Module/Install/Compiler.pm my $c_files = join ' ', map { substr( $_, 0, -2 ) . $Config::Config{_o} } ( glob("*.c"), ( -e 'Syck.c' ? () : 'Syck.c' ) ); WriteMakefile( NAME => 'YAML::Syck', AUTHOR => q{Todd Rinaldo }, VERSION_FROM => 'lib/YAML/Syck.pm', ABSTRACT_FROM => 'lib/YAML/Syck.pm', LICENSE => 'MIT', PL_FILES => {}, MIN_PERL_VERSION => '5.006', CONFIGURE_REQUIRES => { 'ExtUtils::MakeMaker' => '0', }, BUILD_REQUIRES => { 'Test::More' => '0', defined $ENV{'AUTOMATED_TESTING'} ? ( 'Devel::Leak' => 0 ) : (), }, INC => "-I.", OBJECT => $c_files, dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', }, clean => { FILES => 'Test-MockFile-*' }, $ExtUtils::MakeMaker::VERSION >= 6.46 ? ( 'META_MERGE' => { resources => { 'license' => 'http://dev.perl.org/licenses/', 'homepage' => 'http://github.com/toddr/YAML-Syck', 'bugtracker' => 'https://github.com/toddr/YAML-Syck/issues', 'repository' => 'http://github.com/toddr/YAML-Syck', } } ) : (), ); #-cc_files