repdir.m4

来自「samba服务器!」· M4 代码 · 共 79 行

M4
79
字号
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 + =
减小字号Ctrl + -
显示快捷键?