-dnl $Id: aclocal.m4,v 1.38 1999/02/08 11:16:17 sof Exp $
+dnl $Id: aclocal.m4,v 1.46 1999/12/21 13:00:54 simonmar 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_END_TEXT_SECTION,
[AC_MSG_CHECKING([for end of text section marker])
not_done=1
-for i in etext _etext __etext; do
+for i in data_start _data_start etext _etext __etext; do
FPTOOLS_IN_SCOPE($i,$i,fptools_end_of_text)
if test "$fptools_end_of_text" = yes; then
AC_CACHE_VAL([fptools_cv_end_of_text_decl], AC_DEFINE_UNQUOTED(TEXT_SECTION_END_MARKER_DECL, $i))