AC_PROG_LIBTOOL
AC_PROG_LEX
AC_PROG_YACC
+PKG_PROG_PKG_CONFIG
AC_CONFIG_SUBDIRS(libltdl)
AC_MSG_CHECKING([for kernel type ($host_os)])
#endif
])
+#
+# Checks for libraries begin here
+#
with_libresolv="yes"
AC_CHECK_LIB(resolv, res_search,
[
AC_DEFINE_UNQUOTED(COLLECT_LIBIOKIT, [$collect_libiokit], [Wether or not to use the IOKit library])
AM_CONDITIONAL(BUILD_WITH_LIBIOKIT, test "x$with_libiokit" = "xyes")
+with_libstatgrab_cflags=""
+with_libstatgrab_ldflags=""
AC_ARG_WITH(libstatgrab, [AS_HELP_STRING([--with-libstatgrab@<:@=PREFIX@:>@], [Path to libstatgrab.])],
[
if test "x$withval" != "xno" -a "x$withval" != "xyes"
then
- LDFLAGS="$LDFLAGS -L$withval/lib"
- CPPFLAGS="$CPPFLAGS -I$withval/include"
+ with_libstatgrab_cflags="-I$withval/include"
+ with_libstatgrab_ldflags="-L$withval/lib"
with_libstatgrab="yes"
fi
],
with_libstatgrab="no"
fi
])
-if test "x$with_libstatgrab" = "xyes"
+with_libstatgrab_pkg_config="yes"
+if test "x$with_libstatgrab" = "xyes" \
+ && test "x$PKG_CONFIG" != "x"
+then
+ AC_MSG_CHECKING([pkg-config for libstatgrab])
+ temp_result="found"
+ $PKG_CONFIG --exists libstatgrab 2>/dev/null
+ if test "$?" != "0"
+ then
+ with_libstatgrab_pkg_config="no"
+ temp_result="not found"
+ fi
+ AC_MSG_RESULT([$temp_result])
+else
+ AC_MSG_NOTICE([pkg-config not available, trying to guess flags for the statgrab library.])
+ with_libstatgrab_pkg_config="no"
+ with_libstatgrab_ldflags="$with_libstatgrab_ldflags -lstatgrab"
+fi
+
+if test "x$with_libstatgrab" = "xyes" \
+ && test "x$with_libstatgrab_pkg_config" = "xyes" \
+ && test "x$with_libstatgrab_cflags" = "x"
then
- AC_CHECK_LIB(statgrab, sg_init, [with_libstatgrab="yes"], [with_libstatgrab="no (libstatgrab not found)"])
+ AC_MSG_CHECKING([for libstatgrab CFLAGS])
+ temp_result="`$PKG_CONFIG --cflags libstatgrab`"
+ if test "$?" = "0"
+ then
+ with_libstatgrab_cflags="$temp_result"
+ else
+ with_libstatgrab="no ($PKG_CONFIG --cflags libstatgrab failed)"
+ temp_result="$PKG_CONFIG --cflags libstatgrab failed"
+ fi
+ AC_MSG_RESULT([$temp_result])
fi
-if test "x$with_libstatgrab" = "xyes"
+
+if test "x$with_libstatgrab" = "xyes" \
+ && test "x$with_libstatgrab_pkg_config" = "xyes" \
+ && test "x$with_libstatgrab_ldflags" = "x"
then
- AC_CHECK_HEADERS(statgrab.h,, [with_libstatgrab="no (statgrab.h not found)"])
+ AC_MSG_CHECKING([for libstatgrab LDFLAGS])
+ temp_result="`$PKG_CONFIG --libs libstatgrab`"
+ if test "$?" = "0"
+ then
+ with_libstatgrab_ldflags="$temp_result"
+ else
+ with_libstatgrab="no ($PKG_CONFIG --libs libstatgrab failed)"
+ temp_result="$PKG_CONFIG --libs libstatgrab failed"
+ fi
+ AC_MSG_RESULT([$temp_result])
fi
+
if test "x$with_libstatgrab" = "xyes"
then
- AC_CHECK_LIB(devstat, getdevs, [with_libdevstat="yes"], [with_libdevstat="no"])
+ SAVE_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $with_libstatgrab_cflags"
+
+ AC_CHECK_HEADERS(statgrab.h,
+ [with_libstatgrab="yes"],
+ [with_libstatgrab="no (statgrab.h not found)"])
+
+ CPPFLAGS="$SAVE_CPPFLAGS"
fi
+
if test "x$with_libstatgrab" = "xyes"
then
- collect_libstatgrab=1
-else
- collect_libstatgrab=0
+ SAVE_CFLAGS="$CFLAGS"
+ SAVE_LDFLAGS="$LDFLAGS"
+
+ CFLAGS="$CFLAGS $with_libstatgrab_cflags"
+ LDFLAGS="$LDFLAGS $with_libstatgrab_ldflags"
+
+ AC_CHECK_LIB(statgrab, sg_init,
+ [with_libstatgrab="yes"],
+ [with_libstatgrab="no (symbol sg_init not found)"])
+
+ CFLAGS="$SAVE_CFLAGS"
+ LDFLAGS="$SAVE_LDFLAGS"
fi
-AC_DEFINE_UNQUOTED(COLLECT_LIBSTATGRAB, [$collect_libstatgrab],
- [Wether or not to use statgrab library])
+
AM_CONDITIONAL(BUILD_WITH_LIBSTATGRAB, test "x$with_libstatgrab" = "xyes")
-AM_CONDITIONAL(BUILD_WITH_LIBDEVSTAT, test "x$with_libdevstat" = "xyes")
+if test "x$with_libstatgrab" = "xyes"
+then
+ BUILD_WITH_LIBSTATGRAB_CFLAGS="$with_libstatgrab_cflags"
+ BUILD_WITH_LIBSTATGRAB_LDFLAGS="$with_libstatgrab_ldflags"
+ AC_SUBST(BUILD_WITH_LIBSTATGRAB_CFLAGS)
+ AC_SUBST(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
+fi
AC_CHECK_LIB(kvm, kvm_getswapinfo, [with_libkvm="yes"], [with_libkvm="no"])
if test "x$with_libkvm" = "xyes"
plugin.c plugin.h \
configfile.c configfile.h \
types_list.c types_list.h
+
collectd_CPPFLAGS = $(LTDLINCL)
+collectd_CFLAGS =
+collectd_LDFLAGS = -export-dynamic
+collectd_LDADD =
+collectd_DEPENDENCIES =
+
collectd_CPPFLAGS += -DPREFIX='"${prefix}"'
collectd_CPPFLAGS += -DCONFIGFILE='"${sysconfdir}/${PACKAGE_NAME}.conf"'
collectd_CPPFLAGS += -DLOCALSTATEDIR='"${localstatedir}"'
collectd_CPPFLAGS += -DPLUGINDIR='"${pkglibdir}"'
# Link to these libraries..
-collectd_LDFLAGS = -export-dynamic
if BUILD_WITH_LIBRT
-collectd_LDFLAGS += -lrt
+collectd_LDADD += -lrt
endif
if BUILD_WITH_LIBSOCKET
-collectd_LDFLAGS += -lsocket
+collectd_LDADD += -lsocket
endif
if BUILD_WITH_LIBRESOLV
-collectd_LDFLAGS += -lresolv
+collectd_LDADD += -lresolv
endif
if BUILD_WITH_LIBPTHREAD
-collectd_LDFLAGS += -lpthread
+collectd_LDADD += -lpthread
endif
if BUILD_WITH_LIBKSTAT
-collectd_LDFLAGS += -lkstat
+collectd_LDADD += -lkstat
endif
if BUILD_WITH_LIBDEVINFO
-collectd_LDFLAGS += -ldevinfo
+collectd_LDADD += -ldevinfo
endif
+# The daemon needs to call sg_init, so we need to link it against libstatgrab,
+# too. -octo
if BUILD_WITH_LIBSTATGRAB
-if BUILD_WITH_LIBKVM
-collectd_LDFLAGS += -lkvm
-endif
-if BUILD_WITH_LIBDEVSTAT
-collectd_LDFLAGS += -ldevstat
+collectd_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS)
+collectd_LDADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
endif
-collectd_LDFLAGS += -lstatgrab
-endif
-
-collectd_LDADD =
-collectd_DEPENDENCIES =
if BUILD_WITH_OWN_LIBOCONFIG
collectd_LDADD += $(LIBLTDL) liboconfig/liboconfig.la
collectd_DEPENDENCIES += $(LIBLTDL) liboconfig/liboconfig.la
else
-collectd_LDFLAGS += -loconfig
+collectd_LDADD += -loconfig
endif
collectd_nagios_SOURCES = collectd-nagios.c
if BUILD_PLUGIN_INTERFACE
pkglib_LTLIBRARIES += interface.la
interface_la_SOURCES = interface.c
+interface_la_CFLAGS =
interface_la_LDFLAGS = -module -avoid-version
+interface_la_LIBADD =
collectd_LDADD += "-dlopen" interface.la
collectd_DEPENDENCIES += interface.la
+if BUILD_WITH_LIBSTATGRAB
+interface_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS)
+interface_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
+else
if BUILD_WITH_LIBKSTAT
interface_la_LDFLAGS += -lkstat
endif
if BUILD_WITH_LIBDEVINFO
interface_la_LDFLAGS += -ldevinfo
-endif
-if BUILD_WITH_LIBSTATGRAB
-if BUILD_WITH_LIBKVM
-interface_la_LDFLAGS += -lkvm
-endif
-if BUILD_WITH_LIBDEVSTAT
-interface_la_LDFLAGS += -ldevstat
-endif
-interface_la_LDFLAGS += -lstatgrab
-endif
-endif
+endif # BUILD_WITH_LIBDEVINFO
+endif # !BUILD_WITH_LIBSTATGRAB
+endif # BUILD_PLUGIN_INTERFACE
if BUILD_PLUGIN_IPTABLES
pkglib_LTLIBRARIES += iptables.la
if BUILD_PLUGIN_LOAD
pkglib_LTLIBRARIES += load.la
load_la_SOURCES = load.c
+load_la_CFLAGS =
load_la_LDFLAGS = -module -avoid-version
+load_la_LIBADD =
collectd_LDADD += "-dlopen" load.la
collectd_DEPENDENCIES += load.la
if BUILD_WITH_LIBSTATGRAB
-if BUILD_WITH_LIBKVM
-load_la_LDFLAGS += -lkvm
-endif
-if BUILD_WITH_LIBDEVSTAT
-load_la_LDFLAGS += -ldevstat
-endif
-load_la_LDFLAGS += -lstatgrab
-endif
-endif
+load_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS)
+load_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
+endif # BUILD_WITH_LIBSTATGRAB
+endif # BUILD_PLUGIN_LOAD
if BUILD_PLUGIN_LOGFILE
pkglib_LTLIBRARIES += logfile.la
if BUILD_PLUGIN_MEMORY
pkglib_LTLIBRARIES += memory.la
memory_la_SOURCES = memory.c
+memory_la_CFLAGS =
memory_la_LDFLAGS = -module -avoid-version
+memory_la_LIBADD =
collectd_LDADD += "-dlopen" memory.la
collectd_DEPENDENCIES += memory.la
if BUILD_WITH_LIBKSTAT
-memory_la_LDFLAGS += -lkstat
+memory_la_LIBADD += -lkstat
endif
if BUILD_WITH_LIBDEVINFO
-memory_la_LDFLAGS += -ldevinfo
+memory_la_LIBADD += -ldevinfo
endif
if BUILD_WITH_LIBSTATGRAB
-if BUILD_WITH_LIBKVM
-memory_la_LDFLAGS += -lkvm
-endif
-if BUILD_WITH_LIBDEVSTAT
-memory_la_LDFLAGS += -ldevstat
-endif
-memory_la_LDFLAGS += -lstatgrab
+memory_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS)
+memory_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
endif
endif
if BUILD_PLUGIN_SWAP
pkglib_LTLIBRARIES += swap.la
swap_la_SOURCES = swap.c
+swap_la_CFLAGS =
swap_la_LDFLAGS = -module -avoid-version
+swap_la_LIBADD =
collectd_LDADD += "-dlopen" swap.la
collectd_DEPENDENCIES += swap.la
if BUILD_WITH_LIBKSTAT
-swap_la_LDFLAGS += -lkstat
+swap_la_LIBADD += -lkstat
endif
if BUILD_WITH_LIBDEVINFO
-swap_la_LDFLAGS += -ldevinfo
+swap_la_LIBADD += -ldevinfo
endif
if BUILD_WITH_LIBKVM
-swap_la_LDFLAGS += -lkvm
+swap_la_LIBADD += -lkvm
endif
if BUILD_WITH_LIBSTATGRAB
-if BUILD_WITH_LIBDEVSTAT
-swap_la_LDFLAGS += -ldevstat
-endif
-swap_la_LDFLAGS += -lstatgrab
+swap_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS)
+swap_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
endif
endif