diff --git a/configure.in b/configure.in
index 5c3564c42b7b631f5cd038eae077400b0add1d93..5dac543169ca42d2d1eac2ff6acdd0708afa6a29 100644 (file)
--- a/configure.in
+++ b/configure.in
AC_INIT(collectd, m4_esyscmd(./version-gen.sh))
AC_CONFIG_SRCDIR(src/collectd.c)
AC_CONFIG_HEADERS(src/config.h)
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
m4_ifdef([LT_PACKAGE_VERSION],
# libtool >= 2.2
])
# For ipvs module
])
# For ipvs module
+have_linux_ip_vs_h="no"
have_net_ip_vs_h="no"
have_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
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"])
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
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, [], [],
# For quota module
AC_CHECK_HEADERS(sys/ucred.h, [], [],
AC_CACHE_CHECK([for strtok_r],
[c_cv_have_strtok_r_default],
AC_LINK_IFELSE(
AC_CACHE_CHECK([for strtok_r],
[c_cv_have_strtok_r_default],
AC_LINK_IFELSE(
- AC_LANG_PROGRAM(
- [[[[
+ [AC_LANG_PROGRAM(
+ [[[
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
- ]]]],
- [[[[
+ ]]],
+ [[[
char buffer[] = "foo,bar,baz";
char *token;
char *dummy;
char buffer[] = "foo,bar,baz";
char *token;
char *dummy;
saveptr = NULL;
while ((token = strtok_r (dummy, ",", &saveptr)) != NULL)
{
saveptr = NULL;
while ((token = strtok_r (dummy, ",", &saveptr)) != NULL)
{
- dummy = NULL;
+ dummy = NULL;
printf ("token = %s;\n", token);
}
printf ("token = %s;\n", token);
}
- ]]]]),
+ ]]])],
[c_cv_have_strtok_r_default="yes"],
[c_cv_have_strtok_r_default="no"]
)
[c_cv_have_strtok_r_default="yes"],
[c_cv_have_strtok_r_default="no"]
)
AC_CACHE_CHECK([if strtok_r needs _REENTRANT],
[c_cv_have_strtok_r_reentrant],
AC_LINK_IFELSE(
AC_CACHE_CHECK([if strtok_r needs _REENTRANT],
[c_cv_have_strtok_r_reentrant],
AC_LINK_IFELSE(
- AC_LANG_PROGRAM(
- [[[[
+ [AC_LANG_PROGRAM(
+ [[[
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
- ]]]],
- [[[[
+ ]]],
+ [[[
char buffer[] = "foo,bar,baz";
char *token;
char *dummy;
char buffer[] = "foo,bar,baz";
char *token;
char *dummy;
saveptr = NULL;
while ((token = strtok_r (dummy, ",", &saveptr)) != NULL)
{
saveptr = NULL;
while ((token = strtok_r (dummy, ",", &saveptr)) != NULL)
{
- dummy = NULL;
+ dummy = NULL;
printf ("token = %s;\n", token);
}
printf ("token = %s;\n", token);
}
- ]]]]),
+ ]]])],
[c_cv_have_strtok_r_reentrant="yes"],
[AC_MSG_FAILURE([strtok_r isn't available. Please file a bugreport!])]
)
[c_cv_have_strtok_r_reentrant="yes"],
[AC_MSG_FAILURE([strtok_r isn't available. Please file a bugreport!])]
)
AC_CACHE_CHECK([whether NAN is defined by default],
[c_cv_have_nan_default],
AC_COMPILE_IFELSE(
AC_CACHE_CHECK([whether NAN is defined by default],
[c_cv_have_nan_default],
AC_COMPILE_IFELSE(
- AC_LANG_PROGRAM(
- [[
+ [AC_LANG_PROGRAM(
+ [[[
#include <stdlib.h>
#include <math.h>
#include <stdlib.h>
#include <math.h>
-static float foo = NAN;
- ]],
- [[
+static double foo = NAN;
+ ]]],
+ [[[
if (isnan (foo))
return 0;
else
return 1;
if (isnan (foo))
return 0;
else
return 1;
- ]]),
+ ]]])],
[c_cv_have_nan_default="yes"],
[c_cv_have_nan_default="no"]
)
[c_cv_have_nan_default="yes"],
[c_cv_have_nan_default="no"]
)
AC_CACHE_CHECK([whether NAN is defined by __USE_ISOC99],
[c_cv_have_nan_isoc],
AC_COMPILE_IFELSE(
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 <stdlib.h>
#define __USE_ISOC99 1
#include <math.h>
#include <stdlib.h>
#define __USE_ISOC99 1
#include <math.h>
-static float foo = NAN;
- ]],
- [[
+static double foo = NAN;
+ ]]],
+ [[[
if (isnan (foo))
return 0;
else
return 1;
if (isnan (foo))
return 0;
else
return 1;
- ]]),
+ ]]])],
[c_cv_have_nan_isoc="yes"],
[c_cv_have_nan_isoc="no"]
)
[c_cv_have_nan_isoc="yes"],
[c_cv_have_nan_isoc="no"]
)
AC_CACHE_CHECK([whether NAN can be defined by 0/0],
[c_cv_have_nan_zero],
AC_RUN_IFELSE(
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 <stdlib.h>
#include <math.h>
#ifdef NAN
#include <stdlib.h>
#include <math.h>
#ifdef NAN
#ifndef isnan
# define isnan(f) ((f) != (f))
#endif
#ifndef isnan
# define isnan(f) ((f) != (f))
#endif
-static float foo = NAN;
- ]],
- [[
+static double foo = NAN;
+ ]]],
+ [[[
if (isnan (foo))
return 0;
else
return 1;
if (isnan (foo))
return 0;
else
return 1;
- ]]),
+ ]]])],
[c_cv_have_nan_zero="yes"],
[c_cv_have_nan_zero="no"]
)
[c_cv_have_nan_zero="yes"],
[c_cv_have_nan_zero="no"]
)
AC_CACHE_CHECK([if doubles are stored in x86 representation],
[c_cv_fp_layout_need_nothing],
AC_RUN_IFELSE(
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 <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#if HAVE_STDBOOL_H
# include <stdbool.h>
#endif
#if HAVE_STDBOOL_H
# include <stdbool.h>
#endif
- ]]]],
- [[[[
+ ]]],
+ [[[
uint64_t i0;
uint64_t i1;
uint8_t c[8];
uint64_t i0;
uint64_t i1;
uint8_t c[8];
return (0);
else
return (1);
return (0);
else
return (1);
- ]]]]),
+ ]]])],
[c_cv_fp_layout_need_nothing="yes"],
[c_cv_fp_layout_need_nothing="no"]
)
[c_cv_fp_layout_need_nothing="yes"],
[c_cv_fp_layout_need_nothing="no"]
)
AC_CACHE_CHECK([if endianflip converts to x86 representation],
[c_cv_fp_layout_need_endianflip],
AC_RUN_IFELSE(
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 <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
(((uint64_t)(A) & 0x0000000000ff0000LL) << 24) | \
(((uint64_t)(A) & 0x000000000000ff00LL) << 40) | \
(((uint64_t)(A) & 0x00000000000000ffLL) << 56))
(((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];
uint64_t i0;
uint64_t i1;
uint8_t c[8];
return (0);
else
return (1);
return (0);
else
return (1);
- ]]]]),
+ ]]])],
[c_cv_fp_layout_need_endianflip="yes"],
[c_cv_fp_layout_need_endianflip="no"]
)
[c_cv_fp_layout_need_endianflip="yes"],
[c_cv_fp_layout_need_endianflip="no"]
)
AC_CACHE_CHECK([if intswap converts to x86 representation],
[c_cv_fp_layout_need_intswap],
AC_RUN_IFELSE(
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 <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#endif
#define intswap(A) ((((uint64_t)(A) & 0xffffffff00000000LL) >> 32) | \
(((uint64_t)(A) & 0x00000000ffffffffLL) << 32))
#endif
#define intswap(A) ((((uint64_t)(A) & 0xffffffff00000000LL) >> 32) | \
(((uint64_t)(A) & 0x00000000ffffffffLL) << 32))
- ]]]],
- [[[[
+ ]]],
+ [[[
uint64_t i0;
uint64_t i1;
uint8_t c[8];
uint64_t i0;
uint64_t i1;
uint8_t c[8];
return (0);
else
return (1);
return (0);
else
return (1);
- ]]]]),
+ ]]])],
[c_cv_fp_layout_need_intswap="yes"],
[c_cv_fp_layout_need_intswap="no"]
)
[c_cv_fp_layout_need_intswap="yes"],
[c_cv_fp_layout_need_intswap="no"]
)
AC_CACHE_CHECK([whether getmntent takes one argument],
[c_cv_have_one_getmntent],
AC_COMPILE_IFELSE(
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"]],
#include "$srcdir/src/utils_mount.h"]],
- [[
+ [[[
FILE *fh;
struct mntent *me;
fh = setmntent ("/etc/mtab", "r");
me = getmntent (fh);
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"]
)
[c_cv_have_one_getmntent="yes"],
[c_cv_have_one_getmntent="no"]
)
AC_CACHE_CHECK([whether getmntent takes two arguments],
[c_cv_have_two_getmntent],
AC_COMPILE_IFELSE(
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"]],
#include "$srcdir/src/utils_mount.h"]],
- [[
+ [[[
FILE *fh;
struct mnttab mt;
int status;
fh = fopen ("/etc/mnttab", "r");
status = getmntent (fh, &mt);
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"]
)
[c_cv_have_two_getmntent="yes"],
[c_cv_have_two_getmntent="no"]
)
have_htonll="no"
AC_LINK_IFELSE([
have_htonll="no"
AC_LINK_IFELSE([
- AC_LANG_PROGRAM([
+ AC_LANG_PROGRAM([[[
#include <sys/types.h>
#include <netinet/in.h>
#if HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#include <sys/types.h>
#include <netinet/in.h>
#if HAVE_INTTYPES_H
# include <inttypes.h>
#endif
- ], [
+ ]]], [[[
return htonll(0);
return htonll(0);
- ])
+ ]]])
], [
have_htonll="yes"
AC_DEFINE(HAVE_HTONLL, 1, [Define if the function htonll exists.])
], [
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"
],
[
have_struct_kinfo_proc_freebsd="no"
],
[
+AC_INCLUDES_DEFAULT
#include <kvm.h>
#include <sys/param.h>
#include <sys/sysctl.h>
#include <kvm.h>
#include <sys/param.h>
#include <sys/sysctl.h>
have_struct_kinfo_proc_openbsd="no"
],
[
have_struct_kinfo_proc_openbsd="no"
],
[
+AC_INCLUDES_DEFAULT
#include <sys/param.h>
#include <sys/sysctl.h>
#include <kvm.h>
#include <sys/param.h>
#include <sys/sysctl.h>
#include <kvm.h>
[with_libhal="no"])
if test "x$with_libhal" = "xyes"; then
if test "x$PKG_CONFIG" != "x"; then
[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
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_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"
AC_DEFINE(HAVE_LIBKVM_NLIST, 1,
[Define to 1 if you have the 'kvm' library with the 'kvm_nlist' symbol (-lkvm)])
with_libkvm="yes"
# }}}
# --with-libiptc {{{
# }}}
# --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
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
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
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
],
[
if test "x$ac_system" = "xLinux"
then
- with_libiptc="yes"
+ with_libiptc="pkgconfig"
else
with_libiptc="no (Linux only)"
fi
])
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
then
- AC_CHECK_HEADERS(libiptc/libiptc.h,
- [
- AC_DEFINE(HAVE_LIBIPTC_LIBIPTC_H, 1, [Define to 1 if you have the <libiptc/libiptc.h> header file.])
- ],
- [
- with_libiptc="yes"
- with_own_libiptc="yes"
- ])
+ with_libiptc="no (Don't have pkg-config)"
fi
fi
-if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno"
+
+if test "x$with_libiptc" = "xpkgconfig"
then
then
- AC_CHECK_HEADERS(libiptc/libip6tc.h,
- [
- AC_DEFINE(HAVE_LIBIPTC_LIBIP6TC_H, 1, [Define to 1 if you have the <libiptc/libip6tc.h> 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.
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
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 <libiptc/libiptc.h>
-# include <libiptc/libip6tc.h>
-#endif
- ])
+ AC_CHECK_TYPES([iptc_handle_t, ip6tc_handle_t], [], [])
fi
# Check for the iptc_init symbol in the library.
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
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
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)"
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
],
[
#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_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
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
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 {{{
# }}}
# --with-java {{{
if test -d "$with_java_home"
then
AC_MSG_CHECKING([for jni.h])
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
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])
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
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])
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
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
else
AC_MSG_RESULT([not found])
fi
if test "x$JAVAC" = "x"
then
AC_MSG_CHECKING([for javac])
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
then
- JAVAC="$TMPDIR"
+ JAVAC="$TMPVAR"
AC_MSG_RESULT([$JAVAC])
else
AC_MSG_RESULT([not found])
AC_MSG_RESULT([$JAVAC])
else
AC_MSG_RESULT([not found])
if test "x$JAR" = "x"
then
AC_MSG_CHECKING([for jar])
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
then
- JAR="$TMPDIR"
+ JAR="$TMPVAR"
AC_MSG_RESULT([$JAR])
else
AC_MSG_RESULT([not found])
AC_MSG_RESULT([$JAR])
else
AC_MSG_RESULT([not found])
fi
if test "x$with_libmysql" = "xyes"
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
mysql_config_status=$?
if test $mysql_config_status -ne 0
#include <asm/types.h>
#include <sys/socket.h>])
#include <asm/types.h>
#include <sys/socket.h>])
- AC_COMPILE_IFELSE(
-[#include <stdio.h>
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[[
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <asm/types.h>
+ #include <sys/socket.h>
+ #include <linux/netlink.h>
+ #include <linux/rtnetlink.h>
+ ]]], [[[
+ 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 <stdio.h>
#include <sys/types.h>
#include <asm/types.h>
#include <sys/socket.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
#include <sys/types.h>
#include <asm/types.h>
#include <sys/socket.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
-
-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 <stdio.h>
-#include <sys/types.h>
-#include <asm/types.h>
-#include <sys/socket.h>
-#include <linux/netlink.h>
-#include <linux/rtnetlink.h>
-
+]]], [[[
int main (void)
{
int retval = TCA_STATS;
return (retval);
int main (void)
{
int retval = TCA_STATS;
return (retval);
-}],
+}]]])],
[AC_DEFINE([HAVE_TCA_STATS], 1, [True if the enum-member TCA_STATS exists])]
[]);
[AC_DEFINE([HAVE_TCA_STATS], 1, [True if the enum-member TCA_STATS exists])]
[]);
fi
if test "x$with_libnetlink" = "xyes"
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 <asm/types.h>
+#include <sys/socket.h>
+#if HAVE_LIBNETLINK_H
+# include <libnetlink.h>
+#elif HAVE_IPROUTE_LIBNETLINK_H
+# include <iproute/libnetlink.h>
+#elif HAVE_LINUX_LIBNETLINK_H
+# include <linux/libnetlink.h>
+#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 <asm/types.h>
+#include <sys/socket.h>
+#if HAVE_LIBNETLINK_H
+# include <libnetlink.h>
+#elif HAVE_IPROUTE_LIBNETLINK_H
+# include <iproute/libnetlink.h>
+#elif HAVE_LINUX_LIBNETLINK_H
+# include <linux/libnetlink.h>
+#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)
BUILD_WITH_LIBNETLINK_CFLAGS="$with_libnetlink_cflags"
BUILD_WITH_LIBNETLINK_LIBS="$with_libnetlink_libs"
AC_SUBST(BUILD_WITH_LIBNETLINK_CFLAGS)
perl_interpreter="perl"
AC_ARG_WITH(libperl, [AS_HELP_STRING([--with-libperl@<:@=PREFIX@:>@], [Path to libperl.])],
[
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"
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_CACHE_CHECK([for libperl],
[c_cv_have_libperl],
AC_LINK_IFELSE(
- AC_LANG_PROGRAM(
- [[
+ [AC_LANG_PROGRAM(
+ [[[
#define PERL_NO_GET_CONTEXT
#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
#define PERL_NO_GET_CONTEXT
#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
- ]],
- [[
+ ]]],
+ [[[
dTHX;
load_module (PERL_LOADMOD_NOIMPORT,
newSVpv ("Collectd::Plugin::FooBar", 24),
Nullsv);
dTHX;
load_module (PERL_LOADMOD_NOIMPORT,
newSVpv ("Collectd::Plugin::FooBar", 24),
Nullsv);
- ]]),
+ ]]])],
[c_cv_have_libperl="yes"],
[c_cv_have_libperl="no"]
)
[c_cv_have_libperl="yes"],
[c_cv_have_libperl="no"]
)
AC_CACHE_CHECK([if perl supports ithreads],
[c_cv_have_perl_ithreads],
AC_LINK_IFELSE(
AC_CACHE_CHECK([if perl supports ithreads],
[c_cv_have_perl_ithreads],
AC_LINK_IFELSE(
- AC_LANG_PROGRAM(
- [[
+ [AC_LANG_PROGRAM(
+ [[[
#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
#if !defined(USE_ITHREADS)
# error "Perl does not support ithreads!"
#endif /* !defined(USE_ITHREADS) */
#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"]
)
[c_cv_have_perl_ithreads="yes"],
[c_cv_have_perl_ithreads="no"]
)
AC_CACHE_CHECK([for broken Perl_load_module()],
[c_cv_have_broken_perl_load_module],
AC_LINK_IFELSE(
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 <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
#define PERL_NO_GET_CONTEXT
#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
- ]],
- [[
+ ]]],
+ [[[
dTHX;
load_module (PERL_LOADMOD_NOIMPORT,
newSVpv ("Collectd::Plugin::FooBar", 24),
Nullsv);
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"]
)
[c_cv_have_broken_perl_load_module="no"],
[c_cv_have_broken_perl_load_module="yes"]
)
if $PKG_CONFIG --exists tokyotyrant
then
with_libtokyotyrant_cppflags="$with_libtokyotyrant_cppflags `$PKG_CONFIG --cflags tokyotyrant`"
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
fi
fi
CPPFLAGS="$CPPFLAGS $with_libyajl_cppflags"
AC_CHECK_HEADERS(yajl/yajl_parse.h, [with_libyajl="yes"], [with_libyajl="no (yajl/yajl_parse.h not found)"])
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
CPPFLAGS="$SAVE_CPPFLAGS"
fi
with_libvirt_ldflags=""
if test "x$PKG_CONFIG" != "x"
then
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"
if test "$?" = "0"
then
with_libxml2="yes"
with_libxml2="no (pkg-config doesn't know library)"
fi
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"
if test "$?" = "0"
then
with_libvirt="yes"
fi
if test "x$with_libxml2" = "xyes"
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
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"
if test $? -ne 0
then
with_libxml2="no"
fi
if test "x$with_libvirt" = "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
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"
if test $? -ne 0
then
with_libvirt="no"
plugin_vserver="yes"
plugin_wireless="yes"
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
then
plugin_ipvs="yes"
fi
dnl ip_vs.h
if test "x$ac_system" = "xLinux" \
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
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".])],
[
dnl Perl bindings
AC_ARG_WITH(perl-bindings, [AS_HELP_STRING([--with-perl-bindings@<:@=OPTIONS@:>@], [Options passed to "perl Makefile.PL".])],
[
with_librrd="yes (warning: librrd is not thread-safe)"
fi
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};'`)"
if test "x$with_libperl" = "xyes"
then
with_libperl="yes (version `$perl_interpreter -MConfig -e 'print $Config{version};'`)"