X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;ds=inline;f=configure.ac;h=6dd58d09731af661805e6b98dc29b054199eba31;hb=f14c2c41f84d65307411a6dab1aabac80e71d705;hp=d9d4f421361b1b4a135b8c7e6494d7290c30814c;hpb=c3ebaaeee7eae6f54b4bb9a349f248e6aaa98fba;p=catta diff --git a/configure.ac b/configure.ac index d9d4f42..6dd58d0 100644 --- a/configure.ac +++ b/configure.ac @@ -21,20 +21,21 @@ # USA. AC_PREREQ(2.57) -AC_INIT([avahi],[0.6.18],[avahi (at) lists (dot) freedesktop (dot) org]) +AC_INIT([avahi],[0.6.22],[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://avahi.org/]) -AC_SUBST(LIBAVAHI_COMMON_VERSION_INFO, [7:4:4]) -AC_SUBST(LIBAVAHI_CORE_VERSION_INFO, [5:1:0]) -AC_SUBST(LIBAVAHI_CLIENT_VERSION_INFO, [5:2:2]) +AC_SUBST(LIBAVAHI_COMMON_VERSION_INFO, [8:0:5]) +AC_SUBST(LIBAVAHI_CORE_VERSION_INFO, [5:4:0]) +AC_SUBST(LIBAVAHI_CLIENT_VERSION_INFO, [5:4: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:0:0]) +AC_SUBST(LIBAVAHI_UI_VERSION_INFO, [1:0: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]) @@ -56,6 +57,81 @@ 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], + [Disable GCC's/libc's stack-smashing protection])], + [case "${enableval}" in + yes) enable_ssp=yes ;; + no) enable_ssp=no ;; + *) AC_MSG_ERROR([invalid value ${enableval} for --disable-stack-protector]) ;; + esac], + [enable_ssp=yes]) + +if test x"$enable_ssp" = x"yes" && test x"$GCC" != x"yes"; then + AC_MSG_NOTICE([Disabling stack-smashing protection because compiler is not GCC]) + enable_ssp=no +fi + +if test x"$enable_ssp" = x"yes"; then + # Check for broken ssp in libc: http://www.avahi.org/ticket/105 + # libc's brokenness will get in the way regardless of whether -lssp is + # provided, but provide it anyway (otherwise non-libc ssp would wrongly + # break here) + + # Get -lssp if it exists + GCC_STACK_PROTECT_LIB + + AC_MSG_CHECKING([whether stack-smashing protection is available]) + ssp_old_cflags="$CFLAGS" + ssp_old_ldflags="$LDFLAGS" + CFLAGS="$CFLAGS -Werror -fstack-protector-all -fPIC" + LDFLAGS="$LDFLAGS -Wl,-z,defs" + cat confdefs.h > conftest.c + cat >>conftest.c <<_ACEOF +void test_broken_ssp(c) + const char *c; +{ + char arr[[123]], *p; /* beware of possible double-braces if copying this */ + for (p = arr; *c; ++p) { + *p = *c; + ++c; + } +} +_ACEOF + rm -f conftest.o + + if $CC -c $CFLAGS $CPPFLAGS -o conftest.o conftest.c >/dev/null 2>&1; then + AC_MSG_RESULT([yes]) + AC_MSG_CHECKING([whether stack-smashing protection is buggy]) + if $CC -o conftest.so $LDFLAGS -shared conftest.o $LIBS >/dev/null 2>&1; then + AC_MSG_RESULT([no]) + else + AC_MSG_RESULT([yes]) + enable_ssp=no + fi + else + AC_MSG_RESULT([no]) + fi + + rm -f conftest.c conftest.o conftest.so + + CFLAGS="$ssp_old_cflags" + LDFLAGS="$ssp_old_ldflags" +fi + +if test x"$enable_ssp" = x"yes"; then + # Do this the long way so we don't call GCC_STACK_PROTECT_LIB twice + GCC_STACK_PROTECT_CC + + AC_LANG_PUSH([C++]) + GCC_STACK_PROTECT_CXX + AC_LANG_POP([C++]) + # XXX: Update the enable_ssp value now for output later? +fi + # libtool stuff AC_PROG_LIBTOOL @@ -74,7 +150,7 @@ ACX_PTHREAD(,AC_MSG_ERROR([Missing POSIX Threads support])) # # Check for netlink.h # -AC_CHECK_HEADER(linux/netlink.h, +AC_CHECK_HEADER(linux/netlink.h, HAVE_NETLINK=yes AC_DEFINE([HAVE_NETLINK],[],[Support for Linux netlink]) , [], [ @@ -87,7 +163,7 @@ AM_CONDITIONAL(HAVE_NETLINK, [ test x"$HAVE_NETLINK" = xyes ]) # # Check for net/route.h # -AC_CHECK_HEADER(net/route.h, +AC_CHECK_HEADER(net/route.h, HAVE_PF_ROUTE=yes AC_DEFINE([HAVE_PF_ROUTE],[],[Support for PF_ROUTE]) , [], [ @@ -100,7 +176,7 @@ 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, +AC_CHECK_HEADER(sys/filio.h, HAVE_SYS_FILIO_H=yes AC_DEFINE([HAVE_SYS_FILIO_H],[],[Support for sys/filio.h]) , [], [ @@ -111,7 +187,7 @@ 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, +AC_CHECK_HEADER(sys/sysctl.h, HAVE_SYS_SYSCTL=yes AC_DEFINE([HAVE_SYS_SYSCTL_H],[],[Support for sys/sysctl.h]) , [], [ @@ -245,13 +321,13 @@ if test "x$GCC" = "xyes" ; then for flag in $DESIRED_FLAGS ; do AC_MSG_CHECKING([whether $CC accepts $flag]) - if test_gcc_flag $flag ; then + if test_gcc_flag $flag ; then CFLAGS="$CFLAGS $flag" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi - done + done fi # Checks for header files. @@ -265,6 +341,11 @@ AC_TYPE_SIZE_T AC_HEADER_TIME 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__") + # Checks for library functions. AC_FUNC_MEMCMP AC_FUNC_SELECT_ARGTYPES @@ -306,6 +387,27 @@ if test "x$have_inotify" = "xyes" ; then AC_DEFINE([HAVE_INOTIFY], 1, [Enable Linux inotify() usage]) fi +have_kqueue=yes +AC_CHECK_FUNCS([kqueue],,have_kqueue=no) + +AM_CONDITIONAL(HAVE_KQUEUE, test "x$have_kqueue" = "xyes") + +if test "x$have_kqueue" = "xyes" ; then + AC_DEFINE([HAVE_KQUEUE], 1, [Enable BSD kqueue() usage]) +fi + +AM_GNU_GETTEXT([external]) + +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) @@ -335,6 +437,25 @@ if test "x$HAVE_GLIB" = "xyes" ; then fi AM_CONDITIONAL(HAVE_GLIB, test "x$HAVE_GLIB" = "xyes") +# +# Check for GLIB's gobject 2.0 +# +AC_ARG_ENABLE(gobject, + AS_HELP_STRING([--disable-gobject],[Disable use of GLib GObject]), + [case "${enableval}" in + yes) HAVE_GOBJECT=yes ;; + no) HAVE_GOBJECT=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-gobject) ;; + esac], + [HAVE_GOBJECT=yes]) + +if test "x$HAVE_GOBJECT" = "xyes" ; then + PKG_CHECK_MODULES(GOBJECT, [ glib-2.0 >= 2.4.0 gobject-2.0 ]) + AC_SUBST(GOBJECT_CFLAGS) + AC_SUBST(GOBJECT_LIBS) +fi +AM_CONDITIONAL(HAVE_GOBJECT, test "x$HAVE_GOBJECT" = "xyes") + # # Check for Qt 3 # @@ -354,7 +475,7 @@ if test "x$HAVE_QT3" = "xyes" ; then 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_CHECK_FILE("$QT3_PREFIX/moc", [ MOC_QT3=$QT3_PREFIX/moc ], [ AC_MSG_ERROR([Couldn't find QT3 moc])])]) AC_SUBST(MOC_QT3) fi @@ -379,7 +500,7 @@ if test "x$HAVE_QT4" = "xyes" ; then 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_CHECK_FILE("$QT4_PREFIX/moc", [ MOC_QT4=$QT4_PREFIX/moc ], [ AC_MSG_ERROR([Couldn't find QT4 moc])])]) AC_SUBST(MOC_QT4) fi @@ -402,7 +523,7 @@ if test "x$HAVE_GTK" = "xyes" ; then PKG_CHECK_MODULES(GTK20, [ gtk+-2.0 >= 2.4.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) @@ -420,7 +541,7 @@ AC_ARG_ENABLE(dbus, no) HAVE_DBUS=no ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-dbus) ;; esac], - [HAVE_DBUS=yes]) + [HAVE_DBUS=yes]) AC_ARG_WITH(dbus-sys, AS_HELP_STRING([--with-dbus-sys=