📄 repdir.m4
字号:
AC_CACHE_CHECK([for broken readdir],libreplace_cv_READDIR_NEEDED,[ AC_TRY_RUN([#define test_readdir_os2_delete main#include "$libreplacedir/test/os2_delete.c"], [libreplace_cv_READDIR_NEEDED=no], [libreplace_cv_READDIR_NEEDED=yes], [libreplace_cv_READDIR_NEEDED="assuming not"])])## try to replace with getdirentries() if needed#if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; thenAC_CHECK_FUNCS(getdirentries)AC_VERIFY_C_PROTOTYPE([long telldir(const DIR *dir)], [ return 0; ],[ AC_DEFINE(TELLDIR_TAKES_CONST_DIR, 1, [Whether telldir takes a const pointer]) ],[],[ #include <dirent.h> ])AC_VERIFY_C_PROTOTYPE([int seekdir(DIR *dir, long ofs)], [ return 0; ],[ AC_DEFINE(SEEKDIR_RETURNS_INT, 1, [Whether seekdir returns an int]) ],[],[ #include <dirent.h> ])AC_CACHE_CHECK([for replacing readdir using getdirentries()],libreplace_cv_READDIR_GETDIRENTRIES,[ AC_TRY_RUN([#define _LIBREPLACE_REPLACE_H#include "$libreplacedir/repdir_getdirentries.c"#define test_readdir_os2_delete main#include "$libreplacedir/test/os2_delete.c"], [libreplace_cv_READDIR_GETDIRENTRIES=yes], [libreplace_cv_READDIR_GETDIRENTRIES=no])])fiif test x"$libreplace_cv_READDIR_GETDIRENTRIES" = x"yes"; then AC_DEFINE(REPLACE_READDIR,1,[replace readdir]) AC_DEFINE(REPLACE_READDIR_GETDIRENTRIES,1,[replace readdir using getdirentries()]) LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdirentries.o" libreplace_cv_READDIR_NEEDED=nofi## try to replace with getdents() if needed#if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; thenAC_CHECK_FUNCS(getdents)AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_cv_READDIR_GETDENTS,[ AC_TRY_RUN([#define _LIBREPLACE_REPLACE_H#error _donot_use_getdents_replacement_anymore#include "$libreplacedir/repdir_getdents.c"#define test_readdir_os2_delete main#include "$libreplacedir/test/os2_delete.c"], [libreplace_cv_READDIR_GETDENTS=yes], [libreplace_cv_READDIR_GETDENTS=no])])fiif test x"$libreplace_cv_READDIR_GETDENTS" = x"yes"; then AC_DEFINE(REPLACE_READDIR,1,[replace readdir]) AC_DEFINE(REPLACE_READDIR_GETDENTS,1,[replace readdir using getdents()]) LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdents.o" libreplace_cv_READDIR_NEEDED=nofiAC_MSG_CHECKING([a usable readdir()])if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then AC_MSG_RESULT(no) AC_MSG_WARN([the provided readdir() is broken])else AC_MSG_RESULT(yes)fi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -