From 14a7e371f57fd8dbdddb869296cdb686f4a0e9bc Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Mon, 18 Dec 2017 10:02:58 +0200 Subject: configure: fix sys/sysmacros.h check MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch is a copy of https://cgit.freedesktop.org/mesa/drm/commit/?id=7040fea0280bad527ed4b3d5eee7d7bfbf303efc by Adam Jackson. Commit 43c5a65b034a243700cf9c5bfbe6bcefb15f1161 "configure.ac: use AC_HEADER_MAJOR to detect major()/minor()" started using AC_HEADER_MAJOR to detect the header where major() is defined. This caused a regression on systems where glibc is still providing a deprecated definition of major() through sys/types.h, leading to a bunch of compiler warnings: /home/pq/git/weston/libweston/launcher-logind.c: In function ‘launcher_logind_open’: /home/pq/git/weston/libweston/launcher-logind.c:182:13: warning: In the GNU C Library, "major" is defined by . For historical compatibility, it is currently defined by as well, but we plan to remove this soon. To use "major", include directly. If you did not intend to use a system-defined macro "major", you should undefine it after including . fd = launcher_logind_take_device(wl, major(st.st_rdev), The issue has been discussed earlier on https://lists.gnu.org/archive/html/autoconf/2016-09/msg00013.html Work around the issue by causing the warning to trigger a build failure inside AC_HEADER_MAJOR test, so that we get MAJOR_IN_SYSMACROS defined. Cc: Adam Jackson Cc: Emil Velikov Cc: Sergei Trofimovich Signed-off-by: Pekka Paalanen Reviewed-by: Daniel Stone Reviewed-by: Emil Velikov --- configure.ac | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index d1b5f471..285c2efd 100644 --- a/configure.ac +++ b/configure.ac @@ -34,7 +34,11 @@ AC_CONFIG_MACRO_DIR([m4]) AC_USE_SYSTEM_EXTENSIONS AC_SYS_LARGEFILE + +save_CFLAGS="$CFLAGS" +export CFLAGS="$CFLAGS -Werror" AC_HEADER_MAJOR +CFLAGS="$save_CFLAGS" AM_INIT_AUTOMAKE([1.11 parallel-tests foreign no-dist-gzip dist-xz color-tests subdir-objects]) -- cgit v1.2.1