]> git.meshlink.io Git - catta/blobdiff - configure.ac
build docs for avahi-core only if --enable-core-docs was passed to configure. Build...
[catta] / configure.ac
index e1a8981f143162c414a4b9152f4a0738db687495..deac981b6a163d49519fcac23116f6dd25ef0d32 100644 (file)
 # USA.
 
 AC_PREREQ(2.57)
-AC_INIT([avahi],[0.6],[avahi (at) lists (dot) freedesktop (dot) org])
+AC_INIT([avahi],[0.6.12],[avahi (at) lists (dot) freedesktop (dot) org])
 AC_CONFIG_SRCDIR([avahi-core/server.c])
 AC_CONFIG_HEADERS([config.h])
 AM_INIT_AUTOMAKE([foreign 1.9 -Wall])
 
-AC_SUBST(PACKAGE_URL, [http://www.freedesktop.org/Software/Avahi])
+AC_SUBST(PACKAGE_URL, [http://avahi.org/])
 
-AC_SUBST(LIBAVAHI_COMMON_VERSION_INFO, [3:0:0])
-AC_SUBST(LIBAVAHI_CORE_VERSION_INFO, [3:0:0])
-AC_SUBST(LIBAVAHI_CLIENT_VERSION_INFO, [3:0:0])
-AC_SUBST(LIBAVAHI_GLIB_VERSION_INFO, [1:0:0])
-AC_SUBST(LIBAVAHI_QT3_VERSION_INFO, [1:0:0])
-AC_SUBST(LIBAVAHI_QT4_VERSION_INFO, [1:0:0])
+AC_SUBST(LIBAVAHI_COMMON_VERSION_INFO, [7:1:4])
+AC_SUBST(LIBAVAHI_CORE_VERSION_INFO, [4:3:0])
+AC_SUBST(LIBAVAHI_CLIENT_VERSION_INFO, [4:3:1])
+AC_SUBST(LIBAVAHI_GLIB_VERSION_INFO, [1:1:0])
+AC_SUBST(LIBAVAHI_QT3_VERSION_INFO, [1:1:0])
+AC_SUBST(LIBAVAHI_QT4_VERSION_INFO, [1:1:0])
 AC_SUBST(LIBAVAHI_COMPAT_LIBDNS_SD_VERSION_INFO, [1:0:0])
 AC_SUBST(LIBAVAHI_COMPAT_HOWL_VERSION_INFO, [0:0:0])
 AC_SUBST(HOWL_COMPAT_VERSION, [0.9.8])
@@ -84,6 +84,30 @@ AC_DEFINE([HAVE_PF_ROUTE],[],[Support for PF_ROUTE])
 
 AM_CONDITIONAL(HAVE_PF_ROUTE, [ test x"$HAVE_PF_ROUTE" = xyes ])
 
+#
+# Check for sys/filio.h; needed for FIONREAD on Solaris
+#
+AC_CHECK_HEADER(sys/filio.h, 
+HAVE_SYS_FILIO_H=yes
+AC_DEFINE([HAVE_SYS_FILIO_H],[],[Support for sys/filio.h])
+, [], [
+])
+
+AM_CONDITIONAL(HAVE_SYS_FILIO_H, [ test x"$HAVE_SYS_FILIO_H" = xyes ])
+
+#
+# Check for sys/sysctl.h; not present on Solaris
+#
+AC_CHECK_HEADER(sys/sysctl.h, 
+HAVE_SYS_SYSCTL=yes
+AC_DEFINE([HAVE_SYS_SYSCTL_H],[],[Support for sys/sysctl.h])
+, [], [
+#include <sys/types.h>
+#include <sys/socket.h>
+])
+
+AM_CONDITIONAL(HAVE_SYS_SYSCTL_H, [ test x"$HAVE_SYS_SYSCTL_H" = xyes ])
+
 #
 # Check for struct ip_mreqn
 #
@@ -115,13 +139,15 @@ AC_TRY_COMPILE([#include <netinet/in.h>], [
 #
 # Detecting the linux distribution for specific things like init scripts.
 #
-AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of debian, gentoo, archlinux, fedora, darwin, netbsd, freebsd or none]))
+AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of debian, gentoo, archlinux, fedora, mandriva, darwin, netbsd, freebsd, slackware or none]))
 if test "z$with_distro" = "z"; then
     AC_CHECK_FILE(/etc/SuSE-release,with_distro="suse")
     AC_CHECK_FILE(/etc/gentoo-release,with_distro="gentoo")
     AC_CHECK_FILE(/etc/arch-release,with_distro="archlinux")
     AC_CHECK_FILE(/etc/debian_version,with_distro="debian")
     AC_CHECK_FILE(/etc/redhat-release,with_distro="fedora")
+    AC_CHECK_FILE(/etc/mandriva-release,with_distro="mandriva")
+    AC_CHECK_FILE(/etc/slackware-version,with_distro="slackware")
     if test "z$with_distro" = "z"; then
         with_distro=`uname -s`
     fi
@@ -129,9 +155,9 @@ fi
 with_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]' `
 
 case $with_distro in
-    debian|gentoo|archlinux|suse|fedora|darwin|none)
+    debian|gentoo|archlinux|suse|fedora|mandriva|darwin|freebsd|slackware|none)
      ;;
-    netbsd|freebsd)
+    netbsd)
      AC_MSG_WARN([Your distribution (${with_distro}) is supported but no init script exist yet! (patches welcome)])
      ;;
     linux)
@@ -147,9 +173,11 @@ AM_CONDITIONAL(TARGET_GENTOO, test x"$with_distro" = xgentoo)
 AM_CONDITIONAL(TARGET_DEBIAN, test x"$with_distro" = xdebian)
 AM_CONDITIONAL(TARGET_ARCHLINUX, test x"$with_distro" = xarchlinux)
 AM_CONDITIONAL(TARGET_FEDORA, test x"$with_distro" = xfedora)
+AM_CONDITIONAL(TARGET_MANDRIVA, test x"$with_distro" = xmandriva)
 AM_CONDITIONAL(TARGET_DARWIN, test x"$with_distro" = xdarwin)
 AM_CONDITIONAL(TARGET_NETBSD, test x"$with_distro" = xnetbsd)
 AM_CONDITIONAL(TARGET_FREEBSD, test x"$with_distro" = xfreebsd)
+AM_CONDITIONAL(TARGET_SLACKWARE, test x"$with_distro" = xslackware)
 
 test_gcc_flag() {
     AC_LANG_CONFTEST([int main() {}])
@@ -233,6 +261,12 @@ if test "x$enable_chroot" = "xyes" ; then
    AC_DEFINE([ENABLE_CHROOT], 1, [Enable chroot() usage])
 fi
 
+AC_CHECK_LIB(dl, dlopen, [ AC_CHECK_HEADERS(dlfcn.h, HAVE_DLOPEN=yes, HAVE_DLOPEN=no) ], HAVE_DLOPEN=no)
+if test "x$HAVE_DLOPEN" = "xyes" ; then
+    AC_DEFINE([HAVE_DLOPEN],1,[Have dlopen()])
+fi
+AM_CONDITIONAL(HAVE_DLOPEN, test "x$HAVE_DLOPEN" = "xyes")
+
 # Check for pkg-config manually first, as if its not installed the
 # PKG_PROG_PKG_CONFIG macro won't be defined.
 AC_CHECK_PROG(have_pkg_config, pkg-config, yes, no)
@@ -352,10 +386,44 @@ AC_ARG_ENABLE(dbus,
 AC_ARG_WITH(dbus-sys, AS_HELP_STRING([--with-dbus-sys=<dir>], [where D-BUS system.d directory is]))
 AC_ARG_WITH(dbus-system-socket, AS_HELP_STRING([--with-dbus-system-address=<address>], [where the dbus system socket is, you probably want to put unix:path= at the start]))
 
+DBUS_VERSION="Disabled"
+DBUS_SYS_DIR="Disabled"
+DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="Disabled"
 if test "x$HAVE_DBUS" = "xyes" ; then
+    PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 0.34 ])
+
     AC_DEFINE(HAVE_DBUS, 1, [Whether we have D-BUS or not])
 
-    PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 0.34 ])
+    DBUS_VERSION=`$PKG_CONFIG dbus-1 --modversion`
+    DBUS_VERSION_MAJOR=`echo $DBUS_VERSION | awk -F. '{print $1}'`
+    DBUS_VERSION_MINOR=`echo $DBUS_VERSION | awk -F. '{print $2}'`
+    DBUS_VERSION_MICRO=`echo $DBUS_VERSION | awk -F. '{print $3}'`
+    if test "z$DBUS_VERSION_MAJOR" = "z"; then
+        DBUS_VERSION_MAJOR="0"
+    fi
+    if test "z$DBUS_VERSION_MINOR" = "z"; then
+        DBUS_VERSION_MINOR="0"
+    fi
+    if test "z$DBUS_VERSION_MICRO" = "z"; then
+        DBUS_VERSION_MICRO="0"
+    fi
+
+    if test "z$DBUS_VERSION_MAJOR" = "z0" -a "z$DBUS_VERSION_MINOR" = "z0" -a "z$DBUS_VERSION_MICRO" = "z0"; then
+        echo "Error: Couldn't determine the version of your DBUS package."
+        echo "  This is probably an error in this script, please report it"
+        echo "  along with the following information:"
+        echo "      Base DBUS version ='$DBUS_VERSION'"
+        echo "      DBUS_VERSION_MAJOR='$DBUS_VERSION_MAJOR'"
+        echo "      DBUS_VERSION_MINOR='$DBUS_VERSION_MINOR'"
+        echo "      DBUS_VERSION_MICRO='$DBUS_VERSION_MICRO'"
+        exit 1
+    else
+        echo "Your dbus version is $DBUS_VERSION_MAJOR,$DBUS_VERSION_MINOR,$DBUS_VERSION_MICRO."
+        DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_VERSION_MAJOR=$DBUS_VERSION_MAJOR"
+        DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_VERSION_MINOR=$DBUS_VERSION_MINOR"
+        DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_VERSION_MICRO=$DBUS_VERSION_MICRO"
+    fi
+
     DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_API_SUBJECT_TO_CHANGE"
     AC_SUBST(DBUS_CFLAGS)
     AC_SUBST(DBUS_LIBS)
@@ -413,24 +481,49 @@ AM_CONDITIONAL(HAVE_EXPAT, test "x$HAVE_EXPAT" = "xyes")
 #
 # GDBM
 #
+#
+# Check for dbm
+#
+AC_ARG_ENABLE(dbm,
+        AS_HELP_STRING([--enable-dbm],[Enable use of DBM]),
+        [case "${enableval}" in
+                yes) HAVE_DBM=yes ;;
+                no)  HAVE_DBM=no ;;
+                *) AC_MSG_ERROR(bad value ${enableval} for --enable-dbm) ;;
+        esac],
+        [HAVE_DBM=no]) 
+
 AC_ARG_ENABLE(gdbm,
         AS_HELP_STRING([--disable-gdbm],[Disable use of GDBM]),
         [case "${enableval}" in
                 yes) HAVE_GDBM=yes ;;
                 no)  HAVE_GDBM=no ;;
-                *) AC_MSG_ERROR(bad value ${enableval} for --enable-gdbm) ;;
+                *) AC_MSG_ERROR(bad value ${enableval} for --disable-gdbm) ;;
         esac],
         [HAVE_GDBM=yes]) 
 
 if test "x$HAVE_GDBM" = "xyes" ; then
+    if test "x$HAVE_DBM" = "xyes" ; then
+        AC_MSG_ERROR([*** --enable-gdbm and --enable-dbm both specified ***])
+    fi
     AC_CHECK_LIB(gdbm, gdbm_open, [ AC_CHECK_HEADERS(gdbm.h, have_gdbm=true, have_gdbm=false) ], have_gdbm=false)
 
     if ! $have_gdbm ; then
         AC_MSG_ERROR([*** libgdbm not found ***])
     fi
     AC_DEFINE([HAVE_GDBM],[],[Support for GDBM])
+else
+    if test "x$HAVE_DBM" = "xyes" ; then
+        AC_CHECK_HEADERS(ndbm.h, have_dbm=true, have_dbm=false)
+
+        if ! $have_dbm ; then
+            AC_MSG_ERROR([*** dbm not found ***])
+        fi
+        AC_DEFINE([HAVE_DBM],[],[Support for DBM])
+    fi
 fi
 AM_CONDITIONAL(HAVE_GDBM, test "x$HAVE_GDBM" = "xyes")
+AM_CONDITIONAL(HAVE_DBM, test "x$HAVE_DBM" = "xyes")
 
 #
 # libdaemon
@@ -482,21 +575,28 @@ if test "x$HAVE_PYTHON" = "xyes" ; then
     fi
 
 
-    AC_ARG_ENABLE(python-dbus,
-        AS_HELP_STRING([--disable-python-dbus],[Disable use of D-BUS in Python]),
-        [case "${enableval}" in
-                yes) HAVE_PYTHON_DBUS=yes ;;
-                no)  HAVE_PYTHON_DBUS=no ;;
-                *) AC_MSG_ERROR(bad value ${enableval} for --enable-python-dbus) ;;
-        esac],
-        [HAVE_PYTHON_DBUS=yes])
+    if test "x$HAVE_DBUS" = "xyes" ; then
+        AC_ARG_ENABLE(python-dbus,
+           AS_HELP_STRING([--disable-python-dbus],[Disable use of D-BUS in Python]),
+            [case "${enableval}" in
+                   yes) HAVE_PYTHON_DBUS=yes ;;
+                   no)  HAVE_PYTHON_DBUS=no ;;
+                   *) AC_MSG_ERROR(bad value ${enableval} for --enable-python-dbus) ;;
+            esac],
+            [HAVE_PYTHON_DBUS=yes])
     
-    if test "x$HAVE_PYTHON_DBUS" = "xyes"; then
-        AM_CHECK_PYMOD(dbus,,,[AC_MSG_ERROR(Could not find Python module dbus)])
-    fi
+        if test "x$HAVE_PYTHON_DBUS" = "xyes"; then
+            AM_CHECK_PYMOD(dbus,,,[AC_MSG_ERROR(Could not find Python module dbus)])
+        fi
 
-    AM_CHECK_PYMOD(socket,,,[AC_MSG_ERROR(Could not find Python module socket)])
-    AM_CHECK_PYMOD(gdbm,,,[AC_MSG_ERROR(Could not find Python module gdbm)])
+        AM_CHECK_PYMOD(socket,,,[AC_MSG_ERROR(Could not find Python module socket)])
+        if test "x$HAVE_GDBM" = "xyes"; then
+            AM_CHECK_PYMOD(gdbm,,,[AC_MSG_ERROR(Could not find Python module gdbm)])
+        fi
+        if test "x$HAVE_DBM" = "xyes"; then
+            AM_CHECK_PYMOD(dbm,,,[AC_MSG_ERROR(Could not find Python module dbm)])
+        fi
+    fi
 fi
 AM_CONDITIONAL(HAVE_PYTHON, [test "x$HAVE_PYTHON" = "xyes" ])
 AM_CONDITIONAL(HAVE_PYGTK, test "x$HAVE_PYGTK" = "xyes")
@@ -505,44 +605,48 @@ AM_CONDITIONAL(HAVE_PYTHON_DBUS, test "x$HAVE_PYTHON_DBUS" = "xyes")
 #
 # Check for mono stuff
 #
-AC_ARG_ENABLE(mono,
-        AS_HELP_STRING([--disable-mono],[Disable mono bindings]),
-        [case "${enableval}" in
-                yes) HAVE_MONO=yes ;;
-                no)  HAVE_MONO=no ;;
-                *) AC_MSG_ERROR(bad value ${enableval} for --enable-mono) ;;
-        esac],
-        [HAVE_MONO=yes])
-
-AC_ARG_ENABLE(monodoc,
-        AS_HELP_STRING([--disable-monodoc],[Disable documentation for mono bindings]),
-        [case "${enableval}" in
-                yes) HAVE_MONODOC=yes ;;
-                no)  HAVE_MONODOC=no ;;
-                *) AC_MSG_ERROR(bad value ${enableval} for --enable-monodoc) ;;
-        esac],
-        [HAVE_MONODOC=yes])
-
-if test "x$HAVE_MONO" = "xyes" ; then
+HAVE_MONO=no
+if test "x$HAVE_DBUS" = "xyes" ; then
+    AC_ARG_ENABLE(mono,
+            AS_HELP_STRING([--disable-mono],[Disable mono bindings]),
+            [case "${enableval}" in
+                    yes) HAVE_MONO=yes ;;
+                    no)  HAVE_MONO=no ;;
+                    *) AC_MSG_ERROR(bad value ${enableval} for --enable-mono) ;;
+            esac],
+            [HAVE_MONO=yes])
+
+    if test "x$HAVE_MONO" = "xyes" ; then
         AC_PATH_PROG(MCS, mcs)
         if test "x$MCS" = "x" ; then
-               AC_MSG_ERROR([Can not find "mcs" in your PATH])
+            AC_MSG_ERROR([Can not find "mcs" - The Mono C-Sharp Compiler) in your PATH])
         fi
 
         AC_PATH_PROG(GACUTIL, gacutil)
         if test "x$GACUTIL" = "x" ; then
-                AC_MSG_ERROR([Can not find "gacutil" in your PATH])
+            AC_MSG_ERROR([Can not find "gacutil" in your PATH])
         fi
 
         AC_SUBST(MCS)
         AC_SUBST(GACUTIL)
+    fi
 fi
 AM_CONDITIONAL(HAVE_MONO, test "x$HAVE_MONO" = "xyes")
 
 #
 # Check for monodoc stuff
 #
-if test "x$HAVE_MONODOC" = "xyes" ; then
+HAVE_MONODOC=no
+AC_ARG_ENABLE(monodoc,
+        AS_HELP_STRING([--disable-monodoc],[Disable documentation for mono bindings]),
+        [case "${enableval}" in
+                yes) HAVE_MONODOC=yes ;;
+                no)  HAVE_MONODOC=no ;;
+                *) AC_MSG_ERROR(bad value ${enableval} for --enable-monodoc) ;;
+        esac],
+        [HAVE_MONODOC=yes])
+
+if test "x$HAVE_MONO" = "xyes" && test "x$HAVE_MONODOC" = "xyes" ; then
         PKG_CHECK_MODULES(MONODOC, [monodoc >= 1.1.8])
         MONODOC_DIR=`$PKG_CONFIG --variable=sourcesdir monodoc`        
 
@@ -605,6 +709,16 @@ DX_PDF_FEATURE(OFF)
 DX_PS_FEATURE(OFF)
 DX_INIT_DOXYGEN(avahi, doxygen.cfg, doxygen)
 
+AC_ARG_ENABLE(core-docs,
+        AS_HELP_STRING([--enable-core-docs],[Enable building of documentation for avahi-core]),
+[case "${enableval}" in
+  yes) ENABLE_CORE_DOCS=yes ;;
+  no)  ENABLE_CORE_DOCS=no ;;
+  *) AC_MSG_ERROR([bad value ${enableval} for --enable-core-docs]) ;;
+esac],[ENABLE_CORE_DOCS=no])
+
+AM_CONDITIONAL([ENABLE_CORE_DOCS], [test "x$ENABLE_CORE_DOCS" = xyes])
+
 #
 # Build and Install man pages
 #
@@ -704,7 +818,10 @@ initscript/gentoo/Makefile
 initscript/archlinux/Makefile
 initscript/suse/Makefile
 initscript/fedora/Makefile
+initscript/mandriva/Makefile
 initscript/darwin/Makefile
+initscript/freebsd/Makefile
+initscript/slackware/Makefile
 avahi-dnsconfd/Makefile
 avahi-utils/Makefile
 avahi-python/Makefile
@@ -730,7 +847,7 @@ echo "
     localstatedir:          ${localstatedir}
     avahi socket:           ${avahi_socket}
     dbus-1 system.d dir:    ${DBUS_SYS_DIR}
-    dbus-1 version:         `pkg-config dbus-1 --modversion`
+    dbus-1 version:         ${DBUS_VERSION}
     dbus-1 system socket    ${DBUS_SYSTEM_BUS_DEFAULT_ADDRESS}
     compiler:               ${CC}
     cflags:                 ${CFLAGS}
@@ -739,6 +856,7 @@ echo "
     Enable D-BUS:           ${HAVE_DBUS}
     Enable Expat:           ${HAVE_EXPAT}
     Enable GDBM:            ${HAVE_GDBM}
+    Enable DBM:             ${HAVE_DBM}
     Enable libdaemon:       ${HAVE_LIBDAEMON}
     Enable Python:          ${HAVE_PYTHON}
     Enable pygtk:           ${HAVE_PYGTK}
@@ -746,39 +864,40 @@ echo "
     Enable QT3:             ${HAVE_QT3}
     Enable QT4:             ${HAVE_QT4}
     Enable Mono:            ${HAVE_MONO}
+    Enable Monodoc:         ${HAVE_MONODOC}
     Distribution/OS:        ${with_distro}
     User for Avahi:         ${AVAHI_USER}
     Group for Avahi:        ${AVAHI_GROUP}
     Enable chroot():        ${enable_chroot}
 "
 
-BUILD_DAEMON="no (!)"
+BUILD_DAEMON="no   (You need libdaemon and expat!)"
 
 if test "x$HAVE_EXPAT" = "xyes" -a "x$HAVE_LIBDAEMON" = "xyes" ; then
     BUILD_DAEMON=yes
 fi
 
-BUILD_PYTHON="no"
+BUILD_PYTHON="no   (You need python, pygtk and python-dbus!)"
 
 if test "x$BUILD_DAEMON" = "xyes" -a "x$HAVE_DBUS" = "xyes" -a "x$HAVE_PYTHON" = "xyes" -a "x$HAVE_PYTHON_DBUS" = "xyes" -a "x$HAVE_PYGTK" = "xyes" ; then
     BUILD_PYTHON=yes
 fi
 
-BUILD_CLIENT="no (!)"
+BUILD_CLIENT="no   (You need avahi-daemon and dbus!)"
 
 if test "x$BUILD_DAEMON" = "xyes" -a "x$HAVE_DBUS" = "xyes" ; then
     BUILD_CLIENT=yes
 fi
 
 if test "x$ENABLE_COMPAT_LIBDNS_SD" = "xyes" -a "x$BUILD_CLIENT" != "xyes" ; then
-   AC_MSG_ERROR([building avahi-compat-libdns_sd without building libavahi-client doesn't work])
+   ENABLE_COMPAT_LIBDNS_SD="no   (You need libavahi-client!)"
 fi
 if test "x$ENABLE_COMPAT_HOWL" = "xyes" -a "x$BUILD_CLIENT" != "xyes" ; then
-   AC_MSG_ERROR([building avahi-compat-howl without building libavahi-client doesn't work])
+   ENABLE_COMPAT_HOWL="no   (You need libavahi-client!)"
 fi
 
 
-echo "
+echo "\
     Building libavahi-core              yes
     Building avahi-daemon:              ${BUILD_DAEMON}
     Building avahi-dnsconfd:            ${BUILD_DAEMON}
@@ -793,4 +912,5 @@ echo "
     Building avahi-compat-libdns_sd:    ${ENABLE_COMPAT_LIBDNS_SD}
     Building avahi-compat-howl:         ${ENABLE_COMPAT_HOWL}
     Building tests:                     ${ENABLE_TESTS}
+    Building avahi-core documentation:  ${ENABLE_CORE_DOCS}
 "