packages feed

ALUT-2.1.0.2: aclocal.m4

# FP_COMPUTE_INT(EXPRESSION, VARIABLE, INCLUDES, IF-FAILS)
# ---------------------------------------------------------
# Assign VARIABLE the value of the compile-time EXPRESSION using INCLUDES for
# compilation. Execute IF-FAILS when unable to determine the value. Works for
# cross-compilation, too.
#
# Implementation note: We are lazy and use an internal autoconf macro, but it
# is supported in autoconf versions 2.50 up to the actual 2.57, so there is
# little risk.
AC_DEFUN([FP_COMPUTE_INT],
[_AC_COMPUTE_INT([$1], [$2], [$3], [$4])[]dnl
])# FP_COMPUTE_INT


# 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_ARG_OPENAL
# -------------
AC_DEFUN([FP_ARG_OPENAL],
[AC_ARG_ENABLE([openal],
  [AC_HELP_STRING([--enable-openal],
    [build a Haskell binding for OpenAL (default=autodetect)])],
  [enable_openal=$enableval],
  [enable_openal=yes])
])# FP_ARG_OPENAL


# FP_ARG_ALUT
# -------------
AC_DEFUN([FP_ARG_ALUT],
[AC_ARG_ENABLE([alut],
  [AC_HELP_STRING([--enable-alut],
    [build a Haskell binding for ALUT (default=autodetect)])],
  [enable_alut=$enableval],
  [enable_alut=yes])
])# FP_ARG_ALUT


# FP_CHECK_ALUT
# -------------
AC_DEFUN([FP_CHECK_ALUT],
[AC_REQUIRE([AC_CANONICAL_TARGET])
ALUT_CFLAGS=
case $target_os in
darwin*)
  ALUT_LIBS=
  ALUT_FRAMEWORKS=ALUT
  ;;
*)
  AL_LIBS=no
  AC_SEARCH_LIBS([alGenSources], [openal openal32], [AL_LIBS="$ac_cv_search_alGenSources"])
  test x"$AL_LIBS" = x"none required" && AL_LIBS=

  fp_save_libs="$LIBS"
  LIBS="$AL_LIBS $LIBS"
  AC_SEARCH_LIBS([alutExit], [alut alut32], [ALUT_LIBS="$ac_cv_search_alutExit"])
  test x"$ALUT_LIBS" = x"none required" && ALUT_LIBS=
  LIBS="$fp_save_libs"
  ALUT_FRAMEWORKS=
  ;;
esac
AC_SUBST([ALUT_CFLAGS])
AC_SUBST([ALUT_LIBS])
AC_SUBST([ALUT_FRAMEWORKS])
])# FP_CHECK_ALUT


# FP_HEADER_ALUT
# --------------
# Check for an ALUT header, setting the variable fp_found_alut_header to no/yes,
# depending on the outcome.
AC_DEFUN([FP_HEADER_ALUT],
[if test -z "$fp_found_alut_header"; then
  fp_found_alut_header=no
  AC_CHECK_HEADERS([AL/alut.h OpenAL/alut.h], [fp_found_alut_header=yes; break])
fi
]) # FP_HEADER_AL


# FP_CHECK_FUNC_ALUT(FUNCTION, ARGUMENTS)
# ---------------------------------------
AC_DEFUN([FP_CHECK_FUNC_ALUT],
[AS_VAR_PUSHDEF([alut_var], [alut_cv_func_$1])dnl
AC_CACHE_CHECK([for $1],
  alut_var,
  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_AL_ALUT_H
#include <AL/alut.h>
#elif HAVE_OPENAL_ALUT_H
#include <OpenAL/alut.h>
#endif]],
                    [$1 $2;])],
                  [AS_VAR_SET(alut_var, yes)],
                  [AS_VAR_SET(alut_var, no)])])
if test AS_VAR_GET(alut_var) = yes; then
  AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$1]), [1],
                    [Define to 1 if you have the `$1' function.])
fi
AS_VAR_POPDEF([alut_var])dnl
])# FP_CHECK_FUNC_ALUT


# FP_FUNC_ALUTINIT_VOID
# ---------------------
# Defines ALUTINIT_VOID to 1 if `alutInit' returns void.
AC_DEFUN([FP_FUNC_ALUTINIT_VOID],
[AC_REQUIRE([FP_HEADER_ALUT])
AC_CACHE_CHECK([whether alutInit returns void],
  [fp_cv_func_alutInit_void],
  [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
#if HAVE_AL_ALUT_H
#include <AL/alut.h>
#elif HAVE_OPENAL_ALUT_H
#include <OpenAL/alut.h>
#endif
],
 [[int x = (int)alutInit((int *)0, (char **)0);]])],
 [fp_cv_func_alutInit_void=no],
 [fp_cv_func_alutInit_void=yes])])
if test x"$fp_cv_func_alutInit_void" = xyes; then
  AC_DEFINE([ALUTINIT_VOID], [1], [Define to 1 if `alutInit' returns void.])
fi
]) # FP_FUNC_ALUTINIT_VOID


# FP_FUNC_ALUTEXIT_VOID
# ---------------------
# Defines ALUTEXIT_VOID to 1 if `alutExit' returns void.
AC_DEFUN([FP_FUNC_ALUTEXIT_VOID],
[AC_REQUIRE([FP_HEADER_ALUT])
AC_CACHE_CHECK([whether alutExit returns void],
  [fp_cv_func_alutExit_void],
  [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
#if HAVE_AL_ALUT_H
#include <AL/alut.h>
#elif HAVE_OPENAL_ALUT_H
#include <OpenAL/alut.h>
#endif
],
 [[int x = (int)alutExit();]])],
 [fp_cv_func_alutExit_void=no],
 [fp_cv_func_alutExit_void=yes])])
if test x"$fp_cv_func_alutExit_void" = xyes; then
  AC_DEFINE([ALUTEXIT_VOID], [1], [Define to 1 if `alutExit' returns void.])
fi
]) # FP_FUNC_ALUTEXIT_VOID


# FP_ARG_COMPILER
# -------------
AC_DEFUN([FP_ARG_COMPILER],
[AC_ARG_WITH([compiler],
  [AC_HELP_STRING([--with-compiler@<:@=HC@:>@],
    [use the given Haskell compiler (default=ghc)])],
  [with_compiler=$withval],
  [with_compiler=ghc])
])# FP_ARG_COMPILER