Mail-SpamAssassin

 view release on metacpan or  search on metacpan

Makefile.PL  view on Meta::CPAN

  're2c_bin'        => 're2c',
);
ARGV: foreach (@ARGV) {
  foreach my $key (keys %opt) {
    my $val = parse_arg($_, uc($key));
    if (defined $val) {
      $opt{$key} = $val;
      next ARGV;
    }
  }
}


# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
my %makefile = (
    'NAME'         => 'Mail::SpamAssassin',
    'VERSION_FROM' => 'lib/Mail/SpamAssassin.pm', # finds $VERSION

    # This is not the standard EU::MM array, we use a hash instead (which 
    # will be converted later on).  Use the source file name as the key and
    # the executable as the value.
    'EXE_FILES' => {
      'spamassassin.raw' => 'spamassassin',
      'sa-learn.raw'     => 'sa-learn',
      'sa-update.raw'    => 'sa-update',
      'sa-compile.raw'   => 'sa-compile',
      'sa-awl.raw'       => 'sa-awl',
      'sa-check_spamd.raw' => 'sa-check_spamd',
      'spamc/spamc.c'    => 'spamc/spamc$(EXE_EXT)',
      'spamd/spamd.raw'  => 'spamd/spamd',
    },

    # TODO: the rule compilation is hooked into the build step for "sa-update"
    # as the make target "build_rules".
    # This is kludgy, and it'd be nice to find a cleaner way to do this.

    'MAN1PODS' => {
        'spamassassin'     => '$(INST_MAN1DIR)/spamassassin.$(MAN1EXT)',
        'lib/spamassassin-run.pod' => '$(INST_MAN1DIR)/spamassassin-run.$(MAN1EXT)',
        'sa-learn'         => '$(INST_MAN1DIR)/sa-learn.$(MAN1EXT)',
        'sa-update'        => '$(INST_MAN1DIR)/sa-update.$(MAN1EXT)',
        'sa-compile'       => '$(INST_MAN1DIR)/sa-compile.$(MAN1EXT)',
        'sa-awl'           => '$(INST_MAN1DIR)/sa-awl.$(MAN1EXT)',
        'sa-check_spamd'   => '$(INST_MAN1DIR)/sa-check_spamd.$(MAN1EXT)',
        'spamc/spamc.pod'  => '$(INST_MAN1DIR)/spamc.$(MAN1EXT)',
        'spamd/spamd'      => '$(INST_MAN1DIR)/spamd.$(MAN1EXT)',
    },

    'PL_FILES' => { },

    'PMLIBDIRS' => [ 'lib' ],

    'PM_FILTER' => '$(PREPROCESS) -Mconditional -Mvars -DVERSION="$(VERSION)" \
	-DPREFIX="$(I_PREFIX)" \
	-DDEF_RULES_DIR="$(I_DATADIR)" \
	-DLOCAL_RULES_DIR="$(I_CONFDIR)" \
	-DLOCAL_STATE_DIR="$(I_LOCALSTATEDIR)"',

    'macro' => {
        DATAFILES => 'user_prefs.template languages sa-update-pubkey.txt'
    },

    # be quite explicit about this; afaik CPAN.pm is sensible using this
    'PREREQ_PM' => {
        'File::Spec'           => 0.8,           # older versions lack some routines we need
        'File::Copy'           => 2.02,          # this version is shipped with 5.005_03, the oldest version known to work
        'Pod::Usage'           => 1.10,          # all versions prior to this do seem to be buggy
        'HTML::Parser'         => 3.43,          # the HTML code is based on this parser, older versions have utf-8 bugs
        'Archive::Tar'         => 1.23,          # for sa-update
        'IO::Zlib'             => 1.04,          # for sa-update
        'Mail::DKIM'           => 0.31,
        'Net::DNS'             => 1.10,
        'NetAddr::IP'          => 4.010,
        'Sys::Hostname'        => 0,
        'Time::HiRes'          => 0,
        'Time::Local'          => 0,
        'Errno'                => 0,
    },

    # In case MIN_MAKEMAKER_VERSION is greater than the version bundled in the core of MIN_PERL_VERSION
    # use this to ensure CPAN will automatically upgrade MakeMaker if needed
    'BUILD_REQUIRES' => {
        'ExtUtils::MakeMaker' => MIN_MAKEMAKER_VERSION,
    },

    'CONFIGURE_REQUIRES' => {
        'ExtUtils::MakeMaker' => MIN_MAKEMAKER_VERSION,
    },

    # The modules that are not core or that require a minimum version that are used in default tests
    'TEST_REQUIRES' => {
        'Test::Simple' => 1.302067,
    },

    'LICENSE' => 'apache_2_0',

    'dist' => {
        COMPRESS => 'gzip -9f',
        SUFFIX => '.gz',
        TARFLAGS => 'cf',
        DIST_DEFAULT => 'tardist',

        CI => 'svn commit',
        RCS_LABEL => 'true',
    },

    'clean' => { FILES => join(' ' =>
        'sa-learn', 'sa-update', 'spamassassin', 'sa-compile', 'sa-awl', 'sa-check_spamd',
        
        'spamd/spamd',

        'spamc/spamc$(EXE_EXT)',
        'spamc/spamc.h',
        'spamc/qmail-spamc$(EXE_EXT)',
        'spamc/*.o*', 'spamc/replace/*.o*',
        'spamc/*.so',
        'spamc/Makefile',
        'spamc/config.h', 'spamc/version.h', 'spamc/spamc.h',
        'spamc/config.status', 'spamc/*.cache', 'spamc/config.log',
        'spamd/*spamc*', 'qmail',



( run in 0.614 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )