])
# For the swap module
+have_linux_wireless_h="no"
+if test "x$ac_system" = "xLinux"
+then
+ AC_CHECK_HEADERS(linux/wireless.h,
+ [have_linux_wireless_h="yes"],
+ [have_linux_wireless_h="no"],
+[
+#include <dirent.h>
+#include <sys/ioctl.h>
+#include <sys/socket.h>
+])
+fi
+
+# For the swap module
have_sys_swap_h="yes"
AC_CHECK_HEADERS(sys/swap.h vm/anon.h, [], [have_sys_swap_h="no"],
[
have_ip_vs_h="no"
if test "x$ac_system" = "xLinux"
then
- SAVE_CFLAGS=$CFLAGS
+ SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $KERNEL_CFLAGS"
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
+ CFLAGS="$SAVE_CFLAGS"
fi
# For quota module
with_own_libiptc="no"
AC_ARG_WITH(libiptc, [AS_HELP_STRING([--with-libiptc@<:@=PREFIX@:>@], [Path to libiptc.])],
[
- if test "x$withval" != "xno" && test "x$withval" != "xyes"
+ if test "x$withval" = "xshipped"
then
- LDFLAGS="$LDFLAGS -L$withval/lib"
- CPPFLAGS="$CPPFLAGS -I$withval/include"
+ with_own_libiptc="yes"
+ with_libiptc="yes"
+ else if test "x$withval" != "xno" && test "x$withval" != "xyes"
+ then
+ LIBIPTC_CPPFLAGS="$LIBIPTC_CPPFLAGS -I$withval/include"
+ LIBIPTC_LDFLAGS="$LIBIPTC_LDFLAGS -L$withval/lib"
with_libiptc="yes"
else
with_libiptc="$withval"
- fi
+ fi; fi
],
[
if test "x$ac_system" = "xLinux"
with_libiptc="no (Linux only)"
fi
])
-if test "x$with_libiptc" = "xyes"
+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"
then
- AC_CHECK_LIB(iptc, iptc_init,
+ AC_CHECK_HEADERS(libiptc/libiptc.h,
[
- AC_DEFINE(HAVE_LIBIPTC, 1, [Define to 1 if you have the iptc library (-liptc).])
+ 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"
])
fi
-if test "x$with_libiptc" = "xyes" -a "x$with_own_libiptc" != "xyes"
+if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno"
then
- AC_CHECK_HEADERS(libiptc/libiptc.h,
+ AC_CHECK_HEADERS(libiptc/libip6tc.h,
[
- AC_DEFINE(HAVE_LIBIPTC_LIBIPTC_H, 1, [Define to 1 if you have the <libiptc/libiptc.h> header file.])
+ 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"
])
fi
-if test "x$with_libiptc" = "xyes"
+# 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"
then
- SAVE_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS $KERNEL_CFLAGS"
-
- AC_CHECK_HEADERS(linux/netfilter_ipv4/ip_tables.h linux/netfilter_ipv6/ip6_tables.h, [],
+ 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
+ ])
+fi
+# Check for the iptc_init symbol in the library.
+if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno"
+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"
+ ])
+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"
+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 - check KERNEL_DIR)"
+ with_libiptc="no (Linux iptables headers not found)"
with_own_libiptc="no"
],
[
-#include "$srcdir/src/libiptc/ipt_kernel_headers.h"
+#include "$srcdir/src/owniptc/ipt_kernel_headers.h"
])
-
- CFLAGS=$SAVE_CFLAGS
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"
+ 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 {{{
])
if test "x$with_libnetlink" = "xyes"
then
- SAVE_CFLAGS=$CFLAGS
+ SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $with_libnetlink_cflags"
with_libnetlink="no (libnetlink.h not found)"
AM_CONDITIONAL(BUILD_WITH_LIBNETLINK, test "x$with_libnetlink" = "xyes")
# }}}
+# --with-libnetapp {{{
+AC_ARG_VAR([LIBNETAPP_CPPFLAGS], [C preprocessor flags required to build with libnetapp])
+AC_ARG_VAR([LIBNETAPP_LDFLAGS], [Linker flags required to build with libnetapp])
+AC_ARG_VAR([LIBNETAPP_LIBS], [Other libraries required to link against libnetapp])
+LIBNETAPP_CPPFLAGS="$LIBNETAPP_CPPFLAGS"
+LIBNETAPP_LDFLAGS="$LIBNETAPP_LDFLAGS"
+LIBNETAPP_LIBS="$LIBNETAPP_LIBS"
+AC_ARG_WITH(libnetapp, [AS_HELP_STRING([--with-libnetapp@<:@=PREFIX@:>@], [Path to libnetapp.])],
+[
+ if test -d "$withval"
+ then
+ LIBNETAPP_CPPFLAGS="$LIBNETAPP_CPPFLAGS -I$withval/include"
+ LIBNETAPP_LDFLAGS="$LIBNETAPP_LDFLAGS -L$withval/lib"
+ with_libnetapp="yes"
+ else
+ with_libnetapp="$withval"
+ fi
+],
+[
+ with_libnetapp="yes"
+])
+
+SAVE_CPPFLAGS="$CPPFLAGS"
+SAVE_LDFLAGS="$LDFLAGS"
+CPPFLAGS="$CPPFLAGS $LIBNETAPP_CPPFLAGS"
+LDFLAGS="$LDFLAGS $LIBNETAPP_LDFLAGS"
+
+if test "x$with_libnetapp" = "xyes"
+then
+ if test "x$LIBNETAPP_CPPFLAGS" != "x"
+ then
+ AC_MSG_NOTICE([netapp CPPFLAGS: $LIBNETAPP_CPPFLAGS])
+ fi
+ AC_CHECK_HEADERS(netapp_api.h,
+ [with_libnetapp="yes"],
+ [with_libnetapp="no (netapp_api.h not found)"])
+fi
+
+if test "x$with_libnetapp" = "xyes"
+then
+ if test "x$LIBNETAPP_LDFLAGS" != "x"
+ then
+ AC_MSG_NOTICE([netapp LDFLAGS: $LIBNETAPP_LDFLAGS])
+ fi
+
+ if test "x$LIBNETAPP_LIBS" = "x"
+ then
+ LIBNETAPP_LIBS="-lpthread -lxml -ladt -lssl -lm"
+ fi
+ AC_MSG_NOTICE([netapp LIBS: $LIBNETAPP_LIBS])
+
+ AC_CHECK_LIB(netapp, na_server_invoke_elem,
+ [with_libnetapp="yes"],
+ [with_libnetapp="no (symbol na_server_invoke_elem not found)"],
+ [$LIBNETAPP_LIBS])
+fi
+
+CPPFLAGS="$SAVE_CPPFLAGS"
+LDFLAGS="$SAVE_LDFLAGS"
+
+if test "x$with_libnetapp" = "xyes"
+then
+ AC_DEFINE(HAVE_LIBNETAPP, 1, [Define to 1 if you have the netapp library (-lnetapp).])
+fi
+
+AC_SUBST(LIBNETAPP_CPPFLAGS)
+AC_SUBST(LIBNETAPP_LDFLAGS)
+AC_SUBST(LIBNETAPP_LIBS)
+AM_CONDITIONAL(BUILD_WITH_LIBNETAPP, test "x$with_libnetapp" = "xyes")
+# }}}
+
# --with-libnetsnmp {{{
with_snmp_config="net-snmp-config"
with_snmp_cflags=""
if test "x$with_libperl" = "xyes" \
&& test -n "$perl_interpreter"
then
- SAVE_CFLAGS=$CFLAGS
- SAVE_LDFLAGS=$LDFLAGS
+ SAVE_CFLAGS="$CFLAGS"
+ SAVE_LDFLAGS="$LDFLAGS"
dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string)
PERL_CFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ccopts`
PERL_LDFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ldopts`
with_libperl="no"
fi
- CFLAGS=$SAVE_CFLAGS
- LDFLAGS=$SAVE_LDFLAGS
+ CFLAGS="$SAVE_CFLAGS"
+ LDFLAGS="$SAVE_LDFLAGS"
else if test -z "$perl_interpreter"; then
with_libperl="no (no perl interpreter found)"
c_cv_have_libperl="no"
if test "x$with_libperl" = "xyes"
then
- SAVE_CFLAGS=$CFLAGS
- SAVE_LDFLAGS=$LDFLAGS
+ SAVE_CFLAGS="$CFLAGS"
+ SAVE_LDFLAGS="$LDFLAGS"
CFLAGS="$CFLAGS $PERL_CFLAGS"
LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
AC_DEFINE(HAVE_PERL_ITHREADS, 1, [Define if Perl supports ithreads.])
fi
- CFLAGS=$SAVE_CFLAGS
- LDFLAGS=$SAVE_LDFLAGS
+ CFLAGS="$SAVE_CFLAGS"
+ LDFLAGS="$SAVE_LDFLAGS"
fi
if test "x$with_libperl" = "xyes"
then
- SAVE_CFLAGS=$CFLAGS
- SAVE_LDFLAGS=$LDFLAGS
+ SAVE_CFLAGS="$CFLAGS"
+ SAVE_LDFLAGS="$LDFLAGS"
# trigger an error if Perl_load_module*() uses __attribute__nonnull__(3)
# (see issues #41 and #42)
CFLAGS="$CFLAGS $PERL_CFLAGS -Wall -Werror"
)
)
- CFLAGS=$SAVE_CFLAGS
- LDFLAGS=$SAVE_LDFLAGS
+ CFLAGS="$SAVE_CFLAGS"
+ LDFLAGS="$SAVE_LDFLAGS"
fi
AM_CONDITIONAL(HAVE_BROKEN_PERL_LOAD_MODULE,
test "x$c_cv_have_broken_perl_load_module" = "xyes")
if test "x$with_libperl" = "xyes"
then
- SAVE_CFLAGS=$CFLAGS
- SAVE_LDFLAGS=$LDFLAGS
+ SAVE_CFLAGS="$CFLAGS"
+ SAVE_LDFLAGS="$LDFLAGS"
CFLAGS="$CFLAGS $PERL_CFLAGS"
LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
[Define if Perl's struct mgvtbl has member svt_local.])
fi
- CFLAGS=$SAVE_CFLAGS
- LDFLAGS=$SAVE_LDFLAGS
+ CFLAGS="$SAVE_CFLAGS"
+ LDFLAGS="$SAVE_LDFLAGS"
fi
# }}}
plugin_battery="no"
plugin_bind="no"
plugin_conntrack="no"
-plugin_couchdb="no"
plugin_cpu="no"
plugin_cpufreq="no"
+plugin_curl_json="no"
plugin_df="no"
plugin_disk="no"
plugin_entropy="no"
plugin_irq="no"
plugin_libvirt="no"
plugin_load="no"
-plugin_madwifi="no"
plugin_memory="no"
plugin_multimeter="no"
plugin_nfs="no"
plugin_vmem="no"
plugin_vserver="no"
plugin_wireless="no"
+plugin_zfs_arc="no"
# Linux
if test "x$ac_system" = "xLinux"
plugin_interface="yes"
plugin_irq="yes"
plugin_load="yes"
- plugin_madwifi="yes"
plugin_memory="yes"
plugin_nfs="yes"
plugin_fscache="yes"
if test "x$with_kstat" = "xyes"
then
plugin_uptime="yes"
+ plugin_zfs_arc="yes"
fi
if test "x$with_devinfo$with_kstat" = "xyesyes"
if test "x$with_libcurl" = "xyes" && test "x$with_libyajl" = "xyes"
then
- plugin_couchdb="yes"
+ plugin_curl_json="yes"
fi
if test "x$have_processor_info" = "xyes"
AC_PLUGIN([battery], [$plugin_battery], [Battery statistics])
AC_PLUGIN([bind], [$plugin_bind], [ISC Bind nameserver statistics])
AC_PLUGIN([conntrack], [$plugin_conntrack], [nf_conntrack statistics])
-AC_PLUGIN([couchdb], [$plugin_couchdb], [CouchDB statistics])
AC_PLUGIN([cpufreq], [$plugin_cpufreq], [CPU frequency statistics])
AC_PLUGIN([cpu], [$plugin_cpu], [CPU usage statistics])
AC_PLUGIN([csv], [yes], [CSV output plugin])
AC_PLUGIN([curl], [$with_libcurl], [CURL generic web statistics])
+AC_PLUGIN([curl_json], [$plugin_curl_json], [CouchDB statistics])
AC_PLUGIN([dbi], [$with_libdbi], [General database statistics])
AC_PLUGIN([df], [$plugin_df], [Filesystem usage statistics])
AC_PLUGIN([disk], [$plugin_disk], [Disk usage statistics])
AC_PLUGIN([libvirt], [$plugin_libvirt], [Virtual machine statistics])
AC_PLUGIN([load], [$plugin_load], [System load])
AC_PLUGIN([logfile], [yes], [File logging plugin])
-AC_PLUGIN([madwifi], [$plugin_madwifi], [Madwifi wireless statistics])
+AC_PLUGIN([madwifi], [$have_linux_wireless_h], [Madwifi wireless statistics])
AC_PLUGIN([match_empty_counter], [yes], [The empty counter match])
AC_PLUGIN([match_regex], [yes], [The regex match])
AC_PLUGIN([match_timediff], [yes], [The timediff match])
AC_PLUGIN([memory], [$plugin_memory], [Memory usage])
AC_PLUGIN([multimeter], [$plugin_multimeter], [Read multimeter values])
AC_PLUGIN([mysql], [$with_libmysql], [MySQL statistics])
+AC_PLUGIN([netapp], [$with_libnetapp], [NetApp plugin])
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([tape], [$plugin_tape], [Tape drive statistics])
AC_PLUGIN([target_notification], [yes], [The notification target])
AC_PLUGIN([target_replace], [yes], [The replace target])
+AC_PLUGIN([target_scale],[yes], [The scale target])
AC_PLUGIN([target_set], [yes], [The set target])
AC_PLUGIN([tcpconns], [$plugin_tcpconns], [TCP connection statistics])
AC_PLUGIN([teamspeak2], [yes], [TeamSpeak2 server statistics])
AC_PLUGIN([vmem], [$plugin_vmem], [Virtual memory statistics])
AC_PLUGIN([vserver], [$plugin_vserver], [Linux VServer statistics])
AC_PLUGIN([wireless], [$plugin_wireless], [Wireless statistics])
+AC_PLUGIN([write_http], [$with_libcurl], [HTTP output plugin])
AC_PLUGIN([xmms], [$with_libxmms], [XMMS statistics])
+AC_PLUGIN([zfs_arc], [$plugin_zfs_arc], [ZFS ARC statistics])
dnl Default configuration file
# Load either syslog or logfile
AC_CONFIG_FILES(src/libcollectdclient/lcc_features.h)
-AC_OUTPUT(Makefile src/Makefile src/collectd.conf src/libiptc/Makefile src/libcollectdclient/Makefile src/libcollectdclient/libcollectdclient.pc src/liboconfig/Makefile bindings/Makefile bindings/java/Makefile)
+AC_OUTPUT(Makefile src/Makefile src/collectd.conf src/owniptc/Makefile src/libcollectdclient/Makefile src/libcollectdclient/libcollectdclient.pc src/liboconfig/Makefile bindings/Makefile bindings/java/Makefile)
if test "x$with_librrd" = "xyes" \
&& test "x$librrd_threadsafe" != "xyes"
libkvm . . . . . . . $with_libkvm
libmemcached . . . . $with_libmemcached
libmysql . . . . . . $with_libmysql
+ libnetapp . . . . . . $with_libnetapp
libnetlink . . . . . $with_libnetlink
libnetsnmp . . . . . $with_libnetsnmp
libnotify . . . . . . $with_libnotify
battery . . . . . . . $enable_battery
bind . . . . . . . . $enable_bind
conntrack . . . . . . $enable_conntrack
- couchdb . . . . . . . $enable_couchdb
cpu . . . . . . . . . $enable_cpu
cpufreq . . . . . . . $enable_cpufreq
csv . . . . . . . . . $enable_csv
curl . . . . . . . . $enable_curl
+ curl_json . . . . . . $enable_curl_json
dbi . . . . . . . . . $enable_dbi
df . . . . . . . . . $enable_df
disk . . . . . . . . $enable_disk
memory . . . . . . . $enable_memory
multimeter . . . . . $enable_multimeter
mysql . . . . . . . . $enable_mysql
+ netapp . . . . . . . $enable_netapp
netlink . . . . . . . $enable_netlink
network . . . . . . . $enable_network
nfs . . . . . . . . . $enable_nfs
tape . . . . . . . . $enable_tape
target_notification . $enable_target_notification
target_replace . . . $enable_target_replace
+ target_scale . . . . $enable_target_scale
target_set . . . . . $enable_target_set
tcpconns . . . . . . $enable_tcpconns
teamspeak2 . . . . . $enable_teamspeak2
ted . . . . . . . . . $enable_ted
- tokyotyrant . . . . . $enable_tokyotyrant
thermal . . . . . . . $enable_thermal
+ tokyotyrant . . . . . $enable_tokyotyrant
unixsock . . . . . . $enable_unixsock
uptime . . . . . . . $enable_uptime
users . . . . . . . . $enable_users
vmem . . . . . . . . $enable_vmem
vserver . . . . . . . $enable_vserver
wireless . . . . . . $enable_wireless
+ write_http . . . . . $enable_write_http
xmms . . . . . . . . $enable_xmms
+ zfs_arc . . . . . . . $enable_zfs_arc
EOF