X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=f19b0526773a59285e2b7374abe39c2ed87b4035;hb=99a329d9b272925dcdf474ce2369e9421b51e51c;hp=e29f68ed09791eefdf487f0ce8a6bf7b03623f30;hpb=d99b6eccd08abdbc42443c4029cd06f74949e9c1;p=ghc-base.git diff --git a/aclocal.m4 b/aclocal.m4 index e29f68e..f19b052 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -153,16 +153,13 @@ undefine([AC_CV_NAME_supported])dnl ]) -dnl @synopsis FP_READDIR_EOF_ERRNO -dnl -dnl Check what readdir() sets 'errno' to upon reaching -dnl end of directory; not setting it is the correct thing to do, -dnl but mingw based versions have set it to ENOENT until recently -dnl (summer 2004). -dnl -dnl -AC_DEFUN(FP_READDIR_EOF_ERRNO, -[AC_CACHE_CHECK([what readdir sets errno to upon EOF], fptools_cv_readdir_eof_errno, +# FP_READDIR_EOF_ERRNO +# -------------------- +# Defines READDIR_ERRNO_EOF to what readdir() sets 'errno' to upon reaching end +# of directory (not set => 0); not setting it is the correct thing to do, but +# MinGW based versions have set it to ENOENT until recently (summer 2004). +AC_DEFUN([FP_READDIR_EOF_ERRNO], +[AC_CACHE_CHECK([what readdir sets errno to upon EOF], [fptools_cv_readdir_eof_errno], [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include #include #include @@ -206,44 +203,10 @@ char **argv; closedir(dp); rmdir("testdir"); return 0; -}]])],[fptools_cv_readdir_eof_errno=`cat conftestval`],[fptools_cv_readdir_eof_errno=bogus],[fptools_cv_readdir_eof_errno=0])]) -dnl the cross value is somewhat bogus. +}]])], +[fptools_cv_readdir_eof_errno=`cat conftestval`], +[AC_MSG_WARN([failed to determine the errno value]) + fptools_cv_readdir_eof_errno=0], +[fptools_cv_readdir_eof_errno=0])]) AC_DEFINE_UNQUOTED([READDIR_ERRNO_EOF], [$fptools_cv_readdir_eof_errno], [readdir() sets errno to this upon EOF]) -]) - -dnl @synopsis FP_DIRENT_FLAT_LAYOUT -dnl -dnl Check whether 'struct dirent' (in dirent.h) has d_name defined -dnl as being the final field in a struct, or a pointer to somewhere -dnl else. The former is the standardly thing to do, but mingw defns -dnl have for the longest time gone for the latter. They no longer do, -dnl hence the need to configure test for this. -dnl -dnl -AC_DEFUN(FP_DIRENT_FLAT_LAYOUT, -[AC_CACHE_CHECK([if struct dirent layout is flat], fptools_cv_dirent_flat_layout, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[#include -#include -#include -int -main(argc, argv) -int argc; -char **argv; -{ - struct dirent de; - /* - * Check whether d_name is defined as - * struct dirent { .... ; char d_name[..]; } - * or - * struct dirent { .... ; char* d_name; } - * - * Returns 0 if the former. - */ - memset(&de,0,sizeof(struct dirent)); - return ((int)de.d_name == 0); -}]])],[fptools_cv_dirent_flat_layout=yes],[fptools_cv_dirent_flat_layout=no],[fptools_cv_dirent_flat_layout=yes])]) -dnl the cross value is somewhat bogus. -if test "$fptools_cv_dirent_flat_layout" = yes; then -AC_DEFINE([STRUCT_DIRENT_FLAT_LAYOUT], [1], [Define to 1 if struct dirent is a flat structure]) -fi -]) +])# FP_READDIR_EOF_ERRNO