]> arthur.barton.de Git - netatalk.git/blobdiff - macros/netatalk.m4
Fix Tracker macro for Solaris and OpenCSW
[netatalk.git] / macros / netatalk.m4
index a0d4a82d4ae6da700f4f79a11401ae815d358fd5..e54627ae8de81dab88871f3225a04321e60d7800 100644 (file)
@@ -1,5 +1,47 @@
 dnl Kitchen sink for configuration macros
 
+dnl Check for docbook
+AC_DEFUN(AX_CHECK_DOCBOOK, [
+  # It's just rude to go over the net to build
+  XSLTPROC_FLAGS=--nonet
+  DOCBOOK_ROOT=
+  XSLTPROC_WORKS=no
+
+  AC_ARG_WITH(docbook,
+    AS_HELP_STRING(
+      [--with-docbook],
+      [Path to Docbook XSL directory]
+    ),
+    [DOCBOOK_ROOT=$withval]
+  )
+
+  if test -n "$DOCBOOK_ROOT" ; then
+    AC_CHECK_PROG(XSLTPROC,xsltproc,xsltproc,)
+    if test -n "$XSLTPROC"; then
+      AC_MSG_CHECKING([whether xsltproc works])
+      DB_FILE="$DOCBOOK_ROOT/html/docbook.xsl"
+      $XSLTPROC $XSLTPROC_FLAGS $DB_FILE >/dev/null 2>&1 << END
+<?xml version="1.0" encoding='ISO-8859-1'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<book id="test">
+</book>
+END
+      if test "$?" = 0; then
+        XSLTPROC_WORKS=yes
+      fi
+      AC_MSG_RESULT($XSLTPROC_WORKS)
+    fi
+  fi
+
+  AC_MSG_CHECKING([whether to build Docbook documentation])
+  AC_MSG_RESULT($XSLTPROC_WORKS)
+
+  AM_CONDITIONAL(HAVE_XSLTPROC, test x"$XSLTPROC_WORKS" = x"yes")
+  AC_SUBST(XSLTPROC_FLAGS)
+  AC_SUBST(DOCBOOK_ROOT)
+  AC_SUBST(XSLTPROC)
+])
+
 dnl Check for dtrace
 AC_DEFUN([AC_NETATALK_DTRACE], [
   AC_ARG_WITH(dtrace,
@@ -101,58 +143,59 @@ AC_DEFUN([AC_DEVELOPER], [
 dnl Tracker, for Spotlight
 AC_DEFUN([AC_NETATALK_SPOTLIGHT], [
     ac_cv_have_tracker=no
+    ac_cv_tracker_pkg_version_default=0.12
+    ac_cv_tracker_pkg_version_min=0.12
+
     dnl Tracker SPARQL
-    ac_cv_tracker_pkg_default=tracker-sparql-0.12
-    AC_ARG_WITH([tracker-pkg-config],
-       [AS_HELP_STRING([--with-tracker-pkg-config],[name of the Tracker SPARQL pkg in pkg-config])],
-       [ac_cv_tracker_pkg=$withval],
-       [ac_cv_tracker_pkg=$ac_cv_tracker_pkg_default])
+    AC_ARG_WITH([tracker-pkgconfig-version],
+      [AS_HELP_STRING([--with-tracker-pkgconfig-version=VERSION],[Version suffix of the Tracker SPARQL and tracker-miner pkg in pkg-config (default: 0.12)])],
+      [ac_cv_tracker_pkg_version=$withval],
+      [ac_cv_tracker_pkg_version=$ac_cv_tracker_pkg_default]
+    )
+
+    AC_ARG_WITH([tracker-prefix],
+      [AS_HELP_STRING([--with-tracker-prefix=PATH],[Prefix of Tracker installation (default: none)])],
+      [ac_cv_tracker_prefix=$withval],
+      [ac_cv_tracker_prefix="`pkg-config --variable=prefix tracker-sparql-$ac_cv_tracker_pkg_version`"]
+    )
 
-    PKG_CHECK_MODULES([TRACKER], [$ac_cv_tracker_pkg >= 0.12], [ac_cv_have_tracker_sparql=yes], [ac_cv_have_tracker_sparql=no])
+    AC_ARG_VAR([PKG_CONFIG_PATH], [Path to additional pkg-config packages])
+    PKG_CHECK_MODULES([TRACKER], [tracker-sparql-$ac_cv_tracker_pkg_version >= $ac_cv_tracker_pkg_version_min], [ac_cv_have_tracker_sparql=yes], [ac_cv_have_tracker_sparql=no])
+    PKG_CHECK_MODULES([TRACKER_MINER], [tracker-miner-$ac_cv_tracker_pkg_version >= $ac_cv_tracker_pkg_version_min], [ac_cv_have_tracker_miner=yes], [ac_cv_have_tracker_miner=no])
 
-    if test x"$ac_cv_have_tracker_sparql" = x"no" ; then
-        if test x"$need_tracker" = x"yes" ; then
+    if test x"$ac_cv_have_tracker_sparql" = x"no" -o x"$ac_cv_have_tracker_miner" = x"no" ; then
+        if test x"$need_tracker_sparql" = x"yes" ; then
             AC_MSG_ERROR([$ac_cv_tracker_pkg not found])
         fi
     else
         AC_DEFINE(HAVE_TRACKER, 1, [Define if Tracker is available])
         AC_DEFINE(HAVE_TRACKER_SPARQL, 1, [Define if Tracker SPARQL is available])
-        ac_cv_tracker_prefix=`pkg-config --variable=prefix $ac_cv_tracker_pkg`
+        AC_DEFINE(HAVE_TRACKER_MINER, 1, [Define if Tracker miner library is available])
         AC_DEFINE_UNQUOTED(TRACKER_PREFIX, ["$ac_cv_tracker_prefix"], [Path to Tracker])
         AC_DEFINE([DBUS_DAEMON_PATH], ["/bin/dbus-daemon"], [Path to dbus-daemon])
-       fi
-
-    ac_cv_tracker_miner_pkg_default=tracker-miner-0.12
-    AC_ARG_WITH([tracker-miner-pkg-config],
-       [AS_HELP_STRING([--with-tracker-miner-pkg-config],[name of the Tracker miner pkg in pkg-config])],
-       [ac_cv_tracker_miner_pkg=$withval],
-       [ac_cv_tracker_miner_pkg=$ac_cv_tracker_miner_pkg_default])
-
-    PKG_CHECK_MODULES([TRACKER_MINER], [$ac_cv_tracker_miner_pkg >= 0.12], [ac_cv_have_tracker_miner=yes], [ac_cv_have_tracker_miner=no])
-
-    if test x"$ac_cv_have_tracker_miner" = x"yes" ; then
-        AC_DEFINE(HAVE_TRACKER_MINER, 1, [Define if Tracker miner library is available])
-        AC_SUBST(TRACKER_MINER_CFLAGS)
-        AC_SUBST(TRACKER_MINER_LIBS)
-       fi
+        ac_cv_tracker_type="(SPARQL)"
+    fi
 
     dnl Test for Tracker 0.6 on Solaris and derived platforms, and FreeBSD
-    if test x"$this_os" = x"solaris" -o x"$this_os" = x"freebsd" ; then
-        PKG_CHECK_MODULES([TRACKER], [tracker >= 0.6], [ac_cv_have_tracker_rdf=yes], [ac_cv_have_tracker_rdf=no])
-        if test x"$ac_cv_have_tracker_rdf" = x"yes" ; then
-            AC_DEFINE(HAVE_TRACKER, 1, [Define if Tracker is available])
-            AC_DEFINE(HAVE_TRACKER_RDF, 1, [Define if Tracker 0.6 with support for RDF queries is available])
-            case "$this_os" in
-            *solaris*)
-                AC_DEFINE([DBUS_DAEMON_PATH], ["/usr/lib/dbus-daemon"], [Path to dbus-daemon])
-                AC_DEFINE([TRACKERD_PATH], ["/bin/trackerd"], [Path to trackerd])
-                ;;
-            *freebsd*)
-                AC_DEFINE([DBUS_DAEMON_PATH], ["/usr/local/bin/dbus-daemon"], [Path to dbus-daemon])
-                AC_DEFINE([TRACKERD_PATH], ["/usr/local/libexec/trackerd"], [Path to trackerd])
-                ;;
-            esac
-           fi
+    if test x"$ac_cv_have_tracker_sparql" != x"yes" ; then
+        if test x"$this_os" = x"solaris" -o x"$this_os" = x"freebsd" ; then
+            PKG_CHECK_MODULES([TRACKER], [tracker >= 0.6], [ac_cv_have_tracker_rdf=yes], [ac_cv_have_tracker_rdf=no])
+            if test x"$ac_cv_have_tracker_rdf" = x"yes" ; then
+                AC_DEFINE(HAVE_TRACKER, 1, [Define if Tracker is available])
+                AC_DEFINE(HAVE_TRACKER_RDF, 1, [Define if Tracker 0.6 with support for RDF queries is available])
+                ac_cv_tracker_type="(RDF)"
+                case "$this_os" in
+                *solaris*)
+                    AC_DEFINE([DBUS_DAEMON_PATH], ["/usr/lib/dbus-daemon"], [Path to dbus-daemon])
+                    AC_DEFINE([TRACKERD_PATH], ["/bin/trackerd"], [Path to trackerd])
+                    ;;
+                *freebsd*)
+                    AC_DEFINE([DBUS_DAEMON_PATH], ["/usr/local/bin/dbus-daemon"], [Path to dbus-daemon])
+                    AC_DEFINE([TRACKERD_PATH], ["/usr/local/libexec/trackerd"], [Path to trackerd])
+                    ;;
+                esac
+            fi
+        fi
     fi
 
     if test x"$ac_cv_have_tracker_sparql" = x"yes" -o x"$ac_cv_have_tracker_rdf" = x"yes" ; then
@@ -160,6 +203,8 @@ AC_DEFUN([AC_NETATALK_SPOTLIGHT], [
     fi
     AC_SUBST(TRACKER_CFLAGS)
     AC_SUBST(TRACKER_LIBS)
+    AC_SUBST(TRACKER_MINER_CFLAGS)
+    AC_SUBST(TRACKER_MINER_LIBS)
     AM_CONDITIONAL(HAVE_TRACKER_SPARQL, [test x"$ac_cv_have_tracker_sparql" = x"yes"])
     AM_CONDITIONAL(HAVE_TRACKER_RDF, [test x"$ac_cv_have_tracker_rdf" = x"yes"])
 ])