use Config; use ExtUtils::MakeMaker; use ExtUtils::MM_Unix; use File::Copy; use Cwd "abs_path"; my %attributs = (NAME => 'PreludeDB', INC => '-I@top_srcdir@/src/include @LIBPRELUDE_CFLAGS@ @LIBPRELUDE_PTHREAD_CFLAGS@', LIBS => ["-L@top_builddir@/src/.libs -lpreludedb", "-L$ENV{LIBDIR} -lpreludedb @LIBPRELUDE_LIBS@" ], LDDLFLAGS => "@LIBPRELUDE_LDFLAGS@ @LIBPRELUDE_PTHREAD_CFLAGS@ $Config{lddlflags}"); if ( abs_path("@top_srcdir@") ne abs_path("@top_builddir@") ) { foreach my $filename ( qw/PreludeDB.c PreludeDB.pm/ ) { my $src = "@top_srcdir@/bindings/perl/$filename"; my $dst = "@top_builddir@/bindings/perl/$filename"; copy($src, $dst) if ( ! -e $dst ); } $attributs{"clean"} = {FILES => join(" ", map { "@top_builddir@/bindings/perl/$_" } qw/PreludeDB.c PreludeDB.pm Makefile/)}; } if ( -w $Config{"sitelib"} ) { $attributs{"INSTALLDIRS"} = "site"; } else { $attributs{"PREFIX"} = "@prefix@"; } WriteMakefile(%attributs); my($atime, $mtime) = (stat "Makefile.PL")[8,9]; utime($atime + 1, $mtime + 1, "Makefile"); package MY; sub install { my $str = shift->SUPER::install(@_); my @files = ((map { "\$(INSTALLSITEARCH)/$_" } qw/perllocal.pod PreludeDB.pm/), (map { "\$(INSTALLSITEARCH)/auto/PreludeDB/$_" } qw/PreludeDB.bs PreludeDB.so .packlist/), '$(INSTALLMAN3DIR)/PreludeDB.$(MAN3EXT)'); $str =~ s/(uninstall_from_sitedirs.+)\n.+\n/"$1\n\t\$(RM_F) " . join(" ", @files) . "\n"/e; return $str; }