X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=7472ce38eed83be90b766dd0221d8cde7c94f7c4;hb=b9267a7e597428ad9c8ce3a06e452dcfe7226300;hp=f41542964a3b67e3e568b80060bd602abd0181ca;hpb=781a72d5ad167f1eb4414efc2320bfc8aa8288da;p=ghc-hetmet.git diff --git a/aclocal.m4 b/aclocal.m4 index f415429..7472ce3 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -561,28 +561,36 @@ fi rm -fr conftest* ]) -dnl -dnl Getting at the right version of 'find' -dnl (i.e., not the MS util on a Win32 box). -dnl -AC_DEFUN(FPTOOLS_FIND_FIND, -[ -AC_PATH_PROG(Find2Cmd, find) -$Find2Cmd --version > conftest.out 2>&1 -if grep "FIND: Parameter format" conftest.out >/dev/null 2>&1 ; then - # Encountered MS' find utility, which is not what we're after. - # - # HACK - AC_CHECK_PROG is useful here in that does let you reject - # an (absolute) entry in the path (Find2Cmd). It is not so useful - # in that it doesn't let you (AFAIU) set VARIABLE equal to the - # absolute path eventually found. So, hack around this by inspecting - # what variables hold the abs. path & use them directly. - AC_CHECK_PROG(FindCmd,find,`echo $ac_dir/$ac_word`,find,,$Find2Cmd) + +# FP_CHECK_PROG(VARIABLE, PROG-TO-CHECK-FOR, +# [VALUE-IF-NOT-FOUND], [PATH], [REJECT]) +# ----------------------------------------------------- +# HACK: A small wrapper around AC_CHECK_PROG, setting VARIABLE to the full path +# of PROG-TO-CHECK-FOR when found. +AC_DEFUN([FP_CHECK_PROG], +[AC_CHECK_PROG([$1], [$2], [$as_dir/$ac_word$ac_exec_ext], [$3], [$4], [$5])][]dnl +)# FP_CHECK_PROC + + +# FP_PROG_FIND +# ------------ +# Find a non-WinDoze version of the "find" utility. +AC_DEFUN([FP_PROG_FIND], +[AC_PATH_PROG([fp_prog_find], [find]) +echo foo > conftest.txt +$fp_prog_find conftest.txt -print > conftest.out 2>&1 +if grep '^conftest.txt$' conftest.out > /dev/null 2>&1 ; then + # OK, looks like a real "find". + FindCmd="$fp_prog_find" else -FindCmd=$Find2Cmd -AC_SUBST(FindCmd) + # Found a poor WinDoze version of "find", ignore it. + AC_MSG_WARN([$fp_prog_find looks like a non-*nix find, ignoring it]) + FP_CHECK_PROG([FindCmd], [find], [], [], [$fp_prog_find]) fi -]) +rm -f conftest.txt conftest.out +AC_SUBST([FindCmd])[]dnl +])# FP_PROG_FIND + dnl dnl FPTOOLS_NOCACHE_CHECK prints a message, then sets the @@ -661,55 +669,61 @@ define(<>, translit(fptools_cv_htype_sup_$1, [ *], [_p]))d changequote([, ])dnl AC_MSG_CHECKING(Haskell type for $1) AC_CACHE_VAL(AC_CV_NAME, -[AC_CV_NAME_supported=yes; +[AC_CV_NAME_supported=yes +fp_check_htype_save_cppflags="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $X_CFLAGS" AC_TRY_RUN([#include #include -#ifdef HAVE_SYS_TYPES_H +#if HAVE_SYS_TYPES_H # include #endif -#ifdef HAVE_UNISTD_H +#if HAVE_UNISTD_H # include #endif -#ifdef HAVE_SYS_STAT_H +#if HAVE_SYS_STAT_H # include #endif -#ifdef HAVE_FCNTL_H +#if HAVE_FCNTL_H # include #endif -#ifdef HAVE_SIGNAL_H +#if HAVE_SIGNAL_H # include #endif -#ifdef HAVE_TIME_H +#if HAVE_TIME_H # include #endif -#ifdef HAVE_TERMIOS_H +#if HAVE_TERMIOS_H # include #endif -#ifdef HAVE_STRING_H +#if HAVE_STRING_H # include #endif -#ifdef HAVE_CTYPE_H +#if HAVE_CTYPE_H # include #endif -#ifdef HAVE_GL_GL_H +#if defined(HAVE_GL_GL_H) # include +#elif defined(HAVE_OPENGL_GL_H) +# include #endif -#ifdef HAVE_OPENGL_GL_H -# include +#if defined(HAVE_AL_ALC_H) +# include +#elif defined(HAVE_OPENAL_ALC_H) +# include #endif -#ifdef HAVE_SYS_RESOURCE_H +#if HAVE_SYS_RESOURCE_H # include #endif @@ -732,9 +746,10 @@ main() { }],AC_CV_NAME=`cat conftestval`, ifelse([$2], , [AC_CV_NAME=NotReallyAType; AC_CV_NAME_supported=no], AC_CV_NAME=$2), ifelse([$3], , [AC_CV_NAME=NotReallyATypeCross; AC_CV_NAME_supported=no], AC_CV_NAME=$3))]) dnl -if test "$AC_CV_NAME_supported" == yes; then +CPPFLAGS="$fp_check_htype_save_cppflags" +if test "$AC_CV_NAME_supported" = yes; then AC_MSG_RESULT($AC_CV_NAME) - AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME) + AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [Define to Haskell type for $1]) else AC_MSG_RESULT([not supported]) fi @@ -1094,4 +1109,22 @@ dnl and we don't want to be global namespace polluters. AC_LANG_RESTORE ]) + +dnl @synopsis FP_EMPTY_STRUCTS +dnl +dnl Check whether empty structs is accepted by CC. +dnl +AC_DEFUN(FP_EMPTY_STRUCTS, +[AC_CACHE_CHECK(empty struct support, fptools_cv_empty_structs, +[AC_TRY_COMPILE([ +typedef struct { /*empty*/ } StgFoo; +], +[int i;], +fptools_cv_empty_structs=yes, +fptools_cv_empty_structs=no)]) +if test "$fptools_cv_empty_structs" = yes; then +AC_DEFINE([SUPPORTS_EMPTY_STRUCTS], [1], [Define to 1 if C compiler supports declaration of empty structure types.]) +fi +]) + # LocalWords: fi