[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
AC_HEADER_DIRENT (was Re: [bug-gnulib] Last few obsolescent macros)
From: |
Derek R. Price |
Subject: |
AC_HEADER_DIRENT (was Re: [bug-gnulib] Last few obsolescent macros) |
Date: |
Wed, 05 Jul 2006 12:51:23 -0400 |
User-agent: |
Thunderbird 1.5.0.4 (Windows/20060516) |
Bruno Haible wrote:
> Derek R. Price wrote:
>> Removing references to AC_HEADER_DIRENT (replacing with
>> AC_CHECK_HEADERS_ONCE([dirent.h]))
>
> Yes. All Unix systems nowadays have <dirent.h>, OpenVMS too. But native Woe32
> (MSVCRT, not mingw) doesn't.
Thanks, Bruno. I've attached a patch that replaces all the references
to AC_HEADER_DIRENT with calls to AC_CHECK_HEADERS_ONCE([dirent.h
ndir.h]) and makes the accompanying changes in lib/*. This patch does
simplify, though not quite as much as I was originally hoping, since I
had to leave in the <ndir.h> support for Windows.
I did leave these potentially unneeded lines in glob.c that I was unsure of:
# ifdef HAVE_VMSDIR_H
# include "vmsdir.h"
# endif /* HAVE_VMSDIR_H */
Is OpenVMS the only practical VMS target left? Do any others have
<dirent.h>? A quick bug-cvs search shows that all the VMS bug reports
for the last few years have been for OpenVMS. CVS also appears to still
be including a replacment <ndir.h> for VMS that looks much like the
"vmsdir.h"s I could find online, though I would not be surprised to find
out it was no longer necessary.
2006-07-05 Derek R. Price <address@hidden>
* lib/backupfile.c, lib/dirfd.h, lib/fts.c, lib/getcwd.c,
lib/glob.c, lib/savedir.c: Remove obsolescent support for
<sys/ndir.h> and <sys/dir.h>.
* m4/backupfile.m4, m4/d-ino.m4, m4/d-type.m4, m4/dirfd.m4,
m4/fts.m4, m4/getcwd.m4, m4/glob.m4, m4/readdir.m4,
m4/savedir.m4: Likewise. Check for <dirent.h> and <ndir.h>
explicitly instead of calling the obsolescent AC_HEADER_DIRENT.
Cheers,
Derek
--
Derek R. Price
CVS Solutions Architect
Get CVS support at Ximbiot <http://ximbiot.com>!
v: +1 248.835.1260
f: +1 248.835.1263
<mailto:address@hidden>
Index: lib/backupfile.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/backupfile.c,v
retrieving revision 1.48
diff -u -p -r1.48 backupfile.c
--- lib/backupfile.c 3 Jul 2006 08:32:46 -0000 1.48
+++ lib/backupfile.c 5 Jul 2006 16:18:52 -0000
@@ -44,21 +44,13 @@
#if HAVE_DIRENT_H
# include <dirent.h>
# define NLENGTH(direct) strlen ((direct)->d_name)
-#else
+#elif HAVE_NDIR_H
# define dirent direct
# define NLENGTH(direct) ((size_t) (direct)->d_namlen)
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif
+# include <ndir.h>
#endif
-#if HAVE_DIRENT_H || HAVE_NDIR_H || HAVE_SYS_DIR_H || HAVE_SYS_NDIR_H
+#if HAVE_DIRENT_H || HAVE_NDIR_H
# define HAVE_DIR 1
#else
# define HAVE_DIR 0
Index: lib/dirfd.h
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/dirfd.h,v
retrieving revision 1.6
diff -u -p -r1.6 dirfd.h
--- lib/dirfd.h 19 Sep 2005 17:28:14 -0000 1.6
+++ lib/dirfd.h 5 Jul 2006 16:18:52 -0000
@@ -21,18 +21,10 @@
#if HAVE_DIRENT_H
# include <dirent.h>
-#else /* not HAVE_DIRENT_H */
+#elif HAVE_NDIR_H
# define dirent direct
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif /* HAVE_SYS_NDIR_H */
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif /* HAVE_SYS_DIR_H */
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif /* HAVE_NDIR_H */
-#endif /* HAVE_DIRENT_H */
+# include <ndir.h>
+#endif
#ifndef HAVE_DECL_DIRFD
"this configure-time declaration test was not run"
Index: lib/fts.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/fts.c,v
retrieving revision 1.11
diff -u -p -r1.11 fts.c
--- lib/fts.c 26 Jan 2006 22:12:26 -0000 1.11
+++ lib/fts.c 5 Jul 2006 16:18:52 -0000
@@ -82,18 +82,10 @@ static char sccsid[] = "@(#)fts.c 8.6 (B
# if HAVE_DIRENT_H
# include <dirent.h>
# define NAMLEN(dirent) strlen ((dirent)->d_name)
-# else
+# elif HAVE_NDIR_H
# define dirent direct
# define NAMLEN(dirent) (dirent)->d_namlen
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif
+# include <ndir.h>
# endif
#endif
Index: lib/getcwd.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/getcwd.c,v
retrieving revision 1.12
diff -u -p -r1.12 getcwd.c
--- lib/getcwd.c 3 Jul 2006 08:32:46 -0000 1.12
+++ lib/getcwd.c 5 Jul 2006 16:18:52 -0000
@@ -41,17 +41,9 @@
# ifndef _D_EXACT_NAMLEN
# define _D_EXACT_NAMLEN(d) strlen ((d)->d_name)
# endif
-#else
+#elif HAVE_NDIR_H
# define dirent direct
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif
+# include <ndir.h>
#endif
#ifndef _D_EXACT_NAMLEN
# define _D_EXACT_NAMLEN(d) ((d)->d_namlen)
Index: lib/glob.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/glob.c,v
retrieving revision 1.6
diff -u -p -r1.6 glob.c
--- lib/glob.c 22 Jun 2006 23:40:20 -0000 1.6
+++ lib/glob.c 5 Jul 2006 16:18:52 -0000
@@ -50,15 +50,9 @@
#if defined HAVE_DIRENT_H || defined __GNU_LIBRARY__
# include <dirent.h>
# define NAMLEN(dirent) strlen((dirent)->d_name)
-#else
+#elif HAVE_NDIR_H
# define dirent direct
# define NAMLEN(dirent) (dirent)->d_namlen
-# ifdef HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# ifdef HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
# ifdef HAVE_NDIR_H
# include <ndir.h>
# endif
Index: lib/savedir.c
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/savedir.c,v
retrieving revision 1.29
diff -u -p -r1.29 savedir.c
--- lib/savedir.c 28 Jun 2006 22:25:49 -0000 1.29
+++ lib/savedir.c 5 Jul 2006 16:18:52 -0000
@@ -31,17 +31,9 @@
#if HAVE_DIRENT_H
# include <dirent.h>
-#else
+#elif HAVE_NDIR_H
# define dirent direct
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif
+# include <ndir.h>
#endif
#include <stddef.h>
Index: m4/backupfile.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/backupfile.m4,v
retrieving revision 1.10
diff -u -p -r1.10 backupfile.m4
--- m4/backupfile.m4 23 Sep 2005 04:15:13 -0000 1.10
+++ m4/backupfile.m4 5 Jul 2006 16:18:52 -0000
@@ -10,7 +10,7 @@ AC_DEFUN([gl_BACKUPFILE],
AC_LIBOBJ([backupfile])
dnl Prerequisites of lib/backupfile.c.
- AC_REQUIRE([AC_HEADER_DIRENT])
+ AC_CHECK_HEADERS_ONCE([dirent.h ndir.h])
AC_REQUIRE([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO])
AC_REQUIRE([gl_AC_DOS])
AC_REQUIRE([AC_SYS_LONG_FILE_NAMES])
Index: m4/d-ino.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/d-ino.m4,v
retrieving revision 1.8
diff -u -p -r1.8 d-ino.m4
--- m4/d-ino.m4 23 Jan 2005 08:06:57 -0000 1.8
+++ m4/d-ino.m4 5 Jul 2006 16:18:52 -0000
@@ -13,7 +13,7 @@ dnl
# with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO],
- [AC_REQUIRE([AC_HEADER_DIRENT])dnl
+ [AC_CHECK_HEADERS_ONCE([dirent.h ndir.h])dnl
AC_CACHE_CHECK([for d_ino member in directory struct],
jm_cv_struct_dirent_d_ino,
[AC_TRY_LINK(dnl
@@ -21,18 +21,10 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_
#include <sys/types.h>
#ifdef HAVE_DIRENT_H
# include <dirent.h>
-#else /* not HAVE_DIRENT_H */
+#elif HAVE_NDIR_H
# define dirent direct
-# ifdef HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif /* HAVE_SYS_NDIR_H */
-# ifdef HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif /* HAVE_SYS_DIR_H */
-# ifdef HAVE_NDIR_H
-# include <ndir.h>
-# endif /* HAVE_NDIR_H */
-#endif /* HAVE_DIRENT_H */
+# include <ndir.h>
+#endif
],
[struct dirent dp; dp.d_ino = 0;],
Index: m4/d-type.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/d-type.m4,v
retrieving revision 1.9
diff -u -p -r1.9 d-type.m4
--- m4/d-type.m4 23 Jan 2005 08:06:57 -0000 1.9
+++ m4/d-type.m4 5 Jul 2006 16:18:52 -0000
@@ -13,7 +13,7 @@ dnl
# with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE],
- [AC_REQUIRE([AC_HEADER_DIRENT])dnl
+ [AC_CHECK_HEADERS_ONCE([dirent.h ndir.h])dnl
AC_CACHE_CHECK([for d_type member in directory struct],
jm_cv_struct_dirent_d_type,
[AC_TRY_LINK(dnl
@@ -21,18 +21,10 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_
#include <sys/types.h>
#ifdef HAVE_DIRENT_H
# include <dirent.h>
-#else /* not HAVE_DIRENT_H */
+#elif HAVE_NDIR_H
# define dirent direct
-# ifdef HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif /* HAVE_SYS_NDIR_H */
-# ifdef HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif /* HAVE_SYS_DIR_H */
-# ifdef HAVE_NDIR_H
-# include <ndir.h>
-# endif /* HAVE_NDIR_H */
-#endif /* HAVE_DIRENT_H */
+# include <ndir.h>
+#endif
],
[struct dirent dp; dp.d_type = 0;],
Index: m4/dirfd.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/dirfd.m4,v
retrieving revision 1.19
diff -u -p -r1.19 dirfd.m4
--- m4/dirfd.m4 15 Mar 2006 21:16:25 -0000 1.19
+++ m4/dirfd.m4 5 Jul 2006 16:18:52 -0000
@@ -17,23 +17,15 @@ AC_DEFUN([gl_FUNC_DIRFD],
dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
AC_REQUIRE([AC_PROG_CPP])
AC_REQUIRE([AC_PROG_EGREP])
- AC_REQUIRE([AC_HEADER_DIRENT])
+ AC_CHECK_HEADERS_ONCE([dirent.h ndir.h])dnl
dirfd_headers='
#if HAVE_DIRENT_H
# include <dirent.h>
-#else /* not HAVE_DIRENT_H */
+#elif HAVE_NDIR_H
# define dirent direct
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif /* HAVE_SYS_NDIR_H */
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif /* HAVE_SYS_DIR_H */
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif /* HAVE_NDIR_H */
-#endif /* HAVE_DIRENT_H */
+# include <ndir.h>
+#endif
'
AC_CHECK_FUNCS(dirfd)
AC_CHECK_DECLS([dirfd], , , $dirfd_headers)
Index: m4/fts.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/fts.m4,v
retrieving revision 1.6
diff -u -p -r1.6 fts.m4
--- m4/fts.m4 23 Sep 2005 04:15:13 -0000 1.6
+++ m4/fts.m4 5 Jul 2006 16:18:52 -0000
@@ -29,6 +29,5 @@ AC_DEFUN([gl_FUNC_FTS_CORE],
dnl Prerequisites of lib/fts.c.
# Checks for header files.
- AC_REQUIRE([AC_HEADER_DIRENT])
- AC_CHECK_HEADERS_ONCE([sys/param.h])
+ AC_CHECK_HEADERS_ONCE([dirent.h ndir.h sys/param.h])dnl
])
Index: m4/getcwd.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/getcwd.m4,v
retrieving revision 1.10
diff -u -p -r1.10 getcwd.m4
--- m4/getcwd.m4 3 Jul 2006 08:32:46 -0000 1.10
+++ m4/getcwd.m4 5 Jul 2006 16:18:52 -0000
@@ -61,7 +61,7 @@ AC_DEFUN([gl_FUNC_GETCWD],
AC_DEFUN([gl_PREREQ_GETCWD],
[
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
- AC_REQUIRE([AC_HEADER_DIRENT])
+ AC_CHECK_HEADERS_ONCE([dirent.h ndir.h])dnl
AC_REQUIRE([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO])
:
])
Index: m4/glob.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/glob.m4,v
retrieving revision 1.5
diff -u -p -r1.5 glob.m4
--- m4/glob.m4 13 Sep 2005 03:47:45 -0000 1.5
+++ m4/glob.m4 5 Jul 2006 16:18:52 -0000
@@ -74,7 +74,7 @@ if (glob ("conf*-globtest", 0, NULL, &fo
AC_DEFUN([gl_PREREQ_GLOB],
[ AC_REQUIRE([gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE])dnl
AC_REQUIRE([AC_GNU_SOURCE])dnl
- AC_REQUIRE([AC_HEADER_DIRENT])dnl
+ AC_CHECK_HEADERS_ONCE([dirent.h ndir.h])dnl
AC_CHECK_HEADERS_ONCE([sys/cdefs.h unistd.h])dnl
AC_CHECK_FUNCS_ONCE([getlogin_r getpwnam_r])dnl
:])
Index: m4/readdir.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/readdir.m4,v
retrieving revision 1.14
diff -u -p -r1.14 readdir.m4
--- m4/readdir.m4 24 Apr 2006 07:35:24 -0000 1.14
+++ m4/readdir.m4 5 Jul 2006 16:18:52 -0000
@@ -24,7 +24,7 @@ dnl Written by Jim Meyering.
AC_DEFUN([GL_FUNC_READDIR],
[dnl
-AC_REQUIRE([AC_HEADER_DIRENT])
+AC_CHECK_HEADERS_ONCE([dirent.h ndir.h])dnl
AC_CACHE_CHECK([for working readdir], gl_cv_func_working_readdir,
[dnl
# Arrange for deletion of the temporary directory this test creates, in
@@ -40,19 +40,11 @@ AC_CACHE_CHECK([for working readdir], gl
# ifdef HAVE_DIRENT_H
# include <dirent.h>
# define NLENGTH(direct) (strlen((direct)->d_name))
-# else /* not HAVE_DIRENT_H */
+# elif HAVE_NDIR_H
# define dirent direct
# define NLENGTH(direct) ((direct)->d_namlen)
-# ifdef HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif /* HAVE_SYS_NDIR_H */
-# ifdef HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif /* HAVE_SYS_DIR_H */
-# ifdef HAVE_NDIR_H
-# include <ndir.h>
-# endif /* HAVE_NDIR_H */
-# endif /* HAVE_DIRENT_H */
+# include <ndir.h>
+# endif
# define DOT_OR_DOTDOT(Basename) \
(Basename[0] == '.' && (Basename[1] == '\0' \
Index: m4/savedir.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/savedir.m4,v
retrieving revision 1.5
diff -u -p -r1.5 savedir.m4
--- m4/savedir.m4 28 Jun 2006 22:25:49 -0000 1.5
+++ m4/savedir.m4 5 Jul 2006 16:18:52 -0000
@@ -10,5 +10,5 @@ AC_DEFUN([gl_SAVEDIR],
AC_LIBOBJ([savedir])
dnl Prerequisites of lib/savedir.c.
- AC_REQUIRE([AC_HEADER_DIRENT])
+ AC_CHECK_HEADERS_ONCE([dirent.h ndir.h])dnl
])
- Re: [bug-gnulib] Last few obsolescent macros, Bruno Haible, 2006/07/04
- AC_HEADER_DIRENT (was Re: [bug-gnulib] Last few obsolescent macros),
Derek R. Price <=
- Re: AC_HEADER_DIRENT (was Re: [bug-gnulib] Last few obsolescent macros), Derek R. Price, 2006/07/05
- Re: AC_HEADER_DIRENT, Paul Eggert, 2006/07/06
- Re: AC_HEADER_DIRENT, Derek R. Price, 2006/07/07
- Re: AC_HEADER_DIRENT, Derek R. Price, 2006/07/07
- Re: AC_HEADER_DIRENT, Jim Hyslop, 2006/07/07
- Re: AC_HEADER_DIRENT, Paul Eggert, 2006/07/07
- Re: AC_HEADER_DIRENT, Jim Hyslop, 2006/07/07
- Re: AC_HEADER_DIRENT, Derek R. Price, 2006/07/07
- Re: AC_HEADER_DIRENT, Jim Hyslop, 2006/07/10
- Re: AC_HEADER_DIRENT, Paul Eggert, 2006/07/10