X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=3109f170500e764468455e49f321e9ecb06a5a06;hb=6425d879ecc9258dd2fbbce329fc5bdf4d5c9866;hp=1e3d66a7a36b7def42a352b5cab3f7f63a7e754c;hpb=2213195a06629b101764594c192bbc827f99bfc1;p=ghc-hetmet.git diff --git a/aclocal.m4 b/aclocal.m4 index 1e3d66a..3109f17 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,4 +1,4 @@ -dnl $Id: aclocal.m4,v 1.56 2000/09/10 17:39:26 panne Exp $ +dnl $Id: aclocal.m4,v 1.69 2001/03/28 14:09:41 simonmar Exp $ dnl dnl Extra autoconf macros for the Glasgow fptools dnl @@ -154,31 +154,32 @@ esac dnl dnl Check for Happy and version. If we're building GHC, then we need -dnl at least Happy version 1.6. If there's no installed Happy, we look +dnl at least Happy version 1.9. If there's no installed Happy, we look dnl for a happy source tree and point the build system at that instead. dnl -dnl ToDo: when we reset HappyCmd to the source tree, autoconf doesn't -dnl seems to insert it in the cache file. sigh. -dnl AC_DEFUN(FPTOOLS_HAPPY, -[AC_PATH_PROG(HappyCmd,happy) +[ +if test -d $srcdir/happy; then + SrcTreeHappyCmd=$hardtop/happy/src/happy-inplace +fi +AC_PATH_PROG(HappyCmd,happy,$SrcTreeHappyCmd) AC_CACHE_CHECK([for version of happy], fptools_cv_happy_version, -[if test x"$HappyCmd" != x; then - fptools_cv_happy_version="`$HappyCmd -v | changequote(, )dnl - grep 'Happy Version' | sed -e 's/Happy Version \([^ ]*\).*/\1/g'`" ; -elif test -d $srcdir/happy; then - HappyCmd=$hardtop/happy/src/happy-inplace; +[if test x"$HappyCmd" = x"$SrcTreeHappyCmd"; then fptools_cv_happy_version=`grep '^ProjectVersion[ ]*=' $srcdir/happy/mk/version.mk | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`; - echo -n "using happy from the source tree... "; +elif test x"$HappyCmd" != x; then + fptools_cv_happy_version="`$HappyCmd -v | + grep 'Happy Version' | sed -e 's/Happy Version \([^ ]*\).*/\1/g'`" ; else fptools_cv_happy_version=""; fi; changequote([, ])dnl -if expr "$fptools_cv_happy_version" "<" 1.6 > /dev/null 2>&1; then - if test -d $srcdir/ghc; then +if test -d $srcdir/ghc; then + if ( test "$fptools_cv_happy_version" = "" || ( + test `echo "$fptools_cv_happy_version" | sed -e "s/\(.*\)\..*/\1/g"` "-eq" "1" && + test `echo "$fptools_cv_happy_version" | sed -e "s/.*\.\(.*\)/\1/g"` "-lt" "9" )); then echo - echo "Happy version 1.6 or later is required to compile GHC." + echo "Happy version 1.9 or later is required to compile GHC." exit 1; fi fi; @@ -341,11 +342,15 @@ AC_DEFUN(FPTOOLS_CHECK_PERL_VERSION, if grep "version 5" conftest.out >/dev/null 2>&1; then : else - if grep "version 6" conftest.out >/dev/null 2>&1; then - : - else - echo "Your version of perl probably won't work." - fi + if grep "v5.6" conftest.out >/dev/null 2>&1; then + : + else + if grep "version 6" conftest.out >/dev/null 2>&1; then + : + else + echo "Your version of perl probably won't work." + fi + fi fi rm -fr conftest* ]) @@ -361,11 +366,11 @@ dnl AC_DEFUN(FPTOOLS_GHC_VERSION, [define([FPTOOLS_CV_GHC_VERSION], [fptools_cv_ghc_version])dnl AC_CACHE_CHECK([version of ghc], FPTOOLS_CV_GHC_VERSION, [dnl -${GHC-ghc} --version > conftestghc 2>&1 +${WithGhc-ghc} --version > conftestghc 2>&1 cat conftestghc >&AC_FD_CC dnl `Useless Use Of cat' award... changequote(<<, >>)dnl - FPTOOLS_CV_GHC_VERSION=`cat conftestghc | sed -n -e 's/, patchlevel *\([0-9]\)/.\1/;s/.* version \([0-9.]\+\).*/\1/p'` + FPTOOLS_CV_GHC_VERSION=`cat conftestghc | sed -n -e 's/, patchlevel *\([0-9]\)/.\1/;s/.* version \([0-9][0-9.]*\).*/\1/p'` changequote([, ])dnl rm -fr conftest* if test "[$]FPTOOLS_CV_GHC_VERSION" = "" @@ -432,7 +437,7 @@ main() { FILE *f=fopen("conftestval", "w"); if (!f) exit(1); - fprintf(f, "%d\n", offsetof(struct { char c; $1 ty;},ty)); + fprintf(f, "%d", offsetof(struct { char c; $1 ty;},ty)); exit(0); }], AC_CV_NAME=`cat conftestval`, @@ -522,6 +527,46 @@ AC_DEFINE(HAVE_LONG_LONG) fi ]) +dnl ** Obtain the value of a C constant. +dnl The value will be `(-1)' if the constant is undefined. +dnl +dnl This is set up so that the argument can be a shell variable. +dnl +AC_DEFUN(FPTOOLS_CHECK_CCONST, +[ +eval "def_name=CCONST_$1" +eval "cv_name=ac_cv_cconst_$1" +AC_MSG_CHECKING(value of $1) +AC_CACHE_VAL($cv_name, +[AC_TRY_RUN([#include +#include +main() +{ + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", $1); + exit(0); +}], +eval "$cv_name=`cat conftestval`", +eval "$cv_name=-1", +ifelse([$2], , , eval "$cv_name=$2"))])dnl +eval "fptools_check_cconst_result=`echo '$'{$cv_name}`" +AC_MSG_RESULT($fptools_check_cconst_result) +AC_DEFINE_UNQUOTED($def_name, $fptools_check_cconst_result) +unset fptools_check_cconst_result +]) + +dnl ** Invoke AC_CHECK_CCONST on each argument (which have to separate with +dnl spaces) +dnl +AC_DEFUN(FPTOOLS_CHECK_CCONSTS, +[for ac_const_name in $1 +do +FPTOOLS_CHECK_CCONST($ac_const_name)dnl +done +]) + + dnl *** Can we open files in binary mode? *** dnl AC_DEFUN(FPTOOLS_O_BINARY, @@ -816,7 +861,7 @@ dnl The variable LIBM (which is not an output variable by default) is dnl set to a value which is suitable for use in a Makefile (for example, dnl in make's LOADLIBES macro) provided you AC_SUBST it first. dnl -dnl @version 0.01 $Id: aclocal.m4,v 1.56 2000/09/10 17:39:26 panne Exp $ +dnl @version 0.01 $Id: aclocal.m4,v 1.69 2001/03/28 14:09:41 simonmar Exp $ dnl @author Matthew D. Langston # FPTOOLS_CHECK_LIBM - check for math library @@ -824,7 +869,7 @@ AC_DEFUN(FPTOOLS_CHECK_LIBM, [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case "$host" in -*-*-beos* | *-*-cygwin*) +*-*-beos* | *-*-macosx*) # These system don't have libm ;; *-ncr-sysv4.3*) @@ -904,7 +949,7 @@ dnl Please note that as the ac_opengl macro and the toy example evolves, dnl the version number increases, so you may have to adjust the above dnl URL accordingly. dnl -dnl @version 0.01 $Id: aclocal.m4,v 1.56 2000/09/10 17:39:26 panne Exp $ +dnl @version 0.01 $Id: aclocal.m4,v 1.69 2001/03/28 14:09:41 simonmar Exp $ dnl @author Matthew D. Langston AC_DEFUN(FPTOOLS_HAVE_OPENGL,