packages feed

ALUT-2.0: configure.ac

AC_INIT([Haskell ALUT package], [2.0], [sven.panne@aedion.de], [ALUT])

# Safety check: Ensure that we are in the correct source directory.
AC_CONFIG_SRCDIR([include/HsALUT.h.in])

# The first file mentioned below will be generated by autoheader and contains
# defines which are needed during package build time only. The second header
# contains all kinds of stuff which is needed for using this package.
AC_CONFIG_HEADERS([include/HsALUTConfig.h include/HsALUT.h])

# We set this to "yes" later when we have found ALUT libs and headers.
ALUT_BUILD_PACKAGE=no
AC_SUBST([ALUT_BUILD_PACKAGE])

# Shall we build this package at all?
FP_ARG_ALUT

if test x"$enable_alut" = xyes; then

# Check for ALUT include paths and libraries
FP_CHECK_ALUT

if test "$ALUT_LIBS" = no; then
  AC_MSG_WARN([no ALUT library found, so this package will not be built])
else

# check for ALUT include files
FP_HEADER_ALUT

if test "$fp_found_alut_header" = no; then
  AC_MSG_WARN([no ALUT header found, so this package will not be built])
else

ALUT_BUILD_PACKAGE=yes

# checks for library functions.

fp_save_libs="$LIBS"
LIBS="$ALUT_LIBS $AL_LIBS $LIBS"

FP_FUNC_ALUTINIT_VOID
FP_CHECK_FUNC_ALUT([alutInitWithoutContext], [((int *)0, (char **)0)])
FP_FUNC_ALUTEXIT_VOID

FP_CHECK_FUNC_ALUT([alutGetError], [()])
FP_CHECK_FUNC_ALUT([alutGetErrorString], [(0)])

FP_CHECK_FUNC_ALUT([alutCreateBufferFromFile], [((const char *)0)])
FP_CHECK_FUNC_ALUT([alutCreateBufferFromFileImage], [((const ALvoid *)0, 0)])
FP_CHECK_FUNC_ALUT([alutCreateBufferHelloWorld], [()])
FP_CHECK_FUNC_ALUT([alutCreateBufferWaveform], [(0, 0.0f, 0.0f, 0.0f)])

FP_CHECK_FUNC_ALUT([alutLoadMemoryFromFile], [((const char *)0, (ALenum *)0, (ALsizei *)0, (ALfloat *)0)])
FP_CHECK_FUNC_ALUT([alutLoadMemoryFromFileImage], [((const ALvoid *)0, 0, (ALenum *)0, (ALsizei *)0, (ALfloat *)0)])
FP_CHECK_FUNC_ALUT([alutLoadMemoryHelloWorld], [((ALenum *)0, (ALsizei *)0, (ALfloat *)0)])
FP_CHECK_FUNC_ALUT([alutLoadMemoryWaveform], [(0, 0.0f, 0.0f, 0.0f, (ALenum *)0, (ALsizei *)0, (ALfloat *)0)])

FP_CHECK_FUNC_ALUT([alutGetMIMETypes], [(0)])

FP_CHECK_FUNC_ALUT([alutGetMajorVersion], [()])
FP_CHECK_FUNC_ALUT([alutGetMinorVersion], [()])

FP_CHECK_FUNC_ALUT([alutSleep], [(0.0f)])

LIBS="$fp_save_libs"

# checks for constant values

FP_CHECK_CONSTS([ALUT_API_MAJOR_VERSION ALUT_API_MINOR_VERSION ALUT_WAVEFORM_SINE ALUT_WAVEFORM_SQUARE ALUT_WAVEFORM_SAWTOOTH ALUT_WAVEFORM_WHITENOISE ALUT_WAVEFORM_IMPULSE ALUT_LOADER_BUFFER ALUT_LOADER_MEMORY], [#if HAVE_AL_ALUT_H
#include <AL/alut.h>
#elif HAVE_OPENAL_ALUT_H
#include <OpenAL/alut.h>
#endif

#ifndef ALUT_API_MAJOR_VERSION
#define ALUT_API_MAJOR_VERSION   0
#endif

#ifndef ALUT_API_MINOR_VERSION
#define ALUT_API_MINOR_VERSION   0
#endif

#ifndef ALUT_WAVEFORM_SINE
#define ALUT_WAVEFORM_SINE       0x100
#endif

#ifndef ALUT_WAVEFORM_SQUARE
#define ALUT_WAVEFORM_SQUARE     0x101
#endif

#ifndef ALUT_WAVEFORM_SAWTOOTH
#define ALUT_WAVEFORM_SAWTOOTH   0x102
#endif

#ifndef ALUT_WAVEFORM_WHITENOISE
#define ALUT_WAVEFORM_WHITENOISE 0x103
#endif

#ifndef ALUT_WAVEFORM_IMPULSE
#define ALUT_WAVEFORM_IMPULSE    0x104
#endif

#ifndef ALUT_LOADER_BUFFER
#define ALUT_LOADER_BUFFER       0x300
#endif

#ifndef ALUT_LOADER_MEMORY
#define ALUT_LOADER_MEMORY       0x301
#endif])

# tell our build system about the results

AC_DEFINE_UNQUOTED([ALUT_CFLAGS],
  [`echo '' $ALUT_CFLAGS | sed -e 's/-[[^ ]]*/,"&"/g' -e 's/^ *,//'`],
  [C flags for ALUT, as a list of string literals.])

AC_DEFINE_UNQUOTED([ALUT_LIBS],
  [`echo '' $ALUT_LIBS | sed -e 's/-[[^ ]]*/,"&"/g' -e 's/^ *,//'`],
  [Library flags for ALUT, as a list of string literals.])

AC_DEFINE_UNQUOTED([ALUT_FRAMEWORKS],
  [`echo '' $ALUT_FRAMEWORKS | sed -e 's/-[[^ ]]*/,"&"/g' -e 's/^ *,//'`],
  [Framework flags for ALUT, as a list of string literals.])

fi
fi
fi

if test "$ALUT_BUILD_PACKAGE" = yes; then
  BUILD_PACKAGE_BOOL=True
else
  BUILD_PACKAGE_BOOL=False
fi
AC_SUBST([BUILD_PACKAGE_BOOL])

case "$host" in
*-mingw32) CALLCONV=stdcall ;;
*)	CALLCONV=ccall ;;
esac
AC_SUBST([CALLCONV])

AC_CONFIG_FILES([config.mk ALUT.buildinfo])
AC_OUTPUT