Code

object: Be more specific about requirements for the 'destroy' callback.
[sysdb.git] / configure.ac
index ae9318ca370171193cd28689d70b4b4e427b359c..a4f21853dc22b506164a328c5c1f5d1452c26ff9 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl
 dnl Process this file with autoconf to produce a configure script.
 dnl
-dnl This is the syscollector configure script.
+dnl This is the SysDB configure script.
 dnl
 dnl Copyright (C) 2012 Sebastian 'tokkee' Harl <sh@tokkee.org>
 dnl All rights reserved.
 dnl
 dnl Copyright (C) 2012 Sebastian 'tokkee' Harl <sh@tokkee.org>
 dnl All rights reserved.
@@ -26,16 +26,16 @@ dnl WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 dnl OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 dnl ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 dnl OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 dnl ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-AC_INIT([system collector],[m4_esyscmd(./version-gen.sh)],
+AC_INIT([System DataBase],[m4_esyscmd(./version-gen.sh)],
                [sh@tokkee.org],
                [sh@tokkee.org],
-               [syscollector],
-               [http://git.tokkee.org/?p=syscollector.git])
+               [sysdb],
+               [http://git.tokkee.org/?p=sysdb.git])
 PACKAGE_MAINTAINER="Sebastian 'tokkee' Harl <sh@tokkee.org>"
 AC_DEFINE_UNQUOTED([PACKAGE_MAINTAINER], ["$PACKAGE_MAINTAINER"],
                [Define to the name of the maintainer of this package.])
 PACKAGE_MAINTAINER="Sebastian 'tokkee' Harl <sh@tokkee.org>"
 AC_DEFINE_UNQUOTED([PACKAGE_MAINTAINER], ["$PACKAGE_MAINTAINER"],
                [Define to the name of the maintainer of this package.])
-AC_CONFIG_SRCDIR([src/syscollector.c])
+AC_CONFIG_SRCDIR([src/sysdb.c])
 AC_CONFIG_HEADERS([src/config.h])
 AC_CONFIG_HEADERS([src/config.h])
-AC_PREFIX_DEFAULT([/opt/syscollector])
+AC_PREFIX_DEFAULT([/opt/sysdb])
 
 AM_INIT_AUTOMAKE([foreign -Wall])
 
 
 AM_INIT_AUTOMAKE([foreign -Wall])
 
@@ -171,8 +171,7 @@ if test "x$enable_strict_checks" = "xyes"; then
                        -Wmissing-prototypes \
                        -Wpointer-arith \
                        -Wshadow \
                        -Wmissing-prototypes \
                        -Wpointer-arith \
                        -Wshadow \
-                       -Wstrict-prototypes \
-                       -Wunreachable-code; do
+                       -Wstrict-prototypes; do
                AC_MSG_CHECKING([whether $CC accepts $flag])
 
                if test_cc_flags $flag; then
                AC_MSG_CHECKING([whether $CC accepts $flag])
 
                if test_cc_flags $flag; then
@@ -185,6 +184,10 @@ if test "x$enable_strict_checks" = "xyes"; then
 fi
 AC_SUBST([STRICT_CFLAGS])
 
 fi
 AC_SUBST([STRICT_CFLAGS])
 
+dnl Testing.
+build_testing="no"
+PKG_CHECK_MODULES([CHECK], [check >= 0.9.4], [build_testing="yes"])
+
 AC_CHECK_HEADERS(libgen.h)
 
 dnl Check for dependencies.
 AC_CHECK_HEADERS(libgen.h)
 
 dnl Check for dependencies.
@@ -204,9 +207,28 @@ if test "x$with_libdbi" = "xyes"; then
 fi
 AM_CONDITIONAL([BUILD_WITH_LIBDBI], test "x$with_libdbi" = "xyes")
 
 fi
 AM_CONDITIONAL([BUILD_WITH_LIBDBI], test "x$with_libdbi" = "xyes")
 
+dnl Required for mocking FILE related functions.
+orig_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -D_GNU_SOURCE"
+AC_CHECK_FUNCS([fopencookie],
+               [have_fopencookie="yes"],
+               [have_fopencookie="no (fopencookie not available)"])
+CFLAGS="$orig_CFLAGS"
+AM_CONDITIONAL([BUILD_WITH_FOPENCOOKIE], test "x$have_fopencookie" = "xyes")
+if test "x$have_fopencookie" = "xyes"; then
+       AC_DEFINE([HAVE_FOPENCOOKIE], 1)
+fi
+
 dnl Feature checks.
 build_documentation="yes"
 
 dnl Feature checks.
 build_documentation="yes"
 
+have_xmlto="yes"
+AC_PATH_PROG([XMLTO], [xmlto])
+if test "x$XMLTO" = "x"; then
+       have_xmlto="no"
+       build_documentation="no (missing xmlto)"
+fi
+
 have_xsltproc="yes"
 AC_PATH_PROG([XSLTPROC], [xsltproc])
 if test "x$XSLTPROC" = "x"; then
 have_xsltproc="yes"
 AC_PATH_PROG([XSLTPROC], [xsltproc])
 if test "x$XSLTPROC" = "x"; then
@@ -223,24 +245,31 @@ fi
 AC_SUBST([A2X])
 
 dnl Plugin checks.
 AC_SUBST([A2X])
 
 dnl Plugin checks.
-enable_puppet_storeconfigs=$with_libdbi
-if test "x$enable_puppet_storeconfigs" = "xno"; then
-       enable_puppet_storeconfigs="no (requires libdbi)"
+puppet_storeconfigs_default=$with_libdbi
+if test "x$puppet_storeconfigs_default" != "xyes"; then
+       puppet_storeconfigs_default="no (requires libdbi)"
 fi
 
 m4_divert_once([HELP_ENABLE], [
 Backends:])
 
 fi
 
 m4_divert_once([HELP_ENABLE], [
 Backends:])
 
-AC_SC_PLUGIN_INIT
-AC_SC_PLUGIN([collectd], [yes],
+AC_SDB_PLUGIN_INIT
+AC_SDB_PLUGIN([collectd], [yes],
                [backend accessing the system statistics collection daemon])
                [backend accessing the system statistics collection daemon])
-AC_SC_PLUGIN([puppet-storeconfigs], [$enable_puppet_storeconfigs],
+AC_SDB_PLUGIN([mk-livestatus], [yes],
+               [backend accessing Nagios/Icinga/Shinken using MK Livestatus])
+AC_SDB_PLUGIN([puppet-storeconfigs], [$puppet_storeconfigs_default],
                [backend accessing the Puppet stored configuration database])
                [backend accessing the Puppet stored configuration database])
+AC_SDB_PLUGIN([syslog], [yes],
+               [plugin logging to syslog])
+AC_SDB_PLUGIN([cname-dns], [yes],
+               [canonicalize hostnames by querying DNS])
 
 AM_CONDITIONAL([BUILD_DOCUMENTATION], test "x$build_documentation" = "xyes")
 
 AM_CONDITIONAL([BUILD_DOCUMENTATION], test "x$build_documentation" = "xyes")
+AM_CONDITIONAL([BUILD_TESTING], test "x$build_testing" = "xyes")
 
 AC_CONFIG_FILES([Makefile doc/Makefile src/Makefile
 
 AC_CONFIG_FILES([Makefile doc/Makefile src/Makefile
-               src/liboconfig/Makefile])
+               src/liboconfig/Makefile t/Makefile])
 AC_OUTPUT
 
 BUILD_DATE="`date --utc '+%F %T'` (UTC)"
 AC_OUTPUT
 
 BUILD_DATE="`date --utc '+%F %T'` (UTC)"
@@ -258,19 +287,26 @@ AC_MSG_RESULT([  build date: $BUILD_DATE])
 AC_MSG_RESULT()
 AC_MSG_RESULT([  Tools:])
 AC_MSG_RESULT([    AsciiDoc (a2x): . . . . . . $have_a2x])
 AC_MSG_RESULT()
 AC_MSG_RESULT([  Tools:])
 AC_MSG_RESULT([    AsciiDoc (a2x): . . . . . . $have_a2x])
-AC_MSG_RESULT([    xsltproc: . . . . . . . . . $have_xsltproc])
+AC_MSG_RESULT([    xmlto / xsltproc: . . . . . $have_xmlto / $have_xsltproc])
 AC_MSG_RESULT()
 AC_MSG_RESULT([  Features:])
 AC_MSG_RESULT([    documentation:  . . . . . . $build_documentation])
 AC_MSG_RESULT()
 AC_MSG_RESULT([  Features:])
 AC_MSG_RESULT([    documentation:  . . . . . . $build_documentation])
+AC_MSG_RESULT([    unit testing: . . . . . . . $build_testing])
+AC_MSG_RESULT([      stdio mocking:  . . . . . $have_fopencookie])
 AC_MSG_RESULT()
 AC_MSG_RESULT([  Libraries:])
 AC_MSG_RESULT()
 AC_MSG_RESULT([  Libraries:])
-AC_MSG_RESULT([     libdbi:  . . . . . . . . . $with_libdbi])
+AC_MSG_RESULT([    libdbi: . . . . . . . . . . $with_libdbi])
 AC_MSG_RESULT()
 AC_MSG_RESULT([  Backends:])
 AC_MSG_RESULT([    collectd: . . . . . . . . . $enable_collectd])
 AC_MSG_RESULT()
 AC_MSG_RESULT([  Backends:])
 AC_MSG_RESULT([    collectd: . . . . . . . . . $enable_collectd])
+AC_MSG_RESULT([    mk-livestatus:  . . . . . . $enable_mk_livestatus])
 AC_MSG_RESULT([    puppet-storeconfigs:  . . . $enable_puppet_storeconfigs])
 AC_MSG_RESULT()
 AC_MSG_RESULT([    puppet-storeconfigs:  . . . $enable_puppet_storeconfigs])
 AC_MSG_RESULT()
+AC_MSG_RESULT([  Plugins:])
+AC_MSG_RESULT([    cname::dns: . . . . . . . . $enable_cname_dns])
+AC_MSG_RESULT()
 AC_MSG_RESULT([This package is maintained by $PACKAGE_MAINTAINER.])
 AC_MSG_RESULT([Please report bugs to $PACKAGE_BUGREPORT.])
 AC_MSG_RESULT()
 
 AC_MSG_RESULT([This package is maintained by $PACKAGE_MAINTAINER.])
 AC_MSG_RESULT([Please report bugs to $PACKAGE_BUGREPORT.])
 AC_MSG_RESULT()
 
+dnl vim: set tw=78 sw=4 ts=4 noexpandtab :