File: configure.ac

package info (click to toggle)
haskell-openal 1.4.0.2-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 660 kB
  • ctags: 159
  • sloc: sh: 2,811; haskell: 1,427; makefile: 2
file content (203 lines) | stat: -rw-r--r-- 6,271 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
AC_INIT([Haskell HOpenAL package], [1.3.1.3], [sven.panne@aedion.de], [OpenAL])

# Safety check: Ensure that we are in the correct source directory.
AC_CONFIG_SRCDIR([include/HsOpenAL.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/HsOpenALConfig.h include/HsOpenAL.h])

# we do not really care about this here, but this avoids a warning about an
# unknown option
FP_ARG_COMPILER

# We set this to "yes" later when we have found OpenAL libs and headers.
AL_BUILD_PACKAGE=no

# Shall we build this package at all?
FP_ARG_OPENAL

if test x"$enable_openal" = xyes; then

# Check for ALUT include paths and libraries
FP_CHECK_OPENAL

if test "$AL_LIBS" = no; then
  AC_MSG_FAILURE([no OpenAL library found, so this package cannot be built])
fi

AL_LIBS_PLAIN=`echo "$AL_LIBS" | sed -e s/-l//`
AC_SUBST([AL_LIBS_PLAIN])

# check for ALUT include files
FP_HEADER_AL
FP_HEADER_ALC

if test x"$fp_found_al_header" = xno || test x"$fp_found_alc_header" = xno; then
  AC_MSG_FAILURE([no OpenAL headers found, so this package cannot be built])
fi

AL_BUILD_PACKAGE=yes

AC_CHECK_HEADERS([AL/alext.h OpenAL/alext.h], [break])

FP_FUNC_ALCCLOSEDEVICE_VOID
FP_FUNC_ALCMAKECONTEXTCURRENT_VOID
FP_FUNC_ALCPROCESSCONTEXT_VOID
FP_FUNC_ALCDESTROYCONTEXT_VOID

FPTOOLS_CHECK_HTYPE([ALboolean])
FPTOOLS_CHECK_HTYPE([ALchar], [Int8])
FPTOOLS_CHECK_HTYPE([ALbyte])
FPTOOLS_CHECK_HTYPE([ALubyte])
FPTOOLS_CHECK_HTYPE([ALshort])
FPTOOLS_CHECK_HTYPE([ALushort])
FPTOOLS_CHECK_HTYPE([ALint])
FPTOOLS_CHECK_HTYPE([ALuint])
FPTOOLS_CHECK_HTYPE([ALsizei])
FPTOOLS_CHECK_HTYPE([ALenum])
FPTOOLS_CHECK_HTYPE([ALfloat])
FPTOOLS_CHECK_HTYPE([ALdouble])

FPTOOLS_CHECK_HTYPE([ALCboolean], [Int8])
FPTOOLS_CHECK_HTYPE([ALCchar], [Int8])
FPTOOLS_CHECK_HTYPE([ALCbyte], [Int8])
FPTOOLS_CHECK_HTYPE([ALCubyte], [Word8])
FPTOOLS_CHECK_HTYPE([ALCshort], [Int16])
FPTOOLS_CHECK_HTYPE([ALCushort], [Word16])
FPTOOLS_CHECK_HTYPE([ALCint], [Int32])
FPTOOLS_CHECK_HTYPE([ALCuint], [Word32])
FPTOOLS_CHECK_HTYPE([ALCsizei], [Int32])
FPTOOLS_CHECK_HTYPE([ALCenum], [Int32])
FPTOOLS_CHECK_HTYPE([ALCfloat], [Float])
FPTOOLS_CHECK_HTYPE([ALCdouble], [Double])

FP_CHECK_CONSTS([AL_FALSE AL_TRUE AL_NO_ERROR AL_INVALID_NAME AL_INVALID_ENUM AL_INVALID_VALUE AL_INVALID_OPERATION AL_OUT_OF_MEMORY AL_DOPPLER_FACTOR AL_SPEED_OF_SOUND AL_DISTANCE_MODEL AL_VERSION AL_RENDERER AL_VENDOR AL_EXTENSIONS AL_NONE AL_INVERSE_DISTANCE AL_INVERSE_DISTANCE_CLAMPED AL_LINEAR_DISTANCE AL_LINEAR_DISTANCE_CLAMPED AL_EXPONENT_DISTANCE AL_EXPONENT_DISTANCE_CLAMPED AL_POSITION AL_VELOCITY AL_GAIN AL_ORIENTATION AL_SOURCE_RELATIVE AL_SOURCE_TYPE AL_LOOPING AL_BUFFER AL_BUFFERS_QUEUED AL_BUFFERS_PROCESSED AL_MIN_GAIN AL_MAX_GAIN AL_REFERENCE_DISTANCE AL_ROLLOFF_FACTOR AL_MAX_DISTANCE AL_PITCH AL_DIRECTION AL_CONE_INNER_ANGLE AL_CONE_OUTER_ANGLE AL_CONE_OUTER_GAIN AL_SEC_OFFSET AL_SAMPLE_OFFSET AL_BYTE_OFFSET AL_SOURCE_STATE AL_UNDETERMINED AL_STATIC AL_STREAMING AL_INITIAL AL_PLAYING AL_PAUSED AL_STOPPED AL_FREQUENCY AL_SIZE AL_BITS AL_CHANNELS AL_FORMAT_MONO8 AL_FORMAT_MONO16 AL_FORMAT_STEREO8 AL_FORMAT_STEREO16 ALC_FALSE ALC_TRUE ALC_FREQUENCY ALC_REFRESH ALC_SYNC ALC_MONO_SOURCES ALC_STEREO_SOURCES ALC_NO_ERROR ALC_INVALID_DEVICE ALC_INVALID_CONTEXT ALC_INVALID_ENUM ALC_INVALID_VALUE ALC_INVALID_OPERATION ALC_OUT_OF_MEMORY ALC_DEFAULT_DEVICE_SPECIFIER ALC_DEVICE_SPECIFIER ALC_EXTENSIONS ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER ALC_CAPTURE_DEVICE_SPECIFIER ALC_ATTRIBUTES_SIZE ALC_ALL_ATTRIBUTES ALC_MAJOR_VERSION ALC_MINOR_VERSION ALC_CAPTURE_SAMPLES], [#include <stdio.h>
#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)
#include <OpenAL/alc.h>
#endif

#if defined(HAVE_AL_ALEXT_H)
#include <AL/alext.h>
#elif defined(HAVE_OPENAL_ALEXT_H)
#include <OpenAL/alext.h>
#endif

#ifndef AL_SPEED_OF_SOUND
#define AL_SPEED_OF_SOUND 0xC003
#endif

#ifndef AL_LINEAR_DISTANCE
#define AL_LINEAR_DISTANCE 0xD003
#endif

#ifndef AL_LINEAR_DISTANCE_CLAMPED
#define AL_LINEAR_DISTANCE_CLAMPED 0xD004
#endif

#ifndef AL_EXPONENT_DISTANCE
#define AL_EXPONENT_DISTANCE 0xD005
#endif

#ifndef AL_EXPONENT_DISTANCE_CLAMPED
#define AL_EXPONENT_DISTANCE_CLAMPED 0xD006
#endif

#ifndef AL_SEC_OFFSET
#define AL_SEC_OFFSET 0x1024
#endif

#ifndef AL_SAMPLE_OFFSET
#define AL_SAMPLE_OFFSET 0x1025
#endif

#ifndef AL_BYTE_OFFSET
#define AL_BYTE_OFFSET 0x1026
#endif

#ifndef AL_UNDETERMINED
#define AL_UNDETERMINED 0x1030
#endif

#ifndef AL_STATIC
#define AL_STATIC 0x1028
#endif

#ifndef ALC_MONO_SOURCES
#define ALC_MONO_SOURCES 0x1010
#endif

#ifndef ALC_STEREO_SOURCES
#define ALC_STEREO_SOURCES 0x1011
#endif

#ifndef AL_INVALID_ENUM
#ifdef AL_ILLEGAL_ENUM
#define AL_INVALID_ENUM AL_ILLEGAL_ENUM
#else
#define AL_INVALID_ENUM 0xA002
#endif
#endif

#ifndef AL_INVALID_OPERATION
#ifdef AL_ILLEGAL_COMMAND
#define AL_INVALID_OPERATION AL_ILLEGAL_COMMAND
#else
#define AL_INVALID_OPERATION 0xA004
#endif
#endif

/* NOTE: THIS IS NOT IN ANY HEADER */
#ifndef ALC_INVALID_OPERATION
#define ALC_INVALID_OPERATION 0xA006
#endif

#ifndef ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER
#define ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER 0x311
#endif

#ifndef ALC_CAPTURE_DEVICE_SPECIFIER
#define ALC_CAPTURE_DEVICE_SPECIFIER 0x310
#endif

#ifndef ALC_CAPTURE_SAMPLES
#define ALC_CAPTURE_SAMPLES 0x312
#endif
])

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

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

fi

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

case "$host" in
# WinDoze DLL hell
# NOTE: For some obscure/unknown reason, OpenAL uses ccall, even on WinDoze...
# *-mingw32) CALLCONV=stdcall ;;
*)      CALLCONV=ccall ;;
esac
AC_SUBST([CALLCONV])

AC_CONFIG_FILES([OpenAL.buildinfo])
AC_OUTPUT