#
# Detecting the linux distribution for specific things like init scripts.
#
-AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the Linux distribution to target: One of debian, gentoo, archlinux or none]))
+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]))
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")
+ if test "z$with_distro" = "z"; then
+ with_distro=`uname -s`
+ fi
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, set DISTRO to none if your distribution is not supported.])
- exit 1
-else
case $with_distro in
- debian|gentoo|archlinux|suse|fedora|none)
+ debian|gentoo|archlinux|suse|fedora|darwin|none)
+ ;;
+ netbsd|freebsd)
+ AC_MSG_WARN([Your distribution (${with_distro}) is supported but no init script exist yet! (patches welcome)])
+ ;;
+ linux)
+ 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.])
;;
*)
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
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)
AM_CONDITIONAL(TARGET_ARCHLINUX, test x"$with_distro" = xarchlinux)
AM_CONDITIONAL(TARGET_FEDORA, test x"$with_distro" = xfedora)
+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)
test_gcc_flag() {
AC_LANG_CONFTEST([int main() {}])
# 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 -Wlarger-than-4000 -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter"
+ 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"
if test "x$HAVE_NETLINK" = "xyes" ; then
# Test whether rtnetlink.h can be included when compiled with -std=c99
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 strncasecmp strlcpy gethostbyname])
+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
AC_FUNC_STAT
AC_CHECK_DECLS(environ)
+enable_chroot=yes
+AC_CHECK_HEADERS([sys/capability.h],,enable_chroot=no)
+AC_CHECK_HEADERS([sys/prctl.h],,enable_chroot=no)
+AC_CHECK_FUNCS([chroot],,enable_chroot=no)
+
+AM_CONDITIONAL(ENABLE_CHROOT, test "x$enable_chroot" = "xyes")
+
+if test "x$enable_chroot" = "xyes" ; then
+ AC_DEFINE([ENABLE_CHROOT], 1, [Enable chroot() usage])
+fi
+
# 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)
# to /var/run/dbus
DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="unix:path=/var/run/dbus/system_bus_socket"
- TRY_SOCKETS="/var/lib/dbus/system_bus_socket /var/run/dbus/system_bus_socket"
+ TRY_SOCKETS="/var/lib/dbus/system_bus_socket /var/run/dbus/system_bus_socket ${localstatedir}/run/dbus/system_bus_socket ${prefix}/var/run/dbus/system_bus_socket"
for sock in $TRY_SOCKETS; do
if test -S $sock; then
DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="unix:path=$sock"
fi
AM_CONDITIONAL(HAVE_EXPAT, test "x$HAVE_EXPAT" = "xyes")
+#
+# GDBM
+#
+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) ;;
+ esac],
+ [HAVE_GDBM=yes])
+
+if test "x$HAVE_GDBM" = "xyes" ; then
+ 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])
+fi
+AM_CONDITIONAL(HAVE_GDBM, test "x$HAVE_GDBM" = "xyes")
+
#
# libdaemon
#
initscript/archlinux/Makefile
initscript/suse/Makefile
initscript/fedora/Makefile
+initscript/darwin/Makefile
avahi-dnsconfd/Makefile
avahi-utils/Makefile
-avahi-utils/avahi/Makefile
+avahi-python/Makefile
+avahi-python/avahi/Makefile
examples/Makefile
common/Makefile
man/Makefile
Enable GTK: ${HAVE_GTK}
Enable D-BUS: ${HAVE_DBUS}
Enable Expat: ${HAVE_EXPAT}
+ Enable GDBM: ${HAVE_GDBM}
Enable libdaemon: ${HAVE_LIBDAEMON}
Enable Python: ${HAVE_PYTHON}
Enable pygtk: ${HAVE_PYGTK}
Enable QT3: ${HAVE_QT3}
Enable QT4: ${HAVE_QT4}
Enable Mono: ${HAVE_MONO}
- Linux Distro: ${with_distro}
+ Distribution/OS: ${with_distro}
User for Avahi: ${AVAHI_USER}
Group for Avahi: ${AVAHI_GROUP}
+ Enable chroot(): ${enable_chroot}
"
BUILD_DAEMON="no (!)"