summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 0681463)
raw | patch | inline | side by side (parent: 0681463)
author | Aurélien Reynaud <collectd@wattapower.net> | |
Tue, 4 May 2010 13:05:12 +0000 (15:05 +0200) | ||
committer | Florian Forster <octo@huhu.verplant.org> | |
Wed, 19 May 2010 09:25:00 +0000 (11:25 +0200) |
The swapctl() function comes in two flavors. Depending on the OS,
it can take two or three arguments with the following prototypes:
swapctl (int cmd, void *arg, int misc); (BSD version)
or
swapctl (int cmd, void *arg); (HP-UX or Solaris version)
This patch adds support for detecting the right version of swapctl()
at configure time.
In addition to HAVE_SWAPCTL, HAVE_SWAPCTL_TWO_ARGS and/or
HAVE_SWAPCTL_THREE_ARGS are defined to reflect the result of the
check.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
it can take two or three arguments with the following prototypes:
swapctl (int cmd, void *arg, int misc); (BSD version)
or
swapctl (int cmd, void *arg); (HP-UX or Solaris version)
This patch adds support for detecting the right version of swapctl()
at configure time.
In addition to HAVE_SWAPCTL, HAVE_SWAPCTL_TWO_ARGS and/or
HAVE_SWAPCTL_THREE_ARGS are defined to reflect the result of the
check.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in | patch | blob | history |
diff --git a/configure.in b/configure.in
index 88ff302d702e90dc387b4724e1aec2b1920a5185..dbb4c32a06fccc31249ce365cba2db33087df183 100644 (file)
--- a/configure.in
+++ b/configure.in
AC_CHECK_FUNCS(getutent, [have_getutent="yes"], [have_getutent="no"])
AC_CHECK_FUNCS(getutxent, [have_getutxent="yes"], [have_getutxent="no"])
AC_CHECK_FUNCS(swapctl, [have_swapctl="yes"], [have_swapctl="no"])
+if test "x$have_swapctl" = "xyes"; then
+ AC_CACHE_CHECK([whether swapctl takes two arguments],
+ [c_cv_have_swapctl_two_args],
+ AC_COMPILE_IFELSE(
+ AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT
+#if HAVE_SYS_SWAP_H && !defined(_LP64) && _FILE_OFFSET_BITS == 64
+# undef _FILE_OFFSET_BITS
+# undef _LARGEFILE64_SOURCE
+#endif
+#include <sys/stat.h>
+#include <sys/swap.h>]],
+ [[
+ int num = swapctl(0, NULL);
+ ]]
+ ),
+ [c_cv_have_swapctl_two_args="yes"],
+ [c_cv_have_swapctl_two_args="no"]
+ )
+ )
+ AC_CACHE_CHECK([whether swapctl takes three arguments],
+ [c_cv_have_swapctl_three_args],
+ AC_COMPILE_IFELSE(
+ AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT
+#if HAVE_SYS_SWAP_H && !defined(_LP64) && _FILE_OFFSET_BITS == 64
+# undef _FILE_OFFSET_BITS
+# undef _LARGEFILE64_SOURCE
+#endif
+#include <sys/stat.h>
+#include <sys/swap.h>]],
+ [[
+ int num = swapctl(0, NULL,0);
+ ]]
+ ),
+ [c_cv_have_swapctl_three_args="yes"],
+ [c_cv_have_swapctl_three_args="no"]
+ )
+ )
+fi
+# Check for different versions of `swapctl' here..
+if test "x$have_swapctl" = "xyes"; then
+ if test "x$c_cv_have_swapctl_two_args" = "xyes"; then
+ AC_DEFINE(HAVE_SWAPCTL_TWO_ARGS, 1,
+ [Define if the function swapctl exists and takes two arguments.])
+ fi
+ if test "x$c_cv_have_swapctl_three_args" = "xyes"; then
+ AC_DEFINE(HAVE_SWAPCTL_THREE_ARGS, 1,
+ [Define if the function swapctl exists and takes three arguments.])
+ fi
+fi
# For load module
AC_CHECK_FUNCS(getloadavg, [have_getloadavg="yes"], [have_getloadavg="no"])