3 use inc::Module::Install;
4 use Module::Install::AuthorRequires;
5 use Module::Install::ExtraTests;
11 perl_version '5.008001';
12 all_from 'lib/Class/MOP.pm';
16 my $ccflags = ( $Config::Config{ccflags} || '' ) . ' -I.';
18 if ( -d '.git' || $ENV{MAINTAINER_MODE} ) {
19 $ccflags .= ' -Wall -Wdeclaration-after-statement';
23 requires 'Data::OptList';
24 requires 'Devel::GlobalDestruction';
25 requires 'Dist::CheckConflicts';
26 requires 'Eval::Closure';
27 requires 'List::MoreUtils' => '0.12';
28 requires 'MRO::Compat' => '0.05';
29 requires 'Package::DeprecationManager' => '0.10';
30 requires 'Package::Stash' => '0.15';
31 requires 'Package::Stash::XS' => '0.17';
32 requires 'Scalar::Util' => '1.18';
33 requires 'Sub::Name' => '0.05';
34 requires 'Try::Tiny' => '0.02';
35 requires 'Task::Weaken';
37 test_requires 'File::Spec';
38 test_requires 'Test::More' => '0.88';
39 test_requires 'Test::Fatal' => '0.001';
40 test_requires 'Test::Requires' => '0.05';
42 author_requires 'Algorithm::C3';
43 author_requires 'Module::Info';
44 author_requires 'Test::LeakTrace';
45 author_requires 'Test::NoTabs';
46 author_requires 'Test::Output';
47 author_requires 'Test::Spelling';
49 configure_requires 'Dist::CheckConflicts';
50 configure_requires 'Package::Stash::Conflicts';
52 repository 'git://git.moose.perl.org/Class-MOP.git';
53 add_metadata(x_authority => 'cpan:STEVAN');
57 makemaker_args( CCFLAGS => $ccflags );
60 my (@clean, @OBJECT, %XS);
62 for my $xs (<xs/*.xs>) {
63 (my $c = $xs) =~ s/\.xs$/.c/i;
64 (my $o = $xs) =~ s/\.xs$/\$(OBJ_EXT)/i;
72 (my $o = $c) =~ s/\.c$/\$(OBJ_EXT)/i;
78 clean => { FILES => join(q{ }, @clean) },
79 OBJECT => join (q{ }, @OBJECT),
91 if (eval { require 'lib/Class/MOP/Conflicts.pm'; 1; }) {
92 if (eval { Class::MOP::Conflicts->check_conflicts; 1 }) {
98 warn "***\n$err***\n";
104 Your toolchain doesn't support configure_requires, so Dist::CheckConflicts
105 hasn't been installed yet. You should check for conflicting modules
106 manually using the 'cmop-conflicts' script that is installed with
107 this distribution once the installation finishes.
112 # More or less copied from Module::Build
113 return if $ENV{PERL_MM_USE_DEFAULT};
114 return unless -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT));
124 my $ret = shift->SUPER::const_cccmd(@_);
125 return q{} unless $ret;
127 if ($Config{cc} =~ /^cl\b/i) {
128 warn 'you are using MSVC... my condolences.';