diff --git a/Process.c b/Process.c index 2ff778df..845ca54b 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 44595050..36aebc5e 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 c8ba89d2..158a7ea2 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