X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=e7dd2415df3f8a616f6708f1fcbe3a2d74baa2a9;hb=de1d4a16d94fa13e9d40a1ac755eae6249595e66;hp=67261b6055841a4d3404a5fc27aa454bf537d8b3;hpb=e99733ffee71d1f3737f3ea39a31e9449f51be94;p=ghc-hetmet.git diff --git a/aclocal.m4 b/aclocal.m4 index 67261b6..e7dd241 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,4 +1,4 @@ -dnl $Id: aclocal.m4,v 1.82 2001/07/23 22:52:33 ken Exp $ +dnl $Id: aclocal.m4,v 1.100 2002/05/05 17:03:54 panne Exp $ dnl dnl Extra autoconf macros for the Glasgow fptools dnl @@ -86,11 +86,11 @@ AC_DEFUN(FPTOOLS_REGEX_IN_LIBC, 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 + HaveGNURegex=YES else - HaveRegex=NO + HaveGNURegex=NO fi -AC_SUBST(HaveRegex) +AC_SUBST(HaveGNURegex) ]) @@ -197,7 +197,11 @@ AC_DEFUN(FPTOOLS_HAPPY, if test -d $srcdir/happy; then SrcTreeHappyCmd=$hardtop/happy/src/happy-inplace fi -AC_PATH_PROG(HappyCmd,happy,$SrcTreeHappyCmd) +if test x"$UseSrcTreeHappy" = xYES; then + HappyCmd=$SrcTreeHappyCmd +else + AC_PATH_PROG(HappyCmd,happy,$SrcTreeHappyCmd) +fi AC_CACHE_CHECK([for version of happy], fptools_cv_happy_version, changequote(, )dnl [if test x"$HappyCmd" = x"$SrcTreeHappyCmd"; then @@ -210,12 +214,18 @@ else fi; changequote([, ])dnl ]) -if test -d $srcdir/ghc; then +if test -d $srcdir/ghc -a ! -f $srcdir/ghc/compiler/parser/Parser.hs; 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) + +# 1.9 and later is required, assume that we can use the +# "-agc" options. NOTE: The Master of Happy-ness says: +# "Don't use -s! (yet)" +HappyOpts="-agc" +AC_SUBST(HappyOpts) ]) dnl @@ -245,6 +255,29 @@ AC_SUBST(ContextDiffCmd) ]) dnl +dnl Check whether ld supports -x +dnl +AC_DEFUN(FPTOOLS_LD_X, +[AC_CACHE_CHECK([whether ld understands -x], fptools_cv_ld_x, +[ +echo 'foo() {}' > conftest.c +${CC-cc} -c conftest.c +if ${LdCmd} -r -x -o foo.o conftest.o; then + fptools_cv_ld_x=yes +else + fptools_cv_ld_x=no +fi +rm -rf conftest.c conftest.o foo.o +]) +if test "$fptools_cv_ld_x" = yes; then + LdXFlag=-x +else + LdXFlag= +fi +AC_SUBST(LdXFlag) +]) + +dnl dnl Finding the Right Yacc dnl AC_DEFUN(FPTOOLS_PROG_YACCY, @@ -285,34 +318,41 @@ dnl On Digital UNIX, we test for the -Z (compress) and dnl -input (take list of files from external file) flags. dnl AC_DEFUN(FPTOOLS_PROG_AR_AND_RANLIB, -[AC_PATH_PROG(ArCmd,ar) -if test -z "$ArCmd"; then +[AC_PATH_PROG(ArCmdRaw,ar) +if test -z "$ArCmdRaw"; then echo "You don't seem to have ar in your PATH...I have no idea how to make a library" exit 1; fi -if $ArCmd clqsZ conftest.a >/dev/null 2>/dev/null; then - ArCmd="$ArCmd clqsZ" +if $ArCmdRaw clqsZ conftest.a >/dev/null 2>/dev/null; then + ArCmdArgs="clqsZ" NeedRanLib='' -elif $ArCmd clqs conftest.a >/dev/null 2>/dev/null; then - ArCmd="$ArCmd clqs" +elif $ArCmdRaw clqs conftest.a >/dev/null 2>/dev/null; then + ArCmdArgs="clqs" NeedRanLib='' -elif $ArCmd cqs conftest.a >/dev/null 2>/dev/null; then - ArCmd="$ArCmd cqs" +elif $ArCmdRaw cqs conftest.a >/dev/null 2>/dev/null; then + ArCmdArgs="cqs" NeedRanLib='' -elif $ArCmd clq conftest.a >/dev/null 2>/dev/null; then - ArCmd="$ArCmd clq" +elif $ArCmdRaw clq conftest.a >/dev/null 2>/dev/null; then + ArCmdArgs="clq" NeedRanLib='YES' -elif $ArCmd cq conftest.a >/dev/null 2>/dev/null; then - ArCmd="$ArCmd cq" +elif $ArCmdRaw cq conftest.a >/dev/null 2>/dev/null; then + ArCmdArgs="cq" NeedRanLib='YES' -elif $ArCmd cq conftest.a 2>&1 | grep 'no archive members specified' >/dev/null 2>/dev/null; then - ArCmd="$ArCmd cq" +elif $ArCmdRaw cq conftest.a 2>&1 | grep 'no archive members specified' >/dev/null 2>/dev/null; then + ArCmdArgs="cq" NeedRanLib='YES' else echo "I can't figure out how to use your $ArCmd" exit 1 fi rm -rf conftest* +case $HostPlatform in + *mingw32) + ArCmd="`cygpath -w ${ArCmdRaw} | sed -e 's@\\\\@/@g' ` ${ArCmdArgs}" + ;; + *) ArCmd="${ArCmdRaw} ${ArCmdArgs}" + ;; +esac test -n "$ArCmd" && test -n "$verbose" && echo " setting ArCmd to $ArCmd" AC_SUBST(ArCmd) if $ArCmd conftest.a -input /dev/null >/dev/null 2>/dev/null; then @@ -363,14 +403,18 @@ AC_DEFUN(FPTOOLS_HAVE_GCC, fptools_cv_have_gcc='no' else changequote(, )dnl - cmd_string="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/expr 20 \\\< \1 \\\* 10 + \2/g' `" + is_gcc_v1="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/expr 2000 \\\>= \1 \\\* 1000 + \2/g' `" changequote([, ])dnl - if test `eval $cmd_string 2>/dev/null` != "1"; then - echo '' - echo "I'm not sure if your version of gcc will work," - echo "but it's worth a shot, eh?" - fi fptools_cv_have_gcc='yes' + if test `eval $is_gcc_v1 2>/dev/null` = "1"; then + fptools_cv_have_gcc='no' + echo "" + echo "your gcc version appears to be ..." + $CC --version + echo "gcc prior to 2.0 and have never worked with ghc." + echo "we recommend 2.95.3, although versions back to 2.7.2 should be ok." + AC_MSG_ERROR([gcc 1.X has never been supported]) + fi fi ]) HaveGcc=`echo $fptools_cv_have_gcc | sed 'y/yesno/YESNO/'` @@ -399,6 +443,29 @@ rm -fr conftest* ]) dnl +dnl Getting at the right version of 'find' +dnl (i.e., not the MS util on a Win32 box). +dnl +AC_DEFUN(FPTOOLS_FIND_FIND, +[ +AC_PATH_PROG(Find2Cmd, find) +$Find2Cmd --version > conftest.out 2>&1 +if grep "FIND: Parameter format" conftest.out >/dev/null 2>&1 ; then + # Encountered MS' find utility, which is not what we're after. + # + # HACK - AC_CHECK_PROG is useful here in that does let you reject + # an (absolute) entry in the path (Find2Cmd). It is not so useful + # in that it doesn't let you (AFAIU) set VARIABLE equal to the + # absolute path eventually found. So, hack around this by inspecting + # what variables hold the abs. path & use them directly. + AC_CHECK_PROG(FindCmd,find,`echo $ac_dir/$ac_word`,find,,$Find2Cmd) +else +FindCmd=$Find2Cmd +AC_SUBST(FindCmd) +fi +]) + +dnl dnl FPTOOLS_NOCACHE_CHECK prints a message, then sets the dnl values of the second argument to the result of running dnl the commands given by the third. It does not cache its @@ -421,7 +488,7 @@ dnl [original version pinched from c2hs] dnl AC_DEFUN(FPTOOLS_GHC_VERSION, [FPTOOLS_NOCACHE_CHECK([version of ghc], [fptools_version_of_ghc], -[${WithGhc-ghc} --version > conftestghc 2>&1 +["${WithGhc-ghc}" --version > conftestghc 2>&1 cat conftestghc >&AC_FD_CC #Useless Use Of cat award... fptools_version_of_ghc=`cat conftestghc | sed -n -e 's/, patchlevel *\([[0-9]]\)/.\1/;s/.* version \([[0-9]][[0-9.]]*\).*/\1/p'` @@ -519,14 +586,45 @@ AC_MSG_CHECKING(Haskell type for $1) AC_CACHE_VAL(AC_CV_NAME, [AC_TRY_RUN([#include #include + +#ifdef HAVE_SYS_TYPES_H +# include +#endif + +#ifdef HAVE_UNISTD_H +# include +#endif + +#ifdef HAVE_SYS_STAT_H +# include +#endif + +#ifdef HAVE_FCNTL_H +# include +#endif + #ifdef HAVE_SIGNAL_H -#include +# include #endif + #ifdef HAVE_TIME_H -#include +# include #endif + +#ifdef HAVE_TERMIOS_H +# include +#endif + +#ifdef HAVE_STRING_H +# include +#endif + +#ifdef HAVE_CTYPE_H +# include +#endif + #ifdef HAVE_GL_GL_H -#include +# include #endif typedef $1 testing; @@ -890,13 +988,18 @@ Test. EOF fptools_cv_sgml_catalog=no -for fptools_catalog in $4; do - ac_try="$2 -t rtf -d $3#print -c $fptools_catalog conftest.sgml" - if AC_TRY_EVAL(ac_try); then - fptools_cv_sgml_catalog=[$]fptools_catalog - break - fi -done +if test -z "$SGML_CATALOG_FILES" ; then + for fptools_catalog in $4; do + ac_try="$2 -t rtf -d $3#print -c $fptools_catalog conftest.sgml" + if AC_TRY_EVAL(ac_try); then + fptools_cv_sgml_catalog=[$]fptools_catalog + break + fi + done +else +# If the env var SGML_CATALOG_FILES is defined, assume things are cool. + fptools_cv_sgml_catalog="yes" +fi ]) rm -rf conftest* if test $fptools_cv_sgml_catalog != "no"; then @@ -970,7 +1073,7 @@ AC_DEFUN(FPTOOLS_CHECK_LIBM, [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case "$host" in -*-*-beos* | *-*-macosx*) +*-*-beos*) # These system don't have libm ;; *-ncr-sysv4.3*) @@ -1064,7 +1167,7 @@ dnl AC_HELP_STRING([--with-Mesa], dnl [Prefer the Mesa library over a vendors native OpenGL library (default=yes)], dnl with_Mesa_help_string) dnl AC_ARG_ENABLE(Mesa, $with_Mesa_help_string, use_Mesa=$enableval, use_Mesa=yes) - AC_ARG_ENABLE(Mesa, [ --with-Mesa Prefer the Mesa library over a vendors native OpenGL library (default=yes)], use_Mesa=$enableval, use_Mesa=yes) + AC_ARG_ENABLE(Mesa, [ --with-Mesa Prefer the Mesa library over a vendors native OpenGL library (default=no)], use_Mesa=$enableval, use_Mesa=no) if test x"$use_Mesa" = xyes; then GL_search_list="MesaGL GL opengl32" @@ -1152,8 +1255,8 @@ AC_CACHE_CHECK([whether $CC accepts $1], [ac_cv_cc_$2], CFLAGS="$save_CFLAGS" ]) if test "$ac_cv_cc_$2"x = "yesx"; then - $2=$extra_flag; + $2=$1; else - $2=$extra_flag; + $2=""; fi; ])