X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=Makefile.PL;h=275049268c6214a578fffc8b4b85c830ee5af531;hb=87c72eaf97a3dbf51a93dab782c2909539addc48;hp=66f7a5266fd4d28cc0507d6f6142235b9d61f65c;hpb=4037790f2daed82b4fb7eac6bd47d171fe27e7a2;p=ZOOM-Perl-moved-to-github.git diff --git a/Makefile.PL b/Makefile.PL index 66f7a52..2750492 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -1,11 +1,14 @@ -# $Id: Makefile.PL,v 1.7 2006-04-19 20:11:03 mike Exp $ +# Use: perl Makefile.PL OPTIMIZE="-O0 -g -Wdeclaration-after-statement" +# or: perl Makefile.PL PREFIX=/home/mike/universe use 5.008; use ExtUtils::MakeMaker; +use strict; +my $yazver = `yaz-config --version`; my $yazinc = `yaz-config --cflags threads`; my $yazlibs = `yaz-config --libs threads`; -if (!$yazinc || !$yazlibs) { +if (!$yazver || !$yazinc || !$yazlibs) { die qq[ ERROR: Unable to call script: yaz-config If you are using a YAZ installation from the Debian package "yaz", you @@ -13,16 +16,19 @@ will also need to install "libyaz-dev" in order to build this module. ]; } +chomp($yazver); +check_version($yazver, "2.1.50"); + # For Windows use -# $yazinc = '-Ic:\yaz\include' -# $yazlibs = 'c:\yaz\lib\yaz.lib' +# $yazinc = '-Ic:\yaz\include'; +# $yazlibs = 'c:\yaz\lib\yaz.lib'; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( NAME => 'Net::Z3950::ZOOM', VERSION_FROM => 'lib/Net/Z3950/ZOOM.pm', # finds $VERSION - PREREQ_PM => { MARC::Record => 1.38 }, # e.g., Module::Name => 1.1 + PREREQ_PM => { "MARC::Record" => 1.38 }, ($] >= 5.005 ? ## Add these new keywords supported since 5.005 (ABSTRACT_FROM => 'lib/Net/Z3950/ZOOM.pm', # retrieve abstract from module AUTHOR => 'Mike Taylor ') : ()), @@ -33,5 +39,38 @@ WriteMakefile( # Un-comment this if you add C files to link with later: # OBJECT => '$(O_FILES)', # link all the C files too # Use this to test for illegal code that GCC stupidly permits by default: -# OPTIMIZE => "-Wdeclaration-after-statement" +# OPTIMIZE => "-Wdeclaration-after-statement -g -O0", + EXE_FILES => [ 'samples/zoom/zselect', 'samples/zoom/zoomdump', + 'samples/zoom/zoom-delete-records' ], ); + + +sub check_version { + my($got, $want) = @_; + + my($gmajor, $gminor, $gtrivial) = ($got =~ /(\d+)\.(\d+)\.(\d+)/); + my($wmajor, $wminor, $wtrivial) = ($want =~ /(\d+)\.(\d+)\.(\d+)/); + if (($gmajor < $wmajor) || + ($gmajor == $wmajor && $gminor < $wminor) || + ($gmajor == $wmajor && $gminor == $wminor && $gtrivial < $wtrivial)) { + print <<__EOT__; +*** ERROR! +ZOOM-Perl requires at least version $want of YAZ, +but you only have version $got. +__EOT__ + exit 1; + } +} + +sub MY::postamble { "debian: debian/output + +debian/output: + dpkg-buildpackage -rfakeroot -d + rm -rf debian/output + mkdir debian/output + mv ../libnet-z3950-zoom-perl* debian/output + +debclean: + rm -rf debian/libnet-z3950-zoom-perl debian/output +"; +}