diff options
author | Martin Baulig <martin@home-of-linux.org> | 1999-03-21 18:20:56 +0000 |
---|---|---|
committer | Martin Baulig <martin@src.gnome.org> | 1999-03-21 18:20:56 +0000 |
commit | d2e35777841b92726c956c63705dbb74ff47d584 (patch) | |
tree | ea48e9baaa9677a2f2fc8e0cd14f34442c278379 /libgtop-sysdeps.m4 | |
parent | 4a0344182f235e166d9c08cf95c159b624a36d58 (diff) | |
download | libgtop-d2e35777841b92726c956c63705dbb74ff47d584.tar.gz |
Added a new sysctl () interface to the Linux Kernel.
1999-03-21 Martin Baulig <martin@home-of-linux.org>
Added a new sysctl () interface to the Linux Kernel.
* kernel/sysctl: Imported.
* libgtop-sysdeps.m4: If `--enable-hacker-mode' is given, check
for my new sysctl () interface.
Diffstat (limited to 'libgtop-sysdeps.m4')
-rw-r--r-- | libgtop-sysdeps.m4 | 47 |
1 files changed, 45 insertions, 2 deletions
diff --git a/libgtop-sysdeps.m4 b/libgtop-sysdeps.m4 index 7dbf7074..2eaaadaa 100644 --- a/libgtop-sysdeps.m4 +++ b/libgtop-sysdeps.m4 @@ -15,6 +15,44 @@ AC_DEFUN([LIBGTOP_HACKER_TESTS],[ case "$host_os" in linux*) + AC_ARG_WITH(linux-sysctl, + [ --with-linux-sysctl Use the sysctl () interface from Martin Baulig],[ + linux_sysctl="$withval"],[linux_sysctl=auto]) + if test $linux_sysctl = yes ; then + AC_CHECK_HEADER(linux/libgtop.h, linux_sysctl=yes, linux_sysctl=no) + elif test $linux_sysctl = auto ; then + AC_MSG_CHECKING(for LibGTop sysctl support in Linux Kernel) + AC_TRY_RUN([ +#include <stdio.h> +#include <stdlib.h> + +#include <sys/sysctl.h> +#include <linux/libgtop.h> + +#define SIZE(x) sizeof(x)/sizeof(x[0]) + +int name[2] = { CTL_LIBGTOP, LIBGTOP_VERSION }; + +int +main (void) +{ + unsigned version; + size_t size = sizeof (version); + + if (sysctl (name, SIZE (name), &version, &size, NULL, 0)) + exit (1); + else if (version < 1) + exit (2); + else + exit (0); +} +], linux_sysctl=yes, linux_sysctl=no, linux_sysctl=no) + AC_MSG_RESULT($linux_sysctl) + fi + if test $linux_sysctl = yes ; then + AC_DEFINE(HAVE_LINUX_SYSCTL) + fi + AM_CONDITIONAL(LINUX_SYSCTL, test $linux_sysctl = yes) ;; esac ]) @@ -69,8 +107,13 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[ case "$host_os" in linux*) - libgtop_sysdeps_dir=linux - libgtop_use_machine_h=no + if test x$linux_sysctl = xyes ; then + libgtop_sysdeps_dir=kernel + libgtop_use_machine_h=no + else + libgtop_sysdeps_dir=linux + libgtop_use_machine_h=no + fi libgtop_have_sysinfo=yes libgtop_need_server=no ;; |