X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=de6b4215fa25426ba513f866ea3bb870bfd81171;hb=23c94851fb2c98d345d913d35a5a12bbc3a346bd;hp=b67443df36dbfc14d9d1ba02dde4dfc6ac022d6f;hpb=c188b2050bcc7227dbd85653e1c8d40d00005bac;p=ghc-hetmet.git diff --git a/aclocal.m4 b/aclocal.m4 index b67443d..de6b421 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -58,13 +58,16 @@ dnl ** check for leading underscores in symbol names AC_DEFUN(AC_UNDERSCORE, [AC_CHECK_LIB(elf, nlist, LIBS="-lelf $LIBS")dnl AC_CACHE_CHECK([leading underscore in symbol names], ac_cv_lead_uscore, -[# +# # Hack!: nlist() under Digital UNIX insist on there being an _, # but symbol table listings show none. What is going on here?!? # -if test $HostPlatform = "alpha-dec-osf1"; then - ac_cv_lead_uscore='no' -else +changequote(<<, >>)dnl +<< +case $HostPlatform in +alpha-dec-osf*) ac_cv_lead_uscore='no';; +*) >> +changequote([, ])dnl AC_TRY_RUN([#ifdef HAVE_NLIST_H #include changequote(<<, >>)dnl @@ -83,8 +86,8 @@ changequote([, ])dnl #endif exit(1); }], ac_cv_lead_uscore=yes, ac_cv_lead_uscore=no, ac_cv_lead_uscore=NO) -fi -]) +;; +esac); LeadingUnderscore=`echo $ac_cv_lead_uscore | sed 'y/yesno/YESNO/'` AC_SUBST(LeadingUnderscore) ]) @@ -103,6 +106,11 @@ changequote([, ])dnl else ac_cv_happy_version=""; fi; +if expr "$ac_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; +fi; ]) HappyVersion=$ac_cv_happy_version; AC_SUBST(HappyVersion) @@ -240,7 +248,7 @@ AC_DEFUN(AC_HAVE_GCC, ac_cv_have_gcc='no' else changequote(, )dnl - cmd_string="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version \(egcs-\)\?\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/expr 20 \\\< \2 \\\* 10 + \3/g' `" + 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' `" changequote([, ])dnl if test `eval $cmd_string 2>/dev/null` != "1"; then echo '' @@ -261,26 +269,24 @@ AC_SUBST(HaveGcc) # Substitutes: GNUCPP and RAWCPP (latter is 'GNUCPP -traditional') # AC_DEFUN(AC_PROG_GNUCPP, -[AC_CACHE_CHECK([how to invoke cpp directly], ac_cv_gnu_cpp, -[if echo $CPP | grep gcc >/dev/null 2>&1; then - echo > conftest.c - gcc -v -E conftest.c >/dev/null 2>conftest.out - echo '/(\S+(\/|\\\\)cpp)/ && print "[$]1";' > conftest.pl - # GNUCPP: used in jmake.c (GnuCppCmd) and in mkdependC - # (where we could do with the usual pre-#defines) - ac_cv_gnu_cpp="`eval $PerlCmd -n conftest.pl conftest.out`" - rm -fr conftest* -else - # It is likely that this will go terribly wrong.. - ac_cv_gnu_cpp='cc -E' -fi +[AC_CACHE_CHECK([how to invoke GNU cpp directly], ac_cv_gnu_cpp, +[if test "$HaveGcc" = "YES"; then + echo > conftest.c + gcc -v -E conftest.c >/dev/null 2>conftest.out + echo '/(\S+(\/|\\)cpp)/ && print "[$]1";' > conftest.pl + ac_cv_gnu_cpp="`eval $PerlCmd -n conftest.pl conftest.out | tr '\\\' / `" + 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 + ac_cv_gnu_cpp = $CPP + fi ]) GNUCPP=$ac_cv_gnu_cpp -if test "$GNUCPP" = "cc -E"; then - RAWCPP="$GNUCPP" -else - RAWCPP="$GNUCPP -traditional" -fi +RAWCPP="$GNUCPP -traditional" AC_SUBST(GNUCPP) AC_SUBST(RAWCPP) ])