MaxMind-DB-Writer

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

  },
  "dist_abstract" => "DEPRECATED Create MaxMind DB database files",
  "dist_author" => [
    "Olaf Alders <oalders\@maxmind.com>",
    "Greg Oschwald <goschwald\@maxmind.com>",
    "Dave Rolsky <drolsky\@maxmind.com>",
    "Mark Fowler <mfowler\@maxmind.com>"
  ],
  "dist_name" => "MaxMind-DB-Writer",
  "dist_version" => "0.300004",
  "license" => "perl",
  "module_name" => "MaxMind::DB::Writer",
  "recursive_test_files" => 1,
  "requires" => {
    "Carp" => 0,
    "Data::Dumper::Concise" => 0,
    "Data::IEEE754" => 0,
    "Digest::MD5" => 0,
    "Digest::SHA" => 0,
    "Encode" => 0,
    "Exporter" => 0,
    "IO::Handle" => 0,
    "Math::Int128" => "0.21",
    "Math::Int64" => "0.51",
    "MaxMind::DB::Common" => "0.031003",
    "MaxMind::DB::Metadata" => 0,
    "MaxMind::DB::Reader::Decoder" => 0,
    "MaxMind::DB::Role::Debugs" => 0,
    "Moose" => 0,
    "Moose::Util::TypeConstraints" => 0,
    "MooseX::Params::Validate" => 0,
    "MooseX::StrictConstructor" => 0,
    "Net::Works::Network" => 0,
    "Sereal::Decoder" => 0,
    "Sereal::Encoder" => "3.002",
    "Test::Deep::NoTest" => 0,
    "XSLoader" => 0,
    "autodie" => 0,
    "bytes" => 0,
    "constant" => 0,
    "namespace::autoclean" => 0,
    "perl" => "5.013002",
    "strict" => 0,
    "warnings" => 0
  },
  "test_requires" => {
    "Data::Printer" => 0,
    "Devel::Refcount" => 0,
    "ExtUtils::MakeMaker" => 0,
    "File::Spec" => 0,
    "File::Temp" => 0,
    "JSON" => 0,
    "List::AllUtils" => 0,
    "List::Util" => 0,
    "MaxMind::DB::Reader" => 0,
    "Net::Works::Address" => 0,
    "Scalar::Util" => 0,
    "Test::Bits" => 0,
    "Test::Builder" => 0,
    "Test::Fatal" => 0,
    "Test::HexDifferences" => 0,
    "Test::MaxMind::DB::Common::Data" => 0,
    "Test::More" => "0.96",
    "Test::Requires" => 0,
    "Test::Warnings" => 0,
    "lib" => 0,
    "utf8" => 0
  }
);

my $mb = Module::Build->new(
    %module_build_args,
    c_source => 'c',
);

$mb->extra_compiler_flags( _cc_flags($mb) );

$mb->create_build_script();

sub _cc_flags {
    my $mb = shift;

    my %unique = map { $_ => 1 } qw( -std=c99 -fms-extensions -Wall -g ),
        @{ $mb->extra_compiler_flags || [] },
        _int64_define(),
        _int128_define();

    return keys %unique;
}

sub _int64_define {
    my $autoconf = Config::AutoConf->new;

    return unless $autoconf->check_default_headers();
    return '-DINT64_T' if $autoconf->check_type('int64_t');
    return '-D__INT64' if $autoconf->check_type('__int64');
    return '-DINT64_DI'
        if $autoconf->check_type('int __attribute__ ((__mode__ (DI)))');

    warn <<'EOF';

  It looks like your compiler doesn't support a 64-bit integer type (one of
  "int64_t" or "__int64"). One of these types is necessary to compile the
  Math::Int64 module.

EOF

    exit 1;
}

sub _int128_define {
    my $autoconf = Config::AutoConf->new;

    return unless $autoconf->check_default_headers();
    return '-D__INT128' if _check_type( $autoconf, '__int128' );
    return '-DINT128_TI'
        if _check_type( $autoconf, 'int __attribute__ ((__mode__ (TI)))' );

    warn <<'EOF';

  It looks like your compiler doesn't support a 128-bit integer type (one of



( run in 0.370 second using v1.01-cache-2.11-cpan-39bf76dae61 )