use ExtUtils::MakeMaker; use strict; use Mail::SpamAssassin; use Config; $Mail::SpamAssassin::VERSION == 2.63 or die "*** YOU MUST USE SPAMASSASSIN 2.63 to run this - see INSTALL"; my $CONF_PM = 'Mail/SpamAssassin/Conf.pm'; my $SA_PM = 'Mail/SpamAssassin.pm'; my $PERMSG_PM = 'Mail/SpamAssassin/PerMsgStatus.pm'; my %install_targets = ( installsitelib => 'site', installvendorlib => 'vendor', installprivlib => 'perl', ); my $target; (my $sa_path = $INC{$SA_PM}) =~ s#/$SA_PM$##; # try to figure out where SA is installed foreach my $k (keys %install_targets) { if ($Config{$k} eq $sa_path) { print "# SAPATH $sa_path\n"; print "# $k $Config{$k}\n"; $target = $install_targets{$k}; } } my @INSTALLDIRS = (); if ($target) { if ($INC{$CONF_PM} eq "$sa_path/$CONF_PM" && $INC{$PERMSG_PM} eq "$sa_path/$PERMSG_PM") { @INSTALLDIRS = ('INSTALLDIRS', $target); } else { warn "$CONF_PM / $PERMSG_PM seem to be installed differently than Mail::SpamAssassin"; warn "found $SA_PM in $sa_path"; warn "found $CONF_PM in $INC{$CONF_PM}"; warn "found $PERMSG_PM in $INC{$PERMSG_PM}"; } } print "# @INSTALLDIRS\n"; WriteMakefile( 'NAME' => 'Mail::SpamAssassin::SpamCopURI', 'VERSION_FROM' => 'lib/Mail/SpamAssassin/SpamCopURI.pm', # finds $VERSION 'PREREQ_PM' => { 'Mail::SpamAssassin' => 2.63, URI => 0, 'Net::DNS' => 0 }, @INSTALLDIRS # e.g., Module::Name => 1.1 ); sub MY::postamble { return <<'MAKE_FRAG'; cover: HARNESS_PERL_SWITCHES=-MDevel::Cover=-ignore,Storable make test MAKE_FRAG }