dnl
dnl Check for Happy and version. If we're building GHC, then we need
-dnl at least Happy version 1.13. If there's no installed Happy, we look
+dnl at least Happy version 1.14. If there's no installed Happy, we look
dnl for a happy source tree and point the build system at that instead.
dnl
AC_DEFUN(FPTOOLS_HAPPY,
changequote([, ])dnl
])
if test -d $srcdir/ghc -a ! -f $srcdir/ghc/compiler/parser/Parser.hs; then
- FP_COMPARE_VERSIONS([$fptools_cv_happy_version],[-lt],[1.13],
- [AC_MSG_ERROR([Happy version 1.13 or later is required to compile GHC.])])[]dnl
+ FP_COMPARE_VERSIONS([$fptools_cv_happy_version],[-lt],[1.14],
+ [AC_MSG_ERROR([Happy version 1.14 or later is required to compile GHC.])])[]dnl
fi
HappyVersion=$fptools_cv_happy_version;
AC_SUBST(HappyVersion)
undefine([AC_CV_NAME_supported])dnl
])
-dnl Based on AC_TRY_LINK - run iftrue if links cleanly with no warning
-dnl FPTOOLS_TRY_LINK_NOWARN(flags,main?,iftrue,iffalse)
-
-AC_DEFUN(FPTOOLS_TRY_LINK_NOWARN,
-[
-ac_save_LIBS="$LIBS"
-LIBS=[$1];
-cat > conftest.$ac_ext <<EOF
-dnl This sometimes fails to find confdefs.h, for some reason.
-dnl [#]line __oline__ "[$]0"
-[#]line __oline__ "configure"
-#include "confdefs.h"
-[$2]
-int t() { return 0; }
-EOF
-if AC_TRY_EVAL(ac_link); then
- ifelse([$3], , :, [
- LIBS="$ac_save_LIBS"
- rm -rf conftest*
- $3])
- ifelse([$4], , , [else
- LIBS="$ac_save_LIBS"
- rm -rf conftest*
- $4
-])dnl
-fi
-rm -f conftest*
-]
-)
-
-dnl Loosely based on AC_CHECK_LIB in acgeneral.m4 in autoconf distribution
-
-dnl FPTOOLS_CHECK_FLAG_NOWARN(NAME, FLAG, CODE, iftrue, iffalse)
-
-AC_DEFUN(FPTOOLS_CHECK_FLAG_NOWARN,
-[AC_MSG_CHECKING([for $1])
- AC_CACHE_VAL(ac_cv_flag_$1,
- [FPTOOLS_TRY_LINK_NOWARN("$2", [main() { $3; exit(0); } ],
- eval "ac_cv_flag_$1=yes",
- eval "ac_cv_flag_$1=no"
- )]
- )
-if eval "test \"`echo '$ac_cv_flag_'$1`\" = yes"; then
- AC_MSG_RESULT(yes)
- LIBS="$2 $LIBS"
- $4
-else
- AC_MSG_RESULT(no)
- $5
-fi
-])
-
-dnl FPTOOLS_CHECK_LIB_NOWARN(LIBRARY, FUNCTION)
-
-AC_DEFUN(FPTOOLS_CHECK_LIB_NOWARN,
-[FPTOOLS_CHECK_FLAG_NOWARN([function_$2],[],[extern char $2(); $2();],
-[changequote(, )dnl
- ac_tr_lib=HAVE_LIB`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- changequote([, ])dnl
- AC_DEFINE_UNQUOTED($ac_tr_lib)
-],
-[FPTOOLS_CHECK_FLAG_NOWARN([library_$1],[-l$1],[extern char $2(); $2();],
-[changequote(, )dnl
- ac_tr_lib=HAVE_LIB`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- changequote([, ])dnl
- AC_DEFINE_UNQUOTED($ac_tr_lib)
-],
-[]
-)])]
-)
+# FP_CHECK_FUNC(FUNCTION, PROLOGUE, BODY, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# ---------------------------------------------------------------------------------
+# A variant of AC_CHECK_FUNCS, limited to a single FUNCTION, but with the
+# additional flexibility of specifying the PROLOGUE and BODY.
+AC_DEFUN([FP_CHECK_FUNC],
+[AS_VAR_PUSHDEF([fp_func], [fp_cv_func_$1])dnl
+AC_CACHE_CHECK([for $1], fp_func,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([$2], [$3])],
+ [AS_VAR_SET(fp_func, yes)],
+ [AS_VAR_SET(fp_func, no)])])
+AS_IF([test AS_VAR_GET(fp_func) = yes],
+ [AC_DEFINE(AS_TR_CPP(HAVE_$1), [1],
+ [Define to 1 if you have the `]$1[' function.]) $4],
+ [$5])dnl
+AS_VAR_POPDEF([fp_func])dnl
+])# FP_CHECK_FUNC
dnl ** Check which CATALOG file we have to use with DocBook SGML.
esac
if test x"$use_quartz_opengl" != xyes; then
- AC_CHECK_LIB([m], [main], [GL_LIBS="-lm $GL_LIBS"])
+ AC_CHECK_LIB([m], [atan], [GL_LIBS="-lm $GL_LIBS"])
if test x"$no_x" != xyes; then
test -n "$x_includes" && GL_CFLAGS="-I$x_includes $GL_CFLAGS"
FP_CHECK_GL_HELPER([GL], [-lGL -lopengl32], [@%:@include <GL/gl.h>], [glEnd()])
- # Ugly: To get wglGetProcAddress on Windows, we have to link with
- # opengl32.dll, too, even when we are using Cygwin with X11.
- case "$GL_LIBS" in
- *-lopengl32*|*opengl32.lib*) ;;
- *) fp_save_LIBS="$LIBS"
- LIBS="$LIBS -lopengl32"
- AC_TRY_LINK([@%:@include <GL/gl.h>], [glEnd()], [GL_LIBS="$GL_LIBS -lopengl32"])
- LIBS="$fp_save_LIBS"
- ;;
- esac
+ if test x"$no_GL" != xyes; then
+ # Ugly: To get wglGetProcAddress on Windows, we have to link with
+ # opengl32.dll, too, even when we are using Cygwin with X11.
+ case "$GL_LIBS" in
+ *-lopengl32*|*opengl32.lib*) ;;
+ *) fp_save_LIBS="$LIBS"
+ LIBS="$LIBS -lopengl32"
+ AC_TRY_LINK([@%:@include <GL/gl.h>], [glEnd()],
+ [GL_LIBS="$GL_LIBS -lopengl32"; GL_LIBS0="$GL_LIBS0 -lopengl32"])
+ LIBS="$fp_save_LIBS"
+ ;;
+ esac
+ fi
fi
fi