X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.ac;h=b4ef3d5b72e602c061ee81f5f655b494e2209e05;hb=8858811d487e8edc576ff7b0216d663949055a66;hp=b6a47dcff4b746bea12352f51aa3098fde5c3a42;hpb=bdcefed10f0dc5add6d61d267c1d773d181c6368;p=collectd.git diff --git a/configure.ac b/configure.ac index b6a47dcf..b4ef3d5b 100644 --- a/configure.ac +++ b/configure.ac @@ -11,6 +11,8 @@ dnl we don't really need the 'u' even in older toolchains. Then there is dnl older libtool, which spelled it AR_FLAGS m4_divert_text([DEFAULTS], [: "${ARFLAGS=cr} ${AR_FLAGS=cr}"]) +m4_include([m4/ax_compare_version.m4]) + LT_INIT([dlopen disable-static]) AM_INIT_AUTOMAKE([subdir-objects tar-pax dist-bzip2 no-dist-gzip foreign]) @@ -1039,6 +1041,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 @@ -1313,8 +1401,8 @@ if test "x$fp_layout_type" = "xunknown"; then && (c[2] == 0xc0) && (c[3] == 0xc7) && (c[4] == 0x43) && (c[5] == 0x2b) && (c[6] == 0x1f) && (c[7] == 0x5b)) - return (0); - return (1); + return 0; + return 1; ]] ) ], @@ -1368,8 +1456,8 @@ if test "x$fp_layout_type" = "xunknown"; then && (c[2] == 0xc0) && (c[3] == 0xc7) && (c[4] == 0x43) && (c[5] == 0x2b) && (c[6] == 0x1f) && (c[7] == 0x5b)) - return (0); - return (1); + return 0; + return 1; ]] ) ], @@ -1417,8 +1505,8 @@ if test "x$fp_layout_type" = "xunknown"; then && (c[2] == 0xc0) && (c[3] == 0xc7) && (c[4] == 0x43) && (c[5] == 0x2b) && (c[6] == 0x1f) && (c[7] == 0x5b)) - return (0); - return (1); + return 0; + return 1; ]] ) ], @@ -2775,6 +2863,9 @@ AC_ARG_WITH([java], [with_java="yes"] ) +AX_COMPARE_VERSION([$am__api_version],[lt],[1.12], + [JAVA_TIMESTAMP_FILE="classdist_noinst.stamp"], + [JAVA_TIMESTAMP_FILE="classnoinst.stamp"]) if test "x$with_java" = "xyes"; then if test -d "$with_java_home"; then AC_MSG_CHECKING([for jni.h]) @@ -2911,6 +3002,7 @@ AC_SUBST([JAVA_CPPFLAGS]) AC_SUBST([JAVA_CFLAGS]) AC_SUBST([JAVA_LDFLAGS]) AC_SUBST([JAVA_LIBS]) +AC_SUBST([JAVA_TIMESTAMP_FILE]) AM_CONDITIONAL([BUILD_WITH_JAVA], [test "x$with_java" = "xyes"]) # }}} @@ -3310,52 +3402,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]) # }}} @@ -3557,7 +3659,7 @@ if test "x$with_libmnl" = "xyes"; then ]], [[ int retval = TCA_STATS2; - return (retval); + return retval; ]] ) ], @@ -3577,7 +3679,7 @@ if test "x$with_libmnl" = "xyes"; then ]], [[ int retval = TCA_STATS; - return (retval); + return retval; ]] ) ], @@ -3667,6 +3769,7 @@ AC_SUBST([LIBNETAPP_LIBS]) # }}} # --with-libnetsnmp {{{ +with_libnetsnmpagent="no" AC_ARG_WITH(libnetsnmp, [AS_HELP_STRING([--with-libnetsnmp@<:@=PREFIX@:>@], [Path to the Net-SNMPD library.])], [ if test "x$withval" = "xno" @@ -3679,6 +3782,7 @@ AC_ARG_WITH(libnetsnmp, [AS_HELP_STRING([--with-libnetsnmp@<:@=PREFIX@:>@], [Pat with_libnetsnmp_cppflags="-I$withval/include" with_libnetsnmp_ldflags="-I$withval/lib" with_libnetsnmp="yes" + with_libnetsnmpagent="yes" fi; fi ], [with_libnetsnmp="yes"]) @@ -3691,6 +3795,10 @@ then [with_libnetsnmp="yes"], [with_libnetsnmp="no (net-snmp/net-snmp-config.h not found)"] ) + AC_CHECK_HEADERS(net-snmp/agent/agent_module_config.h, + [], + [with_libnetsnmpagent="no (net-snmp/agent/agent_module_config.h not found)"] + ) CPPFLAGS="$SAVE_CPPFLAGS" fi @@ -3704,6 +3812,11 @@ then [with_libnetsnmp="no (libnetsnmp not found)"], [$with_snmp_libs]) + AC_CHECK_LIB(netsnmpagent, init_agent, + [with_libnetsnmpagent="yes"], + [with_libnetsnmpagent="no (libnetsnmpagent not found)"], + [$with_snmp_libs]) + LDFLAGS="$SAVE_LDFLAGS" fi if test "x$with_libnetsnmp" = "xyes" @@ -3712,6 +3825,10 @@ then BUILD_WITH_LIBNETSNMP_LDFLAGS="$with_libnetsnmp_ldflags" BUILD_WITH_LIBNETSNMP_LIBS="-lnetsnmp" fi +if test "x$with_libnetsnmpagent" = "xyes" +then + BUILD_WITH_LIBNETSNMP_LIBS+=" -lnetsnmpagent" +fi AC_SUBST(BUILD_WITH_LIBNETSNMP_CPPFLAGS) AC_SUBST(BUILD_WITH_LIBNETSNMP_LDFLAGS) AC_SUBST(BUILD_WITH_LIBNETSNMP_LIBS) @@ -5211,8 +5328,7 @@ if test "x$with_libupsclient" = "xyes"; then ) AC_CHECK_LIB([upsclient], [upscli_init], - [AC_DEFINE([WITH_UPSCLIENT_27], [1], [At least version 2-7])], - [] + [AC_DEFINE([HAVE_UPSCLI_INIT], [1], [Define when upscli_init() (since version 2-7) is available.])] ) LDFLAGS="$SAVE_LDFLAGS" @@ -5940,6 +6056,7 @@ plugin_processes="no" plugin_protocols="no" plugin_python="no" plugin_serial="no" +plugin_snmp_agent="no" plugin_smart="no" plugin_swap="no" plugin_tape="no" @@ -6233,6 +6350,10 @@ if test "x$with_kvm_getswapinfo" = "xyes"; then plugin_swap="yes" fi +if test "x$with_libnetsnmp" = "xyes" && test "x$with_libnetsnmpagent" = "xyes"; then + plugin_snmp_agent="yes" +fi + if test "x$have_swapctl" = "xyes" && test "x$c_cv_have_swapctl_two_args" = "xyes"; then plugin_swap="yes" fi @@ -6395,6 +6516,7 @@ AC_PLUGIN([serial], [$plugin_serial], [serial port traffic AC_PLUGIN([sigrok], [$with_libsigrok], [sigrok acquisition sources]) AC_PLUGIN([smart], [$plugin_smart], [SMART statistics]) AC_PLUGIN([snmp], [$with_libnetsnmp], [SNMP querying plugin]) +AC_PLUGIN([snmp_agent], [$plugin_snmp_agent], [SNMP agent plugin]) AC_PLUGIN([statsd], [yes], [StatsD plugin]) AC_PLUGIN([swap], [$plugin_swap], [Swap usage statistics]) AC_PLUGIN([syslog], [$have_syslog], [Syslog logging plugin]) @@ -6821,6 +6943,7 @@ AC_MSG_RESULT([ serial . . . . . . . $enable_serial]) AC_MSG_RESULT([ sigrok . . . . . . . $enable_sigrok]) AC_MSG_RESULT([ smart . . . . . . . . $enable_smart]) AC_MSG_RESULT([ snmp . . . . . . . . $enable_snmp]) +AC_MSG_RESULT([ snmp_agent . . . . . $enable_snmp_agent]) AC_MSG_RESULT([ statsd . . . . . . . $enable_statsd]) AC_MSG_RESULT([ swap . . . . . . . . $enable_swap]) AC_MSG_RESULT([ syslog . . . . . . . $enable_syslog])