X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=configure.ac;h=e395d5f1b0408e600e8f483277a6fff0c81bdf23;hp=7b8d801dbb04c3b10c0b373074e18e781e94d448;hb=a01edf46f26cbb0e9bdba87d781c6015545a6463;hpb=f583e8aebf51c49bd03d2dc4a8ecc9d5d5a3b3ef diff --git a/configure.ac b/configure.ac index 7b8d801..e395d5f 100644 --- a/configure.ac +++ b/configure.ac @@ -27,10 +27,10 @@ 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 DataBase],[m4_esyscmd(./version-gen.sh)], - [sh@tokkee.org], + [sysdb@sysdb.io], [sysdb], - [http://git.tokkee.org/?p=sysdb.git]) -PACKAGE_MAINTAINER="Sebastian 'tokkee' Harl " + [https://sysdb.io/]) +PACKAGE_MAINTAINER="Sebastian 'tokkee' Harl " AC_DEFINE_UNQUOTED([PACKAGE_MAINTAINER], ["$PACKAGE_MAINTAINER"], [Define to the name of the maintainer of this package.]) AC_CONFIG_SRCDIR([src/sysdb.c]) @@ -48,7 +48,7 @@ AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET -AM_PROG_AR +m4_ifdef([AM_PROG_AR],[AM_PROG_AR],[]) AM_PROG_CC_C_O AM_PROG_LEX @@ -248,6 +248,44 @@ fi; fi AC_SUBST([COVERAGE_CFLAGS]) AC_SUBST([COVERAGE_LDFLAGS]) +AC_ARG_ENABLE([gprof], + AS_HELP_STRING([--enable-gprof], + [Gprof profiling @<:@default=no@:>@]), + [enable_gprof="$enableval"], + [enable_gprof="no"]) + +PROFILING_CFLAGS="" +PROFILING_LDFLAGS="" +if test "x$enable_gprof" = "xyes"; then + PROFILING_CFLAGS="-O0" + profiling_flag_have_problem="no" + + AC_MSG_CHECKING([whether $CC accepts -pg]) + if test_cc_flags -pg; then + PROFILING_CFLAGS="$PROFILING_CFLAGS -pg" + PROFILING_LDFLAGS="$PROFILING_LDFLAGS -pg" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + profiling_flag_have_problem="yes" + fi + + for flag in -fprofile-arcs; do + AC_MSG_CHECKING([whether $CC accepts $flag]) + if test_cc_flags $flag; then + PROFILING_CFLAGS="$PROFILING_CFLAGS $flag" + AC_MSG_RESULT([yes]) + fi + # else: this is not a serious problem + done + + if test "x$profiling_flag_have_problem" != "xno"; then + AC_MSG_WARN([Some profiling flags are not supported by your compiler!]) + fi +fi +AC_SUBST([PROFILING_CFLAGS]) +AC_SUBST([PROFILING_LDFLAGS]) + m4_divert_once([HELP_ENABLE], [ Build dependencies:]) @@ -371,6 +409,23 @@ AC_SUBST([READLINE_LIBS]) AC_SUBST([READLINE_CFLAGS]) AM_CONDITIONAL([BUILD_CLIENT], test "x$readline_support" != "no") +AC_ARG_WITH([librrd], + [AS_HELP_STRING([--with-librrd], [librrd support (default: auto)])], + [with_librrd="$withval"], + [with_librrd="yes"]) +if test "x$with_librrd" = "xyes" || test "x$with_librrd" = "xauto"; then + PKG_CHECK_MODULES([RRD], [librrd], + [have_librrd="yes"], [have_librrd="no"]) +else if test "x$with_librrd" = "xno"; then + have_librrd="$with_librrd (disabled on command-line)" +else + AC_MSG_ERROR([Invalid value for option --with-librrd=$with_librrd (expected "yes", "no", or "auto")]) +fi; fi + +if test "x$have_librrd" = "xyes"; then + AC_CHECK_HEADERS([rrd_client.h]) +fi + dnl Feature checks. build_documentation="yes" @@ -380,27 +435,22 @@ if test "x$XMLTO" = "x"; then have_xmlto="no" build_documentation="no (missing xmlto)" fi +AC_SUBST([XMLTO]) -have_xsltproc="yes" -AC_PATH_PROG([XSLTPROC], [xsltproc]) -if test "x$XSLTPROC" = "x"; then - have_xsltproc="no" - build_documentation="no (missing xsltproc)" +have_asciidoc="yes" +AC_PATH_PROG([ASCIIDOC], [asciidoc]) +if test "x$ASCIIDOC" = "x"; then + have_asciidoc="no" + build_documentation="no (missing asciidoc)" fi +AC_SUBST([ASCIIDOC]) -have_a2x="yes" -AC_PATH_PROG([A2X], [a2x]) -if test "x$A2X" = "x"; then - have_a2x="no" - build_documentation="no (missing a2x)" -fi -AC_SUBST([A2X]) +AC_ARG_VAR([ADOCFLAGS], [AsciiDoc flags]) integration_tests="yes" AC_PATH_PROG([VALGRIND], [valgrind]) -AC_PATH_PROG([CHRPATH], [chrpath]) -if test "x$VALGRIND" = "x" || test "x$CHRPATH" = "x"; then - integration_tests="no (missing valgrind and/or chrpath)" +if test "x$VALGRIND" = "x"; then + integration_tests="no (missing valgrind)" fi AM_CONDITIONAL([INTEGRATION_TESTING], test "x$integration_tests" = "xyes") @@ -409,18 +459,27 @@ puppet_storeconfigs_default=$with_libdbi if test "x$puppet_storeconfigs_default" != "xyes"; then puppet_storeconfigs_default="no (requires libdbi)" fi +rrdtool_default=$have_librrd +if test "x$rrdtool_default" != "xyes"; then + rrdtool_default="no (required librrd)" +fi m4_divert_once([HELP_ENABLE], [ Backends:]) AC_SDB_PLUGIN_INIT -AC_SDB_PLUGIN([collectd], [yes], +AC_SDB_PLUGIN([collectd-unixsock], [yes], [backend accessing the system statistics collection daemon]) 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]) +m4_divert_once([HELP_ENABLE], [ +Time-series fetchers:]) +AC_SDB_PLUGIN([timeseries-rrdtool], [$rrdtool_default], + [fetch time-series data from RRD files]) + m4_divert_once([HELP_ENABLE], [ Plugins:]) @@ -450,8 +509,8 @@ AC_MSG_RESULT([ package version: $PACKAGE_VERSION]) AC_MSG_RESULT([ build date: $BUILD_DATE]) AC_MSG_RESULT() AC_MSG_RESULT([ Tools:]) -AC_MSG_RESULT([ AsciiDoc (a2x): . . . . . . $have_a2x]) -AC_MSG_RESULT([ xmlto / xsltproc: . . . . . $have_xmlto / $have_xsltproc]) +AC_MSG_RESULT([ AsciiDoc: . . . . . . . . . $have_asciidoc]) +AC_MSG_RESULT([ xmlto: . . . . . . . . . . $have_xmlto]) AC_MSG_RESULT() AC_MSG_RESULT([ Features:]) AC_MSG_RESULT([ documentation: . . . . . . $build_documentation]) @@ -459,16 +518,21 @@ AC_MSG_RESULT([ unit testing: . . . . . . . $unit_tests]) AC_MSG_RESULT([ stdio mocking: . . . . . $have_fopencookie]) AC_MSG_RESULT([ coverage testing: . . . . . $enable_gcov]) AC_MSG_RESULT([ integration testing: . . . $integration_tests]) +AC_MSG_RESULT([ profiling: . . . . . . . . $enable_gprof]) AC_MSG_RESULT() AC_MSG_RESULT([ Libraries:]) AC_MSG_RESULT([ libdbi: . . . . . . . . . . $with_libdbi]) AC_MSG_RESULT([ libedit: . . . . . . . . . $have_libedit]) AC_MSG_RESULT([ libreadline: . . . . . . . $have_libreadline]) +AC_MSG_RESULT([ librrd: . . . . . . . . . . $have_librrd]) AC_MSG_RESULT() AC_MSG_RESULT([ Backends:]) -AC_MSG_RESULT([ collectd: . . . . . . . . . $enable_collectd]) +AC_MSG_RESULT([ collectd::unixsock: . . . . $enable_collectd_unixsock]) AC_MSG_RESULT([ mk-livestatus: . . . . . . $enable_mk_livestatus]) -AC_MSG_RESULT([ puppet-storeconfigs: . . . $enable_puppet_storeconfigs]) +AC_MSG_RESULT([ puppet::storeconfigs: . . . $enable_puppet_storeconfigs]) +AC_MSG_RESULT() +AC_MSG_RESULT([ Time-series fetchers:]) +AC_MSG_RESULT([ rrdtool: . . . . . . . . . $enable_timeseries_rrdtool]) AC_MSG_RESULT() AC_MSG_RESULT([ Plugins:]) AC_MSG_RESULT([ cname::dns: . . . . . . . . $enable_cname_dns])