diff --git a/Process.c b/Process.c index 2ff778dff1e5c530478ac68ac5e1061805f051ad..845ca54bd3d145c9e591c1fe18a8bf520ea7a9ae 100644 --- a/Process.c +++ b/Process.c @@ -28,6 +28,12 @@ in the source distribution for its full text. #include #include #include +#ifdef MAJOR_IN_MKDEV +#include +#elif defined(MAJOR_IN_SYSMACROS) || \ + (defined(HAVE_SYS_SYSMACROS_H) && HAVE_SYS_SYSMACROS_H) +#include +#endif #ifdef __ANDROID__ #define SYS_ioprio_get __NR_ioprio_get diff --git a/configure.ac b/configure.ac index 44595050b2b96ab5e0595c10ccad59101d176bad..36aebc5ecf1ba95029ba44e954ccb59412935fc3 100644 --- a/configure.ac +++ b/configure.ac @@ -61,6 +61,16 @@ AC_CHECK_HEADERS([stdlib.h string.h strings.h sys/param.h sys/time.h unistd.h],[ ]) AC_CHECK_HEADERS([execinfo.h],[:],[:]) +AC_HEADER_MAJOR +dnl glibc 2.25 deprecates 'major' and 'minor' in and requires to +dnl include . However the logic in AC_HEADER_MAJOR has not yet +dnl been updated in Autoconf 2.69, so use a workaround: +m4_version_prereq([2.70], [], +[if test $ac_cv_header_sys_mkdev_h = no; then + AC_CHECK_HEADER(sys/sysmacros.h, [AC_DEFINE(MAJOR_IN_SYSMACROS, 1, + [Define to 1 if `major', `minor', and `makedev' are declared in .])]) +fi]) + # Checks for typedefs, structures, and compiler characteristics. # ---------------------------------------------------------------------- AC_HEADER_STDBOOL diff --git a/linux/LinuxProcessList.c b/linux/LinuxProcessList.c index c8ba89d289ac8b3e448740c296a7382a25e1151c..158a7ea2d0a5d5104827380b8ab11efe90bc184c 100644 --- a/linux/LinuxProcessList.c +++ b/linux/LinuxProcessList.c @@ -26,6 +26,12 @@ in the source distribution for its full text. #include #include #include +#ifdef MAJOR_IN_MKDEV +#include +#elif defined(MAJOR_IN_SYSMACROS) || \ + (defined(HAVE_SYS_SYSMACROS_H) && HAVE_SYS_SYSMACROS_H) +#include +#endif #ifdef HAVE_DELAYACCT #include