-dnl $Id: aclocal.m4,v 1.79 2001/07/19 09:03:24 simonmar Exp $
+dnl $Id: aclocal.m4,v 1.88 2001/12/05 17:21:43 simonmar Exp $
dnl
dnl Extra autoconf macros for the Glasgow fptools
dnl
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"
+
+FPTOOLS_PROG_CHECK_VERSION([$fptools_cv_happy_version],-gt,[1.11],
+ [HappyOpts=-agcs])
+
+AC_SUBST(HappyOpts)
])
dnl
])
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,
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)
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
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"
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/'`
])
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
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)
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)
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)
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)
CFLAGS="$save_CFLAGS"
])
if test "$ac_cv_cc_$2"x = "yesx"; then
- $2=$extra_flag;
+ $2=$1;
else
- $2=$extra_flag;
+ $2="";
fi;
])