# to check stderr *and* the exit value.
#
# Used by ghc.
-AC_DEFUN(FP_CHECK_FLAG,
+AC_DEFUN([FP_CHECK_FLAG],
[AC_LANG_COMPILER_REQUIRE()dnl
AC_LANG_CASE([C], [fp_compiler="$CC" m4_pushdef([fp_Flags], [CFLAGS])],
[C++], [fp_compiler="$CXX" m4_pushdef([fp_Flags], [CXXFLAGS])],
dnl
dnl Check for GreenCard and version.
dnl
-AC_DEFUN(FPTOOLS_GREENCARD,
+AC_DEFUN([FPTOOLS_GREENCARD],
[
AC_PATH_PROG(GreenCardCmd,greencard)
AC_CACHE_CHECK([for version of greencard], fptools_cv_greencard_version,
dnl at least Happy version 1.14. If there's no installed Happy, we look
dnl for a happy source tree and point the build system at that instead.
dnl
-AC_DEFUN(FPTOOLS_HAPPY,
+AC_DEFUN([FPTOOLS_HAPPY],
[
if test -d $srcdir/happy; then
SrcTreeHappyCmd=$hardtop/happy/src/happy-inplace
dnl Check for Haddock and version. If there's no installed Haddock, we look
dnl for a haddock source tree and point the build system at that instead.
dnl
-AC_DEFUN(FPTOOLS_HADDOCK,
+AC_DEFUN([FPTOOLS_HADDOCK],
[
if test -d $srcdir/haddock; then
SrcTreeHaddockCmd=$hardtop/haddock/src/haddock-inplace
dnl at least Alex version 2.0. If there's no installed Alex, we look
dnl for a alex source tree and point the build system at that instead.
dnl
-AC_DEFUN(FPTOOLS_ALEX,
+AC_DEFUN([FPTOOLS_ALEX],
[
if test -d $srcdir/alex; then
SrcTreeAlexCmd=$hardtop/alex/src/alex-inplace
LdCmd="`cygpath -w ${fp_prog_ld_raw} | sed -e 's@\\\\@/@g'`"
AC_MSG_NOTICE([normalized ld command to $LdCmd])
fi
+ # Insist on >= ld-2.15.x, since earlier versions doesn't handle
+ # the generation of relocatable object files with large amounts
+ # of relocations correctly. (cf. HSbase.o splittage-hack)
+ fp_prog_ld_version=`${LdCmd} --version | sed -n '/GNU ld/p' | tr -cd 0-9 | cut -b1-3`
+ FP_COMPARE_VERSIONS([$fp_prog_ld_version],[-lt],[214],
+ [AC_MSG_ERROR([GNU ld version later than 2.14 required to compile GHC on Windows.])])[]dnl
;;
esac
AC_SUBST([LdCmd])
AC_CACHE_CHECK([whether ld understands -x], [fp_cv_ld_x],
[echo 'foo() {}' > conftest.c
${CC-cc} -c conftest.c
-if ${LdCmd} -r -x -o conftest2.o conftest.o; then
+if ${LdCmd} -r -x -o conftest2.o conftest.o > /dev/null 2>&1; then
fp_cv_ld_x=yes
else
fp_cv_ld_x=no
dnl
dnl AC_SHEBANG_PERL - can we she-bang perl?
dnl
-AC_DEFUN(FPTOOLS_SHEBANG_PERL,
+AC_DEFUN([FPTOOLS_SHEBANG_PERL],
[AC_CACHE_CHECK([if your perl works in shell scripts], fptools_cv_shebang_perl,
[echo "#!$PerlCmd"'
exit $1;
fi
AC_CACHE_CHECK([version of gcc], [fp_gcc_version],
[if test "$fp_have_gcc" = "YES"; then
- fp_gcc_version="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [[^0-9]]*\([[0-9]][[0-9]]*\(\.[[0-9]][[0-9]]*\)*\).*/\1/g' `"
+ fp_gcc_version="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [[^0-9]]*\([[0-9.]]*\).*/\1/g'`"
FP_COMPARE_VERSIONS([$fp_gcc_version], [-lt], [2.0],
[AC_MSG_ERROR([Need at least gcc version 2.0 (3.4+ recommended)])])
else
dnl Small feature test for perl version. Assumes PerlCmd
dnl contains path to perl binary
dnl
-AC_DEFUN(FPTOOLS_CHECK_PERL_VERSION,
+AC_DEFUN([FPTOOLS_CHECK_PERL_VERSION],
[$PerlCmd -v >conftest.out 2>&1
-if grep "version 5" conftest.out >/dev/null 2>&1; then
- :
-else
if grep "v5.6" conftest.out >/dev/null 2>&1; then
:
else
if grep "version 6" conftest.out >/dev/null 2>&1; then
:
else
- echo "Your version of perl probably won't work."
- fi
+ AC_MSG_ERROR([your version of perl probably won't work, try upgrading it.])
+ fi
fi
fi
-fi
rm -fr conftest*
])
dnl result, so it is suitable for checks which should be
dnl run every time.
dnl
-AC_DEFUN(FPTOOLS_NOCACHE_CHECK,
+AC_DEFUN([FPTOOLS_NOCACHE_CHECK],
[AC_MSG_CHECKING([$1])
$3
AC_MSG_RESULT([$][$2])
dnl Test for version of installed ghc. Uses $GHC.
dnl [original version pinched from c2hs]
dnl
-AC_DEFUN(FPTOOLS_GHC_VERSION,
+AC_DEFUN([FPTOOLS_GHC_VERSION],
[FPTOOLS_NOCACHE_CHECK([version of ghc], [fptools_version_of_ghc],
["${WithGhc-ghc}" --version > conftestghc 2>&1
cat conftestghc >&AS_MESSAGE_LOG_FD
dnl Based on autconf's AC_CHECK_SIZEOF.
dnl FPTOOLS_CHECK_HTYPE(TYPE [, DEFAULT_VALUE, [, VALUE-FOR-CROSS-COMPILATION])
-AC_DEFUN(FPTOOLS_CHECK_HTYPE,
+AC_DEFUN([FPTOOLS_CHECK_HTYPE],
[changequote(<<, >>)dnl
dnl The name to #define.
define(<<AC_TYPE_NAME>>, translit(htype_$1, [a-z *], [A-Z_P]))dnl
# include <OpenGL/gl.h>
#endif
+#if defined(HAVE_AL_AL_H)
+# include <AL/al.h>
+#elif defined(HAVE_OPENAL_AL_H)
+# include <OpenAL/al.h>
+#endif
+
#if defined(HAVE_AL_ALC_H)
# include <AL/alc.h>
#elif defined(HAVE_OPENAL_ALC_H)
exit(0);
}]])],[AC_CV_NAME=`cat conftestval`],
[ifelse([$2], , [AC_CV_NAME=NotReallyAType; AC_CV_NAME_supported=no], [AC_CV_NAME=$2])],
-[ifelse([$3], , [AC_CV_NAME=NotReallyATypeCross; AC_CV_NAME_supported=no], [AC_CV_NAME=$3])])]) dnl
-CPPFLAGS="$fp_check_htype_save_cppflags"
+[ifelse([$3], , [AC_CV_NAME=NotReallyATypeCross; AC_CV_NAME_supported=no], [AC_CV_NAME=$3])])
+CPPFLAGS="$fp_check_htype_save_cppflags"]) dnl
if test "$AC_CV_NAME_supported" = yes; then
AC_MSG_RESULT($AC_CV_NAME)
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [Define to Haskell type for $1])