Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / external / bsd / am-utils / dist / m4 / macros / linux_headers.m4
blob63c5d6a05acdd5e3d1a1678948de4a5055d2cb46
1 dnl ######################################################################
2 dnl ensure that linux kernel headers match running kernel
3 AC_DEFUN([AMU_LINUX_HEADERS],
5 # test sanity of running kernel vs. kernel headers
6   AC_MSG_CHECKING("host headers version")
7   case ${host_os} in
8     linux )
9       host_header_version="bad"
10       AMU_EXPAND_RUN_STRING(
12 #include <stdio.h>
13 #include <linux/version.h>
16 if (argc > 1)
17 #ifdef UTS_RELEASE
18   printf("%s", UTS_RELEASE);
19 #else
20 # define AMU_MA(a) ((a) >> 16)
21 # define AMU_MI(a) (((a) & 0xffff) >> 8)
22 # define AMU_PL(a) ((a) & 0xff)
23  printf("%d.%d.%d", AMU_MA(LINUX_VERSION_CODE), AMU_MI(LINUX_VERSION_CODE), AMU_PL(LINUX_VERSION_CODE));
24 #endif
26 [ host_header_version=$value ],
27 [ echo
28   AC_MSG_ERROR([cannot find UTS_RELEASE in <linux/version.h>.
29   This Linux system may be misconfigured or unconfigured!])
31         ;;
32         * ) host_header_version=$host_os_version ;;
33   esac
34   AC_DEFINE_UNQUOTED(HOST_HEADER_VERSION, "$host_header_version")
35   AC_MSG_RESULT($host_header_version)
37   case ${host_os} in
38     linux )
39         if test "$host_os_version" != $host_header_version
40         then
41                 AC_MSG_WARN([Linux kernel $host_os_version mismatch with $host_header_version headers!])
42         fi
43     ;;
44 esac
45 dnl cache these two for debugging purposes
46 ac_cv_os_version=$host_os_version
47 ac_cv_header_version=$host_header_version
49 dnl ======================================================================