X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.ac;h=3962fc999a47797f1eb21b282d0e7a630a715b54;hb=17e1d8131433d5c737a568c9e85df735c6bcd7b0;hp=2d4e9dc72958837553235cf5613556be2eaf7c7a;hpb=921739d3b5e0ba949e7633b21d7f5a7d2022c120;p=collectd.git diff --git a/configure.ac b/configure.ac index 2d4e9dc7..3962fc99 100644 --- a/configure.ac +++ b/configure.ac @@ -585,14 +585,22 @@ if test "x$ac_system" = "xLinux"; then ) if test "x$have_capability" = "xyes"; then - AC_CHECK_LIB([cap], [cap_get_bound], + AC_CHECK_LIB([cap], [cap_get_proc], [have_capability="yes"], - [have_capability="no (cap_get_bound() not found)"] + [have_capability="no (cap_get_proc() not found)"] ) fi if test "x$have_capability" = "xyes"; then - AC_DEFINE([HAVE_CAPABILITY], [1], [Define to 1 if you have cap_get_bound() (-lcap).]) + AC_CHECK_DECL([CAP_IS_SUPPORTED], + [have_capability="yes"], + [have_capability="no (CAP_IS_SUPPORTED not found)"], + [[#include ]] + ) + fi + + if test "x$have_capability" = "xyes"; then + AC_DEFINE([HAVE_CAPABILITY], [1], [Define to 1 if you have cap_get_proc() (-lcap).]) fi else @@ -1031,6 +1039,92 @@ if test "x$GCC" = "xyes"; then fi # }}} Check for strptime +# Check for timegm {{{ + +# These checks need -Werror because implicit function declarations are only a +# warning ... +SAVE_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -Werror" + +AC_CACHE_CHECK([for timegm], + [c_cv_have_timegm], + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( +[[[ +#if STRPTIME_NEEDS_STANDARDS +# ifndef _ISOC99_SOURCE +# define _ISOC99_SOURCE 1 +# endif +# ifndef _POSIX_C_SOURCE +# define _POSIX_C_SOURCE 200112L +# endif +# ifndef _XOPEN_SOURCE +# define _XOPEN_SOURCE 500 +# endif +#endif +#include +]]], +[[[ + time_t t = timegm(&(struct tm){0}); + if (t == ((time_t) -1)) { + return 1; + } +]]] + )], + [c_cv_have_timegm="yes"], + [c_cv_have_timegm="no"] + ) +) + +if test "x$c_cv_have_timegm" != "xyes" +then + AC_CACHE_CHECK([for timegm with _BSD_SOURCE], + [c_cv_have_timegm_bsd], + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( +[[[ +#if STRPTIME_NEEDS_STANDARDS +# ifndef _ISOC99_SOURCE +# define _ISOC99_SOURCE 1 +# endif +# ifndef _POSIX_C_SOURCE +# define _POSIX_C_SOURCE 200112L +# endif +# ifndef _XOPEN_SOURCE +# define _XOPEN_SOURCE 500 +# endif +#endif +#ifndef _BSD_SOURCE +# define _BSD_SOURCE 1 +#endif +#include +]]], +[[[ + time_t t = timegm(&(struct tm){0}); + if (t == ((time_t) -1)) { + return 1; + } +]]] + )], + [c_cv_have_timegm_bsd="yes" + c_cv_have_timegm="yes"], + [c_cv_have_timegm_bsd="no"] + ) + ) +fi + +if test "x$c_cv_have_timegm" = "xyes" +then + AC_DEFINE(HAVE_TIMEGM, 1, [Define if the timegm(3) function is available.]) + if test "x$c_cv_have_timegm_bsd" = "xyes" + then + AC_DEFINE(TIMEGM_NEEDS_BSD, 1, [Set to true if timegm is only exported in BSD mode.]) + fi +fi + +CFLAGS="$SAVE_CFLAGS" +# }}} Check for timegm + AC_MSG_CHECKING([for sysctl kern.cp_times]) if test -x /sbin/sysctl; then /sbin/sysctl kern.cp_times >/dev/null 2>&1 @@ -2700,62 +2794,46 @@ AC_ARG_VAR([LIBDPDK_LDFLAGS], [Linker flags for libdpdk]) AC_ARG_WITH([libdpdk], [AS_HELP_STRING([--without-libdpdk], [Disable libdpdk.])]) -rte_version_major="" -rte_version_minor="" -if test "x$with_libdpdk" != "xno" -then - if test "x$LIBDPDK_CPPFLAGS" = "x" - then - LIBDPDK_CPPFLAGS="-I/usr/include/dpdk" - fi - SAVE_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$LIBDPDK_CPPFLAGS $CPPFLAGS" - AC_CHECK_HEADERS([rte_config.h], - [ +if test "x$with_libdpdk" != "xno"; then + if test "x$LIBDPDK_CPPFLAGS" = "x"; then + LIBDPDK_CPPFLAGS="-I/usr/include/dpdk" + fi + SAVE_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$LIBDPDK_CPPFLAGS $CPPFLAGS" + AC_CHECK_HEADERS([rte_config.h], + [ with_libdpdk="yes" - AC_RUN_IFELSE( - [ - AC_LANG_PROGRAM( - [[ - #include - ]], - [[ - return (RTE_VER_YEAR & 0xFF) - ]] - ) - ], - [rte_version_major=0], - [rte_version_major=$?] - ) - AC_RUN_IFELSE( + AC_COMPILE_IFELSE( [ AC_LANG_PROGRAM( [[ #include + #if RTE_VERSION < RTE_VERSION_NUM(16,7,0,0) + #error "required DPDK >= 16.07" + #endif ]], [[ - return (RTE_VER_MONTH & 0xFF) + return 0; ]] ) ], - [rte_version_minor=0], - [rte_version_minor=$?] + [dpdk_keepalive="yes"], + [dpdk_keepalive="no (DPDK version < 16.07)"] ) ], - [with_libdpdk="no (rte_config.h not found)"] - ) - CPPFLAGS="$SAVE_CPPFLAGS" + [with_libdpdk="no (rte_config.h not found)"] + ) + CPPFLAGS="$SAVE_CPPFLAGS" fi -if test "x$with_libdpdk" = "xyes" -then - SAVE_LDFLAGS="$LDFLAGS" - LDFLAGS="$LIBDPDK_LDFLAGS $LDFLAGS" - AC_CHECK_LIB([dpdk], [rte_eal_init], - [with_libdpdk="yes"], - [with_libdpdk="no (symbol 'rte_eal_init' not found)"] - ) - LDFLAGS="$SAVE_LDFLAGS" +if test "x$with_libdpdk" = "xyes"; then + SAVE_LDFLAGS="$LDFLAGS" + LDFLAGS="$LIBDPDK_LDFLAGS $LDFLAGS" + AC_CHECK_LIB([dpdk], [rte_eal_init], + [with_libdpdk="yes"], + [with_libdpdk="no (symbol 'rte_eal_init' not found)"] + ) + LDFLAGS="$SAVE_LDFLAGS" fi # }}} @@ -3318,52 +3396,62 @@ AC_ARG_WITH([libmongoc], else if test "x$withval" = "xno"; then with_libmongoc="no" else - with_libmongoc="yes" - LIBMONGOC_CPPFLAGS="$LIBMONGOC_CPPFLAGS -I$withval/include" - LIBMONGOC_LDFLAGS="$LIBMONGOC_LDFLAGS -L$withval/lib" + with_libmongoc="no" fi; fi ], [with_libmongoc="yes"] ) -SAVE_CPPFLAGS="$CPPFLAGS" -SAVE_LDFLAGS="$LDFLAGS" - -CPPFLAGS="$CPPFLAGS $LIBMONGOC_CPPFLAGS" -LDFLAGS="$LDFLAGS $LIBMONGOC_LDFLAGS" +if test "x$with_libmongoc" = "xyes"; then + PKG_CHECK_MODULES([LIBMONGOC], [libmongoc-1.0], + [with_libmongoc="yes"], + [with_libmongoc="no (pkg-config could not find libmongoc)"] + ) +fi if test "x$with_libmongoc" = "xyes"; then - if test "x$LIBMONGOC_CPPFLAGS" != "x"; then - AC_MSG_NOTICE([libmongoc CPPFLAGS: $LIBMONGOC_CPPFLAGS]) + SAVE_CPPFLAGS="$CPPFLAGS" + + CPPFLAGS="$CPPFLAGS $LIBMONGOC_CFLAGS" + + if test "x$CPPFLAGS" != "x"; then + AC_MSG_NOTICE([libmongoc CPPFLAGS: $LIBMONGOC_CFLAGS]) fi - AC_CHECK_HEADERS([mongo.h], + AC_CHECK_HEADERS([mongoc.h], [with_libmongoc="yes"], - [with_libmongoc="no ('mongo.h' not found)"], - [[#define MONGO_HAVE_STDINT 1]] + [with_libmongoc="no ('mongoc.h' not found)"] ) + + CPPFLAGS="$SAVE_CPPFLAGS" fi if test "x$with_libmongoc" = "xyes"; then + SAVE_CPPFLAGS="$CPPFLAGS" + SAVE_LDFLAGS="$LDFLAGS" + + CPPFLAGS="$CPPFLAGS $LIBMONGOC_CFLAGS" + LDFLAGS="$LDFLAGS $LIBMONGOC_LDFLAGS" + if test "x$LIBMONGOC_LDFLAGS" != "x"; then AC_MSG_NOTICE([libmongoc LDFLAGS: $LIBMONGOC_LDFLAGS]) fi - AC_CHECK_LIB([mongoc], [mongo_run_command], + AC_CHECK_LIB([mongoc-1.0], [mongoc_init], [with_libmongoc="yes"], - [with_libmongoc="no (symbol 'mongo_run_command' not found)"] + [with_libmongoc="no (symbol 'mongoc_init' not found)"] ) -fi -CPPFLAGS="$SAVE_CPPFLAGS" -LDFLAGS="$SAVE_LDFLAGS" + CPPFLAGS="$SAVE_CPPFLAGS" + LDFLAGS="$SAVE_LDFLAGS" +fi if test "x$with_libmongoc" = "xyes"; then - BUILD_WITH_LIBMONGOC_CPPFLAGS="$LIBMONGOC_CPPFLAGS" + BUILD_WITH_LIBMONGOC_CFLAGS="$LIBMONGOC_CFLAGS" BUILD_WITH_LIBMONGOC_LDFLAGS="$LIBMONGOC_LDFLAGS" fi -AC_SUBST([BUILD_WITH_LIBMONGOC_CPPFLAGS]) +AC_SUBST([BUILD_WITH_LIBMONGOC_CFLAGS]) AC_SUBST([BUILD_WITH_LIBMONGOC_LDFLAGS]) # }}} @@ -5218,6 +5306,10 @@ if test "x$with_libupsclient" = "xyes"; then [with_libupsclient="no (symbol upscli_connect not found)"] ) + AC_CHECK_LIB([upsclient], [upscli_init], + [AC_DEFINE([HAVE_UPSCLI_INIT], [1], [Define when upscli_init() (since version 2-7) is available.])] + ) + LDFLAGS="$SAVE_LDFLAGS" fi @@ -5936,6 +6028,7 @@ plugin_multimeter="no" plugin_nfs="no" plugin_numa="no" plugin_ovs_events="no" +plugin_ovs_stats="no" plugin_perl="no" plugin_pinba="no" plugin_processes="no" @@ -6007,6 +6100,11 @@ if test "x$ac_system" = "xLinux"; then if test "x$c_cv_have_clock_boottime_monotonic" = "xyes"; then plugin_cpusleep="yes" fi + + if test "x$with_libyajl" = "xyes" && test "x$with_libyajl2" = "xyes"; then + plugin_ovs_events="yes" + plugin_ovs_stats="yes" + fi fi if test "x$ac_system" = "xOpenBSD"; then @@ -6183,10 +6281,6 @@ if test "x$with_libyajl" = "xyes"; then plugin_log_logstash="yes" fi -if test "x$with_libyajl" = "xyes" && test "x$with_libyajl2" = "xyes"; then - plugin_ovs_events="yes" -fi - if test "x$with_libperl" = "xyes" && test "x$c_cv_have_perl_ithreads" = "xyes"; then plugin_perl="yes" fi @@ -6264,14 +6358,7 @@ fi if test "x$with_libdpdk" = "xyes" then - plugin_dpdkevents="no (DPDK version < 16.07)" - if test $rte_version_major -eq 16 - then - if test $rte_version_minor -ge 7 - then - plugin_dpdkevents="yes" - fi - fi + plugin_dpdkevents="$dpdk_keepalive" plugin_dpdkstat="yes" fi @@ -6383,6 +6470,7 @@ AC_PLUGIN([openldap], [$with_libldap], [OpenLDAP statistics AC_PLUGIN([openvpn], [yes], [OpenVPN client statistics]) AC_PLUGIN([oracle], [$with_oracle], [Oracle plugin]) AC_PLUGIN([ovs_events], [$plugin_ovs_events], [OVS events plugin]) +AC_PLUGIN([ovs_stats], [$plugin_ovs_stats], [OVS statistics plugin]) AC_PLUGIN([perl], [$plugin_perl], [Embed a Perl interpreter]) AC_PLUGIN([pf], [$have_net_pfvar_h], [BSD packet filter (PF) statistics]) # FIXME: Check for libevent, too. @@ -6809,6 +6897,7 @@ AC_MSG_RESULT([ openldap . . . . . . $enable_openldap]) AC_MSG_RESULT([ openvpn . . . . . . . $enable_openvpn]) AC_MSG_RESULT([ oracle . . . . . . . $enable_oracle]) AC_MSG_RESULT([ ovs_events . . . . . $enable_ovs_events]) +AC_MSG_RESULT([ ovs_stats . . . . . . $enable_ovs_stats]) AC_MSG_RESULT([ perl . . . . . . . . $enable_perl]) AC_MSG_RESULT([ pf . . . . . . . . . $enable_pf]) AC_MSG_RESULT([ pinba . . . . . . . . $enable_pinba])