X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=aclocal.m4;h=09462f05f27c568ee9a72cead02031d7d402fcae;hb=57d15e1c1b85a8ec417e843827e5c8d271f7b1da;hp=3b675b48e6d3532dad44f794c9152d876efe0842;hpb=e769e8950174222a25b41f54fc7dd7a095bb2a69;p=ghc-hetmet.git diff --git a/aclocal.m4 b/aclocal.m4 index 3b675b4..09462f0 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,4 +1,4 @@ -dnl $Id: aclocal.m4,v 1.79 2001/07/19 09:03:24 simonmar Exp $ +dnl $Id: aclocal.m4,v 1.87 2001/11/07 20:13:26 sof Exp $ dnl dnl Extra autoconf macros for the Glasgow fptools dnl @@ -216,6 +216,11 @@ if test -d $srcdir/ghc; then fi HappyVersion=$fptools_cv_happy_version; AC_SUBST(HappyVersion) + +# 1.9 and later is required, assume that we can use +# the "-agc" options. +HappyOpts="-agc" +AC_SUBST(HappyOpts) ]) dnl @@ -245,6 +250,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, @@ -280,7 +308,9 @@ AC_SUBST(YaccCmd) dnl *** Checking for ar and its arguments + whether we need ranlib. dnl -dnl ArCmd and RANLIB are AC_SUBST'ed +dnl ArCmd, ArSupportsInput and RANLIB are AC_SUBST'ed +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) @@ -288,7 +318,10 @@ if test -z "$ArCmd"; 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 clqs conftest.a >/dev/null 2>/dev/null; then +if $ArCmd clqsZ conftest.a >/dev/null 2>/dev/null; then + ArCmd="$ArCmd clqsZ" + NeedRanLib='' +elif $ArCmd clqs conftest.a >/dev/null 2>/dev/null; then ArCmd="$ArCmd clqs" NeedRanLib='' elif $ArCmd cqs conftest.a >/dev/null 2>/dev/null; then @@ -310,6 +343,14 @@ fi rm -rf conftest* 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 + ArSupportsInput='-input' +else + ArSupportsInput='' +fi +rm -rf conftest* +test -n "$ArSupportsInput" && test -n "$verbose" && echo " setting ArSupportsInput to $ArSupportsInput" +AC_SUBST(ArSupportsInput) if test -z "$NeedRanLib"; then RANLIB=':' test -n "$verbose" && echo " setting RANLIB to $RANLIB" @@ -350,14 +391,28 @@ 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' `" + is_gcc_v3="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/expr 3000 \\\<= \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 + if test `eval $is_gcc_v3 2>/dev/null` = "1"; then + fptools_cv_have_gcc='no' + echo "" + echo "your gcc version appears to be ..." + $CC --version + echo "gcc versions 3.0 and above are not yet supported." + echo "we recommend 2.95.3, although versions back to 2.7.2 should be ok." + AC_MSG_ERROR([gcc 3.0 and above is not currently supported]) + fi fi ]) HaveGcc=`echo $fptools_cv_have_gcc | sed 'y/yesno/YESNO/'` @@ -386,6 +441,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 @@ -672,10 +750,10 @@ AC_DEFUN([FPTOOLS_END_TEXT_SECTION], if test "$not_done" = 1; then FPTOOLS_IN_SCOPE(etext asm("etext"),etext,fptools_end_of_text) if test "$fptools_end_of_text" = yes; then - fptools_cv_end_of_text="etext asm("etext")" + fptools_cv_end_of_text="etext" fi fi]) - if test -n $fptools_cv_end_of_text; then + if test -n "$fptools_cv_end_of_text"; then AC_DEFINE_UNQUOTED([TEXT_SECTION_END_MARKER], $fptools_cv_end_of_text) else AC_DEFINE_UNQUOTED([TEXT_SECTION_END_MARKER], dunno_end_of_text) @@ -695,10 +773,10 @@ AC_DEFUN([FPTOOLS_END_TEXT_SECTION], if test "$not_done" = 1; then FPTOOLS_IN_SCOPE(etext asm("etext"),etext,fptools_end_of_text_decl) if test "$fptools_end_of_text_decl" = yes; then - fptools_cv_end_of_text_decl=etext + fptools_cv_end_of_text_decl="etext asm(\"etext\")" fi fi]) - if test -n $fptools_cv_end_of_text_decl; then + if test -n "$fptools_cv_end_of_text_decl"; then AC_DEFINE_UNQUOTED([TEXT_SECTION_END_MARKER_DECL], $fptools_cv_end_of_text_decl) else AC_DEFINE_UNQUOTED([TEXT_SECTION_END_MARKER_DECL], dunno_end_of_text_decl) @@ -723,10 +801,10 @@ AC_DEFUN([FPTOOLS_END_DATA_SECTION], if test "$not_done" = 1; then FPTOOLS_IN_SCOPE(end asm("end"),end,fptools_end_of_data) if test "$fptools_end_of_data" = yes; then - fptools_cv_end_of_data=end + fptools_cv_end_of_data="end" fi fi]) - if test -n $fptools_cv_end_of_data; then + if test -n "$fptools_cv_end_of_data"; then AC_DEFINE_UNQUOTED([DATA_SECTION_END_MARKER], $fptools_cv_end_of_data) else AC_DEFINE_UNQUOTED([DATA_SECTION_END_MARKER], dunno_end_of_data) @@ -746,10 +824,10 @@ AC_DEFUN([FPTOOLS_END_DATA_SECTION], if test "$not_done" = 1; then FPTOOLS_IN_SCOPE(end asm("end"),end,fptools_end_of_data_decl) if test "$fptools_end_of_data_decl" = yes; then - fptools_cv_end_of_data_decl=end + fptools_cv_end_of_data_decl="end asm(\"end\")" fi fi]) - if test -n $fptools_cv_end_of_data_decl; then + if test -n "$fptools_cv_end_of_data_decl"; then AC_DEFINE_UNQUOTED([DATA_SECTION_END_MARKER_DECL], $fptools_cv_end_of_data_decl) else AC_DEFINE_UNQUOTED([DATA_SECTION_END_MARKER_DECL], dunno_end_of_data_decl) @@ -1139,8 +1217,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; ])