The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl -w

# Copyright 2010, 2011, 2012, 2013, 2014 Kevin Ryde

# This file is part of Math-NumSeq.
#
# Math-NumSeq is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 3, or (at your option) any later
# version.
#
# Math-NumSeq is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License along
# with Math-NumSeq.  If not, see <http://www.gnu.org/licenses/>.

use 5.004;
use strict;
use ExtUtils::MakeMaker;

WriteMakefile
  (NAME         => 'Math::NumSeq',
   ABSTRACT     => 'Number sequences.',
   VERSION_FROM => 'lib/Math/NumSeq.pm',
   PREREQ_PM    => {
                    'constant' => 1.02, # for leading underscore
                    'constant::defer' => 1,
                    'File::HomeDir' => 0,
                    'File::Spec' => 0,
                    'File::Temp' => 0,
                    'List::Util' => 0,
                    'Math::Libm' => 0,
                    'Math::Prime::XS' => '0.23', # version 0.23 for fix 1928099
                    'Module::Pluggable' => 0,

                    # version 0.40 for factors() on Math::BigInt
                    'Math::Factor::XS' => '0.40',

                    'Module::Util' => 0,
                    'Module::Load' => 0,

                    # only for testing
                    'Test' => 0,
                   },
   AUTHOR       => 'Kevin Ryde <user42_kevin@yahoo.com.au>',
   LICENSE      => 'gpl_3',
   SIGN         => 1,
   MIN_PERL_VERSION => '5.004',

   META_MERGE =>
   { resources =>
     { homepage => 'http://user42.tuxfamily.org/math-numseq/index.html',
       license  => 'http://www.gnu.org/licenses/gpl.html',
     },
     no_index => { directory=>['devel','xt'] },

     recommends =>
     { 'Math::Prime::XS' => '0.26', # v.26 for faster is_prime()
       # version 4.7 to avoid warnings about removal from the core perl dist
       # which was a ridiculous way to communicate to authors
       'Module::Pluggable' => '4.7',
     },
     optional_features =>
     { maximum_interoperation =>
       { description => 'Have maximum inter-operation with other modules (optional other stuff).',
         requires => { 'Math::Symbolic' => 0,
                       'Math::Expression::Evaluator' => 0,
                       'Language::Expr' => 0,
                       'Language::Expr::Compiler::Perl' => 0,
                     },
       },
       maximum_tests =>
       { description => 'Have "make test" do as much as possible.',
         requires => { 'Data::Float'  => 0,
                     },
       },
     },
   },
  );

#------------------------------------------------------------------------------
# updating BuiltinTable.pm

package MY;
sub postamble {
  my ($makemaker) = @_;
  return <<'HERE';

oeis lib/Math/NumSeq/OEIS/Catalogue/Plugin/BuiltinTable.pm: tools/make-oeis-catalogue.pl lib/Math/NumSeq/*.pm
	$(PERL) tools/make-oeis-catalogue.pl || (rm -f $@; false)
HERE
}