[project @ 2005-01-28 23:33:57 by krasimir]
[ghc-base.git] / aclocal.m4
index e29f68e..f19b052 100644 (file)
@@ -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 <dirent.h>
 #include <stdio.h>
 #include <errno.h>
@@ -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 <dirent.h>
-#include <stdio.h>
-#include <string.h>
-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