X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=Makefile.PL;h=007986a7e14eb820abad446d99744664261a4e4a;hb=ded9ad85ed3cec29db09c738f8a7a47838e50db8;hp=f6b066f9ccc8b4a52010ed7750693a6a1eb0a688;hpb=1138dccafd0637bf3cd462b11a620e108d3cf49d;p=ZOOM-Perl-moved-to-github.git diff --git a/Makefile.PL b/Makefile.PL index f6b066f..007986a 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -1,18 +1,60 @@ +# $Id: Makefile.PL,v 1.10 2006-05-11 21:40:29 mike Exp $ + 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 (!$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 +will also need to install "libyaz-dev" in order to build this module. +]; +} + +chomp($yazver); +check_version($yazver, "2.1.11"); + +# For Windows use +# $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 => 'ZOOM', - VERSION_FROM => 'lib/ZOOM.pm', # finds $VERSION - PREREQ_PM => {}, # e.g., Module::Name => 1.1 + NAME => 'Net::Z3950::ZOOM', + VERSION_FROM => 'lib/Net/Z3950/ZOOM.pm', # finds $VERSION + PREREQ_PM => { "MARC::Record" => 1.38 }, ($] >= 5.005 ? ## Add these new keywords supported since 5.005 - (ABSTRACT_FROM => 'lib/ZOOM.pm', # retrieve abstract from module + (ABSTRACT_FROM => 'lib/Net/Z3950/ZOOM.pm', # retrieve abstract from module AUTHOR => 'Mike Taylor ') : ()), - LIBS => ['-lyaz -lxml2 '], # e.g., '-lm' + LIBS => [ $yazlibs ], # e.g., '-lm' DEFINE => '', # e.g., '-DHAVE_SOMETHING' # Insert -I. if you add *.h files later: - INC => '', # e.g., '-I/usr/include/other' + INC => $yazinc, # e.g., '-I/usr/include/other' # 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" ); + + +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__; +*** WARNING! +ZOOM-Perl requires at least version $want of YAZ, +but is currently you only have version $got. +__EOT__ + exit 1; + } +}