[project @ 2002-12-12 14:35:57 by simonmar]
[ghc-hetmet.git] / aclocal.m4
index 4542f41..6fb47cb 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: aclocal.m4,v 1.106 2002/07/20 05:37:10 dons Exp $
+dnl $Id: aclocal.m4,v 1.109 2002/12/11 16:37:16 simonmar Exp $
 dnl 
 dnl Extra autoconf macros for the Glasgow fptools
 dnl
@@ -223,6 +223,26 @@ AC_SUBST(HappyVersion)
 ])
 
 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,
+[
+if test -d $srcdir/haddock; then
+   SrcTreeHaddockCmd=$hardtop/haddock/src/haddock-inplace
+fi
+if test x"$UseSrcTreeHaddock" = xYES; then
+  HaddockCmd=$SrcTreeHaddockCmd
+else
+  AC_PATH_PROG(HaddockCmd,haddock,$SrcTreeHaddockCmd)
+fi
+dnl Darn, I forgot to make Haddock print out its version number when
+dnl invoked with -v.  We could try generating some HTML and grepping
+dnl through that to find the version number, but I think we'll make
+dnl do without it for now.
+])
+
+dnl
 dnl What's the best way of doing context diffs?
 dnl
 dnl (NB: NeXTStep thinks diff'ing a file against itself is "trouble")
@@ -423,15 +443,19 @@ AC_DEFUN(FPTOOLS_CHECK_PERL_VERSION,
 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
-  fi
+   if grep "v5.6" conftest.out >/dev/null 2>&1; then
+      :
+   else
+      if grep "v5.8" 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  
+      fi
+   fi
 fi
 rm -fr conftest*
 ])
@@ -737,130 +761,12 @@ AC_DEFINE(HAVE_O_BINARY)
 fi
 ])
 
-dnl *** Which one comes first, .text or .data? ***
-dnl 
-AC_DEFUN(FPTOOLS_CODE_BEFORE_DATA,
-[AC_CACHE_CHECK([if code section appears before data], fptools_cv_code_bef_data,
-[AC_TRY_RUN([
-int f() { return 1; }
-int i;
-int main() { return ((char*)&f > (char*)&i); }
-
-],
-fptools_cv_code_bef_data=yes, fptools_cv_code_bef_data=no,false)])
-if test "$fptools_cv_code_bef_data" = yes; then
-  AC_DEFINE(CODE_BEFORE_DATA)
-fi
-])
-
 dnl *** Helper function **
 dnl 
 AC_DEFUN(FPTOOLS_IN_SCOPE,
 [AC_TRY_LINK([extern char* $1;],[return (int)&$2], $3=yes, $3=no)
 ])
 
-dnl *** What's the end-of-text-section marker called? ***
-dnl
-AC_DEFUN([FPTOOLS_END_TEXT_SECTION],
-[AC_CACHE_CHECK([for end of text section marker],
-                [fptools_cv_end_of_text],
-               [fptools_cv_end_of_text=""
-                not_done=1
-                for i in data_start _data_start etext _etext __etext; do
-                  FPTOOLS_IN_SCOPE($i,$i,fptools_end_of_text)
-                  if test "$fptools_end_of_text" = yes; then
-                    fptools_cv_end_of_text=$i
-                    not_done=0
-                    break
-                  fi
-                done
-                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"
-                  fi
-                fi])
-                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)
-                fi
- AC_CACHE_CHECK([for end of text section marker declaration],
-               [fptools_cv_end_of_text_decl],
-               [fptools_cv_end_of_text_decl=""
-                not_done=1
-                for i in data_start _data_start etext _etext __etext; do
-                  FPTOOLS_IN_SCOPE($i,$i,fptools_end_of_text_decl)
-                  if test "$fptools_end_of_text_decl" = yes; then
-                    fptools_cv_end_of_text_decl=$i
-                    not_done=0
-                    break
-                  fi
-                done
-                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 asm(\"etext\")"
-                  fi
-                fi])
-                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)
-                fi
-])                
-dnl *** What's the end-of-data-section marker called? ***
-dnl
-AC_DEFUN([FPTOOLS_END_DATA_SECTION],
-[AC_CACHE_CHECK([for end of data section marker],
-                [fptools_cv_end_of_data],
-               [fptools_cv_end_of_data=""
-                not_done=1
-                for i in end _end __end; do
-                  FPTOOLS_IN_SCOPE($i,$i,fptools_end_of_data)
-                  if test "$fptools_end_of_data" = yes; then
-                    fptools_cv_end_of_data=$i
-                    not_done=0
-                    break
-                  fi
-                done
-                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"
-                  fi
-                fi])
-                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)
-                fi
- AC_CACHE_CHECK([for end of data section marker declaration],
-               [fptools_cv_end_of_data_decl],
-               [fptools_cv_end_of_data_decl=""
-                not_done=1
-                for i in end _end __end; do
-                  FPTOOLS_IN_SCOPE($i,$i,fptools_end_of_data_decl)
-                  if test "$fptools_end_of_data_decl" = yes; then
-                    fptools_cv_end_of_data_decl=$i
-                    not_done=0
-                    break
-                  fi
-                done
-                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 asm(\"end\")"
-                  fi
-                fi])
-                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)
-                fi
-])                
 
 dnl Based on AC_TRY_LINK - run iftrue if links cleanly with no warning