X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=14f02755d1a0e11b76b6692426379f104e42ab02;hb=3689c8ff0c75a7bf1f8714421847703269652a83;hp=49ad919af37e26aa7deca06e9b160f55aa7c3690;hpb=25762c88856e4d1d53fb442f333399d904d6f152;p=ghc-base.git diff --git a/aclocal.m4 b/aclocal.m4 index 49ad919..14f0275 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -135,15 +135,17 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include # include #endif +#include + typedef $1 testing; -main() { +int main(void) { FILE *f=fopen("conftestval", "w"); if (!f) exit(1); if (((testing)((int)((testing)1.4))) == ((testing)1.4)) { fprintf(f, "%s%d\n", ((testing)(-1) < (testing)0) ? "Int" : "Word", - sizeof(testing)*8); + (int)(sizeof(testing)*8)); } else { fprintf(f,"%s\n", (sizeof(testing) > sizeof(double)) ? "LDouble" : @@ -167,60 +169,37 @@ undefine([AC_CV_NAME_supported])dnl ]) -# 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 -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(dp); - rmdir("testdir"); - return 0; -}]])], -[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]) -])# FP_READDIR_EOF_ERRNO +# FP_SEARCH_LIBS_PROTO(WHAT, PROTOTYPE, FUNCTION, SEARCH-LIBS, +# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], +# [OTHER-LIBRARIES]) +# -------------------------------------------------------- +# Search for a library defining FUNC, if it's not already available. +# This is a copy of the AC_SEARCH_LIBS definition, but extended to take +# the name of the thing we are looking for as its first argument, and +# prototype text as its second argument. It also calls AC_LANG_PROGRAM +# instead of AC_LANG_CALL +AC_DEFUN([FP_SEARCH_LIBS_PROTO], +[AS_VAR_PUSHDEF([ac_Search], [ac_cv_search_$3])dnl +AC_CACHE_CHECK([for library containing $1], [ac_Search], +[ac_func_search_save_LIBS=$LIBS +AC_LANG_CONFTEST([AC_LANG_PROGRAM([$2], [$3])]) +for ac_lib in '' $4; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $7 $ac_func_search_save_LIBS" + fi + AC_LINK_IFELSE([], [AS_VAR_SET([ac_Search], [$ac_res])]) + AS_VAR_SET_IF([ac_Search], [break]) +done +AS_VAR_SET_IF([ac_Search], , [AS_VAR_SET([ac_Search], [no])]) +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS]) +ac_res=AS_VAR_GET([ac_Search]) +AS_IF([test "$ac_res" != no], + [test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + $5], + [$6])dnl +AS_VAR_POPDEF([ac_Search])dnl +])