-dnl $Id: aclocal.m4,v 1.39 1999/03/01 17:39:54 simonm Exp $
+dnl $Id: aclocal.m4,v 1.47 2000/05/09 10:43:45 rrt Exp $
dnl
dnl Extra autoconf macros for the Glasgow fptools
dnl
])
dnl
-dnl Check for Happy and version.
+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 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)
fptools_cv_happy_version="`$HappyCmd -v |
changequote(, )dnl
grep 'Happy Version' | sed -e 's/Happy Version \([^ ]*\).*/\1/g'`" ;
-changequote([, ])dnl
+elif test -d $srcdir/happy; then
+ HappyCmd=$hardtop/happy/src/happy-inplace;
+ 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... ";
else
fptools_cv_happy_version="";
fi;
-if expr "$fptools_cv_happy_version" "<" 1.4 > /dev/null 2>&1; then
- echo
- echo "Happy version 1.4 or later is required to compile GHC."
- exit 1;
+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;
])
-HappyVersion=$ac_cv_happy_version;
+HappyVersion=$fptools_cv_happy_version;
AC_SUBST(HappyVersion)
])
AC_SUBST(HaveGcc)
])
-dnl
-dnl FPTOOLS_PROG_GNUCPP gathers the path to the cpp that the
-dnl gcc driver calls upon.
-dnl
-dnl Substitutes: GNUCPP and RAWCPP (latter is 'GNUCPP -traditional')
-dnl
-AC_DEFUN(FPTOOLS_PROG_GNUCPP,
-[AC_CACHE_CHECK([how to invoke GNU cpp directly], fptools_cv_gnu_cpp,
-[if test "$HaveGcc" = "YES"; then
- echo > conftest.c
- gcc -v -E conftest.c >/dev/null 2>conftest.out
- # \x5c = backslash
- echo 'tr/\x5c/\//; /(\S+\/)cpp/ && print "[$]{1}cpp -iprefix [$]1";' > conftest.pl
- fptools_cv_gnu_cpp="`eval $PerlCmd -n conftest.pl conftest.out`"
- rm -fr conftest*
- else
- # We need to be able to invoke CPP directly, preferably
- # with input from stdin (mkdependHS and hscpp depend on
- # this at the moment).
- # Take a guess at what to use, this probably won't work.
- echo Warning: GNU cpp not found, using $CPP
- fptools_cv_gnu_cpp = $CPP
- fi
-])
-GNUCPP=$fptools_cv_gnu_cpp
-RAWCPP="$GNUCPP -traditional"
-AC_SUBST(GNUCPP)
-AC_SUBST(RAWCPP)
-])
-
dnl Small feature test for perl version. Assumes PerlCmd
dnl contains path to perl binary
dnl
AC_DEFUN(FPTOOLS_CHECK_PERL_VERSION,
[$PerlCmd -v >conftest.out 2>&1
-if grep "version 4" conftest.out >/dev/null 2>&1; then
- if grep "Patch level: 35" conftest.out >/dev/null 2>&1; then
- echo "
-************************************************************************
-Uh-oh...looks like you have Perl 4.035.
-
-Perl version 4.035 has a bug to do with recursion that will bite if
-you run the lit2texi script, when making Info files from
-literate files of various sorts. Either use perl5, the last version of perl4
-(4.036), or an older version (e.g., perl 4.019). Failing that, don't create
-any Info files :-)
-************************************************************************
-"
- fi
+if grep "version 5" conftest.out >/dev/null 2>&1; then
+ :
else
- if grep "version 5" conftest.out >/dev/null 2>&1; then
+ if grep "version 6" conftest.out >/dev/null 2>&1; then
:
else
- echo "I'm not sure if your version of perl will work,"
- echo "but it's worth a shot, eh?"
+ echo "Your version of perl probably won't work."
fi
fi
rm -fr conftest*