# This -*- perl -*- script makes the Makefile
# $Id: Makefile.PL,v 1.3 1996/01/04 12:56:50 gbarr Exp $
use ExtUtils::MakeMaker;
use ExtUtils::Manifest qw(maniread);
use lib qw(. ./lib);
#--- Configuration section ---
%install_pgm = (
'bin/h2ph' => 1
);
#--- End User Configuration - You should not have to change anything below this line
require 5.001;
use Getopt::Std;
$NAME = 'Include';
$RELTYPE = "a";
%chk_install = ();
$lib_only = 0;
#--- End Configuration
#--- MY package
{
package MY;
sub libscan {
return '' if m,/(RCS|CVS)/, || m,[~%]$, || m,\.(orig|rej)$,;
$_;
}
}
#--- End MY package
;# Package => [ $VERSION, $must ]
;# $must = 1, must have
;# $must = 0, reccomended
sub check_installation {
my %pkg = @_;
my $abort = 0;
my $pkg;
return unless @_;
print "Checking your installation ...\n";
foreach $pkg (keys %pkg)
{
{ eval "package dummy; require $pkg"; }
my $ins_ver;
my($version,$must) = @{$pkg{$pkg}};
$version = sprintf("%.02f",$version);
$ins_ver = defined ${$pkg . "::VERSION"}
? sprintf("%.02f",${$pkg . "::VERSION"})
: undef;
printf " %s %s, ",$pkg, (defined $ins_ver ? "Found v" . $ins_ver
: "NOT FOUND");
$ins_ver = "0.00" unless(defined $ins_ver);
if($ins_ver < $version)
{
$abort += $must;
printf "%s v%s\n", $must ? "REQUIRE " : "Recommend ", $version;
}
else
{
print "OK\n";
}
}
die "Abort\n" if $abort;
print "Done.\n";
}
sub initialize {
local($_);
check_installation(%chk_install)
if(%chk_install);
my $manifest = maniread();
my %PL_FILES = ();
my %EXE_FILES = ();
my %macro = ();
foreach (keys %$manifest) {
$PL_FILES{$_} = $1 if(/(.*)\.PL\Z/ && !/^Makefile.PL$/);
if((m#\bbin/# && !m#demo#) || m#\.PL\Z#) {
my $f = $_;
$f =~ s#\.PL$##;
if(defined $install_pgm{$f} && $install_pgm{$f}) {
$EXE_FILES{$f} = 1 if(-x $f || -f "$f.PL");
}
}
}
%EXE_FILES = () if($lib_only);
unless(defined $VERSION) {
my($pm,$rcs);
($pm = $NAME . ".pm") =~ s,::,/,g;
$pm = "lib/" . $pm unless(-f $pm);
$VERSION = eval { require "./$pm"; ${"${NAME}::VERSION"} } || "0.00";
($rcs = $pm) =~ s:([^/]+\.pm):RCS/$1,v:;
# update VERSION when checked in
$macro{CONFIGDEP} = $rcs
if(-f $rcs);
}
$VERSION .= $RELTYPE if(defined $RELTYPE);
my $hash = {
VERSION => $VERSION,
NAME => $NAME,
SKIP => [qw(static)],
PL_FILES => \%PL_FILES,
EXE_FILES => [ keys %EXE_FILES ],
LINKTYPE => 'dynamic',
'dist' => {COMPRESS => 'gzip -9f',
SUFFIX => 'gz',
POSTOP => 'mv $(DISTNAME)-$(VERSION).tar.gz ../',
DIST_DEFAULT => 'all tardist',
CI => 'ci -l'
},
'clean' => {FILES => join(" ", qw(*% *.html *.bak *.old lib/*% lib/*/*%),values %PL_FILES)},
};
$hash->{macro} = \%macro if(%macro);
$hash->{DISTNAME} = $DISTNAME if(defined $DISTNAME);
$hash;
}
# -- Make the Makefile
my $hash = initialize();
WriteMakefile( %$hash ) ;
syntax highlighted by Code2HTML, v. 0.9.1