# This Makefile.PL for Params-Validate was generated by
# Dist::Zilla::Plugin::MakeMaker::Awesome 0.38.
# Don't edit it but the dist.ini and plugins used to construct it.

use strict;
use warnings;

use 5.008001;
use ExtUtils::MakeMaker;

my %WriteMakefileArgs = (
  "ABSTRACT" => "Validate method/function parameters",
  "AUTHOR" => "Dave Rolsky <autarch\@urth.org>, Ilya Martynov <ilya\@martynov.org>",
  "CONFIGURE_REQUIRES" => {
    "ExtUtils::MakeMaker" => 0
  },
  "DISTNAME" => "Params-Validate",
  "LICENSE" => "artistic_2",
  "MIN_PERL_VERSION" => "5.008001",
  "NAME" => "Params::Validate",
  "PREREQ_PM" => {
    "Carp" => 0,
    "Exporter" => 0,
    "Module::Implementation" => 0,
    "Scalar::Util" => "1.10",
    "XSLoader" => 0,
    "strict" => 0,
    "vars" => 0,
    "warnings" => 0
  },
  "TEST_REQUIRES" => {
    "Devel::Peek" => 0,
    "ExtUtils::MakeMaker" => 0,
    "File::Spec" => 0,
    "File::Temp" => 0,
    "Test::Fatal" => 0,
    "Test::More" => "0.96",
    "Test::Requires" => 0,
    "Tie::Array" => 0,
    "Tie::Hash" => 0,
    "base" => 0,
    "lib" => 0,
    "overload" => 0
  },
  "VERSION" => "1.25",
  "test" => {
    "TESTS" => "t/*.t"
  }
);

%WriteMakefileArgs = (
    %WriteMakefileArgs,
    XS => { 'lib/Params/Validate/XS.xs' => 'lib/Params/Validate/XS.c' },
    OBJECT => 'lib/Params/Validate/XS$(OBJ_EXT)',
    INC => '-I.',
);

my %FallbackPrereqs = (
  "Carp" => 0,
  "Devel::Peek" => 0,
  "Exporter" => 0,
  "ExtUtils::MakeMaker" => 0,
  "File::Spec" => 0,
  "File::Temp" => 0,
  "Module::Implementation" => 0,
  "Scalar::Util" => "1.10",
  "Test::Fatal" => 0,
  "Test::More" => "0.96",
  "Test::Requires" => 0,
  "Tie::Array" => 0,
  "Tie::Hash" => 0,
  "XSLoader" => 0,
  "base" => 0,
  "lib" => 0,
  "overload" => 0,
  "strict" => 0,
  "vars" => 0,
  "warnings" => 0
);

unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
  delete $WriteMakefileArgs{TEST_REQUIRES};
  delete $WriteMakefileArgs{BUILD_REQUIRES};
  $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
}

delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
  unless eval { ExtUtils::MakeMaker->VERSION(6.52) };

WriteMakefile(%WriteMakefileArgs);

{
package MY;
use Config;

sub const_cccmd {
    my $ret = shift->SUPER::const_cccmd(@_);
    return q{} unless $ret;

    if ($Config{cc} =~ /^cl\b/i) {
        warn 'you are using MSVC... we may not have gotten some options quite right.';
        $ret .= ' /Fo$@';
    }
    else {
        $ret .= ' -o $@';
    }

    return $ret;
}

sub constants {
    my $self = shift;
    $self->{FULLEXT} = 'Params/Validate/XS';
    $self->{BASEEXT} = 'XS';
    $self->{PARENT_NAME} = 'Params/Validate';
    $self->SUPER::constants(@_);
}
}