]> git.meshlink.io Git - catta/blobdiff - configure.ac
* Bump configure.ac version to 0.3 for testing.
[catta] / configure.ac
index 2eca925570c7afa4ed27e608b99b1dbec4a682dc..d56f78b6eb76ad573c1959475612c04c3a49dae6 100644 (file)
@@ -21,7 +21,7 @@
 # USA.
 
 AC_PREREQ(2.57)
-AC_INIT([avahi],[0.2],[avahi (at) lists (dot) freedesktop (dot) org])
+AC_INIT([avahi],[0.3],[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])
@@ -59,14 +59,14 @@ fi
 with_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]' `
 
 if test "z$with_distro" = "z"; then
-    AC_MSG_ERROR([Linux distribution autodetection failed, you must specify the distribution to target using --with-distro=DISTRO])
+    AC_MSG_ERROR([Linux distribution autodetection failed, you must specify the distribution to target using --with-distro=DISTRO, set DISTRO to none if your distribution is not supported.])
     exit 1
 else
 case $with_distro in
-    debian|gentoo|archlinux)
+    debian|gentoo|archlinux|none)
      ;;
     *)
-     AC_MSG_ERROR([Your distribution (${with_distro}) is not yet supported, init scripts and dbus configuration will not be installed! (patches welcome)])
+     AC_MSG_ERROR([Your distribution (${with_distro}) is not yet supported, init scripts and dbus configuration will not be installed! (patches welcome), you can specify --with-distro=none to skip this check])
      ;;
 esac
 fi
@@ -133,13 +133,21 @@ AC_FUNC_MEMCMP
 AC_FUNC_SELECT_ARGTYPES
 AC_FUNC_MALLOC
 AC_FUNC_REALLOC
-AC_CHECK_FUNCS([gethostname memchr memmove memset mkdir select socket strchr strcspn strdup strerror strrchr strspn strstr uname setresuid setreuid strcasecmp gettimeofday putenv])
+AC_CHECK_FUNCS([gethostname memchr memmove memset mkdir select socket strchr strcspn strdup strerror strrchr strspn strstr uname setresuid setreuid strcasecmp gettimeofday putenv strncasecmp])
 
 AC_FUNC_CHOWN
 AC_FUNC_STAT
 AC_TYPE_MODE_T
 AC_TYPE_PID_T
 
+# 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)
+
+if test x"$have_pkg_config" == xno; then
+    AC_MSG_ERROR(pkg-config is required to install this program)
+fi
+
 PKG_PROG_PKG_CONFIG
 
 #
@@ -161,6 +169,56 @@ if test "x$HAVE_GLIB" = "xyes" ; then
 fi
 AM_CONDITIONAL(HAVE_GLIB, test "x$HAVE_GLIB" = "xyes")
 
+#
+# Check for Qt 3
+#
+AC_ARG_ENABLE(qt3,
+        AS_HELP_STRING([--disable-qt3],[Disable building of Qt3 mainloop integration]),
+        [case "${enableval}" in
+                yes) HAVE_QT3=yes ;;
+                no)  HAVE_QT3=no ;;
+                *) AC_MSG_ERROR(bad value ${enableval} for --enable-qt3) ;;
+        esac],
+        [HAVE_QT3=yes])
+
+if test "x$HAVE_QT3" = "xyes" ; then
+        PKG_CHECK_MODULES( QT3, [ qt-mt >= 3.0.0 ])
+        AC_SUBST(QT3_CFLAGS)
+        AC_SUBST(QT3_LIBS)
+           QT3_PREFIX="`$PKG_CONFIG --variable=prefix qt-mt`/bin"
+        MOC_QT3="no"
+           AC_CHECK_FILE( "$QT3_PREFIX/moc-qt3", [ MOC_QT3=$QT3_PREFIX/moc-qt3 ], [
+                   AC_CHECK_FILE("$QT3_PREFIX/moc", [ MOC_QT3=$QT3_PREFIX/moc ], [ 
+                AC_MSG_ERROR([Couldn't find QT3 moc])])])
+        AC_SUBST(MOC_QT3)
+fi
+AM_CONDITIONAL(HAVE_QT3, test "x$HAVE_QT3" = "xyes")
+
+#
+# Check for Qt 4
+#
+AC_ARG_ENABLE(qt4,
+        AS_HELP_STRING([--disable-qt4],[Disable building of Qt4Core mainloop integration]),
+        [case "${enableval}" in
+                yes) HAVE_QT4=yes ;;
+                no)  HAVE_QT4=no ;;
+                *) AC_MSG_ERROR(bad value ${enableval} for --enable-qt4) ;;
+        esac],
+        [HAVE_QT4=yes])
+
+if test "x$HAVE_QT4" = "xyes" ; then
+        PKG_CHECK_MODULES( QT4, [ QtCore >= 4.0.0 ])
+        AC_SUBST(QT4_CFLAGS)
+        AC_SUBST(QT4_LIBS)
+           QT4_PREFIX="`$PKG_CONFIG --variable=prefix QtCore`/bin"
+        MOC_QT4="no"
+           AC_CHECK_FILE( "$QT4_PREFIX/moc-qt4", [ MOC_QT4=$QT4_PREFIX/moc-qt4 ], [
+               AC_CHECK_FILE("$QT4_PREFIX/moc", [ MOC_QT4=$QT4_PREFIX/moc ], [ 
+               AC_MSG_ERROR([Couldn't find QT4 moc])])])
+        AC_SUBST(MOC_QT4)
+fi
+AM_CONDITIONAL(HAVE_QT4, test "x$HAVE_QT4" = "xyes")
+
 #
 # Check for GTK+
 #
@@ -184,8 +242,8 @@ if test "x$HAVE_GTK" = "xyes" ; then
         AC_SUBST(GLADE20_CFLAGS)
         AC_SUBST(GLADE20_LIBS)
 
-           interfacesdir="${datadir}/${PACKAGE}/interfaces/"
-           AC_SUBST(interfacesdir)
+        interfacesdir="${datadir}/${PACKAGE}/interfaces/"
+        AC_SUBST(interfacesdir)
 fi
 AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
 
@@ -202,21 +260,31 @@ AC_ARG_ENABLE(dbus,
         [HAVE_DBUS=yes]) 
 
 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]))
 
 if test "x$HAVE_DBUS" = "xyes" ; then
-       AC_DEFINE(HAVE_DBUS, 1, [Whether we have D-BUS or not])
+    AC_DEFINE(HAVE_DBUS, 1, [Whether we have D-BUS or not])
 
     PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 0.30 ])
     DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_API_SUBJECT_TO_CHANGE"
     AC_SUBST(DBUS_CFLAGS)
-       AC_SUBST(DBUS_LIBS)
-
-       if ! test -z "$with_dbus_sys" ; then
-          DBUS_SYS_DIR="$with_dbus_sys"
-       else
-              DBUS_SYS_DIR="${sysconfdir}/dbus-1/system.d"
-       fi
-       AC_SUBST(DBUS_SYS_DIR)
+    AC_SUBST(DBUS_LIBS)
+
+    if ! test -z "$with_dbus_sys" ; then
+        DBUS_SYS_DIR="$with_dbus_sys"
+    else
+        DBUS_SYS_DIR="${sysconfdir}/dbus-1/system.d"
+    fi
+    AC_SUBST(DBUS_SYS_DIR)
+
+    if ! test -z "$with_dbus_system_address" ; then
+        DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="$with_dbus_system_address"
+    else
+        # Note this default path is hardcoded in D-BUS and should
+        # not use $localstatedir
+        DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="unix:path=/var/run/dbus/system_bus_socket"
+    fi
+    AC_SUBST(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS)
     
 fi
 AM_CONDITIONAL(HAVE_DBUS, test "x$HAVE_DBUS" = "xyes")
@@ -265,19 +333,53 @@ AM_CONDITIONAL(HAVE_LIBDAEMON, test "x$HAVE_LIBDAEMON" = "xyes")
 # Python stuff
 #
 AC_ARG_ENABLE(python,
-       AS_HELP_STRING([--disable-python], [Disable scripts that depends on python]),
-       [case "${enableval}" in
-             yes) HAVE_PYTHON=yes ;;
-             no)  HAVE_PYTHON=no ;;
-             *) AC_MSG_ERROR([bad value ${enableval} for --enable-python]) ;;
-       esac],[HAVE_PYTHON=yes])
+    AS_HELP_STRING([--disable-python], [Disable scripts that depends on python]),
+    [case "${enableval}" in
+          yes) HAVE_PYTHON=yes ;;
+          no)  HAVE_PYTHON=no ;;
+          *) AC_MSG_ERROR([bad value ${enableval} for --enable-python]) ;;
+    esac],[HAVE_PYTHON=yes])
+
+HAVE_PYTHON_DBUS=no
+HAVE_PYGTK=no
 
 if test "x$HAVE_PYTHON" = "xyes" ; then
     AM_PATH_PYTHON([2.4])
-    AM_CHECK_PYMOD(gtk,,,[AC_MSG_ERROR(Could not find Python module pygtk)])
-    AM_CHECK_PYMOD(dbus,,,[AC_MSG_ERROR(Could not find Python module dbus)])
+
+    AC_ARG_ENABLE(pygtk,
+        AS_HELP_STRING([--disable-pygtk],[Disable use of GTK in Python]),
+        [case "${enableval}" in
+                yes) HAVE_PYGTK=yes ;;
+                no)  HAVE_PYGTK=no ;;
+                *) AC_MSG_ERROR(bad value ${enableval} for --enable-pygtk) ;;
+        esac],
+        [HAVE_PYGTK=yes])
+    
+    if test "x$HAVE_PYGTK" = "xyes" ; then
+        AM_CHECK_PYMOD(gtk,,,[AC_MSG_ERROR(Could not find Python module gtk)])
+    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_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(dbm,,,[AC_MSG_ERROR(Could not find Python module dbm)])
+    AM_CHECK_PYMOD(anydbm,,,[AC_MSG_ERROR(Could not find Python module anydbm)])
 fi
 AM_CONDITIONAL(HAVE_PYTHON, [test "x$HAVE_PYTHON" = "xyes" ])
+AM_CONDITIONAL(HAVE_PYGTK, test "x$HAVE_PYGTK" = "xyes")
+AM_CONDITIONAL(HAVE_PYTHON_DBUS, test "x$HAVE_PYTHON_DBUS" = "xyes")
 
 #
 # Defining Avahi User and Group.
@@ -354,6 +456,7 @@ Makefile
 avahi-common/Makefile 
 avahi-core/Makefile 
 avahi-glib/Makefile 
+avahi-qt/Makefile
 avahi-daemon/Makefile 
 avahi-daemon/avahi-dbus.conf
 avahi-discover-standalone/Makefile 
@@ -369,6 +472,7 @@ examples/Makefile
 common/Makefile
 man/Makefile
 tests/Makefile
+service-type-database/Makefile
 ])
 AC_OUTPUT
 
@@ -380,6 +484,7 @@ echo "
     sysconfdir:             ${sysconfdir}
     dbus-1 system.d dir:    ${DBUS_SYS_DIR}
     dbus-1 version:         `pkg-config dbus-1 --modversion`
+    dbus-1 system socket    ${DBUS_SYSTEM_BUS_DEFAULT_ADDRESS}
     compiler:               ${CC}
     cflags:                 ${CFLAGS}
     Enable GLIB:            ${HAVE_GLIB}
@@ -387,7 +492,11 @@ echo "
     Enable D-BUS:           ${HAVE_DBUS}
     Enable Expat:           ${HAVE_EXPAT}
     Enable libdaemon:       ${HAVE_LIBDAEMON}
-    Have Python:            ${HAVE_PYTHON}
+    Enable Python:          ${HAVE_PYTHON}
+    Enable pygtk:           ${HAVE_PYGTK}
+    Enable python-dbus:     ${HAVE_PYTHON_DBUS}
+    Enable QT3:             ${HAVE_QT3}
+    Enable QT4:             ${HAVE_QT4}
     Linux Distro:           ${with_distro}
     User for Avahi:         ${AVAHI_USER}
     Group for Avahi:        ${AVAHI_GROUP}
@@ -401,7 +510,7 @@ fi
 
 BUILD_UTILS="no (!)"
 
-if test "x$BUILD_DAEMON" = "xyes" -a "x$HAVE_DBUS" = "xyes" -a "x$HAVE_PYTHON" = "xyes" ; then
+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_UTILS=yes
 fi
 
@@ -411,7 +520,6 @@ if test "x$BUILD_DAEMON" = "xyes" -a "x$HAVE_DBUS" = "xyes" ; then
     BUILD_CLIENT=yes
 fi
 
-    
 echo "
     Building libavahi-core              yes
     Building avahi-daemon:              ${BUILD_DAEMON}
@@ -420,4 +528,6 @@ echo "
     Building libavahi-glib:             ${HAVE_GLIB}
     Building libavahi-client:           ${BUILD_CLIENT}
     Building avahi-discover-standalone: ${HAVE_GTK}
+    Building libavahi-qt3:              ${HAVE_QT3}
+    Building libavahi-qt4:              ${HAVE_QT4}
 "