Commit be92500d authored by simonmar's avatar simonmar

[project @ 2005-01-18 11:30:17 by simonmar]

Revert previous, used wrong version of aclocal.m4
parent 0bdaec6a
...@@ -134,43 +134,6 @@ m4_popdef([fp_Cache])[]dnl ...@@ -134,43 +134,6 @@ m4_popdef([fp_Cache])[]dnl
])# FP_CHECK_ALIGNMENT ])# FP_CHECK_ALIGNMENT
# FP_CHECK_CONST(EXPRESSION, [INCLUDES = DEFAULT-INCLUDES], [VALUE-IF-FAIL = -1])
# -------------------------------------------------------------------------------
# Defines CONST_EXPRESSION to the value of the compile-time EXPRESSION, using
# INCLUDES. If the value cannot be determined, use VALUE-IF-FAIL.
AC_DEFUN([FP_CHECK_CONST],
[AS_VAR_PUSHDEF([fp_Cache], [fp_cv_const_$1])[]dnl
AC_CACHE_CHECK([value of $1], fp_Cache,
[FP_COMPUTE_INT([$1], fp_check_const_result, [AC_INCLUDES_DEFAULT([$2])],
[fp_check_const_result=m4_default([$3], ['-1'])])
AS_VAR_SET(fp_Cache, [$fp_check_const_result])])[]dnl
AC_DEFINE_UNQUOTED(AS_TR_CPP([CONST_$1]), AS_VAR_GET(fp_Cache), [The value of $1.])[]dnl
AS_VAR_POPDEF([fp_Cache])[]dnl
])# FP_CHECK_CONST
# FP_CHECK_CONSTS_TEMPLATE(EXPRESSION...)
# ---------------------------------------
# autoheader helper for FP_CHECK_CONSTS
m4_define([FP_CHECK_CONSTS_TEMPLATE],
[AC_FOREACH([fp_Const], [$1],
[AH_TEMPLATE(AS_TR_CPP(CONST_[]fp_Const),
[The value of ]fp_Const[.])])[]dnl
])# FP_CHECK_CONSTS_TEMPLATE
# FP_CHECK_CONSTS(EXPRESSION..., [INCLUDES = DEFAULT-INCLUDES], [VALUE-IF-FAIL = -1])
# -----------------------------------------------------------------------------------
# List version of FP_CHECK_CONST
AC_DEFUN(FP_CHECK_CONSTS,
[FP_CHECK_CONSTS_TEMPLATE([$1])dnl
for fp_const_name in $1
do
FP_CHECK_CONST([$fp_const_name], [$2], [$3])
done
])# FP_CHECK_CONSTS
# FP_LEADING_UNDERSCORE # FP_LEADING_UNDERSCORE
# --------------------- # ---------------------
# Test for determining whether symbol names have a leading underscore. We assume # Test for determining whether symbol names have a leading underscore. We assume
...@@ -285,15 +248,9 @@ AC_DEFUN(FPTOOLS_HAPPY, ...@@ -285,15 +248,9 @@ AC_DEFUN(FPTOOLS_HAPPY,
[ [
if test -d $srcdir/happy; then if test -d $srcdir/happy; then
SrcTreeHappyCmd=$hardtop/happy/src/happy-inplace SrcTreeHappyCmd=$hardtop/happy/src/happy-inplace
else
SrcTreeHappyCmd=""
fi fi
if test x"$UseSrcTreeHappy" = xYES; then if test x"$UseSrcTreeHappy" = xYES; then
if test x"$SrcTreeHappyCmd" != x; then HappyCmd=$SrcTreeHappyCmd
HappyCmd=$SrcTreeHappyCmd
else
AC_MSG_ERROR([--enable-src-tree-happy given, but happy not found in source tree])
fi
else else
AC_PATH_PROG(HappyCmd,happy,$SrcTreeHappyCmd) AC_PATH_PROG(HappyCmd,happy,$SrcTreeHappyCmd)
fi fi
...@@ -325,15 +282,9 @@ AC_DEFUN(FPTOOLS_HADDOCK, ...@@ -325,15 +282,9 @@ AC_DEFUN(FPTOOLS_HADDOCK,
[ [
if test -d $srcdir/haddock; then if test -d $srcdir/haddock; then
SrcTreeHaddockCmd=$hardtop/haddock/src/haddock-inplace SrcTreeHaddockCmd=$hardtop/haddock/src/haddock-inplace
else
SrcTreeHaddockCmd=""
fi fi
if test x"$UseSrcTreeHaddock" = xYES; then if test x"$UseSrcTreeHaddock" = xYES; then
if test x"$SrcTreeHaddockCmd" != x; then HaddockCmd=$SrcTreeHaddockCmd
HaddockCmd=$SrcTreeHaddockCmd
else
AC_MSG_ERROR([--enable-src-tree-haddock given, but haddock not found in source tree])
fi
else else
AC_PATH_PROG(HaddockCmd,haddock,$SrcTreeHaddockCmd) AC_PATH_PROG(HaddockCmd,haddock,$SrcTreeHaddockCmd)
fi fi
...@@ -352,15 +303,9 @@ AC_DEFUN(FPTOOLS_ALEX, ...@@ -352,15 +303,9 @@ AC_DEFUN(FPTOOLS_ALEX,
[ [
if test -d $srcdir/alex; then if test -d $srcdir/alex; then
SrcTreeAlexCmd=$hardtop/alex/src/alex-inplace SrcTreeAlexCmd=$hardtop/alex/src/alex-inplace
else
SrcTreeAlexCmd=""
fi fi
if test x"$UseSrcTreeAlex" = xYES; then if test x"$UseSrcTreeAlex" = xYES; then
if test x"$SrcTreeAlexCmd" != x; then AlexCmd=$SrcTreeAlexCmd
AlexCmd=$SrcTreeAlexCmd
else
AC_MSG_ERROR([--enable-src-tree-alex given, but alex not found in source tree])
fi
else else
AC_PATH_PROG(AlexCmd,alex,$SrcTreeAlexCmd) AC_PATH_PROG(AlexCmd,alex,$SrcTreeAlexCmd)
fi fi
...@@ -385,28 +330,65 @@ AC_SUBST(AlexVersion) ...@@ -385,28 +330,65 @@ AC_SUBST(AlexVersion)
]) ])
dnl # FP_PROG_LD
dnl Check whether ld supports -x # ----------
dnl # Sets the output variable LdCmd to the (non-Cygwin version of the) full path
AC_DEFUN(FPTOOLS_LD_X, # of ld. Exits if no ld can be found
[AC_CACHE_CHECK([whether ld understands -x], fptools_cv_ld_x, AC_DEFUN([FP_PROG_LD],
[ [AC_PATH_PROG([fp_prog_ld_raw], [ld])
echo 'foo() {}' > conftest.c if test -z "$fp_prog_ld_raw"; then
AC_MSG_ERROR([cannot find ld in your PATH, no idea how to link])
fi
LdCmd=$fp_prog_ld_raw
case $HostPlatform in
*mingw32) if test x${OSTYPE} != xmsys; then
LdCmd="`cygpath -w ${fp_prog_ld_raw} | sed -e 's@\\\\@/@g'`"
AC_MSG_NOTICE([normalized ld command to $LdCmd])
fi
;;
esac
AC_SUBST([LdCmd])
])# FP_PROG_LD
# FP_PROG_LD_X
# ------------
# Sets the output variable LdXFlag to -x if ld supports this flag, otherwise the
# variable's value is empty.
AC_DEFUN([FP_PROG_LD_X],
[AC_REQUIRE([FP_PROG_LD])
AC_CACHE_CHECK([whether ld understands -x], [fp_cv_ld_x],
[echo 'foo() {}' > conftest.c
${CC-cc} -c conftest.c ${CC-cc} -c conftest.c
if ${LdCmd} -r -x -o foo.o conftest.o; then if ${LdCmd} -r -x -o conftest2.o conftest.o; then
fptools_cv_ld_x=yes fp_cv_ld_x=yes
else else
fptools_cv_ld_x=no fp_cv_ld_x=no
fi fi
rm -rf conftest.c conftest.o foo.o rm -rf conftest*])
]) if test "$fp_cv_ld_x" = yes; then
if test "$fptools_cv_ld_x" = yes; then LdXFlag=-x
LdXFlag=-x
else else
LdXFlag= LdXFlag=
fi fi
AC_SUBST(LdXFlag) AC_SUBST([LdXFlag])
]) ])# FP_PROG_LD_X
# FP_PROG_LD_IS_GNU
# -----------------
# Sets the output variable LdIsGNULd to YES or NO, depending on whether it is
# GNU ld or not.
AC_DEFUN([FP_PROG_LD_IS_GNU],
[AC_REQUIRE([FP_PROG_LD])
AC_CACHE_CHECK([whether ld is GNU ld], [fp_cv_gnu_ld],
[if ${LdCmd} --version 2> /dev/null | grep "GNU" > /dev/null 2>&1; then
fp_cv_gnu_ld=yes
else
fp_cv_gnu_ld=no
fi])
AC_SUBST([LdIsGNULd], [`echo $fp_cv_gnu_ld | sed 'y/yesno/YESNO/'`])
])# FP_PROG_LD_IS_GNU
# FP_PROG_AR # FP_PROG_AR
...@@ -545,53 +527,40 @@ fi ...@@ -545,53 +527,40 @@ fi
rm -f conftest rm -f conftest
])]) ])])
dnl
dnl Extra testing of the result AC_PROG_CC, testing the gcc version no. # FP_HAVE_GCC
dnl *Must* be called after AC_PROG_CC # -----------
dnl # Extra testing of the result AC_PROG_CC, testing the gcc version no. Sets the
AC_DEFUN(FPTOOLS_HAVE_GCC, # output variables HaveGcc and GccVersion.
[AC_CACHE_CHECK([whether you have an ok gcc], fptools_cv_have_gcc, AC_DEFUN([FP_HAVE_GCC],
[AC_REQUIRE([AC_PROG_CC])
AC_CACHE_CHECK([whether your gcc is OK], [fp_cv_have_gcc],
[if test -z "$GCC"; then [if test -z "$GCC"; then
echo '' fp_cv_have_gcc='no'
echo "You would be better off with gcc" AC_MSG_WARN([You would be better off with gcc, perhaps it is already installed, but not in your PATH?])
echo "Perhaps it is already installed, but not in your PATH?"
fptools_cv_have_gcc='no'
else else
changequote(, )dnl fp_cv_have_gcc='yes'
gcc_version_str="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1\.\2/g' `" gcc_version_str="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [[^0-9]]*\([[0-9]][[0-9]]*\)\.\([[0-9]][[0-9]]*\).*/\1\.\2/g' `"
changequote([, ])dnl FP_COMPARE_VERSIONS([$gcc_version_str], [-lt], [2.0],
fptools_cv_have_gcc='yes' [AC_MSG_ERROR([Need at least gcc version 2.0 (2.95.3 recommend)])])
FP_COMPARE_VERSIONS([$gcc_version_str], [-lt], [2.0], fi])
[fptools_cv_have_gcc='no' AC_SUBST([HaveGcc], [`echo $fp_cv_have_gcc | sed 'y/yesno/YESNO/'`])
echo "" AC_SUBST([GccVersion], [`gcc --version | grep mingw | cut -f 3 -d ' '`])
echo "your gcc version appears to be ..." ])# FP_HAVE_GCC
$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
])
HaveGcc=`echo $fptools_cv_have_gcc | sed 'y/yesno/YESNO/'`
AC_SUBST(HaveGcc)
GccVersion=`gcc --version | grep mingw | cut -f 3 -d ' '`
AC_SUBST(GccVersion)
])
dnl
dnl Some OSs (Mandrake Linux, in particular) configure GCC with
dnl -momit-leaf-frame-pointer on by default. If this is the case, we
dnl need to turn it off for mangling to work. The test is currently a bit
dnl crude, using only the version number of gcc.
dnl
AC_DEFUN([FPTOOLS_GCC_NEEDS_NO_OMIT_LFPTR],
[AC_CACHE_CHECK([whether gcc needs -mno-omit-leaf-frame-pointer], [fptools_cv_gcc_needs_no_omit_lfptr],
[FP_COMPARE_VERSIONS([$gcc_version_str], [-ge], [3.2],
[fptools_cv_gcc_needs_no_omit_lfptr=yes],
[fptools_cv_gcc_needs_no_omit_lfptr=no])])
if test "$fptools_cv_gcc_needs_no_omit_lfptr" = "yes"; then
AC_DEFINE([HAVE_GCC_MNO_OMIT_LFPTR], [1], [Define to 1 if gcc supports -mno-omit-leaf-frame-pointer.])
fi])# FPTOOLS_GCC_NEEDS_NO_OMIT_LFPTR
AC_DEFUN([FP_MINGW_GCC],
[
case $HostOS_CPP in
mingw*) AC_MSG_CHECKING([whether $CC is a mingw gcc])
if $CC -v 2>&1 | grep mingw >/dev/null; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AC_MSG_ERROR([Please use --with-gcc to specify a mingw gcc])
fi;;
*) ;;
esac
])
dnl Small feature test for perl version. Assumes PerlCmd dnl Small feature test for perl version. Assumes PerlCmd
dnl contains path to perl binary dnl contains path to perl binary
...@@ -1029,219 +998,4 @@ else ...@@ -1029,219 +998,4 @@ else
GhcPkgCmd=$fp_cv_matching_ghc_pkg GhcPkgCmd=$fp_cv_matching_ghc_pkg
fi])# FP_PROG_GHC_PKG fi])# FP_PROG_GHC_PKG
# FP_CHECK_WIN32
# --------------
# If Windows is the target platform (e.g. MinGW/MSYS or Cygwin with
# -mno-cygwin), the variable "is_win32" is set to "yes", otherwise (e.g. *nix
# systems or plain Cygwin) it is set to "no".
AC_DEFUN([FP_CHECK_WIN32],
[AC_CACHE_CHECK([for Windows environment], [fp_cv_is_win32],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
#if !_WIN32
syntax error;
#endif
])], [fp_cv_is_win32=yes], [fp_cv_is_win32=no])])
is_win32="$fp_cv_is_win32"[]dnl
])# FP_CHECK_WIN32
# FP_PATH_X
# ---------
# Same as AC_PATH_X, but works even for broken Cygwins which try to include the
# non-existant <gl/mesa_wgl.h> header when -mno-cygwin is used.
AC_DEFUN([FP_PATH_X],
[AC_REQUIRE([FP_CHECK_WIN32])
if test x"$is_win32" = xyes; then
no_x=yes
else
AC_PATH_X
fi
])# FP_PATH_X
# FP_PATH_XTRA
# ------------
# Same as AC_PATH_XTRA, but works even for broken Cygwins which try to include
# the non-existant <gl/mesa_wgl.h> header when -mno-cygwin is used.
AC_DEFUN([FP_PATH_XTRA],
[AC_REQUIRE([FP_CHECK_WIN32])
if test x"$is_win32" = xyes; then
no_x=yes
else
AC_PATH_XTRA
fi
])# FP_PATH_XTRA
# FP_CHECK_GL_HELPER(LIBNAME, LIBS, INCLUDES, FUNCTION-BODY)
# ----------------------------------------------------------
# Try each library in LIBS to successfully link INCLUDES plus FUNCTION-BODY,
# setting LIBNAME_CFLAGS and LIBNAME_LIBS to the corresponding values. Sets
# no_LIBNAME to "yes" if no suitable library was found. (LIBNAME_CFLAGS0
# contains the value of LIBNAME_CFLAGS without CPPFLAGS, and LIBNAME_LIBS0
# contains the value of LIBNAME_LIBS without LDFLAGS, but these are only
# used internally.)
AC_DEFUN([FP_CHECK_GL_HELPER],
[AC_CACHE_CHECK([for $1 library], [fp_cv_check_$1_lib],
[fp_cv_check_$1_lib="no"
fp_save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS ${$1_CFLAGS}"
fp_save_LIBS="$LIBS"
for fp_try_lib in $2; do
# transform "-lfoo" to "foo.lib" when using cl
if test x"$CC" = xcl; then
fp_try_lib=`echo $fp_try_lib | sed -e 's/^-l//' -e 's/$/.lib/'`
fi
LIBS="$fp_try_lib ${$1_LIBS} $fp_save_LIBS"
AC_LINK_IFELSE([AC_LANG_PROGRAM([$3], [$4])], [fp_cv_check_$1_lib="$fp_try_lib ${$1_LIBS}"; break])
done
LIBS="$fp_save_LIBS"
CPPFLAGS="$fp_save_CPPFLAGS"])
if test x"$fp_cv_check_$1_lib" = xno; then
no_$1=yes
$1_CFLAGS=
$1_LIBS=
else
$1_CFLAGS0="${$1_CFLAGS}"
$1_CFLAGS="$CPPFLAGS ${$1_CFLAGS0}"
$1_LIBS0="$fp_cv_check_$1_lib"
$1_LIBS="$LDFLAGS ${$1_LIBS0}"
fi
])# FP_CHECK_GL_HELPER
# FP_CHECK_GL
# -----------
AC_DEFUN([FP_CHECK_GL],
[AC_REQUIRE([FP_PATH_X])
AC_REQUIRE([AC_CANONICAL_TARGET])
AC_ARG_ENABLE([hopengl],
[AC_HELP_STRING([--enable-hopengl],
[build a Haskell binding for OpenGL (GL/GLU). On Mac OS X, use
--enable-hopengl=x11 to use X11 instead of the "native" libraries.
(default=no)])],
[enable_opengl=$enableval], [enable_opengl=no])
if test x"$enable_opengl" = xno; then
no_GL=yes
else
use_quartz_opengl=no
case $target_os in
darwin*)
if test x"$enable_opengl" != xx11; then
AC_DEFINE([USE_QUARTZ_OPENGL], [1],
[Define to 1 if native OpenGL should be used on Mac OS X])
use_quartz_opengl=yes
fi
;;
esac
if test x"$use_quartz_opengl" != xyes; then
AC_CHECK_LIB([m], [atan], [GL_LIBS="-lm $GL_LIBS"])
if test x"$no_x" != xyes; then
test -n "$x_includes" && GL_CFLAGS="-I$x_includes $GL_CFLAGS"
test -n "$x_libraries" && GL_LIBS="-L$x_libraries -lX11 $GL_LIBS"
fi
FP_CHECK_GL_HELPER([GL], [-lGL -lopengl32], [@%:@include <GL/gl.h>], [glEnd()])
if test x"$no_GL" != xyes; then
# Ugly: To get wglGetProcAddress on Windows, we have to link with
# opengl32.dll, too, even when we are using Cygwin with X11.
case "$GL_LIBS" in
*-lopengl32*|*opengl32.lib*) ;;
*) fp_save_LIBS="$LIBS"
LIBS="$LIBS -lopengl32"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include <GL/gl.h>]], [[glEnd()]])],
[GL_LIBS="$GL_LIBS -lopengl32"; GL_LIBS0="$GL_LIBS0 -lopengl32"])
LIBS="$fp_save_LIBS"
;;
esac
fi
fi
fi
AC_SUBST([GL_CFLAGS])
AC_SUBST([GL_LIBS])
])# FP_CHECK_GL
# FP_CHECK_GLU
# ------------
AC_DEFUN([FP_CHECK_GLU],
[AC_REQUIRE([FP_CHECK_GL])dnl
GLU_CFLAGS="$GL_CFLAGS0"
GLU_LIBS="$GL_LIBS0"
if test x"$enable_opengl" = xno; then
no_GLU=yes
elif test x"$use_quartz_opengl" != xyes; then
FP_CHECK_GL_HELPER([GLU], [-lglu32 -lGLU], [@%:@include <GL/glu.h>], [gluNewQuadric()])
fi
AC_SUBST([GLU_CFLAGS])
AC_SUBST([GLU_LIBS])
])# FP_CHECK_GLU
# FP_CHECK_GLUT
# -------------
AC_DEFUN([FP_CHECK_GLUT],
[AC_REQUIRE([FP_CHECK_GLU])
FP_PATH_XTRA
if test x"$enable_opengl" = xno; then
no_GLUT=yes
elif test x"$use_quartz_opengl" != xyes; then
GLUT_CFLAGS="$GLU_CFLAGS0"
GLUT_LIBS="$GLU_LIBS0"
if test x"$no_x" != xyes; then
GLUT_LIBS="$X_PRE_LIBS -lXmu -lXi $X_EXTRA_LIBS $GLUT_LIBS"
fi
AC_CHECK_HEADERS([windows.h GL/glut.h])
# Note 1: On Cygwin with X11, GL/GLU functions use the "normal" calling
# convention, but GLUT functions use stdcall. To get this right, it is
# necessary to include <windows.h> first.
# Note 2: MinGW/MSYS comes without a GLUT header, so we use Cygwin's one in
# that case.
FP_CHECK_GL_HELPER([GLUT], [-lglut32 -lglut], [
#if HAVE_WINDOWS_H
#include <windows.h>
#endif
#if HAVE_GL_GLUT_H
#include <GL/glut.h>
#else
#include "glut_local.h"
#endif
], [glutMainLoop()])
fi
AC_SUBST([GLUT_CFLAGS])
AC_SUBST([GLUT_LIBS])
])# FP_CHECK_GLUT
# FP_EMPTY_STRUCTS
# ----------------
# Define output variable SUPPORTS_EMPTY_STRUCTS if empty structs are accepted by
# CC.
dnl
AC_DEFUN(FP_EMPTY_STRUCTS,
[AC_CACHE_CHECK(empty struct support, fp_cv_empty_structs,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[typedef struct { /* empty */ } StgFoo;]],
[[int i;]])],
[fp_cv_empty_structs=yes],
[fp_cv_empty_structs=no])])
if test x"$fp_cv_empty_structs" = xyes; then
AC_DEFINE([SUPPORTS_EMPTY_STRUCTS], [1], [Define to 1 if C compiler supports declaration of empty structure types.])
fi
])
# LocalWords: fi # LocalWords: fi
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment