[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