glibc would like to stop declaring major()/minor() macros in <sys/types.h> because that header gets included absolutely everywhere and unix device major/minor is perhaps usually not what's expected. Fair enough. If one includes <sys/sysmacros.h> as well then glibc knows we meant it and doesn't warn, so do that if it exists.
Signed-off-by: Adam Jackson <[email protected]> --- configure.ac | 2 +- hw/xfree86/common/xf86Xinput.c | 3 +++ hw/xfree86/os-support/linux/lnx_init.c | 3 +++ include/meson.build | 1 + include/xorg-config.h.in | 3 +++ 5 files changed, 11 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 4ee43d2d0..4829848f2 100644 --- a/configure.ac +++ b/configure.ac @@ -132,7 +132,7 @@ AM_CONDITIONAL(SPECIAL_DTRACE_OBJECTS, [test "x$SPECIAL_DTRACE_OBJECTS" = "xyes" AC_HEADER_DIRENT AC_HEADER_STDC AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h dlfcn.h stropts.h \ - fnmatch.h sys/mkdev.h sys/utsname.h]) + fnmatch.h sys/mkdev.h sys/sysmacros.h sys/utsname.h]) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c index 39de498a3..136bf50ff 100644 --- a/hw/xfree86/common/xf86Xinput.c +++ b/hw/xfree86/common/xf86Xinput.c @@ -84,6 +84,9 @@ #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> +#ifdef HAVE_SYS_SYSMACROS_H +#include <sys/sysmacros.h> +#endif #ifdef HAVE_SYS_MKDEV_H #include <sys/mkdev.h> /* for major() & minor() on Solaris */ #endif diff --git a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c index dbf497ca2..9e5ddcd50 100644 --- a/hw/xfree86/os-support/linux/lnx_init.c +++ b/hw/xfree86/os-support/linux/lnx_init.c @@ -38,6 +38,9 @@ #include "xf86_OSlib.h" #include <sys/stat.h> +#ifdef HAVE_SYS_SYSMACROS_H +#include <sys/sysmacros.h> +#endif #ifndef K_OFF #define K_OFF 0x4 diff --git a/include/meson.build b/include/meson.build index 173f8ddfa..a2f74ada9 100644 --- a/include/meson.build +++ b/include/meson.build @@ -95,6 +95,7 @@ conf_data.set('HAVE_STROPTS_H', cc.has_header('stropts.h')) conf_data.set('HAVE_SYS_AGPGART_H', cc.has_header('sys/agpgart.h')) conf_data.set('HAVE_SYS_AGPIO_H', cc.has_header('sys/agpio.h')) conf_data.set('HAVE_SYS_UTSNAME_H', cc.has_header('sys/utsname.h')) +conf_data.set('HAVE_SYS_SYSMACROS_H', cc.has_header('sys/sysmacros.h')) conf_data.set('HAVE_UNISTD_H', cc.has_header('unistd.h')) conf_data.set('HAVE_BACKTRACE', cc.has_function('backtrace')) diff --git a/include/xorg-config.h.in b/include/xorg-config.h.in index b8d6a87a3..bf555eb95 100644 --- a/include/xorg-config.h.in +++ b/include/xorg-config.h.in @@ -124,6 +124,9 @@ /* Define to 1 if you have the <sys/mkdev.h> header file. */ #undef HAVE_SYS_MKDEV_H +/* Define to 1 if you have the <sys/sysmacros.h> header file. */ +#undef HAVE_SYS_SYSMACROS_H + /* Path to text files containing PCI IDs */ #undef PCI_TXT_IDS_PATH -- 2.12.2 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
