From b218afda6760db984a12275291de686c5cbe3e72 Mon Sep 17 00:00:00 2001 From: ross Date: Wed, 1 Sep 2004 15:57:15 +0000 Subject: [PATCH] [project @ 2004-09-01 15:57:09 by ross] devolve the recently added dirent checks to a new libraries/base/configure.ac --- aclocal.m4 | 96 ---------------------------------------------------------- configure.ac | 4 --- 2 files changed, 100 deletions(-) diff --git a/aclocal.m4 b/aclocal.m4 index c0338fb..3146d38 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1173,100 +1173,4 @@ fi ]) -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, -[AC_TRY_RUN([#include -#include -#include -int -main(argc, argv) -int argc; -char **argv; -{ - FILE *f=fopen("conftestval", "w"); -#if defined(__MINGW32__) - int fd = mkdir("testdir"); -#else - int fd = mkdir("testdir", 0666); -#endif - DIR* dp; - struct dirent* de; - int err = 0; - - if (!f) return 1; - if (fd == -1) { - fprintf(stderr,"unable to create directory; quitting.\n"); - return 1; - } - close(fd); - dp = opendir("testdir"); - if (!dp) { - fprintf(stderr,"unable to browse directory; quitting.\n"); - rmdir("testdir"); - return 1; - } - - /* the assumption here is that readdir() will only return NULL - * due to reaching the end of the directory. - */ - while (de = readdir(dp)) { - ; - } - err = errno; - fprintf(f,"%d", err); - fclose(f); - closedir(de); - 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. -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_TRY_RUN([#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 -]) - - # LocalWords: fi diff --git a/configure.ac b/configure.ac index beee6a6..7c25aad 100644 --- a/configure.ac +++ b/configure.ac @@ -1445,10 +1445,6 @@ FPTOOLS_LD_X FP_EMPTY_STRUCTS -dnl ** Check for idiosyncracies in some mingw impls of directory handling. -FP_READDIR_EOF_ERRNO -FP_DIRENT_FLAT_LAYOUT - AC_MSG_CHECKING([for SIGPOLL]) AC_EGREP_CPP(we_have_sigpoll, [#include -- 1.7.10.4