/
configure.in
456 lines (436 loc) · 15.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
dnl Process this file with autoconf to produce a configure script.
AC_INIT(README)
dnl Set various version strings - taken gratefully from the GTk sources
# Making releases:
# MICRO_VERSION += 1;
# INTERFACE_AGE += 1;
# BINARY_AGE += 1;
# if any functions have been added, set INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set BINARY_AGE and INTERFACE_AGE to 0.
13
#
14
MAJOR_VERSION=1
15
MINOR_VERSION=2
16
17
18
MICRO_VERSION=8
INTERFACE_AGE=6
BINARY_AGE=8
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION
AC_SUBST(MAJOR_VERSION)
AC_SUBST(MINOR_VERSION)
AC_SUBST(MICRO_VERSION)
AC_SUBST(INTERFACE_AGE)
AC_SUBST(BINARY_AGE)
AC_SUBST(VERSION)
# libtool versioning
LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION
LT_CURRENT=`expr $MICRO_VERSION - $INTERFACE_AGE`
LT_REVISION=$INTERFACE_AGE
LT_AGE=`expr $BINARY_AGE - $INTERFACE_AGE`
AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
39
dnl Detect the canonical build and host environments
40
AC_CONFIG_AUX_DIRS($srcdir/build-scripts)
41
AC_CANONICAL_HOST
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
dnl Set up the compiler and linker flags
case "$host" in
*-*-cygwin*)
# We build SDL on cygwin without the UNIX emulation layer
BASE_CFLAGS="-I/usr/include/mingw -mno-cygwin"
BASE_LDFLAGS="-mno-cygwin"
;;
*)
BASE_CFLAGS="-D_GNU_SOURCE=1"
BASE_LDFLAGS=""
;;
esac
BUILD_CFLAGS="$CFLAGS $CPPFLAGS"
EXTRA_CFLAGS="$INCLUDE $BASE_CFLAGS"
BUILD_LDFLAGS="$LDFLAGS"
EXTRA_LDFLAGS="$BASE_LDFLAGS"
59
60
61
62
63
64
65
66
67
## These are common directories to find software packages
#for path in /usr/freeware /usr/pkg /usr/local; do
# if test -d $path/include; then
# EXTRA_CFLAGS="$EXTRA_CFLAGS -I$path/include"
# fi
# if test -d $path/lib; then
# EXTRA_LDFLAGS="$EXTRA_LDFLAGS -L$path/lib"
# fi
#done
68
69
70
CPPFLAGS="$CPPFLAGS $EXTRA_CFLAGS"
CFLAGS="$CFLAGS $EXTRA_CFLAGS"
LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
71
72
dnl Check for tools
73
AC_LIBTOOL_WIN32_DLL
74
75
AC_PROG_LIBTOOL
AC_PROG_CC
76
AC_PROG_INSTALL
77
AC_PROG_MAKE_SET
78
79
80
81
82
83
if test -z "$host_alias"; then
hostaliaswindres=
else
hostaliaswindres="$host_alias-windres"
fi
AC_CHECK_PROGS(WINDRES, [windres $hostaliaswindres $host_os-windres])
84
85
86
dnl Check for compiler characteristics
AC_C_CONST
87
88
case "$host" in
89
*-*-cygwin* | *-*-mingw32*)
90
SOURCES="$srcdir/version.rc"
91
EXE=".exe"
92
93
94
95
96
97
98
99
100
if test "$build" != "$host"; then # cross-compiling
# Default cross-compile location
ac_default_prefix=/usr/local/cross-tools/i386-mingw32
else
# Look for the location of the tools and install there
if test "$BUILD_PREFIX" != ""; then
ac_default_prefix=$BUILD_PREFIX
fi
fi
101
;;
102
*)
103
SOURCES=""
104
EXE=""
105
;;
106
107
esac
108
109
110
111
112
113
114
115
116
117
# Standard C sources
SOURCES="$SOURCES \
$srcdir/effect_position.c \
$srcdir/effect_stereoreverse.c \
$srcdir/effects_internal.c \
$srcdir/load_aiff.c \
$srcdir/load_voc.c \
$srcdir/mixer.c \
$srcdir/music.c"
118
119
find_lib()
{
120
121
gcc_bin_path=[`$CC -print-search-dirs 2>/dev/null | fgrep programs: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
gcc_lib_path=[`$CC -print-search-dirs 2>/dev/null | fgrep libraries: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
122
env_lib_path=[`echo $LIBS $LDFLAGS | sed 's/-L[ ]*//g'`]
123
for path in $gcc_bin_path $gcc_lib_path $env_lib_path /usr/lib /usr/local/lib; do
124
125
126
127
128
129
130
131
lib=[`ls -- $path/$1 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
if test x$lib != x; then
echo $lib
return
fi
done
}
132
dnl Check for SDL
133
SDL_VERSION=1.2.10
134
135
AM_PATH_SDL($SDL_VERSION,
:,
136
AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
137
)
138
139
EXTRA_CFLAGS="$EXTRA_CFLAGS $SDL_CFLAGS"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SDL_LIBS"
140
141
dnl Check command-line options
142
143
144
145
AC_ARG_ENABLE([music-cmd],
AC_HELP_STRING([--enable-music-cmd], [support an external music player [[default=yes]]]),
[], [enable_music_cmd=yes])
146
if test x$enable_music_cmd = xyes; then
147
148
SOURCES="$SOURCES $srcdir/music_cmd.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DCMD_MUSIC"
149
fi
150
151
152
AC_ARG_ENABLE([music-wave],
AC_HELP_STRING([--enable-music-wave], [enable streaming WAVE music [[default=yes]]]),
[], [enable_music_wave=yes])
153
if test x$enable_music_wave = xyes; then
154
155
SOURCES="$SOURCES $srcdir/wavestream.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DWAV_MUSIC"
156
fi
157
no_libmikmod=yes
158
159
160
161
libmikmod_maj=3
libmikmod_min=1
libmikmod_rev=10
libmikmod_ver="$libmikmod_maj.$libmikmod_min.$libmikmod_rev"
162
163
164
AC_ARG_ENABLE([music-libmikmod],
AC_HELP_STRING([--enable-music-libmikmod], [enable MOD music via external libmikmod [[default=no]]]),
[], [enable_music_libmikmod=no])
165
if test x$enable_music_libmikmod = xyes; then
166
167
168
169
170
171
172
173
174
AC_PATH_PROG(LIBMIKMOD_CONFIG, libmikmod-config, no, [$PATH])
if test "$LIBMIKMOD_CONFIG" != "no" ; then
no_libmikmod=no
CFLAGS_SAVED="$CFLAGS"
LIBS_SAVED="$LIBS"
CFLAGS="$CFLAGS -DLIBMIKMOD_MUSIC `$LIBMIKMOD_CONFIG --cflags`"
LIBS="$LIBS `$LIBMIKMOD_CONFIG --libs`"
AC_MSG_CHECKING([for libmikmod - version >= $libmikmod_ver])
AC_TRY_RUN([
175
176
177
178
179
#include "mikmod.h"
#include "stdio.h"
int main(int argc, char **argv)
{
180
181
182
183
184
185
186
187
long maj=$libmikmod_maj,min=$libmikmod_min,rev=$libmikmod_rev,ver=MikMod_GetVersion();
/*printf("(%d.%d.%d) ",ver>>16,(ver>>8)&0xff,ver&0xff);*/
if(ver>=((maj<<16)|(min<<8)|(rev))) {
printf("yes\n");
return 0;
}
printf("no\n*** libmikmod is older than %d.%d.%d, not using.\n",maj,min,rev);
return 1;
188
}
189
], EXTRA_CFLAGS="$EXTRA_CFLAGS -DLIBMIKMOD_MUSIC `$LIBMIKMOD_CONFIG --cflags`";EXTRA_LDFLAGS="$EXTRA_LDFLAGS `$LIBMIKMOD_CONFIG --libs`", CFLAGS="$CFLAGS_SAVED";LIBS="$LIBS_SAVED",
190
[echo $ac_n "cross compiling; assumed OK... $ac_c"])
191
fi
192
193
fi
194
195
196
AC_ARG_ENABLE([music-mod],
AC_HELP_STRING([--enable-music-mod], [enable MOD music via mikmod [[default=yes]]]),
[], [enable_music_mod=$no_libmikmod])
197
if test x$enable_music_mod = xyes -a x$enable_music_libmikmod = xno; then
198
199
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMOD_MUSIC -I\$(srcdir)/mikmod"
SOURCES="$SOURCES $srcdir/mikmod/*.c"
200
fi
201
202
203
AC_ARG_ENABLE([music-midi],
AC_HELP_STRING([--enable-music-midi], [enable MIDI music via timidity [[default=yes]]]),
[], [enable_music_midi=yes])
204
if test x$enable_music_midi = xyes; then
205
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMID_MUSIC"
206
207
208
AC_ARG_ENABLE([music-timidity-midi],
AC_HELP_STRING([--enable-music-timidity-midi], [enable timidity MIDI output [[default=yes]]]),
[], [enable_music_timidity_midi=yes])
209
if test x$enable_music_timidity_midi = xyes; then
210
211
EXTRA_CFLAGS="$EXTRA_CFLAGS -DUSE_TIMIDITY_MIDI -I\$(srcdir)/timidity"
SOURCES="$SOURCES $srcdir/timidity/*.c"
212
fi
213
214
215
AC_ARG_ENABLE([music-native-midi],
AC_HELP_STRING([--enable-music-native-midi], [enable native MIDI music output [[default=yes]]]),
[], [enable_music_native_midi=yes])
216
217
if test x$enable_music_native_midi = xyes; then
use_music_native_midi=no
218
case "$host" in
219
220
*-*-cygwin* | *-*-mingw32*)
use_music_native_midi=yes
221
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lwinmm"
222
;;
223
224
*-*-darwin*)
use_music_native_midi=yes
225
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,QuickTime -Wl,-framework,CoreServices"
226
;;
227
228
esac
if test x$use_music_native_midi = xyes; then
229
230
EXTRA_CFLAGS="$EXTRA_CFLAGS -DUSE_NATIVE_MIDI -I\$(srcdir)/native_midi"
SOURCES="$SOURCES $srcdir/native_midi/*.c"
231
232
fi
fi
233
234
235
AC_ARG_ENABLE([music-native-midi-gpl],
AC_HELP_STRING([--enable-music-native-midi-gpl], [enable native MIDI on UNIX using GPL code [[default=no]]]),
[], [enable_music_native_midi_gpl=no])
236
237
if test x$enable_music_native_midi_gpl = xyes; then
use_music_native_midi_gpl=no
238
case "$host" in
239
240
241
242
243
*-*-linux* | *-*-freebsd*)
use_music_native_midi_gpl=yes
;;
esac
if test x$use_music_native_midi_gpl = xyes; then
244
245
EXTRA_CFLAGS="$EXTRA_CFLAGS -DUSE_NATIVE_MIDI -I\$(srcdir)/native_midi"
SOURCES="$SOURCES $srcdir/native_midi_gpl/*.c"
246
247
fi
fi
248
fi
249
250
251
AC_ARG_ENABLE([music-ogg],
AC_HELP_STRING([--enable-music-ogg], [enable Ogg Vorbis music [[default=yes]]]),
[], [enable_music_ogg=yes])
252
253
254
255
AC_ARG_ENABLE(music-ogg-tremor,
[ --enable-music-ogg-tremor enable OGG music via libtremor [[default=no]]],
[], enable_music_ogg_tremor=no)
AC_ARG_ENABLE([music-ogg-shared],
256
AC_HELP_STRING([--enable-music-ogg-shared], [dynamically load Ogg Vorbis support [[default=yes]]]),
257
258
259
260
261
262
263
264
265
[], [enable_music_ogg_shared=yes])
if test x$enable_music_ogg = xyes; then
if test x$enable_music_ogg_tremor = xyes; then
AC_CHECK_HEADER([tremor/ivorbisfile.h], [have_tremor_hdr=yes])
AC_CHECK_LIB([vorbisidec], [ov_open_callbacks], [have_tremor_lib=yes])
if test x$have_tremor_hdr = xyes -a x$have_tremor_lib = xyes; then
case "$host" in
*-*-darwin*)
ogg_lib=[`find_lib libvorbisidec*.dylib`]
266
if test x$ogg_lib = x; then
267
ogg_lib=[`find_lib libvorbisidec.[0-9]`]
268
fi
269
if test x$ogg_lib = x; then
270
ogg_lib=[`find_lib libvorbisidec.[0-9]*`]
271
fi
272
273
;;
*-*-cygwin* | *-*-mingw32*)
274
ogg_lib=[`find_lib "vorbisidec*.dll"`]
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
;;
*)
ogg_lib=[`find_lib "libvorbisidec.so.[0-9]"`]
if test x$ogg_lib = x; then
ogg_lib=[`find_lib "libvorbisidec.so.[0-9]*"`]
fi
;;
esac
SOURCES="$SOURCES $srcdir/*_ogg.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DOGG_MUSIC -DOGG_USE_TREMOR"
if test x$enable_music_ogg_shared = xyes && test x$ogg_lib != x; then
echo "-- dynamic libvorbisidec -> $ogg_lib"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DOGG_DYNAMIC=\\\"$ogg_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvorbisidec"
fi
fi
else
AC_CHECK_HEADER([vorbis/vorbisfile.h], [have_ogg_hdr=yes])
AC_CHECK_LIB([vorbisfile], [ov_open_callbacks], [have_ogg_lib=yes])
if test x$have_ogg_hdr = xyes -a x$have_ogg_lib = xyes; then
case "$host" in
*-*-darwin*)
ogg_lib=[`find_lib libvorbisfile*.dylib`]
;;
*-*-cygwin* | *-*-mingw32*)
301
ogg_lib=[`find_lib "libvorbisfile*.dll"`]
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
;;
*)
ogg_lib=[`find_lib "libvorbisfile.so.[0-9]"`]
if test x$ogg_lib = x; then
ogg_lib=[`find_lib "libvorbisfile.so.[0-9]*"`]
fi
;;
esac
SOURCES="$SOURCES $srcdir/*_ogg.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DOGG_MUSIC"
if test x$enable_music_ogg_shared = xyes && test x$ogg_lib != x; then
echo "-- dynamic libvorbisfile -> $ogg_lib"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DOGG_DYNAMIC=\\\"$ogg_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvorbisfile -lvorbis -logg"
fi
318
fi
319
320
fi
fi
321
libflac_ver=8
322
323
324
325
326
327
328
329
AC_ARG_ENABLE([music-flac],
AC_HELP_STRING([--enable-music-flac], [enable FLAC music [[default=yes]]]),
[], [enable_music_flac=yes])
AC_ARG_ENABLE([music-flac-shared],
AC_HELP_STRING([--enable-music-flac-shared],
[dynamically load FLAC support [[default=yes]]]),
[], [enable_music_flac_shared=yes])
if test x$enable_music_flac = xyes; then
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
AC_CHECK_HEADER([FLAC/export.h], [have_flac_export=yes])
if test x$have_flac_export = xyes; then
LIBS_SAVED="$LIBS"
LIBS="-lFLAC"
AC_MSG_CHECKING([for libflac so-name version >= $libflac_ver])
AC_TRY_RUN([
#include "FLAC/export.h"
#include "stdio.h"
int main( int argc, char *argv[] ) {
#if defined(FLAC_API_VERSION_CURRENT) && (FLAC_API_VERSION_CURRENT >= $libflac_ver)
return 0;
#else
return 1;
#endif
}
], have_flac_ver=yes, have_flac_ver=no)
LIBS="$LIBS_SAVED"
AC_MSG_RESULT($have_flac_ver)
if test x$have_flac_ver = xno; then
echo "*** FLAC support has been disabled."
else
AC_CHECK_HEADER([FLAC/stream_decoder.h], [have_flac_hdr=yes])
AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_new], [have_flac_lib=yes])
if test x$have_flac_hdr = xyes -a x$have_flac_lib = xyes; then
case "$host" in
*-*-darwin*)
flac_lib=[`find_lib FLAC*.dylib`]
;;
*-*-cygwin* | *-*-mingw32*)
flac_lib=[`find_lib "libFLAC*.dll"`]
;;
*)
flac_lib=[`find_lib "libFLAC.so.[0-9]"`]
if test x$flac_lib = x; then
flac_lib=[`find_lib "libFLAC.so.[0-9]*"`]
fi
;;
esac
SOURCES="$SOURCES $srcdir/*_flac.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DFLAC_MUSIC"
if test x$enable_music_flac_shared = xyes && test x$flac_lib != x; then
echo "-- dynamic libFLAC -> $flac_lib"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DFLAC_DYNAMIC=\\\"$flac_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lFLAC"
fi
fi
fi
fi
379
fi
380
AC_ARG_ENABLE(music-mp3,
381
[ --enable-music-mp3 enable MP3 music via smpeg [[default=yes]]],
382
383
, enable_music_mp3=yes)
if test x$enable_music_mp3 = xyes; then
384
385
SMPEG_VERSION=0.4.3
AM_PATH_SMPEG($SMPEG_VERSION, have_smpeg=yes, have_smpeg=no)
386
if test x$have_smpeg = xyes; then
387
AC_ARG_ENABLE([music-mp3-shared],
388
389
AC_HELP_STRING([--enable-music-mp3-shared], [dynamically load MP3 support [[default=yes]]]),
[], [enable_music_mp3_shared=yes])
390
391
case "$host" in
*-*-darwin*)
392
smpeg_lib=[`find_lib libsmpeg*.dylib`]
393
394
;;
*-*-cygwin* | *-*-mingw32*)
395
smpeg_lib=[`find_lib "smpeg*.dll"`]
396
397
;;
*)
398
smpeg_lib=[`find_lib "libsmpeg*.so.[0-9]"`]
399
if test x$smpeg_lib = x; then
400
smpeg_lib=[`find_lib "libsmpeg*.so.[0-9]*"`]
401
fi
402
403
;;
esac
404
SOURCES="$SOURCES $srcdir/*_mp3.c"
405
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_MUSIC $SMPEG_CFLAGS"
406
407
408
409
410
411
if test x$enable_music_mp3_shared = xyes && test x$smpeg_lib != x; then
echo "-- dynamic libsmpeg -> $smpeg_lib"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_DYNAMIC=\\\"$smpeg_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SMPEG_LIBS"
fi
412
413
fi
fi
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
AC_ARG_ENABLE(music-mp3-mad-gpl,
AC_HELP_STRING([--enable-music-mp3-mad-gpl], [enable MP3 music via libmad GPL code [[default=no]]]),
[], [enable_music_mp3_mad_gpl=no])
if test x$enable_music_mp3_mad_gpl = xyes; then
AC_MSG_CHECKING(for libmad headers)
have_libmad=no
AC_TRY_COMPILE([
#include "mad.h"
],[
],[
have_libmad=yes
])
AC_MSG_RESULT($have_libmad)
if test x$have_libmad = xyes; then
SOURCES="$SOURCES $srcdir/music_mad.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_MAD_MUSIC"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lmad"
fi
fi
433
434
OBJECTS=`echo $SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
435
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'`
436
437
438
439
440
441
442
443
444
445
dnl Expand the sources and objects needed to build the library
AC_SUBST(ac_aux_dir)
AC_SUBST(SOURCES)
AC_SUBST(OBJECTS)
AC_SUBST(BUILD_CFLAGS)
AC_SUBST(EXTRA_CFLAGS)
AC_SUBST(BUILD_LDFLAGS)
AC_SUBST(EXTRA_LDFLAGS)
AC_SUBST(EXE)
446
AC_SUBST(WINDRES)
447
AC_SUBST(SDL_VERSION)
448
449
AC_SUBST(SDL_CFLAGS)
AC_SUBST(SDL_LIBS)
450
451
AC_OUTPUT([
452
Makefile SDL_mixer.spec SDL_mixer.qpg SDL_mixer.pc
453
454
455
], [
: >build-deps
if test x"$MAKE" = x; then MAKE=make; fi; $MAKE depend
456
])