-dnl $Id: aclocal.m4,v 1.62 2001/01/15 20:55:14 qrczak Exp $
+dnl $Id: aclocal.m4,v 1.71 2001/04/20 10:56:12 michaelw Exp $
dnl
dnl Extra autoconf macros for the Glasgow fptools
dnl
])
dnl
+dnl FPTOOLS_PROG_CHECK_VERSION(VERSIONSTR1, TEST, VERSIONSTR2,
+dnl ACTION-IF-TRUE [, ACTION-IF-FALSE])
+dnl
+dnl compare versions field-wise (separator is '.')
+dnl TEST is one of {-lt,-le,-eq,-ge,-gt}
+dnl
+dnl quite shell-independant and SUSv2 compliant code
+dnl
+dnl NOTE: the loop could be unrolled within autoconf, but the
+dnl macro code would be a) longer and b) harder to debug... ;)
+dnl
+AC_DEFUN(FPTOOLS_PROG_CHECK_VERSION,
+[if ( IFS=".";
+ a="[$1]"; b="[$3]";
+ while test -n "$a$b"
+ do
+ set -- [$]a; h1="[$]1"; shift 2>/dev/null; a="[$]*"
+ set -- [$]b; h2="[$]1"; shift 2>/dev/null; b="[$]*"
+ test -n "[$]h1" || h1=0; test -n "[$]h2" || h2=0
+ test [$]{h1} -eq [$]{h2} || break
+ done
+ test [$]{h1} [$2] [$]{h2}
+ )
+then ifelse([$4],,[:],[
+ $4])
+ifelse([$5],,,
+[else
+ $5])
+fi
+])])dnl
+
+
+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
- echo
- echo "Happy version 1.6 or later is required to compile GHC."
- exit 1;
- fi
-fi;
])
+if test -d $srcdir/ghc; then
+ FPTOOLS_PROG_CHECK_VERSION([$fptools_cv_happy_version],-lt,[1.9],
+ [AC_MSG_ERROR([Happy version 1.9 or later is required to compile GHC.])])dnl
+fi
HappyVersion=$fptools_cv_happy_version;
AC_SUBST(HappyVersion)
])
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
- fprintf(f, "(%d)\n", $1);
+ fprintf(f, "%d\n", $1);
exit(0);
}],
eval "$cv_name=`cat conftestval`",
-eval "$cv_name='(-1)'",
+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)
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.62 2001/01/15 20:55:14 qrczak Exp $
+dnl @version 0.01 $Id: aclocal.m4,v 1.71 2001/04/20 10:56:12 michaelw Exp $
dnl @author Matthew D. Langston <langston@SLAC.Stanford.EDU>
# FPTOOLS_CHECK_LIBM - check for math library
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case "$host" in
-*-*-beos* | *-*-cygwin*)
+*-*-beos* | *-*-macosx*)
# These system don't have libm
;;
*-ncr-sysv4.3*)
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.62 2001/01/15 20:55:14 qrczak Exp $
+dnl @version 0.01 $Id: aclocal.m4,v 1.71 2001/04/20 10:56:12 michaelw Exp $
dnl @author Matthew D. Langston <langston@SLAC.Stanford.EDU>
AC_DEFUN(FPTOOLS_HAVE_OPENGL,