maint: stop pacifying Parfait
[coreutils.git] / m4 / boottime.m4
blobaa440ce1d75fb74a35cca8e49650ce5e66894ee4
1 # boottime.m4 serial 4
2 # Determine whether this system has infrastructure for obtaining the boot time.
4 # Copyright (C) 1996-2023 Free Software Foundation, Inc.
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
19 # GNULIB_BOOT_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
20 * ----------------------------------------------------------
21 AC_DEFUN([GNULIB_BOOT_TIME],
23   AC_CHECK_FUNCS([sysctl])
24   AC_CHECK_HEADERS_ONCE([sys/param.h])
25   AC_CHECK_HEADERS([sys/sysctl.h], [], [],
26     [AC_INCLUDES_DEFAULT
27      [#if HAVE_SYS_PARAM_H
28        #include <sys/param.h>
29       #endif]])
30   AC_CHECK_HEADERS_ONCE([utmpx.h OS.h])
31   AC_CACHE_CHECK(
32     [whether we can get the system boot time],
33     [gnulib_cv_have_boot_time],
34     [
35       AC_COMPILE_IFELSE(
36        [AC_LANG_PROGRAM(
37 [AC_INCLUDES_DEFAULT
38 #if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H
39 # if HAVE_SYS_PARAM_H
40 #  include <sys/param.h> /* needed for OpenBSD 3.0 */
41 # endif
42 # include <sys/sysctl.h>
43 #endif
44 #if HAVE_UTMPX_H
45 # include <utmpx.h>
46 #endif
47 #include <utmp.h>
48 #if HAVE_OS_H
49 # include <OS.h>
50 #endif
53 #if (defined BOOT_TIME                              \
54      || (defined CTL_KERN && defined KERN_BOOTTIME) \
55      || HAVE_OS_H)
56 /* your system *does* have the infrastructure to determine boot time */
57 #else
58 please_tell_us_how_to_determine_boot_time_on_your_system
59 #endif
60 ]])],
61        [gnulib_cv_have_boot_time=yes],
62        [gnulib_cv_have_boot_time=no])
63     ])
64   AS_IF([test $gnulib_cv_have_boot_time = yes], [$1], [$2])