Update for YAZ 3s libyaz_server.la
[simpleserver-moved-to-github.git] / Makefile.PL
index a280ea0..e340b22 100644 (file)
@@ -1,13 +1,40 @@
 use ExtUtils::MakeMaker;
 
-## $Id: Makefile.PL,v 1.4 2004-06-05 07:55:05 adam Exp $
+## $Id: Makefile.PL,v 1.16 2007-04-17 20:26:58 adam Exp $
 
-my $libs = `yaz-config --libs` || die "ERROR: Unable to call script: yaz-config";
+my $yazconf = "yaz-config";
+my $yazver = `$yazconf --version`;
+my $yazinc = `$yazconf --cflags servers`;
+my $yazlibs = `$yazconf --libs server`;
+if (!$yazver || (!$yazinc && !$yazlibs)) {
+   die qq[
+ERROR: Unable to call script: yaz-config
+If you're using a YAZ installation from the Debian package "yaz", you
+will also need to install "libyaz-dev" in order to build the
+SimpleServer module.
+];
+}
+
+chomp($yazver);
+my ($major, $minor, $trivial) = split(/\./, $yazver);
+# YAZ 2.1.14 is the first to propagate SRW/U addinfo correctly
+my ($needMaj, $needMin, $needTriv) = (2, 1, 99);
+#print "major=$major, minor=$minor, trivial=$trivial\n";
+die "You have YAZ version $major.$minor.$trivial; " .
+    "you need $needMaj.$needMin.$needTriv or better."
+    if ($major < $needMaj || 
+       $major == $needMaj && $minor < $needMin ||
+       $major == $needMaj && $minor == $needMin && $trivial < $needTriv);
+
+# For Windows use
+# $yazinc = '-Ic:\yaz\include'
+# $yazlibs = 'c:\yaz\lib\yaz.lib'
 
 WriteMakefile(
     'NAME'     => 'Net::Z3950::SimpleServer',
     'VERSION_FROM' => 'SimpleServer.pm', # finds $VERSION
-    'LIBS'     => [$libs],   # e.g., '-lm' 
+    'LIBS'     => [$yazlibs],   # e.g., '-lm' 
     'DEFINE'   => '',     # e.g., '-DHAVE_SOMETHING' 
-    'INC'      => '',     # e.g., '-I/usr/include/other' 
+    'INC'      => $yazinc,     # e.g., '-I/usr/include/other' 
+#    OPTIMIZE   => "-Wdeclaration-after-statement -g -O0",
 );