X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.in;h=287a9e569bc011adf5d6462feee220aaceb5cd95;hb=f71895576cbd4b488cd66f0c96efb6fd3e7a6faf;hp=c585390e16e415069c5fb338bebace0e78b98953;hpb=5f2da192c3eb9318d516a25654b7f1d94c55fdb3;p=collectd.git diff --git a/configure.in b/configure.in index c585390e..287a9e56 100644 --- a/configure.in +++ b/configure.in @@ -67,21 +67,36 @@ fi if test "x$ac_system" = "xSolaris" then - CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS" + AC_DEFINE(_POSIX_PTHREAD_SEMANTICS, 1, [Define to enforce POSIX thread semantics under Solaris.]) fi # Where to install .pc files. pkgconfigdir="${libdir}/pkgconfig" AC_SUBST(pkgconfigdir) +# Check for standards compliance mode +AC_ARG_ENABLE(standards, + AS_HELP_STRING([--enable-standards], [Enable standards compliance mode]), + [enable_standards="$enableval"], + [enable_standards="no"]) +if test "x$enable_standards" = "xyes" +then + AC_DEFINE(_ISOC99_SOURCE, 1, [Define to enforce ISO C99 compliance.]) + AC_DEFINE(_POSIX_C_SOURCE, 200112L, [Define to enforce POSIX.1-2001 compliance.]) + AC_DEFINE(_XOPEN_SOURCE, 600, [Define to enforce X/Open 6 (XSI) compliance.]) + AC_DEFINE(_REENTRANT, 1, [Define to enable reentrancy interfaces.]) +fi +AM_CONDITIONAL(BUILD_FEATURE_STANDARDS, test "x$enable_standards" = "xyes") + # # Checks for header files. # AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_HEADER_DIRENT +AC_HEADER_STDBOOL -AC_CHECK_HEADERS(stdio.h stdint.h stdbool.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) +AC_CHECK_HEADERS(stdio.h stdint.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) # For ping library AC_CHECK_HEADERS(netinet/in_systm.h, [], [], @@ -250,7 +265,7 @@ AC_CHECK_HEADERS(IOKit/ps/IOPowerSources.h, [], [], # For the swap module have_sys_swap_h="yes" -AC_CHECK_HEADERS(sys/swap.h, [], [have_sys_swap_h="no"], +AC_CHECK_HEADERS(sys/swap.h vm/anon.h, [], [have_sys_swap_h="no"], [ #if HAVE_SYS_TYPES_H # include @@ -262,7 +277,14 @@ AC_CHECK_HEADERS(sys/swap.h, [], [have_sys_swap_h="no"], if test "x$have_sys_swap_h$ac_system" = "xnoSolaris" then - AC_MSG_NOTICE([Solaris detected and sys/swap.h not found: Try building a 64bit binary.]) + hint_64="" + if test "x$GCC" = "xyes" + then + hint_64="CFLAGS='-m64'" + else + hint_64="CFLAGS='-xarch=v9'" + fi + AC_MSG_NOTICE([Solaris detected and sys/swap.h not usable. Try building a 64-bit binary ($hint_64 ./configure).]) fi # For load module @@ -347,7 +369,7 @@ AC_CHECK_HEADERS(linux/un.h, [], [], #endif ]) -AC_CHECK_HEADERS(pwd.h grp.h sys/un.h ctype.h limits.h sys/quota.h xfs/xqm.h fs_info.h fshelp.h paths.h mntent.h mnttab.h sys/fstyp.h sys/fs_types.h sys/mntent.h sys/mnttab.h sys/statfs.h sys/statvfs.h sys/vfs.h sys/vfstab.h kvm.h wordexp.h) +AC_CHECK_HEADERS(pwd.h grp.h sys/un.h ctype.h limits.h xfs/xqm.h fs_info.h fshelp.h paths.h mntent.h mnttab.h sys/fstyp.h sys/fs_types.h sys/mntent.h sys/mnttab.h sys/statfs.h sys/statvfs.h sys/vfs.h sys/vfstab.h kvm.h wordexp.h) # For the dns plugin AC_CHECK_HEADERS(arpa/nameser.h) @@ -799,7 +821,6 @@ if test "x$have_getmntent" = "xc"; then [c_cv_have_one_getmntent], AC_COMPILE_IFELSE( AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT -#include #include "$srcdir/src/utils_mount.h"]], [[ FILE *fh; @@ -816,7 +837,6 @@ if test "x$have_getmntent" = "xc"; then [c_cv_have_two_getmntent], AC_COMPILE_IFELSE( AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT -#include #include "$srcdir/src/utils_mount.h"]], [[ FILE *fh; @@ -876,8 +896,40 @@ AC_CHECK_MEMBERS([struct net_device_stats.rx_bytes, struct net_device_stats.tx_p #include ]) +AC_CHECK_MEMBERS([struct kinfo_proc.ki_pid, struct kinfo_proc.ki_rssize, struct kinfo_proc.ki_rusage], + [ + AC_DEFINE(HAVE_STRUCT_KINFO_PROC_FREEBSD, 1, + [Define if struct kinfo_proc exists in the FreeBSD variant.]) + have_struct_kinfo_proc_freebsd="yes" + ], + [ + have_struct_kinfo_proc_freebsd="no" + ], + [ +#include +#include +#include +#include + ]) + +AC_CHECK_MEMBERS([struct kinfo_proc.kp_proc, struct kinfo_proc.kp_eproc], + [ + AC_DEFINE(HAVE_STRUCT_KINFO_PROC_OPENBSD, 1, + [Define if struct kinfo_proc exists in the OpenBSD variant.]) + have_struct_kinfo_proc_openbsd="yes" + ], + [ + have_struct_kinfo_proc_openbsd="no" + ], + [ +#include +#include +#include + ]) + AC_CHECK_MEMBERS([struct udphdr.uh_dport, struct udphdr.uh_sport], [], [], -[#if HAVE_STDINT_H +[#define _BSD_SOURCE +#if HAVE_STDINT_H # include #endif #if HAVE_SYS_TYPES_H @@ -897,7 +949,8 @@ AC_CHECK_MEMBERS([struct udphdr.uh_dport, struct udphdr.uh_sport], [], [], #endif ]) AC_CHECK_MEMBERS([struct udphdr.dest, struct udphdr.source], [], [], -[#if HAVE_STDINT_H +[#define _BSD_SOURCE +#if HAVE_STDINT_H # include #endif #if HAVE_SYS_TYPES_H @@ -1336,6 +1389,10 @@ then AC_CHECK_LIB(gcrypt, gcry_md_hash_buffer, [with_libgcrypt="yes"], [with_libgcrypt="no (symbol gcry_md_hash_buffer not found)"]) + + if test "$with_libgcrypt" != "no"; then + AM_PATH_LIBGCRYPT(1:1.2.0,,with_libgcrypt="no (version 1.2.0+ required)") + fi fi CPPFLAGS="$SAVE_CPPFLAGS" @@ -1442,18 +1499,34 @@ if test "x$with_java" = "xyes" then if test -d "$with_java_home" then - if test -d "$with_java_home/include" + AC_MSG_CHECKING([for jni.h]) + TMPDIR=`find -L "$with_java_home" -name jni.h -exec 'dirname' '{}' ';' | head -n 1` + if test "x$TMPDIR" != "x" then - JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$with_java_home/include" + AC_MSG_RESULT([found in $TMPDIR]) + JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$TMPDIR" else - JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$with_java_home" + AC_MSG_RESULT([not found]) fi - - if test -d "$with_java_home/lib" + + AC_MSG_CHECKING([for jni_md.h]) + TMPDIR=`find -L "$with_java_home" -name jni_md.h -exec 'dirname' '{}' ';' | head -n 1` + if test "x$TMPDIR" != "x" + then + AC_MSG_RESULT([found in $TMPDIR]) + JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$TMPDIR" + else + AC_MSG_RESULT([not found]) + fi + + AC_MSG_CHECKING([for libjvm.so]) + TMPDIR=`find -L "$with_java_home" -name libjvm.so -exec 'dirname' '{}' ';' | head -n 1` + if test "x$TMPDIR" != "x" then - JAVA_LDFLAGS="$JAVA_LDFLAGS -L$with_java_home/lib" + AC_MSG_RESULT([found in $TMPDIR]) + JAVA_LDFLAGS="$JAVA_LDFLAGS -L$TMPDIR" else - JAVA_LDFLAGS="$JAVA_LDFLAGS -L$with_java_home" + AC_MSG_RESULT([not found]) fi else if test "x$with_java_home" != "x" then @@ -1628,6 +1701,11 @@ then [with_libmysql="yes"], [with_libmysql="no (symbol 'mysql_init' not found)"], [$with_mysql_libs]) + + AC_CHECK_LIB(mysqlclient, mysql_get_server_version, + [with_libmysql="yes"], + [with_libmysql="no (symbol 'mysql_get_server_version' not found)"], + [$with_mysql_libs]) fi fi if test "x$with_libmysql" = "xyes" @@ -2192,7 +2270,6 @@ then LDFLAGS=$SAVE_LDFLAGS fi -c_cv_have_broken_perl_load_module="no" if test "x$with_libperl" = "xyes" then SAVE_CFLAGS=$CFLAGS @@ -3172,6 +3249,7 @@ plugin_load="no" plugin_memory="no" plugin_multimeter="no" plugin_nfs="no" +plugin_fscache="no" plugin_perl="no" plugin_processes="no" plugin_protocols="no" @@ -3201,6 +3279,7 @@ then plugin_load="yes" plugin_memory="yes" plugin_nfs="yes" + plugin_fscache="yes" plugin_processes="yes" plugin_protocols="yes" plugin_serial="yes" @@ -3291,15 +3370,41 @@ then plugin_tcpconns="yes" fi -if test "x$have_statfs" = "xyes" +# Df plugin: Check if we know how to determine mount points first. +#if test "x$have_listmntent" = "xyes"; then +# plugin_df="yes" +#fi +if test "x$have_getvfsstat" = "xyes" || test "x$have_getfsstat" = "xyes" then plugin_df="yes" fi -if test "x$have_statvfs" = "xyes" +if test "x$c_cv_have_two_getmntent" = "xyes" || test "x$have_getmntent" = "xgen" || test "x$have_getmntent" = "xsun" +then + plugin_df="yes" +fi +#if test "x$have_getmntent" = "xseq" +#then +# plugin_df="yes" +#fi +if test "x$c_cv_have_one_getmntent" = "xyes" then plugin_df="yes" fi +# Df plugin: Check if we have either `statfs' or `statvfs' second. +if test "x$plugin_df" = "xyes" +then + plugin_df="no" + if test "x$have_statfs" = "xyes" + then + plugin_df="yes" + fi + if test "x$have_statvfs" = "xyes" + then + plugin_df="yes" + fi +fi + if test "x$have_getifaddrs" = "xyes" then plugin_interface="yes" @@ -3337,7 +3442,7 @@ then plugin_processes="yes" fi -if test "x$with_kvm_getprocs" = "xyes" +if test "x$with_kvm_getprocs" = "xyes" && test "x$have_struct_kinfo_proc_freebsd" = "xyes" then plugin_processes="yes" fi @@ -3411,6 +3516,7 @@ AC_PLUGIN([mysql], [$with_libmysql], [MySQL statistics]) AC_PLUGIN([netlink], [$with_libnetlink], [Enhanced Linux network statistics]) AC_PLUGIN([network], [yes], [Network communication plugin]) AC_PLUGIN([nfs], [$plugin_nfs], [NFS statistics]) +AC_PLUGIN([fscache], [$plugin_fscache], [fscache statistics]) AC_PLUGIN([nginx], [$with_libcurl], [nginx statistics]) AC_PLUGIN([notify_desktop], [$with_libnotify], [Desktop notifications]) AC_PLUGIN([notify_email], [$with_libesmtp], [Email notifier]) @@ -3694,6 +3800,7 @@ Configuration: netlink . . . . . . . $enable_netlink network . . . . . . . $enable_network nfs . . . . . . . . . $enable_nfs + fscache . . . . . . . $enable_fscache nginx . . . . . . . . $enable_nginx notify_desktop . . . $enable_notify_desktop notify_email . . . . $enable_notify_email