#!perl -w
require 5.008;
use strict;
use warnings;
use lib qw( inc );
use Config qw(%Config);
use ExtUtils::MakeMaker;
use File::Spec;
use Devel::CheckLib;
# Check that we have a C compiler
check_lib_or_exit();
my @extra = ();
if ( $^O eq 'VMS' ) {
if ( defined( $Config{ccname} ) ) {
if ( grep( /VMS_VAX/, @INC ) && ( $Config{ccname} eq 'DEC' ) ) {
# VAX compiler optimizer even as late as v6.4 gets stuck
push( @extra, OPTIMIZE => "/Optimize=(NODISJOINT)" );
}
}
}
push( @extra, 'INSTALLDIRS' => 'perl' )
if $] >= 5.008;
push @extra, 'LICENSE' => 'perl'
if eval( $ExtUtils::MakeMaker::VERSION ) >= "6.30";
my $oe = $Config{obj_ext};
my @obj = ( "MD6$oe", make_obj_list( 'src', $oe, 'md6sum.c' ) );
WriteMakefile(
NAME => 'Digest::MD6',
AUTHOR => 'Andy Armstrong <andy@hexten.net>',
VERSION_FROM => 'MD6.pm',
PREREQ_PM => {
'Digest::base' => '1.00',
'File::Spec' => 0,
'Test::More' => 0,
'XSLoader' => 0,
},
@extra,
DIR => ['src'],
# OPTIMIZE => '-g',
OBJECT => join( ' ', @obj ),
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
);
sub make_obj_list {
my ( $dir, $ext, @exc ) = @_;
my $exc = join '|', map { "(?:\Q$_\E)" } @exc;
opendir my $dh, $dir or die "Can't read $dir: $!\n";
return map { File::Spec->catfile( $dir, $_ ) }
map { $_ =~ s/\.c$/$ext/ && $_ }
grep { /\.c$/i }
grep { !/^$exc$/ }
grep { !/^\./ } readdir $dh;
}