X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=configure.in;h=5dac543169ca42d2d1eac2ff6acdd0708afa6a29;hb=5c57b2bbd57919ad5d33d2cf4b39163f5db4a524;hp=5c3564c42b7b631f5cd038eae077400b0add1d93;hpb=e04cfcb9d1f1eed00bf11768db6d0540babe2e4e;p=collectd.git diff --git a/configure.in b/configure.in index 5c3564c4..5dac5431 100644 --- a/configure.in +++ b/configure.in @@ -2,6 +2,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(collectd, m4_esyscmd(./version-gen.sh)) AC_CONFIG_SRCDIR(src/collectd.c) AC_CONFIG_HEADERS(src/config.h) +AC_CONFIG_AUX_DIR([libltdl/config]) m4_ifdef([LT_PACKAGE_VERSION], # libtool >= 2.2 @@ -384,18 +385,36 @@ AC_CHECK_HEADERS(linux/netdevice.h, [], [], ]) # For ipvs module +have_linux_ip_vs_h="no" have_net_ip_vs_h="no" have_ip_vs_h="no" +ip_vs_h_needs_kernel_cflags="no" if test "x$ac_system" = "xLinux" then - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $KERNEL_CFLAGS" - + AC_CHECK_HEADERS(linux/ip_vs.h, [have_linux_ip_vs_h="yes"]) AC_CHECK_HEADERS(net/ip_vs.h, [have_net_ip_vs_h="yes"]) AC_CHECK_HEADERS(ip_vs.h, [have_ip_vs_h="yes"]) - CFLAGS="$SAVE_CFLAGS" + if test "x$have_linux_ip_vs_h$have_net_ip_vs_h$have_ip_vs_h" = "xnonono" && test -d "$KERNEL_DIR" + then + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $KERNEL_CFLAGS" + + AC_MSG_NOTICE([Did not find ip_vs.h. Trying again using headers from $KERNEL_DIR.]) + + AC_CHECK_HEADERS(linux/ip_vs.h, [have_linux_ip_vs_h="yes"]) + AC_CHECK_HEADERS(net/ip_vs.h, [have_net_ip_vs_h="yes"]) + AC_CHECK_HEADERS(ip_vs.h, [have_ip_vs_h="yes"]) + + if test "x$have_linux_ip_vs_h" = "xyes" || test "x$have_net_ip_vs_h" = "xyes" || test "x$have_ip_vs_h" = "xyes" + then + ip_vs_h_needs_kernel_cflags="yes" + fi + + CFLAGS="$SAVE_CFLAGS" + fi fi +AM_CONDITIONAL(IP_VS_H_NEEDS_KERNEL_CFLAGS, test "x$ip_vs_h_needs_kernel_cflags" = "xyes") # For quota module AC_CHECK_HEADERS(sys/ucred.h, [], [], @@ -498,13 +517,13 @@ fi AC_CACHE_CHECK([for strtok_r], [c_cv_have_strtok_r_default], AC_LINK_IFELSE( - AC_LANG_PROGRAM( - [[[[ + [AC_LANG_PROGRAM( + [[[ #include #include #include - ]]]], - [[[[ + ]]], + [[[ char buffer[] = "foo,bar,baz"; char *token; char *dummy; @@ -514,10 +533,10 @@ AC_CACHE_CHECK([for strtok_r], saveptr = NULL; while ((token = strtok_r (dummy, ",", &saveptr)) != NULL) { - dummy = NULL; + dummy = NULL; printf ("token = %s;\n", token); } - ]]]]), + ]]])], [c_cv_have_strtok_r_default="yes"], [c_cv_have_strtok_r_default="no"] ) @@ -530,13 +549,13 @@ then AC_CACHE_CHECK([if strtok_r needs _REENTRANT], [c_cv_have_strtok_r_reentrant], AC_LINK_IFELSE( - AC_LANG_PROGRAM( - [[[[ + [AC_LANG_PROGRAM( + [[[ #include #include #include - ]]]], - [[[[ + ]]], + [[[ char buffer[] = "foo,bar,baz"; char *token; char *dummy; @@ -546,10 +565,10 @@ then saveptr = NULL; while ((token = strtok_r (dummy, ",", &saveptr)) != NULL) { - dummy = NULL; + dummy = NULL; printf ("token = %s;\n", token); } - ]]]]), + ]]])], [c_cv_have_strtok_r_reentrant="yes"], [AC_MSG_FAILURE([strtok_r isn't available. Please file a bugreport!])] ) @@ -612,18 +631,18 @@ if test "x$nan_type" = "xnone"; then AC_CACHE_CHECK([whether NAN is defined by default], [c_cv_have_nan_default], AC_COMPILE_IFELSE( - AC_LANG_PROGRAM( - [[ + [AC_LANG_PROGRAM( + [[[ #include #include -static float foo = NAN; - ]], - [[ +static double foo = NAN; + ]]], + [[[ if (isnan (foo)) return 0; else return 1; - ]]), + ]]])], [c_cv_have_nan_default="yes"], [c_cv_have_nan_default="no"] ) @@ -637,19 +656,19 @@ if test "x$nan_type" = "xnone"; then AC_CACHE_CHECK([whether NAN is defined by __USE_ISOC99], [c_cv_have_nan_isoc], AC_COMPILE_IFELSE( - AC_LANG_PROGRAM( - [[ + [AC_LANG_PROGRAM( + [[[ #include #define __USE_ISOC99 1 #include -static float foo = NAN; - ]], - [[ +static double foo = NAN; + ]]], + [[[ if (isnan (foo)) return 0; else return 1; - ]]), + ]]])], [c_cv_have_nan_isoc="yes"], [c_cv_have_nan_isoc="no"] ) @@ -665,8 +684,8 @@ if test "x$nan_type" = "xnone"; then AC_CACHE_CHECK([whether NAN can be defined by 0/0], [c_cv_have_nan_zero], AC_RUN_IFELSE( - AC_LANG_PROGRAM( - [[ + [AC_LANG_PROGRAM( + [[[ #include #include #ifdef NAN @@ -676,14 +695,14 @@ if test "x$nan_type" = "xnone"; then #ifndef isnan # define isnan(f) ((f) != (f)) #endif -static float foo = NAN; - ]], - [[ +static double foo = NAN; + ]]], + [[[ if (isnan (foo)) return 0; else return 1; - ]]), + ]]])], [c_cv_have_nan_zero="yes"], [c_cv_have_nan_zero="no"] ) @@ -726,8 +745,8 @@ if test "x$fp_layout_type" = "xunknown"; then AC_CACHE_CHECK([if doubles are stored in x86 representation], [c_cv_fp_layout_need_nothing], AC_RUN_IFELSE( - AC_LANG_PROGRAM( - [[[[ + [AC_LANG_PROGRAM( + [[[ #include #include #include @@ -740,8 +759,8 @@ if test "x$fp_layout_type" = "xunknown"; then #if HAVE_STDBOOL_H # include #endif - ]]]], - [[[[ + ]]], + [[[ uint64_t i0; uint64_t i1; uint8_t c[8]; @@ -760,7 +779,7 @@ if test "x$fp_layout_type" = "xunknown"; then return (0); else return (1); - ]]]]), + ]]])], [c_cv_fp_layout_need_nothing="yes"], [c_cv_fp_layout_need_nothing="no"] ) @@ -773,8 +792,8 @@ if test "x$fp_layout_type" = "xunknown"; then AC_CACHE_CHECK([if endianflip converts to x86 representation], [c_cv_fp_layout_need_endianflip], AC_RUN_IFELSE( - AC_LANG_PROGRAM( - [[[[ + [AC_LANG_PROGRAM( + [[[ #include #include #include @@ -795,8 +814,8 @@ if test "x$fp_layout_type" = "xunknown"; then (((uint64_t)(A) & 0x0000000000ff0000LL) << 24) | \ (((uint64_t)(A) & 0x000000000000ff00LL) << 40) | \ (((uint64_t)(A) & 0x00000000000000ffLL) << 56)) - ]]]], - [[[[ + ]]], + [[[ uint64_t i0; uint64_t i1; uint8_t c[8]; @@ -815,7 +834,7 @@ if test "x$fp_layout_type" = "xunknown"; then return (0); else return (1); - ]]]]), + ]]])], [c_cv_fp_layout_need_endianflip="yes"], [c_cv_fp_layout_need_endianflip="no"] ) @@ -828,8 +847,8 @@ if test "x$fp_layout_type" = "xunknown"; then AC_CACHE_CHECK([if intswap converts to x86 representation], [c_cv_fp_layout_need_intswap], AC_RUN_IFELSE( - AC_LANG_PROGRAM( - [[[[ + [AC_LANG_PROGRAM( + [[[ #include #include #include @@ -844,8 +863,8 @@ if test "x$fp_layout_type" = "xunknown"; then #endif #define intswap(A) ((((uint64_t)(A) & 0xffffffff00000000LL) >> 32) | \ (((uint64_t)(A) & 0x00000000ffffffffLL) << 32)) - ]]]], - [[[[ + ]]], + [[[ uint64_t i0; uint64_t i1; uint8_t c[8]; @@ -864,7 +883,7 @@ if test "x$fp_layout_type" = "xunknown"; then return (0); else return (1); - ]]]]), + ]]])], [c_cv_fp_layout_need_intswap="yes"], [c_cv_fp_layout_need_intswap="no"] ) @@ -910,15 +929,15 @@ if test "x$have_getmntent" = "xc"; then AC_CACHE_CHECK([whether getmntent takes one argument], [c_cv_have_one_getmntent], AC_COMPILE_IFELSE( - AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT + [AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT #include "$srcdir/src/utils_mount.h"]], - [[ + [[[ FILE *fh; struct mntent *me; fh = setmntent ("/etc/mtab", "r"); me = getmntent (fh); - ]] - ), + ]]] + )], [c_cv_have_one_getmntent="yes"], [c_cv_have_one_getmntent="no"] ) @@ -926,16 +945,16 @@ if test "x$have_getmntent" = "xc"; then AC_CACHE_CHECK([whether getmntent takes two arguments], [c_cv_have_two_getmntent], AC_COMPILE_IFELSE( - AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT + [AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT #include "$srcdir/src/utils_mount.h"]], - [[ + [[[ FILE *fh; struct mnttab mt; int status; fh = fopen ("/etc/mnttab", "r"); status = getmntent (fh, &mt); - ]] - ), + ]]] + )], [c_cv_have_two_getmntent="yes"], [c_cv_have_two_getmntent="no"] ) @@ -972,15 +991,15 @@ AC_MSG_CHECKING([if have htonll defined]) have_htonll="no" AC_LINK_IFELSE([ - AC_LANG_PROGRAM([ + AC_LANG_PROGRAM([[[ #include #include #if HAVE_INTTYPES_H # include #endif - ], [ + ]]], [[[ return htonll(0); - ]) + ]]]) ], [ have_htonll="yes" AC_DEFINE(HAVE_HTONLL, 1, [Define if the function htonll exists.]) @@ -1024,6 +1043,7 @@ AC_CHECK_MEMBERS([struct kinfo_proc.ki_pid, struct kinfo_proc.ki_rssize, struct have_struct_kinfo_proc_freebsd="no" ], [ +AC_INCLUDES_DEFAULT #include #include #include @@ -1040,6 +1060,7 @@ AC_CHECK_MEMBERS([struct kinfo_proc.kp_proc, struct kinfo_proc.kp_eproc], have_struct_kinfo_proc_openbsd="no" ], [ +AC_INCLUDES_DEFAULT #include #include #include @@ -1115,8 +1136,8 @@ AC_CHECK_LIB(hal,libhal_device_property_exists, [with_libhal="no"]) if test "x$with_libhal" = "xyes"; then if test "x$PKG_CONFIG" != "x"; then - BUILD_WITH_LIBHAL_CFLAGS="`pkg-config --cflags hal`" - BUILD_WITH_LIBHAL_LIBS="`pkg-config --libs hal`" + BUILD_WITH_LIBHAL_CFLAGS="`$PKG_CONFIG --cflags hal`" + BUILD_WITH_LIBHAL_LIBS="`$PKG_CONFIG --libs hal`" AC_SUBST(BUILD_WITH_LIBHAL_CFLAGS) AC_SUBST(BUILD_WITH_LIBHAL_LIBS) fi @@ -1215,6 +1236,7 @@ AM_CONDITIONAL(BUILD_WITH_LIBKVM_GETSWAPINFO, test "x$with_kvm_getswapinfo" = "x AC_CHECK_LIB(kvm, kvm_nlist, [with_kvm_nlist="yes"], [with_kvm_nlist="no"]) if test "x$with_kvm_nlist" = "xyes" then + AC_CHECK_HEADERS(bsd/nlist.h nlist.h) AC_DEFINE(HAVE_LIBKVM_NLIST, 1, [Define to 1 if you have the 'kvm' library with the 'kvm_nlist' symbol (-lkvm)]) with_libkvm="yes" @@ -1560,113 +1582,123 @@ AM_CONDITIONAL(BUILD_WITH_LIBGCRYPT, test "x$with_libgcrypt" = "xyes") # }}} # --with-libiptc {{{ -with_own_libiptc="no" AC_ARG_WITH(libiptc, [AS_HELP_STRING([--with-libiptc@<:@=PREFIX@:>@], [Path to libiptc.])], [ if test "x$withval" = "xshipped" then - with_own_libiptc="yes" - with_libiptc="yes" - else if test "x$withval" != "xno" && test "x$withval" != "xyes" + with_libiptc="own" + else if test "x$withval" = "xyes" then - LIBIPTC_CPPFLAGS="$LIBIPTC_CPPFLAGS -I$withval/include" - LIBIPTC_LDFLAGS="$LIBIPTC_LDFLAGS -L$withval/lib" - with_libiptc="yes" + with_libiptc="pkgconfig" + else if test "x$withval" = "xno" + then + with_libiptc="no" else - with_libiptc="$withval" - fi; fi + with_libiptc="yes" + with_libiptc_cflags="-I$withval/include" + with_libiptc_libs="-L$withval/lib" + fi; fi; fi ], [ if test "x$ac_system" = "xLinux" then - with_libiptc="yes" + with_libiptc="pkgconfig" else with_libiptc="no (Linux only)" fi ]) -SAVE_CPPFLAGS="$CPPFLAGS" -SAVE_LDFLAGS="$LDFLAGS" -CPPFLAGS="$CPPFLAGS $LIBIPTC_CPPFLAGS" -LDFLAGS="$LDFLAGS $LIBIPTC_LDFLAGS" -# check whether the header file for libiptc is available. -if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno" + +if test "x$with_libiptc" = "xpkgconfig" && test "x$PKG_CONFIG" = "x" then - AC_CHECK_HEADERS(libiptc/libiptc.h, - [ - AC_DEFINE(HAVE_LIBIPTC_LIBIPTC_H, 1, [Define to 1 if you have the header file.]) - ], - [ - with_libiptc="yes" - with_own_libiptc="yes" - ]) + with_libiptc="no (Don't have pkg-config)" fi -if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno" + +if test "x$with_libiptc" = "xpkgconfig" then - AC_CHECK_HEADERS(libiptc/libip6tc.h, - [ - AC_DEFINE(HAVE_LIBIPTC_LIBIP6TC_H, 1, [Define to 1 if you have the header file.]) - ], - [ - with_libiptc="yes" - with_own_libiptc="yes" - ]) + $PKG_CONFIG --exists 'libiptc' 2>/dev/null + if test $? -ne 0 + then + with_libiptc="no (pkg-config doesn't know libiptc)" + fi +fi +if test "x$with_libiptc" = "xpkgconfig" +then + with_libiptc_cflags="`$PKG_CONFIG --cflags 'libiptc'`" + if test $? -ne 0 + then + with_libiptc="no ($PKG_CONFIG failed)" + fi + with_libiptc_libs="`$PKG_CONFIG --libs 'libiptc'`" + if test $? -ne 0 + then + with_libiptc="no ($PKG_CONFIG failed)" + fi +fi + +SAVE_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $with_libiptc_cflags" + +# check whether the header file for libiptc is available. +if test "x$with_libiptc" = "xpkgconfig" +then + AC_CHECK_HEADERS(libiptc/libiptc.h libiptc/libip6tc.h, , + [with_libiptc="no (header file missing)"]) fi # If the header file is available, check for the required type declaractions. # They may be missing in old versions of libiptc. In that case, they will be # declared in the iptables plugin. -if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno" +if test "x$with_libiptc" = "xpkgconfig" then - AC_CHECK_TYPES([iptc_handle_t, ip6tc_handle_t], [], [], - [ -#if OWN_LIBIPTC -# include "$srcdir/src/owniptc/libiptc.h" -# include "$srcdir/src/owniptc/libip6tc.h" -#else -# include -# include -#endif - ]) + AC_CHECK_TYPES([iptc_handle_t, ip6tc_handle_t], [], []) fi # Check for the iptc_init symbol in the library. -if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno" +# This could be in iptc or ip4tc +if test "x$with_libiptc" = "xpkgconfig" then - AC_CHECK_LIB(iptc, iptc_init, - [ - AC_DEFINE(HAVE_LIBIPTC, 1, [Define to 1 if you have the iptc library (-liptc).]) - ], - [ - with_libiptc="yes" - with_own_libiptc="yes" - ]) + SAVE_LIBS="$LIBS" + AC_SEARCH_LIBS(iptc_init, [iptc ip4tc], + [with_libiptc="pkgconfig"], + [with_libiptc="no"], + [$with_libiptc_libs]) + LIBS="$SAVE_LIBS" +fi +if test "x$with_libiptc" = "xpkgconfig" +then + with_libiptc="yes" +fi + +CPPFLAGS="$SAVE_CPPFLAGS" + +if test "x$with_libiptc" = "xown" +then + with_libiptc_cflags="" + with_libiptc_libs="" fi -# The system wide version failed for some reason. Check if we have the required -# headers to build the shipped version. -if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xyes" +if test "x$with_libiptc" = "xown" then AC_CHECK_HEADERS(linux/netfilter_ipv4/ip_tables.h linux/netfilter_ipv6/ip6_tables.h linux/netfilter/x_tables.h, [], [ with_libiptc="no (Linux iptables headers not found)" - with_own_libiptc="no" ], [ #include "$srcdir/src/owniptc/ipt_kernel_headers.h" ]) fi +AM_CONDITIONAL(BUILD_WITH_OWN_LIBIPTC, test "x$with_libiptc" = "xown") +if test "x$with_libiptc" = "xown" +then + AC_DEFINE(OWN_LIBIPTC, 1, [Define to 1 if we use the shipped iptc library.]) + with_libiptc="yes" +fi + AM_CONDITIONAL(BUILD_WITH_LIBIPTC, test "x$with_libiptc" = "xyes") -AM_CONDITIONAL(BUILD_WITH_OWN_LIBIPTC, test "x$with_own_libiptc" = "xyes") if test "x$with_libiptc" = "xyes" then - BUILD_WITH_LIBIPTC_CPPFLAGS="$LIBIPTC_CPPFLAGS" - BUILD_WITH_LIBIPTC_LDFLAGS="$LIBIPTC_LDFLAGS" + BUILD_WITH_LIBIPTC_CPPFLAGS="$with_libiptc_cflags" + BUILD_WITH_LIBIPTC_LDFLAGS="$with_libiptc_libs" AC_SUBST(BUILD_WITH_LIBIPTC_CPPFLAGS) AC_SUBST(BUILD_WITH_LIBIPTC_LDFLAGS) fi -if test "x$with_own_libiptc" = "xyes" -then - AC_DEFINE(OWN_LIBIPTC, 1, [Define to 1 if we use the shipped iptc library.]) -fi -CPPFLAGS="$SAVE_CPPFLAGS" -LDFLAGS="$SAVE_LDFLAGS" # }}} # --with-java {{{ @@ -1695,31 +1727,31 @@ then if test -d "$with_java_home" then AC_MSG_CHECKING([for jni.h]) - TMPDIR=`find "$with_java_home" -name jni.h -type f -exec 'dirname' '{}' ';' | head -n 1` - if test "x$TMPDIR" != "x" + TMPVAR=`find "$with_java_home" -name jni.h -type f -exec 'dirname' '{}' ';' | head -n 1` + if test "x$TMPVAR" != "x" then - AC_MSG_RESULT([found in $TMPDIR]) - JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$TMPDIR" + AC_MSG_RESULT([found in $TMPVAR]) + JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$TMPVAR" else AC_MSG_RESULT([not found]) fi AC_MSG_CHECKING([for jni_md.h]) - TMPDIR=`find "$with_java_home" -name jni_md.h -type f -exec 'dirname' '{}' ';' | head -n 1` - if test "x$TMPDIR" != "x" + TMPVAR=`find "$with_java_home" -name jni_md.h -type f -exec 'dirname' '{}' ';' | head -n 1` + if test "x$TMPVAR" != "x" then - AC_MSG_RESULT([found in $TMPDIR]) - JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$TMPDIR" + AC_MSG_RESULT([found in $TMPVAR]) + JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$TMPVAR" else AC_MSG_RESULT([not found]) fi AC_MSG_CHECKING([for libjvm.so]) - TMPDIR=`find "$with_java_home" -name libjvm.so -type f -exec 'dirname' '{}' ';' | head -n 1` - if test "x$TMPDIR" != "x" + TMPVAR=`find "$with_java_home" -name libjvm.so -type f -exec 'dirname' '{}' ';' | head -n 1` + if test "x$TMPVAR" != "x" then - AC_MSG_RESULT([found in $TMPDIR]) - JAVA_LDFLAGS="$JAVA_LDFLAGS -L$TMPDIR -Wl,-rpath -Wl,$TMPDIR" + AC_MSG_RESULT([found in $TMPVAR]) + JAVA_LDFLAGS="$JAVA_LDFLAGS -L$TMPVAR -Wl,-rpath -Wl,$TMPVAR" else AC_MSG_RESULT([not found]) fi @@ -1727,10 +1759,10 @@ then if test "x$JAVAC" = "x" then AC_MSG_CHECKING([for javac]) - TMPDIR=`find "$with_java_home" -name javac -type f | head -n 1` - if test "x$TMPDIR" != "x" + TMPVAR=`find "$with_java_home" -name javac -type f | head -n 1` + if test "x$TMPVAR" != "x" then - JAVAC="$TMPDIR" + JAVAC="$TMPVAR" AC_MSG_RESULT([$JAVAC]) else AC_MSG_RESULT([not found]) @@ -1739,10 +1771,10 @@ then if test "x$JAR" = "x" then AC_MSG_CHECKING([for jar]) - TMPDIR=`find "$with_java_home" -name jar -type f | head -n 1` - if test "x$TMPDIR" != "x" + TMPVAR=`find "$with_java_home" -name jar -type f | head -n 1` + if test "x$TMPVAR" != "x" then - JAR="$TMPDIR" + JAR="$TMPVAR" AC_MSG_RESULT([$JAR]) else AC_MSG_RESULT([not found]) @@ -2038,7 +2070,7 @@ then fi if test "x$with_libmysql" = "xyes" then - with_mysql_libs=`$with_mysql_config --libs 2>/dev/null` + with_mysql_libs=`$with_mysql_config --libs_r 2>/dev/null` mysql_config_status=$? if test $mysql_config_status -ne 0 @@ -2121,35 +2153,34 @@ then #include #include ]) - AC_COMPILE_IFELSE( -[#include + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[[ + #include + #include + #include + #include + #include + #include + ]]], [[[ + int retval = TCA_STATS2; + return (retval); + ]]] + )], + [AC_DEFINE([HAVE_TCA_STATS2], [1], [True if the enum-member TCA_STATS2 exists])]) + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( +[[[#include #include #include #include #include #include - -int main (void) -{ - int retval = TCA_STATS2; - return (retval); -}], - [AC_DEFINE([HAVE_TCA_STATS2], 1, [True if the enum-member TCA_STATS2 exists])] - []); - - AC_COMPILE_IFELSE( -[#include -#include -#include -#include -#include -#include - +]]], [[[ int main (void) { int retval = TCA_STATS; return (retval); -}], +}]]])], [AC_DEFINE([HAVE_TCA_STATS], 1, [True if the enum-member TCA_STATS exists])] []); @@ -2164,6 +2195,73 @@ then fi if test "x$with_libnetlink" = "xyes" then + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $with_libnetlink_cflags" + + AC_CACHE_CHECK( + [if function 'rtnl_dump_filter' expects five arguments], + [c_cv_rtnl_dump_filter_five_args], + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +AC_INCLUDES_DEFAULT +#include +#include +#if HAVE_LIBNETLINK_H +# include +#elif HAVE_IPROUTE_LIBNETLINK_H +# include +#elif HAVE_LINUX_LIBNETLINK_H +# include +#endif + ]], [[[ +if (rtnl_dump_filter(NULL, NULL, NULL, NULL, NULL)) + return 1; +return 0; + ]]] + )], + [c_cv_rtnl_dump_filter_five_args="yes"], + [c_cv_rtnl_dump_filter_five_args="no"] + ) + ) + + AC_CACHE_CHECK( + [if function 'rtnl_dump_filter' expects three arguments], + [c_cv_rtnl_dump_filter_three_args], + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[ +AC_INCLUDES_DEFAULT +#include +#include +#if HAVE_LIBNETLINK_H +# include +#elif HAVE_IPROUTE_LIBNETLINK_H +# include +#elif HAVE_LINUX_LIBNETLINK_H +# include +#endif + ]], [[[ +if (rtnl_dump_filter(NULL, NULL, NULL)) + return 1; +return 0; + ]]] + )], + [c_cv_rtnl_dump_filter_three_args="yes"], + [c_cv_rtnl_dump_filter_three_args="no"] + ) + ) + + CFLAGS="$SAVE_CFLAGS" + + if test "x$c_cv_rtnl_dump_filter_five_args" = "xyes" + then + AC_DEFINE(RTNL_DUMP_FILTER_FIVE_ARGS, 1, + [Define to 1 if function 'rtnl_dump_filter' expects five arguments.]) + fi + if test "x$c_cv_rtnl_dump_filter_three_args" = "xyes" + then + AC_DEFINE(RTNL_DUMP_FILTER_THREE_ARGS, 1, + [Define to 1 if function 'rtnl_dump_filter' expects three arguments.]) + fi + BUILD_WITH_LIBNETLINK_CFLAGS="$with_libnetlink_cflags" BUILD_WITH_LIBNETLINK_LIBS="$with_libnetlink_libs" AC_SUBST(BUILD_WITH_LIBNETLINK_CFLAGS) @@ -2570,7 +2668,7 @@ AM_CONDITIONAL(BUILD_WITH_LIBPCAP, test "x$with_libpcap" = "xyes") perl_interpreter="perl" AC_ARG_WITH(libperl, [AS_HELP_STRING([--with-libperl@<:@=PREFIX@:>@], [Path to libperl.])], [ - if test -x "$withval" + if test -f "$withval" && test -x "$withval" then perl_interpreter="$withval" with_libperl="yes" @@ -2614,19 +2712,19 @@ dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string AC_CACHE_CHECK([for libperl], [c_cv_have_libperl], AC_LINK_IFELSE( - AC_LANG_PROGRAM( - [[ + [AC_LANG_PROGRAM( + [[[ #define PERL_NO_GET_CONTEXT #include #include #include - ]], - [[ + ]]], + [[[ dTHX; load_module (PERL_LOADMOD_NOIMPORT, newSVpv ("Collectd::Plugin::FooBar", 24), Nullsv); - ]]), + ]]])], [c_cv_have_libperl="yes"], [c_cv_have_libperl="no"] ) @@ -2659,8 +2757,8 @@ then AC_CACHE_CHECK([if perl supports ithreads], [c_cv_have_perl_ithreads], AC_LINK_IFELSE( - AC_LANG_PROGRAM( - [[ + [AC_LANG_PROGRAM( + [[[ #include #include #include @@ -2668,8 +2766,8 @@ then #if !defined(USE_ITHREADS) # error "Perl does not support ithreads!" #endif /* !defined(USE_ITHREADS) */ - ]], - [[ ]]), + ]]], + [[[ ]]])], [c_cv_have_perl_ithreads="yes"], [c_cv_have_perl_ithreads="no"] ) @@ -2696,19 +2794,19 @@ then AC_CACHE_CHECK([for broken Perl_load_module()], [c_cv_have_broken_perl_load_module], AC_LINK_IFELSE( - AC_LANG_PROGRAM( - [[ + [AC_LANG_PROGRAM( + [[[ #define PERL_NO_GET_CONTEXT #include #include #include - ]], - [[ + ]]], + [[[ dTHX; load_module (PERL_LOADMOD_NOIMPORT, newSVpv ("Collectd::Plugin::FooBar", 24), Nullsv); - ]]), + ]]])], [c_cv_have_broken_perl_load_module="no"], [c_cv_have_broken_perl_load_module="yes"] ) @@ -3336,8 +3434,8 @@ then if $PKG_CONFIG --exists tokyotyrant then with_libtokyotyrant_cppflags="$with_libtokyotyrant_cppflags `$PKG_CONFIG --cflags tokyotyrant`" - with_libtokyotyrant_ldflags="$with_libtokyotyrant_ldflags `pkg-config --libs-only-L tokyotyrant`" - with_libtokyotyrant_libs="$with_libtokyotyrant_libs `pkg-config --libs-only-l tokyotyrant`" + with_libtokyotyrant_ldflags="$with_libtokyotyrant_ldflags `$PKG_CONFIG --libs-only-L tokyotyrant`" + with_libtokyotyrant_libs="$with_libtokyotyrant_libs `$PKG_CONFIG --libs-only-l tokyotyrant`" fi fi @@ -3607,6 +3705,7 @@ then CPPFLAGS="$CPPFLAGS $with_libyajl_cppflags" AC_CHECK_HEADERS(yajl/yajl_parse.h, [with_libyajl="yes"], [with_libyajl="no (yajl/yajl_parse.h not found)"]) + AC_CHECK_HEADERS(yajl/yajl_version.h) CPPFLAGS="$SAVE_CPPFLAGS" fi @@ -3644,7 +3743,7 @@ with_libvirt_cflags="" with_libvirt_ldflags="" if test "x$PKG_CONFIG" != "x" then - pkg-config --exists 'libxml-2.0' 2>/dev/null + $PKG_CONFIG --exists 'libxml-2.0' 2>/dev/null if test "$?" = "0" then with_libxml2="yes" @@ -3652,7 +3751,7 @@ then with_libxml2="no (pkg-config doesn't know library)" fi - pkg-config --exists libvirt 2>/dev/null + $PKG_CONFIG --exists libvirt 2>/dev/null if test "$?" = "0" then with_libvirt="yes" @@ -3662,12 +3761,12 @@ then fi if test "x$with_libxml2" = "xyes" then - with_libxml2_cflags="`pkg-config --cflags libxml-2.0`" + with_libxml2_cflags="`$PKG_CONFIG --cflags libxml-2.0`" if test $? -ne 0 then with_libxml2="no" fi - with_libxml2_ldflags="`pkg-config --libs libxml-2.0`" + with_libxml2_ldflags="`$PKG_CONFIG --libs libxml-2.0`" if test $? -ne 0 then with_libxml2="no" @@ -3707,12 +3806,12 @@ if test "x$with_libxml2" = "xyes"; then fi if test "x$with_libvirt" = "xyes" then - with_libvirt_cflags="`pkg-config --cflags libvirt`" + with_libvirt_cflags="`$PKG_CONFIG --cflags libvirt`" if test $? -ne 0 then with_libvirt="no" fi - with_libvirt_ldflags="`pkg-config --libs libvirt`" + with_libvirt_ldflags="`$PKG_CONFIG --libs libvirt`" if test $? -ne 0 then with_libvirt="no" @@ -4028,7 +4127,7 @@ then plugin_vserver="yes" plugin_wireless="yes" - if test "x$have_net_ip_vs_h" = "xyes" || test "x$have_ip_vs_h" = "xyes" + if test "x$have_linux_ip_vs_h" = "xyes" || test "x$have_net_ip_vs_h" = "xyes" || test "x$have_ip_vs_h" = "xyes" then plugin_ipvs="yes" fi @@ -4438,11 +4537,16 @@ AC_SUBST(LOAD_PLUGIN_CSV) dnl ip_vs.h if test "x$ac_system" = "xLinux" \ - && test "x$have_net_ip_vs_h$have_ip_vs_h" = "xnono" + && test "x$have_linux_ip_vs_h$have_net_ip_vs_h$have_ip_vs_h" = "xnonono" then enable_ipvs="$enable_ipvs (ip_vs.h not found)" fi +if test "x$ip_vs_h_needs_kernel_cflags" = "xyes" +then + enable_ipvs="$enable_ipvs (needs $KERNEL_CFLAGS)" +fi + dnl Perl bindings AC_ARG_WITH(perl-bindings, [AS_HELP_STRING([--with-perl-bindings@<:@=OPTIONS@:>@], [Options passed to "perl Makefile.PL".])], [ @@ -4498,11 +4602,6 @@ then with_librrd="yes (warning: librrd is not thread-safe)" fi -if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xyes" -then - with_libiptc="yes (shipped version)" -fi - if test "x$with_libperl" = "xyes" then with_libperl="yes (version `$perl_interpreter -MConfig -e 'print $Config{version};'`)"