summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsimonmar <unknown>2003-08-13 12:34:05 +0000
committersimonmar <unknown>2003-08-13 12:34:05 +0000
commite2314d3d270b26dee37467290a01c84e6da26e16 (patch)
tree3d81fb6925a88ea659f807ed864dc3aa0b531ed1
parentf078d9bc6719ff7ee489c04797545f7666bcaae6 (diff)
downloadhaskell-e2314d3d270b26dee37467290a01c84e6da26e16.tar.gz
[project @ 2003-08-13 12:34:04 by simonmar]
Detect Alex, and add --use-src-tree-alex option to configure.
-rw-r--r--aclocal.m437
-rw-r--r--configure.in17
2 files changed, 51 insertions, 3 deletions
diff --git a/aclocal.m4 b/aclocal.m4
index d6b33b09d3..66698d1df0 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-dnl $Id: aclocal.m4,v 1.121 2003/07/30 09:21:12 wolfgang Exp $
+dnl $Id: aclocal.m4,v 1.122 2003/08/13 12:34:04 simonmar Exp $
dnl
dnl Extra autoconf macros for the Glasgow fptools
dnl
@@ -265,6 +265,41 @@ dnl do without it for now.
])
dnl
+dnl Check for Alex and version. If we're building GHC, then we need
+dnl at least Alex version 2.0. If there's no installed Alex, we look
+dnl for a alex source tree and point the build system at that instead.
+dnl
+AC_DEFUN(FPTOOLS_ALEX,
+[
+if test -d $srcdir/alex; then
+ SrcTreeAlexCmd=$hardtop/alex/src/alex-inplace
+fi
+if test x"$UseSrcTreeAlex" = xYES; then
+ AlexCmd=$SrcTreeAlexCmd
+else
+ AC_PATH_PROG(AlexCmd,alex,$SrcTreeAlexCmd)
+fi
+AC_CACHE_CHECK([for version of alex], fptools_cv_alex_version,
+changequote(, )dnl
+[if test x"$AlexCmd" = x"$SrcTreeAlexCmd"; then
+ fptools_cv_alex_version=`grep '^ProjectVersion[ ]*=' $srcdir/alex/mk/version.mk | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`;
+elif test x"$AlexCmd" != x; then
+ fptools_cv_alex_version="`$AlexCmd -v |
+ grep 'Alex Version' | sed -e 's/Alex Version \([^ ]*\).*/\1/g'`" ;
+else
+ fptools_cv_alex_version="";
+fi;
+changequote([, ])dnl
+])
+if test -d $srcdir/ghc -a ! -f $srcdir/ghc/compiler/parser/Lexer.hs; then
+ FPTOOLS_PROG_CHECK_VERSION([$fptools_cv_alex_version],-lt,[2.0],
+ [AC_MSG_ERROR([Alex version 2.0 or later is required to compile GHC.])])dnl
+fi
+AlexVersion=$fptools_cv_alex_version;
+AC_SUBST(AlexVersion)
+])
+
+dnl
dnl What's the best way of doing context diffs?
dnl
dnl (NB: NeXTStep thinks diff'ing a file against itself is "trouble")
diff --git a/configure.in b/configure.in
index c661c4ad74..50f9fc8cc2 100644
--- a/configure.in
+++ b/configure.in
@@ -731,7 +731,7 @@ FPTOOLS_GREENCARD(3.00)
AC_ARG_ENABLE(src-tree-happy,
[ --enable-src-tree-happy
- Build and use source tree (fptools/happy) version of happy.
+ Build and use source tree (fptools/happy) version of Happy.
],
[UseSrcTreeHappy=YES],
[UseSrcTreeHappy=NO]
@@ -744,7 +744,7 @@ fi;
AC_ARG_ENABLE(src-tree-haddock,
[ --enable-src-tree-haddock
- Build and use source tree (fptools/haddock) version of haddock.
+ Build and use source tree (fptools/haddock) version of Haddock.
],
[UseSrcTreeHaddock=YES],
[UseSrcTreeHaddock=NO]
@@ -752,6 +752,19 @@ AC_ARG_ENABLE(src-tree-haddock,
dnl ** check for installed haddock
FPTOOLS_HADDOCK
+AC_ARG_ENABLE(src-tree-alex,
+[ --enable-src-tree-alex
+ Build and use source tree (fptools/alex) version of Alex.
+],
+[UseSrcTreeAlex=YES],
+[UseSrcTreeAlex=NO]
+)
+dnl ** check for installed alex binary + version
+dnl (don't do it if we're booting from .hc files though.)
+if test "$BootingFromHc" = "NO"; then
+FPTOOLS_ALEX
+fi;
+
dnl --------------------------------------------------
dnl ### program checking section ends here ###
dnl --------------------------------------------------