X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=macros%2Fnetatalk.m4;h=b2116beac0e96b15c1536323ce1cf44bc38b31cf;hb=ec0ae51672bb9f91be79ba28edd70ac36bf36211;hp=f26f2d9e6beb638ca8a8150d8fa18b26c6b77f09;hpb=2a15eb027015d72b88434c862432e932c853c44b;p=netatalk.git diff --git a/macros/netatalk.m4 b/macros/netatalk.m4 index f26f2d9e..b2116bea 100644 --- a/macros/netatalk.m4 +++ b/macros/netatalk.m4 @@ -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 + + + + +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, @@ -35,33 +77,54 @@ AC_DEFUN([AC_NETATALK_DTRACE], [ dnl Check for dbus-glib, for AFP stats AC_DEFUN([AC_NETATALK_DBUS_GLIB], [ - atalk_cv_with_dbus=no + atalk_cv_with_dbus=no + + AC_ARG_WITH(afpstats, + AS_HELP_STRING( + [--with-afpstats], + [Enable AFP statistics via dbus (default: enabled if dbus found)] + ),,[withval=auto] + ) + + if test x"$withval" != x"no" ; then PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.1, have_dbus=yes, have_dbus=no) - PKG_CHECK_MODULES(DBUS_GLIB, gobject-2.0 >= 2.6, have_dbus_glib=yes, have_dbus_glib=no) + PKG_CHECK_MODULES(DBUS_GLIB, dbus-glib-1, have_dbus_glib=yes, have_dbus_glib=no) PKG_CHECK_MODULES(DBUS_GTHREAD, gthread-2.0, have_dbus_gthread=yes, have_dbus_gthread=no) - AC_SUBST(DBUS_CFLAGS) - AC_SUBST(DBUS_LIBS) - AC_SUBST(DBUS_GLIB_CFLAGS) - AC_SUBST(DBUS_GLIB_LIBS) - AC_SUBST(DBUS_GTHREAD_CFLAGS) - AC_SUBST(DBUS_GTHREAD_LIBS) - if test test x$have_dbus_glib = xyes -a x$have_dbus = xyes -a x$have_dbus_gthread = xyes ; then - atalk_cv_with_dbus=yes + if test x$have_dbus_glib = xyes -a x$have_dbus = xyes -a x$have_dbus_gthread = xyes ; then + saved_CFLAGS=$CFLAGS + saved_LIBS=$LIBS + CFLAGS="$CFLAGS $DBUS_GLIB_CFLAGS" + LIBS="$LIBS $DBUS_GLIB_LIBS" + AC_CHECK_FUNC([dbus_g_bus_get_private], [atalk_cv_with_dbus=yes], [atalk_cv_with_dbus=no]) + CFLAGS="$saved_CFLAGS" + LIBS="$saved_LIBS" fi - AM_CONDITIONAL(HAVE_DBUS_GLIB, test x$atalk_cv_with_dbus = xyes) + fi - AC_ARG_WITH( - dbus-sysconf-dir, - [AS_HELP_STRING([--with-dbus-sysconf-dir],[Path to dbus system bus security configuration directory (default: ${sysconfdir}/dbus-1/system.d/)])], - ac_cv_dbus_sysdir=$withval, - ac_cv_dbus_sysdir='${sysconfdir}/dbus-1/system.d' - ) + if test x"$withval" = x"yes" -a x"$atalk_cv_with_dbus" = x"no"; then + AC_MSG_ERROR([afpstats requested but dbus-glib not found]) + fi - if test x$atalk_cv_with_dbus = xyes ; then - AC_DEFINE(HAVE_DBUS_GLIB, 1, [Define if support for dbus-glib was found]) - DBUS_SYS_DIR="$ac_cv_dbus_sysdir" - AC_SUBST(DBUS_SYS_DIR) - fi + AC_ARG_WITH( + dbus-sysconf-dir, + [AS_HELP_STRING([--with-dbus-sysconf-dir=PATH],[Path to dbus system bus security configuration directory (default: ${sysconfdir}/dbus-1/system.d/)])], + ac_cv_dbus_sysdir=$withval, + ac_cv_dbus_sysdir='${sysconfdir}/dbus-1/system.d' + ) + DBUS_SYS_DIR="" + if test x$atalk_cv_with_dbus = xyes ; then + AC_DEFINE(HAVE_DBUS_GLIB, 1, [Define if support for dbus-glib was found]) + DBUS_SYS_DIR="$ac_cv_dbus_sysdir" + fi + + AC_SUBST(DBUS_SYS_DIR) + AC_SUBST(DBUS_CFLAGS) + AC_SUBST(DBUS_LIBS) + AC_SUBST(DBUS_GLIB_CFLAGS) + AC_SUBST(DBUS_GLIB_LIBS) + AC_SUBST(DBUS_GTHREAD_CFLAGS) + AC_SUBST(DBUS_GTHREAD_LIBS) + AM_CONDITIONAL(HAVE_DBUS_GLIB, test x$atalk_cv_with_dbus = xyes) ]) dnl Whether to enable developer build @@ -77,6 +140,75 @@ AC_DEFUN([AC_DEVELOPER], [ AM_CONDITIONAL(DEVELOPER, test x"$enable_dev" = x"yes") ]) +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_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`"] + ) + + 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" -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_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]) + ac_cv_tracker_type="(SPARQL)" + fi + + dnl Test for Tracker 0.6 on Solaris and derived platforms, and FreeBSD + 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 + ac_cv_have_tracker=yes + 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"]) +]) + dnl Whether to disable bundled libevent AC_DEFUN([AC_NETATALK_LIBEVENT], [ AC_MSG_CHECKING([whether to use bundled libevent]) @@ -100,7 +232,9 @@ AC_DEFUN([AC_NETATALK_LIBEVENT], [ AC_MSG_ERROR([--with-libevent requires a path]) fi AC_MSG_RESULT([$use_bundled_libevent]) - AC_CONFIG_SUBDIRS([libevent]) + if test x"$use_bundled_libevent" = x"yes" ; then + AC_CONFIG_SUBDIRS([libevent]) + fi AC_SUBST(LIBEVENT_CFLAGS) AC_SUBST(LIBEVENT_LDFLAGS) AM_CONDITIONAL(USE_BUILTIN_LIBEVENT, test x"$use_bundled_libevent" = x"yes") @@ -347,7 +481,7 @@ AC_ARG_ENABLE(shell-check, ) ]) -dnl Check for optional sysv initscript install +dnl Check for optional initscript install AC_DEFUN([AC_NETATALK_INIT_STYLE], [ AC_ARG_WITH(init-style, [ --with-init-style use OS specific init config [[redhat-sysv|redhat-systemd|suse-sysv|suse-systemd|gentoo|netbsd|debian|solaris|systemd]]], @@ -359,36 +493,46 @@ AC_DEFUN([AC_NETATALK_INIT_STYLE], [ ;; "redhat-sysv") AC_MSG_RESULT([enabling redhat-style sysv initscript support]) + ac_cv_init_dir="/etc/rc.d/init.d" ;; "redhat-systemd") AC_MSG_RESULT([enabling redhat-style systemd support]) + ac_cv_init_dir="/lib/systemd/system" ;; "suse") AC_MSG_ERROR([--with-init-style=suse is obsoleted. Use suse-sysv or suse-systemd.]) ;; "suse-sysv") AC_MSG_RESULT([enabling suse-style sysv initscript support]) + ac_cv_init_dir="/etc/init.d" ;; "suse-systemd") AC_MSG_RESULT([enabling suse-style systemd support (>=openSUSE12.1)]) + ac_cv_init_dir="/lib/systemd/system" ;; "gentoo") AC_MSG_RESULT([enabling gentoo-style initscript support]) + ac_cv_init_dir="/etc/init.d" ;; "netbsd") AC_MSG_RESULT([enabling netbsd-style initscript support]) + ac_cv_init_dir="/etc/rc.d" ;; "debian") AC_MSG_RESULT([enabling debian-style initscript support]) + ac_cv_init_dir="/etc/init.d" ;; "solaris") AC_MSG_RESULT([enabling solaris-style SMF support]) + ac_cv_init_dir="/lib/svc/manifest/network/" ;; "systemd") AC_MSG_RESULT([enabling general systemd support]) + ac_cv_init_dir="/lib/systemd/system" ;; "none") AC_MSG_RESULT([disabling init-style support]) + ac_cv_init_dir="none" ;; *) AC_MSG_ERROR([illegal init-style]) @@ -403,6 +547,12 @@ AC_DEFUN([AC_NETATALK_INIT_STYLE], [ AM_CONDITIONAL(USE_SYSTEMD, test x$init_style = xsystemd || test x$init_style = xredhat-systemd || test x$init_style = xsuse-systemd) AM_CONDITIONAL(USE_UNDEF, test x$init_style = xnone) + AC_ARG_WITH(init-dir, + [ --with-init-dir=PATH path to OS specific init directory], + ac_cv_init_dir="$withval", ac_cv_init_dir="$ac_cv_init_dir" + ) + INIT_DIR="$ac_cv_init_dir" + AC_SUBST(INIT_DIR, ["$ac_cv_init_dir"]) ]) dnl OS specific configuration @@ -504,87 +654,8 @@ if test x"$this_os" = "xsolaris"; then AC_DEFINE(SOLARIS, 1, [Solaris compatibility macro]) AC_DEFINE(_XOPEN_SOURCE, 600, [Solaris compilation environment]) AC_DEFINE(__EXTENSIONS__, 1, [Solaris compilation environment]) - CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS" need_dash_r=yes init_style=solaris - - solaris_module=no - AC_MSG_CHECKING([if we can build Solaris kernel module]) - if test -x /usr/ccs/bin/ld && test x"$netatalk_cv_ddp_enabled" = x"yes" ; then - solaris_module=yes - fi - AC_MSG_RESULT([$solaris_module]) - - COMPILE_64BIT_KMODULE=no - KCFLAGS="" - KLDFLAGS="" - COMPILE_KERNEL_GCC=no - - if test "$solaris_module" = "yes"; then - dnl Solaris kernel module stuff - AC_MSG_CHECKING([if we have to build a 64bit kernel module]) - - # check for isainfo, if not found it has to be a 32 bit kernel (<=2.6) - if test -x /usr/bin/isainfo; then - # check for 64 bit platform - if isainfo -kv | grep '^64-bit'; then - COMPILE_64BIT_KMODULE=yes - fi - fi - - AC_MSG_RESULT([$COMPILE_64BIT_KMODULE]) - - if test "${GCC}" = yes; then - COMPILE_KERNEL_GCC=yes - if test "$COMPILE_64BIT_KMODULE" = yes; then - - AC_MSG_CHECKING([if we can build a 64bit kernel module]) - - case `$CC --version 2>/dev/null` in - [[12]].* | 3.0.*) - COMPILE_64BIT_KMODULE=no - COMPILE_KERNEL_GCC=no - solaris_module=no;; - *) - # use for 64 bit - KCFLAGS="-m64" - #KLDFLAGS="-melf64_sparc" - KLDFLAGS="-64";; - esac - - AC_MSG_RESULT([$COMPILE_64BIT_KMODULE]) - - else - KCFLAGS="" - KLDFLAGS="" - fi - KCFLAGS="$KCFLAGS -D_KERNEL -Wall -Wstrict-prototypes" - else - if test "$COMPILE_64BIT_KMODULE" = yes; then - # use Sun CC (for a 64-bit kernel, uncomment " -xarch=v9 -xregs=no%appl ") - KCFLAGS="-xarch=v9 -xregs=no%appl" - KLDFLAGS="-64" - else - KCFLAGS="" - KLDFLAGS="" - fi - KCFLAGS="-D_KERNEL $KCFLAGS -mno-app-regs -munaligned-doubles -fpcc-struct-return" - fi - - AC_CACHE_CHECK([for timeout_id_t],netatalk_cv_HAVE_TIMEOUT_ID_T,[ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[\ -#include -#include ]], [[\ -timeout_id_t dummy; -]])],[netatalk_cv_HAVE_TIMEOUT_ID_T=yes],[netatalk_cv_HAVE_TIMEOUT_ID_T=no])]) - - AC_DEFINE(HAVE_TIMEOUT_ID_T, test x"$netatalk_cv_HAVE_TIMEOUT_ID" = x"yes", [define for timeout_id_t]) - fi - - AC_SUBST(COMPILE_KERNEL_GCC) - AC_SUBST(COMPILE_64BIT_KMODULE) - AC_SUBST(KCFLAGS) - AC_SUBST(KLDFLAGS) fi dnl Whether to run ldconfig after installing libraries @@ -751,7 +822,7 @@ AC_SUBST(LDAP_CFLAGS) AC_SUBST(LDAP_LDFLAGS) AC_SUBST(LDAP_LIBS) CFLAGS="$save_CFLAGS" -LDLFLAGS="$save_LDLFLAGS" +LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ])