X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.ac;h=993e319e7a7907241897b6a10e135646b3a684d0;hb=3ab932283678297805292ed4bbbcda36763e4608;hp=5d3fcaec3d808acbaabd09ad3eeca296a3fe581e;hpb=c442c66d9e98852f1b8eaa1b816d6ee7f84d0342;p=collectd.git diff --git a/configure.ac b/configure.ac index 5d3fcaec..993e319e 100644 --- a/configure.ac +++ b/configure.ac @@ -214,7 +214,54 @@ AC_HEADER_SYS_WAIT AC_HEADER_DIRENT AC_HEADER_STDBOOL -AC_CHECK_HEADERS(stdio.h errno.h math.h stdarg.h syslog.h fcntl.h signal.h assert.h sys/types.h sys/socket.h sys/select.h poll.h netdb.h arpa/inet.h sys/resource.h sys/param.h kstat.h regex.h sys/ioctl.h endian.h sys/isa_defs.h fnmatch.h libgen.h) +AC_CHECK_HEADERS([ \ + arpa/inet.h \ + assert.h \ + ctype.h \ + endian.h \ + errno.h \ + fcntl.h \ + fnmatch.h \ + fs_info.h \ + fshelp.h \ + grp.h \ + kstat.h \ + kvm.h \ + libgen.h \ + limits.h \ + locale.h \ + math.h \ + mntent.h \ + mnttab.h \ + netdb.h \ + paths.h \ + poll.h \ + pthread_np.h \ + pwd.h \ + regex.h \ + signal.h \ + stdarg.h \ + stdio.h \ + sys/fs_types.h \ + sys/fstyp.h \ + sys/ioctl.h \ + sys/isa_defs.h \ + sys/mntent.h \ + sys/mnttab.h \ + sys/param.h \ + sys/resource.h \ + sys/select.h \ + sys/socket.h \ + sys/statfs.h \ + sys/statvfs.h \ + sys/types.h \ + sys/un.h \ + sys/vfs.h \ + sys/vfstab.h \ + sys/vmmeter.h \ + syslog.h \ + wordexp.h \ +]) # For entropy plugin on newer NetBSD AC_CHECK_HEADERS(sys/rndio.h, [], [], @@ -658,31 +705,6 @@ AC_CHECK_HEADERS(linux/un.h, [], [], #endif ]) -AC_CHECK_HEADERS([ \ - ctype.h \ - fs_info.h \ - fshelp.h \ - grp.h \ - kvm.h \ - limits.h \ - locale.h \ - mntent.h \ - mnttab.h \ - paths.h \ - pwd.h \ - sys/fs_types.h \ - sys/fstyp.h \ - sys/mntent.h \ - sys/mnttab.h \ - sys/statfs.h \ - sys/statvfs.h \ - sys/un.h \ - sys/vfs.h \ - sys/vfstab.h \ - sys/vmmeter.h \ - wordexp.h \ -]) - # --enable-xfs {{{ AC_ARG_ENABLE([xfs], [AS_HELP_STRING([--enable-xfs], [xfs support in df plugin @<:@default=yes@:>@])], @@ -1662,6 +1684,45 @@ AC_CHECK_MEMBERS([kstat_io_t.nwritten, kstat_io_t.writes, kstat_io_t.nwrites, ks #endif ]) +# check for pthread_setname_np +SAVE_LDFLAGS="$LDFLAGS" +LDFLAGS="$LDFLAGS -lpthread" + +AC_MSG_CHECKING([for pthread_setname_np]) + have_pthread_setname_np="no" + AC_LINK_IFELSE([AC_LANG_PROGRAM( +[[ +#define _GNU_SOURCE +#include +]], +[[ + pthread_setname_np((pthread_t) {0}, "conftest"); +]] + )], [ + have_pthread_setname_np="yes" + AC_DEFINE(HAVE_PTHREAD_SETNAME_NP, 1, [pthread_setname_np() is available.]) + ]) + +AC_MSG_RESULT([$have_pthread_setname_np]) + +# check for pthread_set_name_np(3) (FreeBSD) +AC_MSG_CHECKING([for pthread_set_name_np]) + have_pthread_set_name_np="no" + AC_LINK_IFELSE([AC_LANG_PROGRAM( +[[ +#include +]], +[[ + pthread_set_name_np((pthread_t) {0}, "conftest"); +]] + )], [ + have_pthread_set_name_np="yes" + AC_DEFINE(HAVE_PTHREAD_SET_NAME_NP, 1, [pthread_set_name_np() is available.]) + ]) +AC_MSG_RESULT([$have_pthread_set_name_np]) + +LDFLAGS="$SAVE_LDFLAGS" + # # Checks for libraries begin here # @@ -2545,78 +2606,37 @@ fi # }}} # --with-libdpdk {{{ -AC_ARG_WITH(libdpdk, [AS_HELP_STRING([--with-libdpdk@<:@=PREFIX@:>@], [Path to the DPDK build directory.])], -[ - if test "x$withval" != "xno" && test "x$withval" != "xyes" - then - RTE_BUILD="$withval" - with_libdpdk="yes" - else - RTE_BUILD="/usr" - with_libdpdk="$withval" - fi - DPDK_INCLUDE="$RTE_BUILD/include" - DPDK_LIB_DIR="$RTE_BUILD/lib" - FOUND_DPDK=yes -], [with_libdpdk="no"]) - -if test "x$with_libdpdk" = "xyes" -then - LOCAL_DPDK_INSTALL="no" - AC_CHECK_HEADER([$DPDK_INCLUDE/rte_config.h], [LOCAL_DPDK_INSTALL=yes], - [AC_CHECK_HEADER([$DPDK_INCLUDE/dpdk/rte_config.h], - [], - [FOUND_DPDK=no], [])], []) +AC_ARG_VAR([LIBDPDK_CPPFLAGS], [Preprocessor flags for libdpdk]) +AC_ARG_VAR([LIBDPDK_LDFLAGS], [Linker flags for libdpdk]) - if test "x$LOCAL_DPDK_INSTALL" = "xno" - then - DPDK_INCLUDE=$DPDK_INCLUDE/dpdk - fi +AC_ARG_WITH([libdpdk], [AS_HELP_STRING([--without-libdpdk], [Disable libdpdk.])]) - if test "x$FOUND_DPDK" = "xno" +if test "x$with_libdpdk" != "xno" +then + if test "x$LIBDPDK_CPPFLAGS" = "x" then - AC_MSG_ERROR([libdpdk error: rte_config.h not found]) + LIBDPDK_CPPFLAGS="-I/usr/include/dpdk" fi + SAVE_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$LIBDPDK_CPPFLAGS $CPPFLAGS" + AC_CHECK_HEADERS([rte_config.h], + [with_libdpdk="yes"], + [with_libdpdk="no (rte_config.h not found)"] + ) + CPPFLAGS="$SAVE_CPPFLAGS" fi if test "x$with_libdpdk" = "xyes" then SAVE_LDFLAGS="$LDFLAGS" - - if test "x$LOCAL_DPDK_INSTALL" != "xyes" - then - LDFLAGS="$LDFLAGS -L$DPDK_LIB_DIR" - fi - - AC_CHECK_LIB(dpdk, rte_eal_init, - [BUILD_WITH_DPDK_LIBS="-Wl,-ldpdk"], - [FOUND_DPDK=no]) - + 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$FOUND_DPDK" = "xno" - then - AC_MSG_ERROR([libdpdk error: cannot link with dpdk in $DPDK_LIB_DIR]) - fi fi -# -# Note: An issue on Ubuntu 14.04 necessitates the use of -Wl,--no-as-needed: -# If you try compile with the older linker, the dpdk symbols will be undefined. -# This workaround should be removed when no longer necessary. -# -if test "x$with_libdpdk" = "xyes" -then - BUILD_WITH_DPDK_CFLAGS+="-I$DPDK_INCLUDE" - if test "x$LOCAL_DPDK_INSTALL" != "xyes" - then - BUILD_WITH_DPDK_LDFLAGS="-Wl,--no-as-needed" - else - BUILD_WITH_DPDK_LDFLAGS="-L$DPDK_LIB_DIR -Wl,--no-as-needed" - fi - AC_SUBST(BUILD_WITH_DPDK_CFLAGS) - AC_SUBST(BUILD_WITH_DPDK_LDFLAGS) - AC_SUBST(BUILD_WITH_DPDK_LIBS) -fi # }}} # --with-java {{{ @@ -2901,15 +2921,15 @@ fi if test "x$with_liblua" = "xyes" then - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $LUA_CFLAGS" + SAVE_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $LUA_CFLAGS" AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h], [with_liblua="yes"], [with_liblua="no (header not found)"] ) - CFLAGS="$SAVE_CFLAGS" + CPPFLAGS="$SAVE_CPPFLAGS" fi if test "x$with_liblua" = "xyes" @@ -3045,6 +3065,70 @@ fi AM_CONDITIONAL(BUILD_WITH_LIBMEMCACHED, test "x$with_libmemcached" = "xyes") # }}} +# --with-libmicrohttpd {{{ +with_libmicrohttpd_cppflags="" +with_libmicrohttpd_ldflags="" +AC_ARG_WITH([libmicrohttpd], [AS_HELP_STRING([--with-libmicrohttpd@<:@=PREFIX@:>@], [Path to libmicrohttpd.])], + [ + if test "x$withval" != "xno" && test "x$withval" != "xyes" + then + with_libmicrohttpd_cppflags="-I$withval/include" + with_libmicrohttpd_ldflags="-L$withval/lib" + with_libmicrohttpd="yes" + fi + if test "x$withval" = "xno" + then + with_libmicrohttpd="no (disabled on command line)" + fi + ], + [withval="yes"] +) +if test "x$withval" = "xyes" +then +PKG_CHECK_MODULES([MICROHTTPD], [libmicrohttpd], + [with_libmicrohttpd="yes"], + [with_libmicrohttpd="no (pkg-config could not find libmicrohttpd)"] +) +fi + +if test "x$MICROHTTPD_LIBS" = "x" +then + MICROHTTPD_LIBS="-lmicrohttpd" +fi + +SAVE_CPPFLAGS="$CPPFLAGS" +SAVE_LDFLAGS="$LDFLAGS" +SAVE_LIBS="$LIBS" +CPPFLAGS="$with_libmicrohttpd_cppflags $MICROHTTPD_CFLAGS" +LDFLAGS="$with_libmicrohttpd_ldflags $LDFLAGS" +LIBS="$LIBS $MICROHTTPD_LIBS" + +if test "x$with_libmicrohttpd" = "xyes" +then + AC_CHECK_HEADERS([microhttpd.h], + [with_libmicrohttpd="yes"], + [with_libmicrohttpd="no ( not found)"]) +fi + +if test "x$with_libmicrohttpd" = "xyes" +then + AC_CHECK_LIB([microhttpd], [MHD_start_daemon], + [with_libmicrohttpd="yes"], + [with_libmicrohttpd="no (libmicrohttpd not found)"]) +fi + +CPPFLAGS="$SAVE_CPPFLAGS" +LDFLAGS="$SAVE_LDFLAGS" +LIBS="$SAVE_LIBS" + +BUILD_WITH_LIBMICROHTTPD_CPPFLAGS="$with_libmicrohttpd_cppflags $MICROHTTPD_CFLAGS" +BUILD_WITH_LIBMICROHTTPD_LDFLAGS="$with_libmicrohttpd_ldflags" +BUILD_WITH_LIBMICROHTTPD_LIBS="$MICROHTTPD_LIBS" +AC_SUBST([BUILD_WITH_LIBMICROHTTPD_CPPFLAGS]) +AC_SUBST([BUILD_WITH_LIBMICROHTTPD_LDFLAGS]) +AC_SUBST([BUILD_WITH_LIBMICROHTTPD_LIBS]) +# }}} + # --with-libmodbus {{{ with_libmodbus_config="" with_libmodbus_cflags="" @@ -4503,11 +4587,10 @@ then if test "x$with_librdkafka_log_cb" = "xyes" then AC_DEFINE(HAVE_LIBRDKAFKA_LOG_CB, 1, [Define if librdkafka log facility is present and usable.]) - fi - if test "x$with_librdkafka_logger" = "xyes" + else if test "x$with_librdkafka_logger" = "xyes" then AC_DEFINE(HAVE_LIBRDKAFKA_LOGGER, 1, [Define if librdkafka log facility is present and usable.]) - fi + fi; fi fi CPPFLAGS="$SAVE_CPPFLAGS" LDFLAGS="$SAVE_LDFLAGS" @@ -5840,7 +5923,7 @@ plugin_curl_xml="no" plugin_df="no" plugin_disk="no" plugin_drbd="no" -plugin_dpdk="no" +plugin_dpdkstat="no" plugin_entropy="no" plugin_ethstat="no" plugin_fhcount="no" @@ -5878,6 +5961,7 @@ plugin_virt="no" plugin_vmem="no" plugin_vserver="no" plugin_wireless="no" +plugin_write_prometheus="no" plugin_xencpu="no" plugin_zfs_arc="no" plugin_zone="no" @@ -6165,6 +6249,10 @@ fi if test "x$have_protoc_c" = "xyes" && test "x$with_libprotobuf_c" = "xyes" then plugin_pinba="yes" + if test "x$with_libmicrohttpd" = "xyes" + then + plugin_write_prometheus="yes" + fi fi # Mac OS X memory interface @@ -6246,6 +6334,11 @@ then plugin_xencpu="yes" fi +if test "x$with_libdpdk" = "xyes" +then + plugin_dpdkstat="yes" +fi + m4_divert_once([HELP_ENABLE], [ collectd plugins:]) @@ -6292,7 +6385,7 @@ AC_PLUGIN([dbi], [$with_libdbi], [General database st AC_PLUGIN([df], [$plugin_df], [Filesystem usage statistics]) AC_PLUGIN([disk], [$plugin_disk], [Disk usage statistics]) AC_PLUGIN([dns], [$with_libpcap], [DNS traffic analysis]) -AC_PLUGIN([dpdkstat], [$with_libdpdk], [Stats & Status from DPDK]) +AC_PLUGIN([dpdkstat], [$plugin_dpdkstat], [Stats & Status from DPDK]) AC_PLUGIN([drbd], [$plugin_drbd], [DRBD statistics]) AC_PLUGIN([email], [yes], [EMail statistics]) AC_PLUGIN([entropy], [$plugin_entropy], [Entropy statistics]) @@ -6404,6 +6497,7 @@ AC_PLUGIN([write_http], [$with_libcurl], [HTTP output plugin] AC_PLUGIN([write_kafka], [$with_librdkafka], [Kafka output plugin]) AC_PLUGIN([write_log], [yes], [Log output plugin]) AC_PLUGIN([write_mongodb], [$with_libmongoc], [MongoDB output plugin]) +AC_PLUGIN([write_prometheus], [$plugin_write_prometheus], [Prometheus write plugin]) AC_PLUGIN([write_redis], [$with_libhiredis], [Redis output plugin]) AC_PLUGIN([write_riemann], [$with_libriemann_client], [Riemann output plugin]) AC_PLUGIN([write_sensu], [yes], [Sensu output plugin]) @@ -6652,6 +6746,7 @@ AC_MSG_RESULT([ libldap . . . . . . . $with_libldap]) AC_MSG_RESULT([ liblua . . . . . . . $with_liblua]) AC_MSG_RESULT([ liblvm2app . . . . . $with_liblvm2app]) AC_MSG_RESULT([ libmemcached . . . . $with_libmemcached]) +AC_MSG_RESULT([ libmicrohttpd . . . . $with_libmicrohttpd]) AC_MSG_RESULT([ libmnl . . . . . . . $with_libmnl]) AC_MSG_RESULT([ libmodbus . . . . . . $with_libmodbus]) AC_MSG_RESULT([ libmongoc . . . . . . $with_libmongoc]) @@ -6727,7 +6822,7 @@ AC_MSG_RESULT([ dbi . . . . . . . . . $enable_dbi]) AC_MSG_RESULT([ df . . . . . . . . . $enable_df]) AC_MSG_RESULT([ disk . . . . . . . . $enable_disk]) AC_MSG_RESULT([ dns . . . . . . . . . $enable_dns]) -AC_MSG_RESULT([ dpdkstat . . . . . . .$enable_dpdkstat]) +AC_MSG_RESULT([ dpdkstat . . . . . . $enable_dpdkstat]) AC_MSG_RESULT([ drbd . . . . . . . . $enable_drbd]) AC_MSG_RESULT([ email . . . . . . . . $enable_email]) AC_MSG_RESULT([ entropy . . . . . . . $enable_entropy]) @@ -6838,6 +6933,7 @@ AC_MSG_RESULT([ write_http . . . . . $enable_write_http]) AC_MSG_RESULT([ write_kafka . . . . . $enable_write_kafka]) AC_MSG_RESULT([ write_log . . . . . . $enable_write_log]) AC_MSG_RESULT([ write_mongodb . . . . $enable_write_mongodb]) +AC_MSG_RESULT([ write_prometheus. . . $enable_write_prometheus]) AC_MSG_RESULT([ write_redis . . . . . $enable_write_redis]) AC_MSG_RESULT([ write_riemann . . . . $enable_write_riemann]) AC_MSG_RESULT([ write_sensu . . . . . $enable_write_sensu])