| OLD | NEW |
| (Empty) |
| 1 AC_CACHE_CHECK([for broken readdir],libreplace_cv_READDIR_NEEDED,[ | |
| 2 AC_TRY_RUN([ | |
| 3 #define test_readdir_os2_delete main | |
| 4 #include "$libreplacedir/test/os2_delete.c"], | |
| 5 [libreplace_cv_READDIR_NEEDED=no], | |
| 6 [libreplace_cv_READDIR_NEEDED=yes], | |
| 7 [libreplace_cv_READDIR_NEEDED="assuming not"]) | |
| 8 ]) | |
| 9 | |
| 10 AC_CHECK_FUNCS(dirfd) | |
| 11 AC_HAVE_DECL(dirfd, [#include <dirent.h>]) | |
| 12 | |
| 13 # | |
| 14 # try to replace with getdirentries() if needed | |
| 15 # | |
| 16 if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then | |
| 17 AC_CHECK_FUNCS(getdirentries) | |
| 18 AC_VERIFY_C_PROTOTYPE([long telldir(const DIR *dir)], | |
| 19 [ | |
| 20 return 0; | |
| 21 ],[ | |
| 22 AC_DEFINE(TELLDIR_TAKES_CONST_DIR, 1, [Whether telldir takes a const poi
nter]) | |
| 23 ],[],[ | |
| 24 #include <dirent.h> | |
| 25 ]) | |
| 26 | |
| 27 AC_VERIFY_C_PROTOTYPE([int seekdir(DIR *dir, long ofs)], | |
| 28 [ | |
| 29 return 0; | |
| 30 ],[ | |
| 31 AC_DEFINE(SEEKDIR_RETURNS_INT, 1, [Whether seekdir returns an int]) | |
| 32 ],[],[ | |
| 33 #include <dirent.h> | |
| 34 ]) | |
| 35 AC_CACHE_CHECK([for replacing readdir using getdirentries()],libreplace_cv_READD
IR_GETDIRENTRIES,[ | |
| 36 AC_TRY_RUN([ | |
| 37 #define _LIBREPLACE_REPLACE_H | |
| 38 #include "$libreplacedir/repdir_getdirentries.c" | |
| 39 #define test_readdir_os2_delete main | |
| 40 #include "$libreplacedir/test/os2_delete.c"], | |
| 41 [libreplace_cv_READDIR_GETDIRENTRIES=yes], | |
| 42 [libreplace_cv_READDIR_GETDIRENTRIES=no]) | |
| 43 ]) | |
| 44 fi | |
| 45 if test x"$libreplace_cv_READDIR_GETDIRENTRIES" = x"yes"; then | |
| 46 AC_DEFINE(REPLACE_READDIR,1,[replace readdir]) | |
| 47 AC_DEFINE(REPLACE_READDIR_GETDIRENTRIES,1,[replace readdir using getdire
ntries()]) | |
| 48 LIBREPLACEOBJ="${LIBREPLACEOBJ} $libreplacedir/repdir_getdirentries.o" | |
| 49 libreplace_cv_READDIR_NEEDED=no | |
| 50 fi | |
| 51 | |
| 52 # | |
| 53 # try to replace with getdents() if needed | |
| 54 # | |
| 55 if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then | |
| 56 AC_CHECK_FUNCS(getdents) | |
| 57 AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_cv_READDIR_GE
TDENTS,[ | |
| 58 AC_TRY_RUN([ | |
| 59 #define _LIBREPLACE_REPLACE_H | |
| 60 #error _donot_use_getdents_replacement_anymore | |
| 61 #include "$libreplacedir/repdir_getdents.c" | |
| 62 #define test_readdir_os2_delete main | |
| 63 #include "$libreplacedir/test/os2_delete.c"], | |
| 64 [libreplace_cv_READDIR_GETDENTS=yes], | |
| 65 [libreplace_cv_READDIR_GETDENTS=no]) | |
| 66 ]) | |
| 67 fi | |
| 68 if test x"$libreplace_cv_READDIR_GETDENTS" = x"yes"; then | |
| 69 AC_DEFINE(REPLACE_READDIR,1,[replace readdir]) | |
| 70 AC_DEFINE(REPLACE_READDIR_GETDENTS,1,[replace readdir using getdents()]) | |
| 71 LIBREPLACEOBJ="${LIBREPLACEOBJ} $libreplacedir/repdir_getdents.o" | |
| 72 libreplace_cv_READDIR_NEEDED=no | |
| 73 fi | |
| 74 | |
| 75 AC_MSG_CHECKING([a usable readdir()]) | |
| 76 if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then | |
| 77 AC_MSG_RESULT(no) | |
| 78 AC_MSG_WARN([the provided readdir() is broken]) | |
| 79 else | |
| 80 AC_MSG_RESULT(yes) | |
| 81 fi | |
| OLD | NEW |