Hi, On 18 December 2017 at 08:24, Pekka Paalanen <ppaala...@gmail.com> wrote: > 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 <sys/sysmacros.h>. For historical compatibility, it is > currently defined by <sys/types.h> as well, but we plan to > remove this soon. To use "major", include <sys/sysmacros.h> > directly. If you did not intend to use a system-defined macro > "major", you should undefine it after including <sys/types.h>. > 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.
Painful, but seems like the right thing to do. Reviewed-by: Daniel Stone <dani...@collabora.com> Cheers, Daniel _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel