[project @ 2006-01-19 02:15:38 by sof]
[ghc-hetmet.git] / aclocal.m4
index 8f4dad6..858a3f0 100644 (file)
@@ -27,7 +27,7 @@ AC_DEFUN([FP_EVAL_STDERR],
 # to check stderr *and* the exit value.
 #
 # Used by ghc.
 # 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])],
 [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])],
@@ -220,7 +220,7 @@ AS_IF([test "$fp_num1" $2 "$fp_num2"], [$4], [$5])[]dnl
 dnl
 dnl Check for GreenCard and version.
 dnl
 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,
 [
 AC_PATH_PROG(GreenCardCmd,greencard)
 AC_CACHE_CHECK([for version of greencard], fptools_cv_greencard_version,
@@ -244,7 +244,7 @@ dnl Check for Happy and version.  If we're building GHC, then we need
 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
 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
 [
 if test -d $srcdir/happy; then
    SrcTreeHappyCmd=$hardtop/happy/src/happy-inplace
@@ -284,7 +284,7 @@ dnl
 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
 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
 [
 if test -d $srcdir/haddock; then
    SrcTreeHaddockCmd=$hardtop/haddock/src/haddock-inplace
@@ -311,7 +311,7 @@ dnl Check for Alex and version.  If we're building GHC, then we need
 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
 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
 [
 if test -d $srcdir/alex; then
    SrcTreeAlexCmd=$hardtop/alex/src/alex-inplace
@@ -363,6 +363,12 @@ case $HostPlatform in
              LdCmd="`cygpath -w ${fp_prog_ld_raw} | sed -e 's@\\\\@/@g'`"
               AC_MSG_NOTICE([normalized ld command to $LdCmd])
             fi
              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])
             ;;
 esac
 AC_SUBST([LdCmd])
@@ -535,7 +541,7 @@ AC_SUBST([ArSupportsInput])
 dnl
 dnl AC_SHEBANG_PERL - can we she-bang perl?
 dnl
 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;
 [AC_CACHE_CHECK([if your perl works in shell scripts], fptools_cv_shebang_perl,
 [echo "#!$PerlCmd"'
 exit $1;
@@ -567,7 +573,7 @@ if test "$fp_have_gcc" = "NO" -a -d $srcdir/ghc; then
 fi
 AC_CACHE_CHECK([version of gcc], [fp_gcc_version],
 [if test "$fp_have_gcc" = "YES"; then
 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.]]*\).*/\1/g' | sed -e 's/\([[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
    FP_COMPARE_VERSIONS([$fp_gcc_version], [-lt], [2.0],
      [AC_MSG_ERROR([Need at least gcc version 2.0 (3.4+ recommended)])])
  else
@@ -595,11 +601,8 @@ AC_DEFUN([FP_MINGW_GCC],
 dnl Small feature test for perl version. Assumes PerlCmd
 dnl contains path to perl binary
 dnl
 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
 [$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 "v5.6" conftest.out >/dev/null 2>&1; then
       :
    else
@@ -609,11 +612,10 @@ else
          if grep "version 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
    fi
-fi
 rm -fr conftest*
 ])
 
 rm -fr conftest*
 ])
 
@@ -674,7 +676,7 @@ dnl the commands given by the third. It does not cache its
 dnl result, so it is suitable for checks which should be
 dnl run every time.
 dnl
 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])
 [AC_MSG_CHECKING([$1])
  $3
  AC_MSG_RESULT([$][$2])
@@ -688,7 +690,7 @@ dnl
 dnl Test for version of installed ghc.  Uses $GHC.
 dnl [original version pinched from c2hs]
 dnl
 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
 [FPTOOLS_NOCACHE_CHECK([version of ghc], [fptools_version_of_ghc],
 ["${WithGhc-ghc}" --version > conftestghc 2>&1
   cat conftestghc >&AS_MESSAGE_LOG_FD
@@ -734,7 +736,7 @@ dnl ** Map an arithmetic C type to a Haskell type.
 dnl    Based on autconf's AC_CHECK_SIZEOF.
 
 dnl FPTOOLS_CHECK_HTYPE(TYPE [, DEFAULT_VALUE, [, VALUE-FOR-CROSS-COMPILATION])
 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
 [changequote(<<, >>)dnl
 dnl The name to #define.
 define(<<AC_TYPE_NAME>>, translit(htype_$1, [a-z *], [A-Z_P]))dnl
@@ -792,6 +794,12 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
 # include <OpenGL/gl.h>
 #endif
 
 # 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)
 #if defined(HAVE_AL_ALC_H)
 # include <AL/alc.h>
 #elif defined(HAVE_OPENAL_ALC_H)
@@ -820,8 +828,8 @@ main() {
   exit(0);
 }]])],[AC_CV_NAME=`cat conftestval`],
 [ifelse([$2], , [AC_CV_NAME=NotReallyAType; AC_CV_NAME_supported=no], [AC_CV_NAME=$2])],
   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])
 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])