[PATCH v2] configure.ac: use AC_HEADER_MAJOR to detect major()/minor()

Sergei Trofimovich slyfox at gentoo.org
Wed May 31 21:17:50 UTC 2017


This change slightly updates c4d7f66c12853b9575366dd9f4a7960ec5694934
which added <sys/sysmacros.h> inclusion.

Autoconf has AC_HEADER_MAJOR to find out which header defines
reqiured macros:
    https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Particular-Headers.html

This change should increase portability across other libcs.

Bug: https://bugs.gentoo.org/610652
Signed-off-by: Sergei Trofimovich <slyfox at gentoo.org>
---
Change since v1:
- rebased on top of current master
- dedented nested '#    include'
 configure.ac                       | 1 +
 libweston/launcher-direct.c        | 9 ++++++++-
 libweston/launcher-logind.c        | 9 ++++++++-
 libweston/launcher-weston-launch.c | 8 +++++++-
 libweston/weston-launch.c          | 9 ++++++++-
 5 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index db757f20..ff89c3a4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -34,6 +34,7 @@ AC_CONFIG_MACRO_DIR([m4])
 
 AC_USE_SYSTEM_EXTENSIONS
 AC_SYS_LARGEFILE
+AC_HEADER_MAJOR
 
 AM_INIT_AUTOMAKE([1.11 parallel-tests foreign no-dist-gzip dist-xz color-tests subdir-objects])
 
diff --git a/libweston/launcher-direct.c b/libweston/launcher-direct.c
index a5d3ee53..b4ca609a 100644
--- a/libweston/launcher-direct.c
+++ b/libweston/launcher-direct.c
@@ -33,7 +33,6 @@
 #include <unistd.h>
 #include <signal.h>
 #include <sys/stat.h>
-#include <sys/sysmacros.h>
 #include <sys/ioctl.h>
 #include <linux/vt.h>
 #include <linux/kd.h>
@@ -47,6 +46,14 @@
 #define KDSKBMUTE	0x4B51
 #endif
 
+/* major()/minor() */
+#ifdef MAJOR_IN_MKDEV
+#include <sys/mkdev.h>
+#endif
+#ifdef MAJOR_IN_SYSMACROS
+#include <sys/sysmacros.h>
+#endif
+
 #ifdef BUILD_DRM_COMPOSITOR
 
 #include <xf86drm.h>
diff --git a/libweston/launcher-logind.c b/libweston/launcher-logind.c
index f10a2831..3c23d000 100644
--- a/libweston/launcher-logind.c
+++ b/libweston/launcher-logind.c
@@ -35,7 +35,6 @@
 #include <stdlib.h>
 #include <string.h>
 #include <sys/stat.h>
-#include <sys/sysmacros.h>
 #include <systemd/sd-login.h>
 #include <unistd.h>
 
@@ -45,6 +44,14 @@
 
 #define DRM_MAJOR 226
 
+/* major()/minor() */
+#ifdef MAJOR_IN_MKDEV
+#include <sys/mkdev.h>
+#endif
+#ifdef MAJOR_IN_SYSMACROS
+#include <sys/sysmacros.h>
+#endif
+
 struct launcher_logind {
 	struct weston_launcher base;
 	struct weston_compositor *compositor;
diff --git a/libweston/launcher-weston-launch.c b/libweston/launcher-weston-launch.c
index 97da18c5..3d3b4d2f 100644
--- a/libweston/launcher-weston-launch.c
+++ b/libweston/launcher-weston-launch.c
@@ -34,7 +34,6 @@
 #include <errno.h>
 #include <signal.h>
 #include <sys/socket.h>
-#include <sys/sysmacros.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/uio.h>
@@ -75,6 +74,13 @@ drmSetMaster(int drm_fd)
 
 #endif
 
+/* major()/minor() */
+#ifdef MAJOR_IN_MKDEV
+#include <sys/mkdev.h>
+#endif
+#ifdef MAJOR_IN_SYSMACROS
+#include <sys/sysmacros.h>
+#endif
 
 union cmsg_data { unsigned char b[4]; int fd; };
 
diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
index aa7e0711..a15f053e 100644
--- a/libweston/weston-launch.c
+++ b/libweston/weston-launch.c
@@ -42,7 +42,6 @@
 #include <sys/wait.h>
 #include <sys/socket.h>
 #include <sys/signalfd.h>
-#include <sys/sysmacros.h>
 #include <signal.h>
 #include <unistd.h>
 #include <fcntl.h>
@@ -93,6 +92,14 @@ drmSetMaster(int drm_fd)
 
 #endif
 
+/* major()/minor() */
+#ifdef MAJOR_IN_MKDEV
+#    include <sys/mkdev.h>
+#endif
+#ifdef MAJOR_IN_SYSMACROS
+#    include <sys/sysmacros.h>
+#endif
+
 struct weston_launch {
 	struct pam_conv pc;
 	pam_handle_t *ph;
-- 
2.13.0



More information about the wayland-devel mailing list