X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.ac;h=c4fe39acf92f6694d2463cf248883e8167bb95b1;hb=e13faa56639a3f0da4e79239496d6099a691ce9b;hp=b075174ee2ac2d3d824ca1bcad997bcedf7b8ebc;hpb=491b8f0185c63c662bb3f395630a6d8b9913b49e;p=collectd.git diff --git a/configure.ac b/configure.ac index b075174e..c4fe39ac 100644 --- a/configure.ac +++ b/configure.ac @@ -4,6 +4,11 @@ AC_CONFIG_SRCDIR(src/collectd.c) AC_CONFIG_HEADERS(src/config.h) AC_CONFIG_AUX_DIR([libltdl/config]) +dnl older automake's default of ARFLAGS=cru is noisy on newer binutils; +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_ifdef([LT_PACKAGE_VERSION], # libtool >= 2.2 [ @@ -24,6 +29,8 @@ m4_ifdef([LT_PACKAGE_VERSION], ] ) +AM_CONDITIONAL([BUILD_INCLUDED_LTDL], [test "x$LTDLDEPS" != "x"]) + AM_INIT_AUTOMAKE([tar-pax dist-bzip2 foreign]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AC_LANG(C) @@ -37,6 +44,7 @@ AC_SYS_LARGEFILE # AC_PROG_CC AC_PROG_CPP +AC_PROG_EGREP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET @@ -47,15 +55,42 @@ AC_DISABLE_STATIC AC_PROG_LIBTOOL AC_PROG_LEX AC_PROG_YACC + +# Warn when pkg.m4 is missing +m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config]) + PKG_PROG_PKG_CONFIG +AC_CACHE_CHECK([if bison is the parser generator], + [collectd_cv_prog_bison], + [AS_IF([$YACC --version 2>/dev/null | $EGREP -q '^bison '], + [collectd_cv_prog_bison=yes], [collectd_cv_prog_bison=no] + )] +) + +if test "x$collectd_cv_prog_bison" = "xno" && test ! -f "${srcdir}/src/liboconfig/parser.c" +then + AC_MSG_ERROR([bison is missing and you do not have ${srcdir}/src/liboconfig/parser.c. Please install bison]) +fi + AC_CHECK_PROG([have_protoc_c], [protoc-c], [yes], [no]) -AC_CHECK_HEADERS([google/protobuf-c/protobuf-c.h], - [have_protobuf_c_h="yes"], - [have_protobuf_c_h="no"]) -if test "x$have_protoc_c" = "xyes" && test "x$have_protobuf_c_h" != "xyes" +if test "x$have_protoc_c" = "xno" +then + have_protoc_c="no (protoc-c compiler not found)" +fi + +if test "x$have_protoc_c" = "xyes" then - have_protoc_c="no (unable to find )" + AC_CHECK_HEADERS([protobuf-c/protobuf-c.h google/protobuf-c/protobuf-c.h], + [have_protoc_c="yes"; break], + [have_protoc_c="no ( not found)"]) +fi +if test "x$have_protoc_c" = "xyes" +then + AC_CHECK_LIB([protobuf-c], [protobuf_c_message_pack], + [have_protoc_c="yes"], + [have_protoc_c="no (libprotobuf-c not found)"]) + fi AM_CONDITIONAL(HAVE_PROTOC_C, test "x$have_protoc_c" = "xyes") @@ -276,6 +311,54 @@ AC_CHECK_HEADERS(netinet/udp.h, [], [], #endif ]) +have_ip6_ext="no" +AC_CHECK_TYPES([struct ip6_ext], [have_ip6_ext="yes"], [have_ip6_ext="no"], +[#if HAVE_STDINT_H +# include +#endif +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_NETINET_IN_SYSTM_H +# include +#endif +#if HAVE_NETINET_IN_H +# include +#endif +#if HAVE_NETINET_IP6_H +# include +#endif +]) + +if test "x$have_ip6_ext" = "xno"; then + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -DSOLARIS2=8" + + AC_CHECK_TYPES([struct ip6_ext], + [have_ip6_ext="yes, with -DSOLARIS2=8"], + [have_ip6_ext="no"], +[#if HAVE_STDINT_H +# include +#endif +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_NETINET_IN_SYSTM_H +# include +#endif +#if HAVE_NETINET_IN_H +# include +#endif +#if HAVE_NETINET_IP6_H +# include +#endif +]) + + if test "x$have_ip6_ext" = "xno"; then + CFLAGS="$SAVE_CFLAGS" + fi +fi + # For cpu modules AC_CHECK_HEADERS(sys/dkstat.h) if test "x$ac_system" = "xDarwin" @@ -518,7 +601,33 @@ AC_CHECK_HEADERS(linux/un.h, [], [], #endif ]) -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) +AC_CHECK_HEADERS([ \ + ctype.h \ + fs_info.h \ + fshelp.h \ + grp.h \ + kvm.h \ + limits.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 \ + wordexp.h \ +]) + +AC_CHECK_HEADERS([xfs/xqm.h], [], [], +[ +#define _GNU_SOURCE +]) # For the dns plugin AC_CHECK_HEADERS(arpa/nameser.h) @@ -574,6 +683,9 @@ AC_CHECK_HEADERS(net/pfvar.h, #if HAVE_NET_IF_H # include #endif +#if HAVE_NETINET_IN_H +# include +#endif ]) # For the multimeter plugin @@ -1140,6 +1252,8 @@ have_getvfsstat="no" AC_CHECK_FUNCS(getvfsstat, [have_getvfsstat="yes"]) have_listmntent="no" AC_CHECK_FUNCS(listmntent, [have_listmntent="yes"]) +have_getmntent_r="no" +AC_CHECK_FUNCS(getmntent_r, [have_getmntent_r="yes"]) have_getmntent="no" AC_CHECK_FUNCS(getmntent, [have_getmntent="c"]) @@ -1166,6 +1280,7 @@ FILE *fh; struct mntent *me; fh = setmntent ("/etc/mtab", "r"); me = getmntent (fh); +return(me->mnt_passno); ]]] )], [c_cv_have_one_getmntent="yes"], @@ -1185,6 +1300,7 @@ me = getmntent (fh); int status; fh = fopen ("/etc/mnttab", "r"); status = getmntent (fh, &mt); + return(status); ]]] )], [c_cv_have_two_getmntent="yes"], @@ -1308,6 +1424,7 @@ AC_CHECK_MEMBERS([struct kinfo_proc.kp_proc, struct kinfo_proc.kp_eproc], AC_CHECK_MEMBERS([struct udphdr.uh_dport, struct udphdr.uh_sport], [], [], [#define _BSD_SOURCE +#define _DEFAULT_SOURCE #if HAVE_STDINT_H # include #endif @@ -1329,6 +1446,7 @@ AC_CHECK_MEMBERS([struct udphdr.uh_dport, struct udphdr.uh_sport], [], [], ]) AC_CHECK_MEMBERS([struct udphdr.dest, struct udphdr.source], [], [], [#define _BSD_SOURCE +#define _DEFAULT_SOURCE #if HAVE_STDINT_H # include #endif @@ -1792,30 +1910,33 @@ AC_ARG_WITH(libganglia, [AS_HELP_STRING([--with-libganglia@<:@=PREFIX@:>@], [Pat GANGLIA_LDFLAGS="-L$withval/lib" with_libganglia="yes" else - with_libganglia_config="ganglia-config" with_libganglia="$withval" fi; fi; fi ], [ - with_libganglia_config="ganglia-config" with_libganglia="yes" ]) -if test "x$with_libganglia" = "xyes" && test "x$with_libganglia_config" != "x" +if test "x$with_libganglia" = "xyes" then - if test "x$GANGLIA_CPPFLAGS" = "x" + if test "x$with_libganglia_config" != "x" then - GANGLIA_CPPFLAGS=`"$with_libganglia_config" --cflags 2>/dev/null` - fi + if test "x$GANGLIA_CPPFLAGS" = "x" + then + GANGLIA_CPPFLAGS=`"$with_libganglia_config" --cflags 2>/dev/null` + fi - if test "x$GANGLIA_LDFLAGS" = "x" - then - GANGLIA_LDFLAGS=`"$with_libganglia_config" --ldflags 2>/dev/null` - fi + if test "x$GANGLIA_LDFLAGS" = "x" + then + GANGLIA_LDFLAGS=`"$with_libganglia_config" --ldflags 2>/dev/null` + fi - if test "x$GANGLIA_LIBS" = "x" - then - GANGLIA_LIBS=`"$with_libganglia_config" --libs 2>/dev/null` + if test "x$GANGLIA_LIBS" = "x" + then + GANGLIA_LIBS=`"$with_libganglia_config" --libs 2>/dev/null` + fi + else + GANGLIA_LIBS="-lganglia" fi fi @@ -1887,12 +2008,6 @@ then GCRYPT_CPPFLAGS=`"$with_libgcrypt_config" --cflags 2>/dev/null` fi - if test "x$GCRYPT_LDFLAGS" = "x" - then - gcrypt_exec_prefix=`"$with_libgcrypt_config" --exec-prefix 2>/dev/null` - GCRYPT_LDFLAGS="-L$gcrypt_exec_prefix/lib" - fi - if test "x$GCRYPT_LIBS" = "x" then GCRYPT_LIBS=`"$with_libgcrypt_config" --libs 2>/dev/null` @@ -1901,8 +2016,10 @@ fi SAVE_CPPFLAGS="$CPPFLAGS" SAVE_LDFLAGS="$LDFLAGS" +SAVE_LIBS="$LIBS" CPPFLAGS="$CPPFLAGS $GCRYPT_CPPFLAGS" LDFLAGS="$LDFLAGS $GCRYPT_LDFLAGS" +LIBS="$LIBS $GCRYPT_LIBS" if test "x$with_libgcrypt" = "xyes" then @@ -1917,10 +2034,6 @@ fi if test "x$with_libgcrypt" = "xyes" then - if test "x$GCRYPT_LDFLAGS" != "x" - then - AC_MSG_NOTICE([gcrypt LDFLAGS: $GCRYPT_LDFLAGS]) - fi AC_CHECK_LIB(gcrypt, gcry_md_hash_buffer, [with_libgcrypt="yes"], [with_libgcrypt="no (symbol gcry_md_hash_buffer not found)"]) @@ -1934,6 +2047,7 @@ fi CPPFLAGS="$SAVE_CPPFLAGS" LDFLAGS="$SAVE_LDFLAGS" +LIBS="$SAVE_LIBS" if test "x$with_libgcrypt" = "xyes" then @@ -2068,6 +2182,10 @@ fi # --with-java {{{ with_java_home="$JAVA_HOME" +if test "x$with_java_home" = "x" +then + with_java_home="/usr/lib/jvm" +fi with_java_vmtype="client" with_java_cflags="" with_java_libs="" @@ -2092,7 +2210,7 @@ then if test -d "$with_java_home" then AC_MSG_CHECKING([for jni.h]) - TMPVAR=`find "$with_java_home" -name jni.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1` + TMPVAR=`find -L "$with_java_home" -name jni.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1` if test "x$TMPVAR" != "x" then AC_MSG_RESULT([found in $TMPVAR]) @@ -2102,7 +2220,7 @@ then fi AC_MSG_CHECKING([for jni_md.h]) - TMPVAR=`find "$with_java_home" -name jni_md.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1` + TMPVAR=`find -L "$with_java_home" -name jni_md.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1` if test "x$TMPVAR" != "x" then AC_MSG_RESULT([found in $TMPVAR]) @@ -2112,7 +2230,7 @@ then fi AC_MSG_CHECKING([for libjvm.so]) - TMPVAR=`find "$with_java_home" -name libjvm.so -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1` + TMPVAR=`find -L "$with_java_home" -type f \( -name libjvm.so -o -name libjvm.dylib \) -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1` if test "x$TMPVAR" != "x" then AC_MSG_RESULT([found in $TMPVAR]) @@ -2124,7 +2242,7 @@ then if test "x$JAVAC" = "x" then AC_MSG_CHECKING([for javac]) - TMPVAR=`find "$with_java_home" -name javac -type f 2>/dev/null | head -n 1` + TMPVAR=`find -L "$with_java_home" -name javac -type f 2>/dev/null | head -n 1` if test "x$TMPVAR" != "x" then JAVAC="$TMPVAR" @@ -2136,7 +2254,7 @@ then if test "x$JAR" = "x" then AC_MSG_CHECKING([for jar]) - TMPVAR=`find "$with_java_home" -name jar -type f 2>/dev/null | head -n 1` + TMPVAR=`find -L "$with_java_home" -name jar -type f 2>/dev/null | head -n 1` if test "x$TMPVAR" != "x" then JAR="$TMPVAR" @@ -2402,7 +2520,7 @@ then SAVE_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $with_libmodbus_cflags" - AC_CHECK_HEADERS(modbus/modbus.h, [], [with_libmodbus="no (modbus/modbus.h not found)"]) + AC_CHECK_HEADERS(modbus.h, [], [with_libmodbus="no (modbus.h not found)"]) CPPFLAGS="$SAVE_CPPFLAGS" fi @@ -2521,7 +2639,7 @@ AC_ARG_WITH(libmysql, [AS_HELP_STRING([--with-libmysql@<:@=PREFIX@:>@], [Path to ]) if test "x$with_libmysql" = "xyes" then - with_mysql_cflags=`$with_mysql_config --cflags 2>/dev/null` + with_mysql_cflags=`$with_mysql_config --include 2>/dev/null` mysql_config_status=$? if test $mysql_config_status -ne 0 @@ -2557,15 +2675,17 @@ then then with_libmysql="no ($with_mysql_config failed)" else - AC_CHECK_LIB(mysqlclient, mysql_init, - [with_libmysql="yes"], - [with_libmysql="no (symbol 'mysql_init' not found)"], - [$with_mysql_libs]) - - AC_CHECK_LIB(mysqlclient, mysql_get_server_version, + SAVE_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $with_mysql_cflags" + SAVE_LIBS="$LIBS" + LIBS="$with_mysql_libs" + AC_SEARCH_LIBS([mysql_get_server_version], + [], [with_libmysql="yes"], [with_libmysql="no (symbol 'mysql_get_server_version' not found)"], - [$with_mysql_libs]) + []) + CPPFLAGS="$SAVE_CPPFLAGS" + LIBS="$SAVE_LIBS" fi fi if test "x$with_libmysql" = "xyes" @@ -3076,11 +3196,6 @@ then fi if test "x$with_libpcap" = "xyes" then - AC_CHECK_HEADERS(pcap-bpf.h,, - [with_libpcap="no (pcap-bpf.h not found)"]) -fi -if test "x$with_libpcap" = "xyes" -then AC_CACHE_CHECK([whether libpcap has PCAP_ERROR_IFACE_NOT_UP], [c_cv_libpcap_have_pcap_error_iface_not_up], AC_COMPILE_IFELSE([AC_LANG_PROGRAM( @@ -3089,6 +3204,7 @@ then ]]], [[[ int val = PCAP_ERROR_IFACE_NOT_UP; + return(val); ]]] )], [c_cv_libpcap_have_pcap_error_iface_not_up="yes"], @@ -3708,15 +3824,11 @@ AC_ARG_WITH(librrd, [AS_HELP_STRING([--with-librrd@<:@=PREFIX@:>@], [Path to rrd if test "x$with_librrd" = "xyes" then SAVE_CPPFLAGS="$CPPFLAGS" - SAVE_LDFLAGS="$LDFLAGS" - CPPFLAGS="$CPPFLAGS $librrd_cflags" - LDFLAGS="$LDFLAGS $librrd_ldflags" AC_CHECK_HEADERS(rrd.h,, [with_librrd="no (rrd.h not found)"]) CPPFLAGS="$SAVE_CPPFLAGS" - LDFLAGS="$SAVE_LDFLAGS" fi if test "x$with_librrd" = "xyes" then @@ -4947,6 +5059,7 @@ fi if test "x$with_kstat" = "xyes" then plugin_nfs="yes" + plugin_processes="yes" plugin_uptime="yes" plugin_zfs_arc="yes" fi @@ -5039,6 +5152,11 @@ then plugin_df="yes" fi +if test "x$c_cv_have_getmntent_r" = "xyes" +then + plugin_df="yes" +fi + # Df plugin: Check if we have either `statfs' or `statvfs' second. if test "x$plugin_df" = "xyes" then