X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=9ae1145ddfd6d041f441cbd0461bd5acbbce355d;hb=ef934baea32e045d799eb059d5371feb15cf111e;hp=a9d8e89fd0474f2d84b542e876603e7d9b35fbea;hpb=52292ac64999e617822294d70cb51e58f86085a0;p=ghc-hetmet.git diff --git a/aclocal.m4 b/aclocal.m4 index a9d8e89..9ae1145 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,4 +1,4 @@ -dnl $Id: aclocal.m4,v 1.66 2001/01/30 11:13:26 simonmar Exp $ +dnl $Id: aclocal.m4,v 1.74 2001/06/25 05:25:31 sof Exp $ dnl dnl Extra autoconf macros for the Glasgow fptools dnl @@ -81,7 +81,9 @@ AC_DEFUN(FPTOOLS_REGEX_IN_LIBC, #include #endif #include -],[ struct re_pattern_buffer patbuf; re_compile_pattern("",0,&patbuf); ], +],[ struct re_pattern_buffer patbuf; + re_compile_pattern("",0,&patbuf); + re_search_2 (&patbuf, "", 0, "",0, 0,0,0,0); ], fptools_cv_have_regex=yes, fptools_cv_have_regex=no)]) if test "$fptools_cv_have_regex" = yes; then HaveRegex=YES @@ -153,37 +155,65 @@ esac ]) 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.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 ( 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 - if test -d $srcdir/ghc; then - echo - echo "Happy version 1.9 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) ]) @@ -861,7 +891,6 @@ 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.66 2001/01/30 11:13:26 simonmar Exp $ dnl @author Matthew D. Langston # FPTOOLS_CHECK_LIBM - check for math library @@ -869,7 +898,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*) @@ -949,7 +978,6 @@ 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.66 2001/01/30 11:13:26 simonmar Exp $ dnl @author Matthew D. Langston AC_DEFUN(FPTOOLS_HAVE_OPENGL, @@ -1022,3 +1050,17 @@ dnl and we don't want to be global namespace polluters. ]) # LocalWords: fi + +dnl +dnl acspecific.m4's defn of AC_PROG_LEX is a bit too permissive, as it +dnl defaults to 'lex' if 'flex' isn't found (without checking whether +dnl 'lex' is actually present along the user's PATH). +dnl +AC_DEFUN(AC_PROG_LEX_STRICT, +[AC_CHECK_PROG(LEX, flex, flex) +if test -z "$LEX" +then + AC_CHECK_PROG(LEX,lex,lex) + test -z "$LEX" && AC_MSG_ERROR(['lex' or 'flex' is required to compile GHC.]) +fi +])