X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=configure.ac;h=7fafc98e33c808cba99ac4d5afd9e77e17188cac;hb=4da9969a61b52d388b48cb567be75ac7b1dcfe5e;hp=c24aa43dc748a534fe60ce5f0c1b80b9a94522bb;hpb=6fe4d96bd69e56131a48e1431bdb06f5b22bace0;p=catta diff --git a/configure.ac b/configure.ac index c24aa43..7fafc98 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,6 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -# $Id$ - # This file is part of avahi. # # avahi is free software; you can redistribute it and/or modify it @@ -20,45 +18,52 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA. -AC_PREREQ(2.57) -AC_INIT([avahi],[0.6.21],[avahi (at) lists (dot) freedesktop (dot) org]) +AC_PREREQ(2.63) +AC_INIT([avahi],[0.6.27],[avahi (at) lists (dot) freedesktop (dot) org]) AC_CONFIG_SRCDIR([avahi-core/server.c]) +AC_CONFIG_MACRO_DIR([common]) AC_CONFIG_HEADERS([config.h]) -AM_INIT_AUTOMAKE([foreign 1.9 -Wall]) +AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax]) AC_SUBST(PACKAGE_URL, [http://avahi.org/]) -AC_SUBST(LIBAVAHI_COMMON_VERSION_INFO, [7:5:4]) -AC_SUBST(LIBAVAHI_CORE_VERSION_INFO, [5:3:0]) -AC_SUBST(LIBAVAHI_CLIENT_VERSION_INFO, [5:3:2]) -AC_SUBST(LIBAVAHI_GLIB_VERSION_INFO, [1:1:0]) -AC_SUBST(LIBAVAHI_GOBJECT_VERSION_INFO, [0:0:0]) -AC_SUBST(LIBAVAHI_QT3_VERSION_INFO, [1:1:0]) -AC_SUBST(LIBAVAHI_QT4_VERSION_INFO, [1:1:0]) -AC_SUBST(LIBAVAHI_UI_VERSION_INFO, [0:2:0]) +AC_SUBST(LIBAVAHI_COMMON_VERSION_INFO, [8:2:5]) +AC_SUBST(LIBAVAHI_CORE_VERSION_INFO, [7:0:0]) +AC_SUBST(LIBAVAHI_CLIENT_VERSION_INFO, [5:7:2]) +AC_SUBST(LIBAVAHI_GLIB_VERSION_INFO, [1:2:0]) +AC_SUBST(LIBAVAHI_GOBJECT_VERSION_INFO, [0:2:0]) +AC_SUBST(LIBAVAHI_QT3_VERSION_INFO, [1:2:0]) +AC_SUBST(LIBAVAHI_QT4_VERSION_INFO, [1:2:0]) +AC_SUBST(LIBAVAHI_UI_VERSION_INFO, [1:2:1]) # Do not touch these, since they we took this version-info from upstream HOWL/Bonjour 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]) -if type -p stow > /dev/null && test -d /usr/local/stow ; then - AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***]) - ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}" -fi +AC_CANONICAL_HOST + +AM_SILENT_RULES([yes]) + +AC_CHECK_PROG([STOW], [stow], [yes], [no]) + +AS_IF([test "x$STOW" = "xyes" && test -d /usr/local/stow], [ + AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***]) + ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}" +]) # Checks for programs. AC_PROG_CC +AC_PROG_CC_C99 AC_PROG_CXX -AC_GNU_SOURCE +AM_PROG_CC_C_O +AC_USE_SYSTEM_EXTENSIONS AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_GCC_TRADITIONAL -AM_PROG_CC_C_O - # -fstack-protector AC_ARG_ENABLE([stack-protector], [AS_HELP_STRING([--disable-stack-protector], @@ -169,6 +174,7 @@ AC_DEFINE([HAVE_PF_ROUTE],[],[Support for PF_ROUTE]) , [], [ #include #include +#include ]) AM_CONDITIONAL(HAVE_PF_ROUTE, [ test x"$HAVE_PF_ROUTE" = xyes ]) @@ -244,15 +250,20 @@ AC_TRY_COMPILE([#include ], [ # # 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, mandriva, darwin, netbsd, freebsd, slackware or none])) +AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of lfs, 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 "$cross_compiling" = yes; then + AC_MSG_WARN([Target distribution cannot be reliably detected when cross-compiling. You should specify it with --with-distro (see $0 --help for recognized distros)]) + else + AC_CHECK_FILE(/etc/lfs-release,with_distro="lfs") + 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") + fi if test "z$with_distro" = "z"; then with_distro=`uname -s` fi @@ -260,7 +271,7 @@ fi with_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]' ` case $with_distro in - debian|gentoo|archlinux|suse|fedora|mandriva|darwin|freebsd|slackware|none) + lfs|debian|gentoo|archlinux|suse|fedora|mandriva|darwin|freebsd|slackware|none) ;; netbsd) AC_MSG_WARN([Your distribution (${with_distro}) is supported but no init script exist yet! (patches welcome)]) @@ -273,6 +284,7 @@ case $with_distro in ;; esac +AM_CONDITIONAL(TARGET_LFS, test x"$with_distro" = xlfs) AM_CONDITIONAL(TARGET_SUSE, test x"$with_distro" = xsuse) AM_CONDITIONAL(TARGET_GENTOO, test x"$with_distro" = xgentoo) AM_CONDITIONAL(TARGET_DEBIAN, test x"$with_distro" = xdebian) @@ -295,7 +307,7 @@ test_gcc_flag() { # If using GCC specify some additional parameters if test "x$GCC" = "xyes" ; then - DESIRED_FLAGS="-Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Winline -fPIC" + DESIRED_FLAGS="-Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -fdiagnostics-show-option -Wno-cast-qual -fno-strict-aliasing" if test "x$HAVE_NETLINK" = "xyes" ; then # Test whether rtnetlink.h can be included when compiled with -std=c99 @@ -344,13 +356,15 @@ AC_HEADER_SYS_WAIT # Solaris stuff AC_SEARCH_LIBS([inet_ntop],[nsl]) AC_SEARCH_LIBS([recv],[socket]) - AC_CHECK_DECL([CMSG_SPACE],,CFLAGS="$CFLAGS -D_XOPEN_SOURCE=500 -D__EXTENSIONS__") + AC_CHECK_DECL([CMSG_SPACE],,CFLAGS="$CFLAGS -D_XOPEN_SOURCE=500 -D__EXTENSIONS__", [[#include ]]) # Checks for library functions. AC_FUNC_MEMCMP AC_FUNC_SELECT_ARGTYPES -AC_FUNC_MALLOC -AC_FUNC_REALLOC +# avahi_malloc actually returns NULL for avahi_malloc(0), so it does not matter +# whether libc's malloc does too. (Same for realloc.) +#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 setresgid setregid strcasecmp gettimeofday putenv strncasecmp strlcpy gethostbyname seteuid setegid setproctitle getprogname]) AC_FUNC_CHOWN @@ -360,6 +374,9 @@ AC_TYPE_PID_T AC_CHECK_DECLS(environ) +# check if gcc's -fvisibility is supported +CHECK_VISIBILITY_HIDDEN + enable_chroot=yes AC_CHECK_HEADERS([sys/capability.h],,enable_chroot=no) AC_CHECK_HEADERS([sys/prctl.h],,enable_chroot=no) @@ -378,7 +395,6 @@ fi AM_CONDITIONAL(HAVE_DLOPEN, test "x$HAVE_DLOPEN" = "xyes") have_inotify=no -AC_CHECK_HEADERS([linux/inotify.h], [have_inotify=yes]) AC_CHECK_HEADERS([sys/inotify.h], [have_inotify=yes]) AM_CONDITIONAL(HAVE_INOTIFY, test "x$have_inotify" = "xyes") @@ -396,6 +412,15 @@ if test "x$have_kqueue" = "xyes" ; then AC_DEFINE([HAVE_KQUEUE], 1, [Enable BSD kqueue() usage]) fi +IT_PROG_INTLTOOL([0.35.0]) +GETTEXT_PACKAGE=avahi +AC_SUBST([GETTEXT_PACKAGE]) +AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package]) +AM_GLIB_GNU_GETTEXT + +avahilocaledir='${prefix}/${DATADIRNAME}/locale' +AC_SUBST(avahilocaledir) + # 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) @@ -444,6 +469,11 @@ if test "x$HAVE_GOBJECT" = "xyes" ; then fi AM_CONDITIONAL(HAVE_GOBJECT, test "x$HAVE_GOBJECT" = "xyes") +# +# Introspection support. +# +GOBJECT_INTROSPECTION_CHECK([0.9.5]) + # # Check for Qt 3 # @@ -461,10 +491,10 @@ if test "x$HAVE_QT3" = "xyes" ; then 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_PATH_PROGS(MOC_QT3, [moc-qt3 moc], no, [$QT3_PREFIX]) + if test "$MOC_QT3" = no; then + AC_MSG_ERROR([Could not find QT3 moc]) + fi AC_SUBST(MOC_QT3) fi AM_CONDITIONAL(HAVE_QT3, test "x$HAVE_QT3" = "xyes") @@ -486,19 +516,19 @@ if test "x$HAVE_QT4" = "xyes" ; then 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_PATH_PROGS(MOC_QT4, [moc-qt4 moc], no, [$QT4_PREFIX]) + if test "$MOC_QT4" = no; then + AC_MSG_ERROR([Could not find QT4 moc]) + fi AC_SUBST(MOC_QT4) fi AM_CONDITIONAL(HAVE_QT4, test "x$HAVE_QT4" = "xyes") # -# Check for GTK+ +# Check for GTK+ 2.0 # AC_ARG_ENABLE(gtk, - AS_HELP_STRING([--disable-gtk],[Disable use of GTK+]), + AS_HELP_STRING([--disable-gtk],[Disable use of GTK+ 2]), [case "${enableval}" in yes) HAVE_GTK=yes ;; no) HAVE_GTK=no ;; @@ -508,17 +538,34 @@ AC_ARG_ENABLE(gtk, if test "x$HAVE_GTK" = "xyes" ; then # Check for GTK 2.0 - PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.0 ]) + PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.14.0 ]) AC_SUBST(GTK20_CFLAGS) AC_SUBST(GTK20_LIBS) - - # Check for GLADE 2.0 - PKG_CHECK_MODULES(GLADE20, [ libglade-2.0 >= 2.4.0 ]) - AC_SUBST(GLADE20_CFLAGS) - AC_SUBST(GLADE20_LIBS) fi AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes") +# +# Check for GTK+ 3.0 +# +AC_ARG_ENABLE(gtk3, + AS_HELP_STRING([--disable-gtk3],[Disable use of GTK+ 3]), + [case "${enableval}" in + yes) HAVE_GTK3=yes ;; + no) HAVE_GTK3=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-gtk3) ;; + esac], + [HAVE_GTK3=yes]) + +if test "x$HAVE_GTK3" = "xyes" ; then + # Check for GTK 3.0 + PKG_CHECK_MODULES(GTK30, [ gtk+-3.0 ]) + AC_SUBST(GTK30_CFLAGS) + AC_SUBST(GTK30_LIBS) +fi +AM_CONDITIONAL(HAVE_GTK3, test "x$HAVE_GTK3" = "xyes") + +AM_CONDITIONAL(HAVE_GTK2OR3, test "x$HAVE_GTK3" = "xyes" -o "x$HAVE_GTK" = "xyes" ) + # # D-Bus # @@ -646,7 +693,7 @@ fi if $use_expat; then with_xml=expat - XML_CLAGS=-DUSE_EXPAT_H + XML_CFLAGS=-DUSE_EXPAT_H XML_LIBS=-lexpat fi if $use_bsdxml; then @@ -723,7 +770,7 @@ AC_ARG_ENABLE(libdaemon, [HAVE_LIBDAEMON=yes]) if test "x$HAVE_LIBDAEMON" = "xyes" ; then - PKG_CHECK_MODULES(LIBDAEMON, [ libdaemon >= 0.11 ]) + PKG_CHECK_MODULES(LIBDAEMON, [ libdaemon >= 0.14 ]) AC_SUBST(LIBDAEMON_CFLAGS) AC_SUBST(LIBDAEMON_LIBS) fi @@ -1026,6 +1073,15 @@ AC_ARG_ENABLE(compat-howl, AM_CONDITIONAL([ENABLE_COMPAT_HOWL], [test "x$ENABLE_COMPAT_HOWL" = "xyes"]) +# +# systemd +# +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], + [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir"]) # ========================================================================== AC_CONFIG_FILES([ @@ -1045,6 +1101,7 @@ initscript/gentoo/Makefile initscript/archlinux/Makefile initscript/suse/Makefile initscript/fedora/Makefile +initscript/lfs/Makefile initscript/mandriva/Makefile initscript/darwin/Makefile initscript/freebsd/Makefile @@ -1066,6 +1123,7 @@ avahi-compat-howl/Makefile avahi-compat-howl/samples/Makefile avahi-autoipd/Makefile avahi-ui/Makefile +po/Makefile.in ]) AC_OUTPUT @@ -1084,7 +1142,9 @@ echo " CFLAGS: ${CFLAGS} Enable GLIB: ${HAVE_GLIB} Enable GLIB GObject: ${HAVE_GOBJECT} - Enable GTK: ${HAVE_GTK} + Enable GObject Introspection: ${found_introspection} + Enable GTK 2.0: ${HAVE_GTK} + Enable GTK 3.0: ${HAVE_GTK3} Enable D-Bus: ${HAVE_DBUS} With XML: ${with_xml} Enable GDBM: ${HAVE_GDBM} @@ -1106,6 +1166,7 @@ echo " Enable chroot(): ${enable_chroot} Enable Linux inotify: ${have_inotify} Enable stack-smashing protection: ${enable_ssp} + systemd unit directory: ${with_systemdsystemunitdir} " BUILD_DAEMON="no (You need libdaemon and expat/bsdxml!)" @@ -1136,11 +1197,21 @@ if test "x$ENABLE_AUTOIPD" = "xyes" -a "x$HAVE_LIBDAEMON" != "xyes" ; then ENABLE_AUTOIPD="no (You need libdaemon!)" fi +HAVE_GTK2OR3=no +if test "x$HAVE_GTK" = "xyes" -o "x$HAVE_GTK3" = "xyes" ; then + HAVE_GTK2OR3=yes +fi + BUILD_UI="no" -if test "x$HAVE_GTK" = "xyes" -a "x$BUILD_CLIENT" = "xyes" ; then +if test "x$HAVE_GTK2OR3" = "xyes" -a "x$BUILD_CLIENT" = "xyes" ; then BUILD_UI="yes" fi +BUILD_GOBJECT="no" +if test "x$BUILD_CLIENT" = "xyes" -a "x$HAVE_GOBJECT" = "xyes" ; then + BUILD_GOBJECT="yes" +fi + echo "\ Building libavahi-core yes Building avahi-daemon: ${BUILD_DAEMON} @@ -1149,8 +1220,8 @@ echo "\ Building avahi-utils: ${BUILD_CLIENT} Building avahi-python: ${BUILD_PYTHON} Building libavahi-glib: ${HAVE_GLIB} - Building libavahi-gobject: ${HAVE_GOBJECT} - Building avahi-discover-standalone: ${HAVE_GTK} + Building libavahi-gobject: ${BUILD_GOBJECT} + Building avahi-discover-standalone: ${HAVE_GTK2OR3} Building libavahi-qt3: ${HAVE_QT3} Building libavahi-qt4: ${HAVE_QT4} Building avahi-sharp: ${HAVE_MONO}