use strict; use warnings; use Module::Build; my %build = ( module_name => 'DBIx::DBO', license => 'perl', dist_author => 'Vernon Lyon ', dist_version_from => 'lib/DBIx/DBO.pm', dynamic_config => 1, configure_requires => { 'Module::Build' => '0.30', }, build_requires => { 'Module::Build' => '0.30', 'Test::More' => 0.62, 'File::Temp' => 0, }, requires => { 'perl' => 5.008_001, 'DBI' => '1.50', }, recommends => { 'DBD::mysql' => 4.004, 'DBD::Pg' => 2, 'DBD::SQLite' => 1.31, 'DBD::Oracle' => 1.13, 'Storable' => 2.38, }, meta_merge => { resources => { bugtracker => 'http://rt.cpan.org/Public/Dist/Display.html?Name=DBIx-DBO', repository => 'https://vlyon.svn.beanstalkapp.com/src/dbo', }, }, ); if ($] < 5.008_009) { # Perl prior to 5.8.9 didn't have hv_store, so we'll need to build it $build{needs_compiler} = 1; $build{build_requires}{'ExtUtils::CBuilder'} = 0; $build{xs_files}{'QueryXS.xs'} = 'lib/DBIx/DBO/Query.xs'; } if ($] < 5.009_005) { # Perl prior to 5.9.5 didn't have mro, so we'll need to use Class::C3 $build{requires}{'MRO::Compat'} = 0.09; } unless (exists &Scalar::Util::weaken) { # The pure-perl Scalar::Util doesn't contain weaken(), Task::Weaken will try to fix it or give an error $build{requires}{'Task::Weaken'} = 0; } Module::Build->subclass(code => q( sub ACTION_testcover { $ENV{DEVEL_COVER_OPTIONS} = '-ignore,^Test/,-coverage,all,pod-also_private-STORABLE_' unless exists $ENV{DEVEL_COVER_OPTIONS}; print "DEVEL_COVER_OPTIONS = $ENV{DEVEL_COVER_OPTIONS}\n"; shift->SUPER::ACTION_testcover; } sub ACTION_test { local $_[0]->{properties}{verbose} = 1 if $ENV{AUTOMATED_TESTING}; $_[0]->SUPER::ACTION_test; } ))->new(%build)->create_build_script();