commit 4da63c5881f60f71999a943612da9112232b9161 Author: Eric Blake Date: 2016-09-14 19:21:42 -0500 mountlist: include sysmacros.h for glibc On Fedora rawhide (glibc 2.25), './gnulib-tool --test mountlist' reports: ../../gllib/mountlist.c: In function 'read_file_system_list': ../../gllib/mountlist.c:534:13: warning: '__makedev_from_sys_types' is deprecated: In the GNU C Library, `makedev' is defined by . For historical compatibility, it is currently defined by as well, but we plan to remove this soon. To use `makedev', include directly. If you did not intend to use a system-defined macro `makedev', you should #undef it after including . [-Wdeprecated-declarations] me->me_dev = makedev (devmaj, devmin); ^~ In file included from /usr/include/features.h:397:0, from /usr/include/sys/types.h:25, from ./sys/types.h:28, from ../../gllib/mountlist.h:23, from ../../gllib/mountlist.c:20: /usr/include/sys/sysmacros.h:89:1: note: declared here __SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_FST_IMPL_TEMPL) ^ Fix it by including the right headers. We also need a fix to autoconf's AC_HEADER_MAJOR, but that's a separate patch. * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include AC_HEADER_MAJOR. * lib/mountlist.c (includes): Use correct headers. Signed-off-by: Eric Blake diff --git a/lib/mountlist.c b/lib/mountlist.c index bb4e4ee21097..cf4020e2ab75 100644 --- a/lib/mountlist.c +++ b/lib/mountlist.c @@ -37,6 +37,12 @@ # include #endif +#if MAJOR_IN_MKDEV +# include +#elif MAJOR_IN_SYSMACROS +# include +#endif + #if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */ # if HAVE_SYS_UCRED_H # include /* needed on OSF V4.0 for definition of NGROUPS, diff --git a/m4/mountlist.m4 b/m4/mountlist.m4 index 2e2ca37fbf0c..b6724fa33b87 100644 --- a/m4/mountlist.m4 +++ b/m4/mountlist.m4 @@ -15,5 +15,6 @@ AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA], [ dnl Note gl_LIST_MOUNTED_FILE_SYSTEMS checks for mntent.h, not sys/mntent.h. AC_CHECK_HEADERS([sys/mntent.h]) + AC_HEADER_MAJOR()dnl for use of makedev () gl_FSTYPENAME ])