X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=a615c555dd0058693c3b18ce6802aeac1730dad4;hb=c69886a17db51737b2b81f778b64262e11083d0e;hp=a280ecb4293a243829e887798a76091ada9e78d9;hpb=8504635323bc4c2d7ade98771a4e281c2d56761c;p=ghc-hetmet.git diff --git a/aclocal.m4 b/aclocal.m4 index a280ecb..a615c55 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -490,53 +490,40 @@ fi rm -f conftest ])]) -dnl -dnl Extra testing of the result AC_PROG_CC, testing the gcc version no. -dnl *Must* be called after AC_PROG_CC -dnl -AC_DEFUN(FPTOOLS_HAVE_GCC, -[AC_CACHE_CHECK([whether you have an ok gcc], fptools_cv_have_gcc, + +# FP_HAVE_GCC +# ----------- +# Extra testing of the result AC_PROG_CC, testing the gcc version no. Sets the +# output variables HaveGcc and GccVersion. +AC_DEFUN([FP_HAVE_GCC], +[AC_REQUIRE([AC_PROG_CC]) +AC_CACHE_CHECK([whether your gcc is OK], [fp_cv_have_gcc], [if test -z "$GCC"; then - echo '' - echo "You would be better off with gcc" - echo "Perhaps it is already installed, but not in your PATH?" - fptools_cv_have_gcc='no' + fp_cv_have_gcc='no' + AC_MSG_WARN([You would be better off with gcc, perhaps it is already installed, but not in your PATH?]) else -changequote(, )dnl - gcc_version_str="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1\.\2/g' `" -changequote([, ])dnl - fptools_cv_have_gcc='yes' - FP_COMPARE_VERSIONS([$gcc_version_str], [-lt], [2.0], - [fptools_cv_have_gcc='no' - echo "" - echo "your gcc version appears to be ..." - $CC --version - echo "gcc prior to 2.0 and have never worked with ghc." - echo "we recommend 2.95.3, although versions back to 2.7.2 should be ok." - AC_MSG_ERROR([gcc 1.X has never been supported])]) -fi -]) -HaveGcc=`echo $fptools_cv_have_gcc | sed 'y/yesno/YESNO/'` -AC_SUBST(HaveGcc) -GccVersion=`gcc --version | grep mingw | cut -f 3 -d ' '` -AC_SUBST(GccVersion) -]) - -dnl -dnl Some OSs (Mandrake Linux, in particular) configure GCC with -dnl -momit-leaf-frame-pointer on by default. If this is the case, we -dnl need to turn it off for mangling to work. The test is currently a bit -dnl crude, using only the version number of gcc. -dnl -AC_DEFUN([FPTOOLS_GCC_NEEDS_NO_OMIT_LFPTR], -[AC_CACHE_CHECK([whether gcc needs -mno-omit-leaf-frame-pointer], [fptools_cv_gcc_needs_no_omit_lfptr], -[FP_COMPARE_VERSIONS([$gcc_version_str], [-ge], [3.2], - [fptools_cv_gcc_needs_no_omit_lfptr=yes], - [fptools_cv_gcc_needs_no_omit_lfptr=no])]) -if test "$fptools_cv_gcc_needs_no_omit_lfptr" = "yes"; then - AC_DEFINE([HAVE_GCC_MNO_OMIT_LFPTR], [1], [Define to 1 if gcc supports -mno-omit-leaf-frame-pointer.]) -fi])# FPTOOLS_GCC_NEEDS_NO_OMIT_LFPTR + fp_cv_have_gcc='yes' + gcc_version_str="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [[^0-9]]*\([[0-9]][[0-9]]*\)\.\([[0-9]][[0-9]]*\).*/\1\.\2/g' `" + FP_COMPARE_VERSIONS([$gcc_version_str], [-lt], [2.0], + [AC_MSG_ERROR([Need at least gcc version 2.0 (2.95.3 recommend)])]) +fi]) +AC_SUBST([HaveGcc], [`echo $fp_cv_have_gcc | sed 'y/yesno/YESNO/'`]) +AC_SUBST([GccVersion], [`gcc --version | grep mingw | cut -f 3 -d ' '`]) +])# FP_HAVE_GCC +AC_DEFUN([FP_MINGW_GCC], +[ + case $HostOS_CPP in + mingw*) AC_MSG_CHECKING([whether $CC is a mingw gcc]) + if $CC -v 2>&1 | grep mingw >/dev/null; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_ERROR([Please use --with-gcc to specify a mingw gcc]) + fi;; + *) ;; + esac +]) dnl Small feature test for perl version. Assumes PerlCmd dnl contains path to perl binary @@ -657,19 +644,6 @@ ifelse($#, [1], [dnl ])dnl -AC_DEFUN(FPTOOLS_GHC_HAS_READLINE, -[AC_CACHE_CHECK([whether ghc has readline package], [fptools_ghc_has_readline], -[if "${GhcPkgCmd-ghc-pkg}" --show-package readline >/dev/null 2>&1; then - fptools_ghc_has_readline='yes'; - GhcHasReadline='YES'; - else - fptools_ghc_has_readline='no'; - GhcHasReadline='NO'; - fi - AC_SUBST(GhcHasReadline) -]) -]) - dnl ** Map an arithmetic C type to a Haskell type. dnl Based on autconf's AC_CHECK_SIZEOF. @@ -987,201 +961,4 @@ else GhcPkgCmd=$fp_cv_matching_ghc_pkg fi])# FP_PROG_GHC_PKG - -# FP_CHECK_WIN32 -# -------------- -# If Windows is the target platform (e.g. MinGW/MSYS or Cygwin with -# -mno-cygwin), the variable "is_win32" is set to "yes", otherwise (e.g. *nix -# systems or plain Cygwin) it is set to "no". -AC_DEFUN([FP_CHECK_WIN32], -[AC_CACHE_CHECK([for Windows environment], [fp_cv_is_win32], - [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [ -#if !_WIN32 - syntax error; -#endif -])], [fp_cv_is_win32=yes], [fp_cv_is_win32=no])]) -is_win32="$fp_cv_is_win32"[]dnl -])# FP_CHECK_WIN32 - - -# FP_PATH_X -# --------- -# Same as AC_PATH_X, but works even for broken Cygwins which try to include the -# non-existant header when -mno-cygwin is used. -AC_DEFUN([FP_PATH_X], -[AC_REQUIRE([FP_CHECK_WIN32]) -if test x"$is_win32" = xyes; then - no_x=yes -else - AC_PATH_X -fi -])# FP_PATH_X - - -# FP_PATH_XTRA -# ------------ -# Same as AC_PATH_XTRA, but works even for broken Cygwins which try to include -# the non-existant header when -mno-cygwin is used. -AC_DEFUN([FP_PATH_XTRA], -[AC_REQUIRE([FP_CHECK_WIN32]) -if test x"$is_win32" = xyes; then - no_x=yes -else - AC_PATH_XTRA -fi -])# FP_PATH_XTRA - - -# FP_CHECK_GL_HELPER(LIBNAME, LIBS, INCLUDES, FUNCTION-BODY) -# ---------------------------------------------------------- -# Try each library in LIBS to successfully link INCLUDES plus FUNCTION-BODY, -# setting LIBNAME_CFLAGS and LIBNAME_LIBS to the corresponding values. Sets -# no_LIBNAME to "yes" if no suitable library was found. (LIBNAME_CFLAGS0 -# contains the value of LIBNAME_CFLAGS without CPPFLAGS, and LIBNAME_LIBS0 -# contains the value of LIBNAME_LIBS without LDFLAGS, but these are only -# used internally.) -AC_DEFUN([FP_CHECK_GL_HELPER], -[AC_CACHE_CHECK([for $1 library], [fp_cv_check_$1_lib], - [fp_cv_check_$1_lib="no" - fp_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS ${$1_CFLAGS}" - fp_save_LIBS="$LIBS" - for fp_try_lib in $2; do - # transform "-lfoo" to "foo.lib" when using cl - if test x"$CC" = xcl; then - fp_try_lib=`echo $fp_try_lib | sed -e 's/^-l//' -e 's/$/.lib/'` - fi - LIBS="$fp_try_lib ${$1_LIBS} $fp_save_LIBS" - AC_LINK_IFELSE([AC_LANG_PROGRAM([$3], [$4])], [fp_cv_check_$1_lib="$fp_try_lib ${$1_LIBS}"; break]) - done - LIBS="$fp_save_LIBS" - CPPFLAGS="$fp_save_CPPFLAGS"]) - - if test x"$fp_cv_check_$1_lib" = xno; then - no_$1=yes - $1_CFLAGS= - $1_LIBS= - else - $1_CFLAGS0="${$1_CFLAGS}" - $1_CFLAGS="$CPPFLAGS ${$1_CFLAGS0}" - $1_LIBS0="$fp_cv_check_$1_lib" - $1_LIBS="$LDFLAGS ${$1_LIBS0}" - fi -])# FP_CHECK_GL_HELPER - - -# FP_CHECK_GL -# ----------- -AC_DEFUN([FP_CHECK_GL], -[AC_REQUIRE([FP_PATH_X]) -AC_REQUIRE([AC_CANONICAL_TARGET]) - -AC_ARG_ENABLE([hopengl], - [AC_HELP_STRING([--enable-hopengl], - [build a Haskell binding for OpenGL (GL/GLU). On Mac OS X, use - --enable-hopengl=x11 to use X11 instead of the "native" libraries. - (default=no)])], - [enable_opengl=$enableval], [enable_opengl=no]) - -if test x"$enable_opengl" = xno; then - no_GL=yes -else - use_quartz_opengl=no - case $target_os in - darwin*) - if test x"$enable_opengl" != xx11; then - AC_DEFINE([USE_QUARTZ_OPENGL], [1], - [Define to 1 if native OpenGL should be used on Mac OS X]) - use_quartz_opengl=yes - fi - ;; - esac - - if test x"$use_quartz_opengl" != xyes; then - 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" - test -n "$x_libraries" && GL_LIBS="-L$x_libraries -lX11 $GL_LIBS" - fi - - FP_CHECK_GL_HELPER([GL], [-lGL -lopengl32], [@%:@include ], [glEnd()]) - - 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_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], [[glEnd()]])], - [GL_LIBS="$GL_LIBS -lopengl32"; GL_LIBS0="$GL_LIBS0 -lopengl32"]) - LIBS="$fp_save_LIBS" - ;; - esac - fi - fi -fi - -AC_SUBST([GL_CFLAGS]) -AC_SUBST([GL_LIBS]) -])# FP_CHECK_GL - - -# FP_CHECK_GLU -# ------------ -AC_DEFUN([FP_CHECK_GLU], -[AC_REQUIRE([FP_CHECK_GL])dnl -GLU_CFLAGS="$GL_CFLAGS0" -GLU_LIBS="$GL_LIBS0" - -if test x"$enable_opengl" = xno; then - no_GLU=yes -elif test x"$use_quartz_opengl" != xyes; then - FP_CHECK_GL_HELPER([GLU], [-lglu32 -lGLU], [@%:@include ], [gluNewQuadric()]) -fi - -AC_SUBST([GLU_CFLAGS]) -AC_SUBST([GLU_LIBS]) -])# FP_CHECK_GLU - - -# FP_CHECK_GLUT -# ------------- -AC_DEFUN([FP_CHECK_GLUT], -[AC_REQUIRE([FP_CHECK_GLU]) -FP_PATH_XTRA - -if test x"$enable_opengl" = xno; then - no_GLUT=yes -elif test x"$use_quartz_opengl" != xyes; then - GLUT_CFLAGS="$GLU_CFLAGS0" - GLUT_LIBS="$GLU_LIBS0" - - if test x"$no_x" != xyes; then - GLUT_LIBS="$X_PRE_LIBS -lXmu -lXi $X_EXTRA_LIBS $GLUT_LIBS" - fi - - AC_CHECK_HEADERS([windows.h GL/glut.h]) - # Note 1: On Cygwin with X11, GL/GLU functions use the "normal" calling - # convention, but GLUT functions use stdcall. To get this right, it is - # necessary to include first. - # Note 2: MinGW/MSYS comes without a GLUT header, so we use Cygwin's one in - # that case. - FP_CHECK_GL_HELPER([GLUT], [-lglut32 -lglut], [ -#if HAVE_WINDOWS_H -#include -#endif -#if HAVE_GL_GLUT_H -#include -#else -#include "glut_local.h" -#endif - ], [glutMainLoop()]) -fi - -AC_SUBST([GLUT_CFLAGS]) -AC_SUBST([GLUT_LIBS]) -])# FP_CHECK_GLUT - # LocalWords: fi