Code

Bootstrap the build system for C++ as well.
[sysdb.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2 dnl
3 dnl This is the SysDB configure script.
4 dnl
5 dnl Copyright (C) 2012 Sebastian 'tokkee' Harl <sh@tokkee.org>
6 dnl All rights reserved.
7 dnl
8 dnl Redistribution and use in source and binary forms, with or without
9 dnl modification, are permitted provided that the following conditions
10 dnl are met:
11 dnl 1. Redistributions of source code must retain the above copyright
12 dnl    notice, this list of conditions and the following disclaimer.
13 dnl 2. Redistributions in binary form must reproduce the above copyright
14 dnl    notice, this list of conditions and the following disclaimer in the
15 dnl    documentation and/or other materials provided with the distribution.
16 dnl
17 dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 dnl ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19 dnl TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 dnl PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
21 dnl CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 dnl EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23 dnl PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24 dnl OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25 dnl WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26 dnl OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27 dnl ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 AC_INIT([System DataBase],[m4_esyscmd(./version-gen.sh)],
30                 [sysdb@sysdb.io],
31                 [sysdb],
32                 [https://sysdb.io/])
33 PACKAGE_MAINTAINER="Sebastian 'tokkee' Harl <tokkee@sysdb.io>"
34 AC_DEFINE_UNQUOTED([PACKAGE_MAINTAINER], ["$PACKAGE_MAINTAINER"],
35                 [Define to the name of the maintainer of this package.])
36 AC_CONFIG_SRCDIR([src/sysdb.c])
37 AC_CONFIG_HEADERS([src/config.h])
38 AC_PREFIX_DEFAULT([/opt/sysdb])
40 AM_INIT_AUTOMAKE([foreign subdir-objects -Wall])
42 AC_LANG(C)
44 AC_SYS_LARGEFILE
46 AC_PROG_CC
47 AC_PROG_CXX
48 AC_PROG_CPP
49 AC_PROG_INSTALL
50 AC_PROG_LN_S
51 AC_PROG_MAKE_SET
52 m4_ifdef([AM_PROG_AR],[AM_PROG_AR],[])
54 AM_PROG_CC_C_O
55 AM_PROG_LEX
56 AC_PROG_YACC
58 m4_ifdef([LT_INIT],
59         [
60          LT_CONFIG_LTDL_DIR([libltdl])
61          LT_INIT([dlopen])
62          LTDL_INIT([convenience])
63         ],
64         # else
65         # (older libtools)
66         [
67          AC_CONFIG_SUBDIRS(libltdl)
68          AC_LIBLTDL_CONVENIENCE
69          AC_SUBST(LTDLINCL)
70          AC_SUBST(LIBLTDL)
71          AC_LIBTOOL_DLOPEN
72         ]
73 )
75 test_cc_flags() {
76         AC_LANG_CONFTEST([int main(void){}])
77         $CC -c conftest.c $CFLAGS $STRICT_CFLAGS $@ > /dev/null 2> /dev/null
78         ret=$?
79         rm -f conftest.o
80         return $ret
81 }
83 test_cxx_flags() {
84         AC_LANG_PUSH(C++)
85         AC_LANG_CONFTEST([int main(void){}])
86         $CXX -c conftest.c $CXXFLAGS $STRICT_CXXFLAGS $@ > /dev/null 2> /dev/null
87         ret=$?
88         rm -f conftest.o
89         AC_LANG_POP(C++)
90         return $ret
91 }
93 STRICT_CFLAGS=""
94 STRICT_CXXFLAGS=""
96 m4_divert_once([HELP_ENABLE], [
97 Build options:])
99 dnl Optionally stick to standard C99 and POSIX:2001 as close as possible.
100 AC_ARG_ENABLE([standards],
101                 AS_HELP_STRING([--enable-standards],
102                                 [C99 / POSIX standards compliance mode @<:@default=no@:>@]),
103                 [enable_standards="$enableval"],
104                 [enable_standards="no"])
106 if test "x$enable_standards" = "xyes"; then
107         AC_DEFINE([_ISOC99_SOURCE], 1,
108                         [Define to enforce ISO/IEC 9899:1999 (C99) compliance.])
109         AC_DEFINE([_POSIX_C_SOURCE], 200112L,
110                         [Define to enforce IEEE 1003.1-2001 (POSIX:2001) compliance.])
111         AC_DEFINE([_XOPEN_SOURCE], 700,
112                         [Define to enforce X/Open 7 (XSI) compliance.])
113         AC_DEFINE([_REENTRANT], 1,
114                         [Define to enable reentrant interfaces.])
115         AC_DEFINE([_THREAD_SAFE], 1,
116                         [Define to enable reentrant interfaces.])
118         dnl GNU libc defines strcasecmp() only when using _BSD_SOURCE even though
119         dnl the function is conforming to POSIX.1-2001 as well. Let's weaken
120         dnl strict standards compliance a bit to work around this.
121         AC_DEFINE([_BSD_SOURCE], 1, [Define to enable 4.3BSD support.])
123         for flag in -std=c99; do
124                 AC_MSG_CHECKING([whether $CC accepts $flag])
126                 if test_cc_flags $flag; then
127                         STRICT_CFLAGS="$STRICT_CFLAGS $flag"
128                         AC_MSG_RESULT([yes])
129                 else
130                         AC_MSG_RESULT([no])
131                 fi
132         done
133 fi
135 dnl Hardening (see e.g. http://wiki.debian.org/Hardening for a motivation).
136 AC_DEFINE([_FORTIFY_SOURCE], 2,
137                 [Define to enable protection against static sized buffer overflows.])
138 AC_ARG_ENABLE([hardening],
139                 AS_HELP_STRING([--disable-hardening],
140                                 [hardening options @<:@default=yes@:>@]),
141                 [enable_hardening="$enableval"],
142                 [enable_hardening="yes"])
144 if test "x$enable_hardening" = "xyes"; then
145         hardening_cc=0
146         hardening_cxx=0
147         hardening_tests=0
148         for flag in -Wformat -Wformat-security; do
149                 hardening_tests=$(($hardening_tests + 1))
151                 AC_MSG_CHECKING([whether $CC accepts $flag])
152                 if test_cc_flags $flag; then
153                         STRICT_CFLAGS="$STRICT_CFLAGS $flag"
154                         hardening_cc=$(($hardening_cc + 1))
155                         AC_MSG_RESULT([yes])
156                 else
157                         AC_MSG_RESULT([no])
158                 fi
160                 AC_MSG_CHECKING([whether $CXX accepts $flag])
161                 if test_cxx_flags $flag; then
162                         STRICT_CXXFLAGS="$STRICT_CXXFLAGS $flag"
163                         hardening_cxx=$(($hardening_cxx + 1))
164                         AC_MSG_RESULT([yes])
165                 else
166                         AC_MSG_RESULT([no])
167                 fi
168         done
169         if test $hardening_cc -ne $hardening_tests; then
170                 AC_MSG_WARN(
171                                 [Some hardening options are not supported by your C compiler!])
172         fi
173         if test $hardening_cxx -ne $hardening_tests; then
174                 AC_MSG_WARN(
175                                 [Some hardening options are not supported by your C++ compiler!])
176         fi
177 fi
179 dnl Strict checking for potential problems.
180 AC_ARG_ENABLE([strict-checks],
181                 AS_HELP_STRING([--disable-strict-checks],
182                                 [strict compiler checks @<:@default=yes@:>@]),
183                 [enable_strict_checks="$enableval"],
184                 [enable_strict_checks="yes"])
186 for flag in -Wall -Werror; do
187         AC_MSG_CHECKING([whether $CC accepts $flag])
188         if test_cc_flags $flag; then
189                 STRICT_CFLAGS="$STRICT_CFLAGS $flag"
190                 AC_MSG_RESULT([yes])
191         else
192                 AC_MSG_RESULT([no])
193         fi
195         AC_MSG_CHECKING([whether $CXX accepts $flag])
196         if test_cxx_flags $flag; then
197                 STRICT_CXXFLAGS="$STRICT_CXXFLAGS $flag"
198                 AC_MSG_RESULT([yes])
199         else
200                 AC_MSG_RESULT([no])
201         fi
202 done
204 if test "x$enable_strict_checks" = "xyes"; then
205         dnl -Wsign-conversion may cause problems in expanded macros from libc
206         for flag in -Wextra \
207                         -Wbad-function-cast \
208                         -Wcast-align \
209                         -Wcast-qual \
210                         -Wconversion \
211                         -Wno-sign-conversion \
212                         -Wdeclaration-after-statement \
213                         -Wmissing-prototypes \
214                         -Wpointer-arith \
215                         -Wshadow \
216                         -Wstrict-prototypes; do
217                 AC_MSG_CHECKING([whether $CC accepts $flag])
218                 if test_cc_flags $flag; then
219                         STRICT_CFLAGS="$STRICT_CFLAGS $flag"
220                         AC_MSG_RESULT([yes])
221                 else
222                         AC_MSG_RESULT([no])
223                 fi
225                 dnl -Wshadow produces unnecessary warnings/errors in case a
226                 dnl C function name "shadows" a struct constructor.
227                 if test "x$flag" != "x-Wshadow"; then
228                         AC_MSG_CHECKING([whether $CXX accepts $flag])
229                         if test_cxx_flags $flag; then
230                                 STRICT_CXXFLAGS="$STRICT_CXXFLAGS $flag"
231                                 AC_MSG_RESULT([yes])
232                         else
233                                 AC_MSG_RESULT([no])
234                         fi
235                 fi
236         done
237 fi
238 AC_SUBST([STRICT_CFLAGS])
239 AC_SUBST([STRICT_CXXFLAGS])
241 AC_ARG_ENABLE([gcov],
242                 AS_HELP_STRING([--enable-gcov],
243                                 [Gcov coverage statistics @<:@default=no@:>@]),
244                 [enable_gcov="$enableval"],
245                 [enable_gcov="no"])
247 dnl $GCC is based on some heuristics which might apply to clang as well.
248 dnl However, clang does not support gcov.
249 cc_is_gcc="no"
250 case "x$CC" in
251         xgcc)
252                 cc_is_gcc="yes"
253                 ;;
254         xgcc-*)
255                 cc_is_gcc="yes"
256                 ;;
257 esac
259 COVERAGE_CFLAGS=""
260 COVERAGE_LDFLAGS=""
261 if test "x$enable_gcov" = "xyes" && test "x$GCC$cc_is_gcc" == "xyesyes"; then
262         COVERAGE_CFLAGS="-O0"
263         cov_flag_have_problem="no"
265         AC_MSG_CHECKING([whether $CC accepts --coverage])
266         if test_cc_flags --coverage; then
267                 COVERAGE_CFLAGS="$COVERAGE_CFLAGS --coverage"
268                 COVERAGE_LDFLAGS="$COVERAGE_LDFLAGS --coverage"
269                 AC_MSG_RESULT([yes])
270         else
271                 AC_MSG_RESULT([no])
272                 cov_flag_have_problem="yes"
273         fi
275         for flag in -fno-inline; do
276                 AC_MSG_CHECKING([whether $CC accepts $flag])
277                 if test_cc_flags $flag; then
278                         COVERAGE_CFLAGS="$COVERAGE_CFLAGS $flag"
279                         AC_MSG_RESULT([yes])
280                 else
281                         AC_MSG_RESULT([no])
282                         cov_flag_have_problem="yes"
283                 fi
284         done
286         if test "x$cov_flag_have_problem" != "xno"; then
287                 AC_MSG_WARN([Some coverage flags are not supported by your compiler!])
288         fi
289 else if test "x$enable_gcov" = "xyes"; then
290         AC_MSG_WARN([Your compiler ($CC) is not known to support Gcov!])
291         enable_gcov="no (requires GCC)"
292 fi; fi
293 AC_SUBST([COVERAGE_CFLAGS])
294 AC_SUBST([COVERAGE_LDFLAGS])
296 AC_ARG_ENABLE([gprof],
297                 AS_HELP_STRING([--enable-gprof],
298                                 [Gprof profiling @<:@default=no@:>@]),
299                 [enable_gprof="$enableval"],
300                 [enable_gprof="no"])
302 PROFILING_CFLAGS=""
303 PROFILING_LDFLAGS=""
304 if test "x$enable_gprof" = "xyes"; then
305         PROFILING_CFLAGS="-O0"
306         profiling_flag_have_problem="no"
308         AC_MSG_CHECKING([whether $CC accepts -pg])
309         if test_cc_flags -pg; then
310                 PROFILING_CFLAGS="$PROFILING_CFLAGS -pg"
311                 PROFILING_LDFLAGS="$PROFILING_LDFLAGS -pg"
312                 AC_MSG_RESULT([yes])
313         else
314                 AC_MSG_RESULT([no])
315                 profiling_flag_have_problem="yes"
316         fi
318         for flag in -fprofile-arcs; do
319                 AC_MSG_CHECKING([whether $CC accepts $flag])
320                 if test_cc_flags $flag; then
321                         PROFILING_CFLAGS="$PROFILING_CFLAGS $flag"
322                         AC_MSG_RESULT([yes])
323                 fi
324                 # else: this is not a serious problem
325         done
327         if test "x$profiling_flag_have_problem" != "xno"; then
328                 AC_MSG_WARN([Some profiling flags are not supported by your compiler!])
329         fi
330 fi
331 AC_SUBST([PROFILING_CFLAGS])
332 AC_SUBST([PROFILING_LDFLAGS])
334 m4_divert_once([HELP_ENABLE], [
335 Build dependencies:])
337 dnl Testing.
338 PKG_CHECK_MODULES([CHECK], [check >= 0.9.4],
339                 [unit_tests="yes"], [unit_tests="no"])
341 AC_CHECK_HEADERS(libgen.h)
343 dnl Check for dependencies.
344 AC_ARG_WITH([libdbi],
345                 [AS_HELP_STRING([--with-libdbi], [libdbi support (default: auto)])],
346                 [with_libdbi="$withval"],
347                 [with_libdbi="yes"])
348 if test "x$with_libdbi" = "xyes" || test "x$with_libdbi" = "xauto"; then
349         AC_CHECK_HEADERS([dbi/dbi.h],
350                         [with_libdbi="yes"],
351                         [with_libdbi="no (dbi/dbi.h not found)"])
352 else if test "x$with_libdbi" = "xno"; then
353         with_libdbi="$with_libdbi (disabled on command-line)"
354 else
355         AC_MSG_ERROR([Invalid value for option --with-libdbi=$with_libdbi (expected "yes", "no", or "auto")])
356 fi; fi
357 if test "x$with_libdbi" = "xyes"; then
358         AC_CHECK_LIB([dbi], [dbi_initialize],
359                         [with_libdbi="yes"],
360                         [with_libdbi="no (libdbi or symbol 'dbi_initialize' not found)"])
361 fi
362 AM_CONDITIONAL([BUILD_WITH_LIBDBI], test "x$with_libdbi" = "xyes")
364 dnl Required for mocking FILE related functions.
365 orig_CFLAGS="$CFLAGS"
366 CFLAGS="$CFLAGS -D_GNU_SOURCE"
367 AC_CHECK_FUNCS([fopencookie],
368                 [have_fopencookie="yes"],
369                 [have_fopencookie="no (fopencookie not available)"])
370 CFLAGS="$orig_CFLAGS"
371 AM_CONDITIONAL([BUILD_WITH_FOPENCOOKIE], test "x$have_fopencookie" = "xyes")
372 if test "x$have_fopencookie" = "xyes"; then
373         AC_DEFINE([HAVE_FOPENCOOKIE], 1)
374 fi
376 dnl readline support
377 AC_ARG_WITH([readline],
378                 [AS_HELP_STRING([--with-readline],
379                         [readline support (libedit/libreadline) (default: auto, prefer libedit)])],
380                 [readline_support="$withval"],
381                 [readline_support="auto"])
383 if test "x$readline_support" = "xyes"; then
384         readline_support="auto"
385 else if test "x$readline_support" != "xauto" \
386                 && test "x$readline_support" != "xno" \
387                 && test "x$readline_support" != "xlibedit" \
388                 && test "x$readline_support" != "xlibreadline"; then
389         AC_MSG_ERROR([Invalid value for option --with-readline=$readline_support (expected "yes", "no", "auto", "libedit", or "libreadline")])
390 fi; fi
392 have_libedit="no"
393 if test "x$readline_support" = "xauto" \
394                 || test "x$readline_support" = "xlibedit"; then
395         PKG_CHECK_MODULES([LIBEDIT], [libedit],
396                         [have_libedit="yes"], [have_libedit="no"])
397         if test "x$have_libedit" = "xyes"; then
398                 AC_CHECK_HEADERS([editline/readline.h], [],
399                                 [AC_CHECK_HEADERS([readline.h], [],
400                                                 [have_libedit="no (readline header not found"])])
401         fi
402         if test "x$have_libedit" = "xyes"; then
403                 AC_CHECK_HEADERS([editline/history.h], [],
404                                 [AC_CHECK_HEADERS([history.h], [],
405                                                 [have_libedit="no (history header not found"])])
406         fi
407 else
408         have_libedit="disabled on command-line"
409 fi
411 have_libreadline="no"
412 if test "x$have_libedit" != "xyes"; then
413         if test "x$readline_support" = "xauto" \
414                         || test "x$readline_support" = "xlibreadline"; then
415                 AC_CHECK_LIB([readline], [readline],
416                                 [have_libreadline="yes"],
417                                 [have_libreadline="no (libreadline or symbol 'readline' not found)"])
418         fi
419         if test "x$have_libreadline" = "xyes"; then
420                 AC_CHECK_HEADERS([readline/readline.h], [],
421                                 [AC_CHECK_HEADERS([readline.h], [],
422                                                 [have_libreadline="no (readline header not found"])])
423         fi
424         if test "x$have_libreadline" = "xyes"; then
425                 AC_CHECK_HEADERS([readline/history.h], [],
426                                 [AC_CHECK_HEADERS([history.h], [],
427                                                 [have_libreadline="no (history header not found"])])
428         fi
429 else
430         have_libreadline="unchecked (prefer libedit)"
431 fi
433 if test "x$have_libedit" = "xyes"; then
434         READLINE_LIBS="$LIBEDIT_LIBS"
435         READLINE_CFLAGS="$LIBEDIT_CFLAGS"
436         readline_support="libedit"
437 else if test "x$have_libreadline" = "xyes"; then
438         READLINE_LIBS="-lreadline -lhistory"
439         READLINE_CFLAGS=""
440         readline_support="libreadline"
441 else
442         READLINE_LIBS=""
443         READLINE_CFLAGS=""
444         if test "x$readline_support" = "xno"; then
445                 AC_MSG_WARN([*** readline support disabled; disabling SysDB client])
446         else if test "x$readline_support" = "xauto"; then
447                 AC_MSG_WARN([*** readline not found; disabling SysDB client])
448         else
449                 AC_MSG_ERROR([readline not found])
450         fi; fi
451         readline_support="no"
452 fi; fi
453 AC_SUBST([READLINE_LIBS])
454 AC_SUBST([READLINE_CFLAGS])
455 AM_CONDITIONAL([BUILD_CLIENT], test "x$readline_support" != "no")
457 AC_ARG_WITH([librrd],
458                 [AS_HELP_STRING([--with-librrd], [librrd support (default: auto)])],
459                 [with_librrd="$withval"],
460                 [with_librrd="yes"])
461 if test "x$with_librrd" = "xyes" || test "x$with_librrd" = "xauto"; then
462         PKG_CHECK_MODULES([RRD], [librrd],
463                         [have_librrd="yes"], [have_librrd="no"])
464 else if test "x$with_librrd" = "xno"; then
465         have_librrd="$with_librrd (disabled on command-line)"
466 else
467         AC_MSG_ERROR([Invalid value for option --with-librrd=$with_librrd (expected "yes", "no", or "auto")])
468 fi; fi
470 if test "x$have_librrd" = "xyes"; then
471         AC_CHECK_HEADERS([rrd_client.h])
472 fi
474 dnl Feature checks.
475 build_documentation="yes"
477 have_xmlto="yes"
478 AC_PATH_PROG([XMLTO], [xmlto])
479 if test "x$XMLTO" = "x"; then
480         have_xmlto="no"
481         build_documentation="no (missing xmlto)"
482 fi
483 AC_SUBST([XMLTO])
485 have_asciidoc="yes"
486 AC_PATH_PROG([ASCIIDOC], [asciidoc])
487 if test "x$ASCIIDOC" = "x"; then
488        have_asciidoc="no"
489        build_documentation="no (missing asciidoc)"
490 fi
491 AC_SUBST([ASCIIDOC])
493 AC_ARG_VAR([ADOCFLAGS], [AsciiDoc flags])
495 integration_tests="yes"
496 AC_PATH_PROG([VALGRIND], [valgrind])
497 if test "x$VALGRIND" = "x"; then
498         integration_tests="no (missing valgrind)"
499 fi
500 AM_CONDITIONAL([INTEGRATION_TESTING], test "x$integration_tests" = "xyes")
502 dnl Plugin checks.
503 puppet_storeconfigs_default=$with_libdbi
504 if test "x$puppet_storeconfigs_default" != "xyes"; then
505         puppet_storeconfigs_default="no (requires libdbi)"
506 fi
507 rrdtool_default=$have_librrd
508 if test "x$rrdtool_default" != "xyes"; then
509         rrdtool_default="no (required librrd)"
510 fi
512 m4_divert_once([HELP_ENABLE], [
513 Backends:])
515 AC_SDB_PLUGIN_INIT
516 AC_SDB_PLUGIN([collectd-unixsock], [yes],
517                 [backend accessing the system statistics collection daemon])
518 AC_SDB_PLUGIN([mk-livestatus], [yes],
519                 [backend accessing Nagios/Icinga/Shinken using MK Livestatus])
520 AC_SDB_PLUGIN([puppet-storeconfigs], [$puppet_storeconfigs_default],
521                 [backend accessing the Puppet stored configuration database])
523 m4_divert_once([HELP_ENABLE], [
524 Time-series fetchers:])
525 AC_SDB_PLUGIN([timeseries-rrdtool], [$rrdtool_default],
526                 [fetch time-series data from RRD files])
528 m4_divert_once([HELP_ENABLE], [
529 Plugins:])
531 AC_SDB_PLUGIN([cname-dns], [yes],
532                 [canonicalize hostnames by querying DNS])
533 AC_SDB_PLUGIN([syslog], [yes],
534                 [plugin logging to syslog])
536 AM_CONDITIONAL([BUILD_DOCUMENTATION], test "x$build_documentation" = "xyes")
537 AM_CONDITIONAL([UNIT_TESTING], test "x$unit_tests" = "xyes")
539 AC_CONFIG_FILES([Makefile doc/Makefile src/Makefile
540                 src/liboconfig/Makefile t/Makefile])
541 AC_OUTPUT
543 BUILD_DATE="`date --utc '+%F %T'` (UTC)"
545 AC_MSG_RESULT()
546 AC_MSG_RESULT([$PACKAGE_NAME has been configured successfully.])
547 AC_MSG_RESULT()
548 AC_MSG_RESULT([Run 'make' to compile the software and use 'make install' to])
549 AC_MSG_RESULT([install the package into $prefix.])
550 AC_MSG_RESULT()
551 AC_MSG_RESULT([Configuration summary:])
552 AC_MSG_RESULT()
553 AC_MSG_RESULT([  package version: $PACKAGE_VERSION])
554 AC_MSG_RESULT([  build date: $BUILD_DATE])
555 AC_MSG_RESULT()
556 AC_MSG_RESULT([  Tools:])
557 AC_MSG_RESULT([    AsciiDoc: . . . . . . . . . $have_asciidoc])
558 AC_MSG_RESULT([    xmlto:  . . . . . . . . . . $have_xmlto])
559 AC_MSG_RESULT()
560 AC_MSG_RESULT([  Features:])
561 AC_MSG_RESULT([    documentation:  . . . . . . $build_documentation])
562 AC_MSG_RESULT([    unit testing: . . . . . . . $unit_tests])
563 AC_MSG_RESULT([      stdio mocking:  . . . . . $have_fopencookie])
564 AC_MSG_RESULT([    coverage testing: . . . . . $enable_gcov])
565 AC_MSG_RESULT([    integration testing:  . . . $integration_tests])
566 AC_MSG_RESULT([    profiling:  . . . . . . . . $enable_gprof])
567 AC_MSG_RESULT()
568 AC_MSG_RESULT([  Libraries:])
569 AC_MSG_RESULT([    libdbi: . . . . . . . . . . $with_libdbi])
570 AC_MSG_RESULT([    libedit:  . . . . . . . . . $have_libedit])
571 AC_MSG_RESULT([    libreadline:  . . . . . . . $have_libreadline])
572 AC_MSG_RESULT([    librrd: . . . . . . . . . . $have_librrd])
573 AC_MSG_RESULT()
574 AC_MSG_RESULT([  Backends:])
575 AC_MSG_RESULT([    collectd::unixsock: . . . . $enable_collectd_unixsock])
576 AC_MSG_RESULT([    mk-livestatus:  . . . . . . $enable_mk_livestatus])
577 AC_MSG_RESULT([    puppet::storeconfigs: . . . $enable_puppet_storeconfigs])
578 AC_MSG_RESULT()
579 AC_MSG_RESULT([  Time-series fetchers:])
580 AC_MSG_RESULT([    rrdtool:  . . . . . . . . . $enable_timeseries_rrdtool])
581 AC_MSG_RESULT()
582 AC_MSG_RESULT([  Plugins:])
583 AC_MSG_RESULT([    cname::dns: . . . . . . . . $enable_cname_dns])
584 AC_MSG_RESULT([    syslog: . . . . . . . . . . $enable_syslog])
585 AC_MSG_RESULT()
586 AC_MSG_RESULT([This package is maintained by $PACKAGE_MAINTAINER.])
587 AC_MSG_RESULT([Please report bugs to $PACKAGE_BUGREPORT.])
588 AC_MSG_RESULT()
590 dnl vim: set tw=78 sw=4 ts=4 noexpandtab :