/
configure.in
737 lines (682 loc) · 26.5 KB
1
dnl Process this file with autoconf to produce a configure script.
2
AC_INIT(README.txt)
3
AC_CONFIG_AUX_DIR(build-scripts)
4
5
6
7
8
9
10
11
12
13
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.
14
#
15
16
17
18
19
MAJOR_VERSION=2
MINOR_VERSION=0
MICRO_VERSION=0
INTERFACE_AGE=0
BINARY_AGE=0
20
21
22
23
24
25
26
27
28
29
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
30
31
LT_INIT([win32-dll])
32
33
34
35
LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION
LT_CURRENT=`expr $MICRO_VERSION - $INTERFACE_AGE`
LT_REVISION=$INTERFACE_AGE
LT_AGE=`expr $BINARY_AGE - $INTERFACE_AGE`
36
m4_pattern_allow([^LT_])
37
38
39
40
41
42
AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
43
dnl Detect the canonical build and host environments
44
AC_CONFIG_AUX_DIRS($srcdir/build-scripts)
45
dnl AC_CANONICAL_HOST
46
47
48
49
50
51
52
53
54
55
56
57
58
dnl Check for tools
AC_PROG_LIBTOOL
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
if test -z "$host_alias"; then
hostaliaswindres=
else
hostaliaswindres="$host_alias-windres"
fi
AC_CHECK_PROGS(WINDRES, [windres $hostaliaswindres $host_os-windres])
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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"
75
76
77
78
79
80
81
82
83
## 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
84
85
86
CPPFLAGS="$CPPFLAGS $EXTRA_CFLAGS"
CFLAGS="$CFLAGS $EXTRA_CFLAGS"
LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
87
88
89
dnl Check for compiler characteristics
AC_C_CONST
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
dnl See whether we can use gcc style dependency tracking
AC_ARG_ENABLE(dependency-tracking,
AC_HELP_STRING([--enable-dependency-tracking],
[Use gcc -MMD -MT dependency tracking [[default=yes]]]),
, enable_dependency_tracking=yes)
if test x$enable_dependency_tracking = xyes; then
have_gcc_mmd_mt=no
AC_MSG_CHECKING(for GCC -MMD -MT option)
AC_TRY_COMPILE([
#if !defined(__GNUC__) || __GNUC__ < 3
#error Dependency tracking requires GCC 3.0 or newer
#endif
],[
],[
have_gcc_mmd_mt=yes
])
AC_MSG_RESULT($have_gcc_mmd_mt)
if test x$have_gcc_mmd_mt = xyes; then
DEPENDENCY_TRACKING_OPTIONS="-MMD -MT \$@"
fi
fi
114
case "$host" in
115
116
117
118
*mingw32ce*)
#VERSION_SOURCES="$srcdir/version.rc"
EXE=".exe"
;;
119
*-*-cygwin* | *-*-mingw32*)
120
VERSION_SOURCES="$srcdir/version.rc"
121
EXE=".exe"
122
123
if test "$build" != "$host"; then # cross-compiling
# Default cross-compile location
124
ac_default_prefix=/usr/local/cross-tools/$host
125
126
127
128
129
130
else
# Look for the location of the tools and install there
if test "$BUILD_PREFIX" != ""; then
ac_default_prefix=$BUILD_PREFIX
fi
fi
131
;;
132
*)
133
SOURCES=""
134
EXE=""
135
;;
136
137
esac
138
139
140
141
142
143
144
145
146
147
# 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"
148
149
150
dnl set this to use on systems that use lib64 instead of lib
base_libdir=`echo \${libdir} | sed 's/.*\/\(.*\)/\1/; q'`
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
dnl See if GCC's -fvisibility=hidden is supported (gcc4 and later, usually).
dnl Details of this flag are here: http://gcc.gnu.org/wiki/Visibility
CheckVisibilityHidden()
{
AC_MSG_CHECKING(for GCC -fvisibility=hidden option)
have_gcc_fvisibility=no
visibility_CFLAGS="-fvisibility=hidden"
save_CFLAGS="$CFLAGS"
CFLAGS="$save_CFLAGS $visibility_CFLAGS -Werror"
AC_TRY_COMPILE([
#if !defined(__GNUC__) || __GNUC__ < 4
#error SDL only uses visibility attributes in GCC 4 or newer
#endif
],[
],[
have_gcc_fvisibility=yes
])
AC_MSG_RESULT($have_gcc_fvisibility)
CFLAGS="$save_CFLAGS"
if test x$have_gcc_fvisibility = xyes; then
EXTRA_CFLAGS="$EXTRA_CFLAGS $visibility_CFLAGS"
fi
}
178
dnl Function to find a library in the compiler search path
179
180
find_lib()
{
181
182
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'`]
183
env_lib_path=[`echo $LIBS $LDFLAGS $* | sed 's/-L[ ]*//g'`]
184
185
186
if test "$cross_compiling" = yes; then
host_lib_path=""
else
187
host_lib_path="/usr/$base_libdir /usr/local/$base_libdir"
188
189
fi
for path in $gcc_bin_path $gcc_lib_path $env_lib_path $host_lib_path; do
190
lib=[`ls -- $path/$1 2>/dev/null | sed -e '/\.so\..*\./d' -e 's,.*/,,' | sort | tail -1`]
191
192
193
194
195
196
197
if test x$lib != x; then
echo $lib
return
fi
done
}
198
dnl Check for SDL
199
SDL_VERSION=2.0.0
200
AM_PATH_SDL2($SDL_VERSION,
201
:,
202
AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
203
)
204
205
EXTRA_CFLAGS="$EXTRA_CFLAGS $SDL_CFLAGS"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SDL_LIBS"
206
207
208
209
dnl Check for math library
AC_CHECK_LIB(m, pow, [LIBM="-lm"])
210
211
212
AC_CHECK_HEADERS([signal.h], [EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_SIGNAL_H"])
AC_CHECK_FUNCS(setbuf, [EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_SETBUF"])
213
dnl Check command-line options
214
215
216
CheckVisibilityHidden
217
218
AC_ARG_ENABLE([music-cmd],
AC_HELP_STRING([--enable-music-cmd], [support an external music player [[default=yes]]]),
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
[], [enable_music_cmd=detect])
if test "x$enable_music_cmd" != xno; then
AC_CHECK_FUNCS([fork vfork])
if test "x$ac_cv_func_fork" = "xyes"; then
EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_FORK"
elif test "x$ac_cv_func_vfork" = "xyes"; then
EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_VFORK"
elif test "x$enable_music_cmd" = "xyes"; then
AC_MSG_ERROR([external music player not available on your platform])
else
enable_music_cmd=no
fi
if test "x$enable_music_cmd" != xno; then
SOURCES="$SOURCES $srcdir/music_cmd.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DCMD_MUSIC"
fi
235
fi
236
237
238
239
AC_ARG_ENABLE([music-wave],
AC_HELP_STRING([--enable-music-wave], [enable streaming WAVE music [[default=yes]]]),
[], [enable_music_wave=yes])
240
if test x$enable_music_wave = xyes; then
241
242
SOURCES="$SOURCES $srcdir/wavestream.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DWAV_MUSIC"
243
fi
244
245
AC_ARG_ENABLE([music-mod],
246
AC_HELP_STRING([--enable-music-mod], [enable MOD music [[default=yes]]]),
247
[], [enable_music_mod=yes])
248
249
250
251
252
253
254
255
256
257
258
259
260
AC_ARG_ENABLE([music-mod-modplug],
AC_HELP_STRING([--enable-music-mod-modplug], [enable MOD music via modplug [[default=yes]]]),
[], [enable_music_mod_modplug=yes])
AC_ARG_ENABLE([music-mod-modplug-shared],
AC_HELP_STRING([--enable-music-mod-modplug-shared], [dynamically load modplug library [[default=yes]]]),
[], [enable_music_mod_modplug_shared=yes])
if test x$enable_music_mod = xyes -a x$enable_music_mod_modplug = xyes; then
PKG_CHECK_MODULES([MODPLUG], [libmodplug >= 0.8.8], [dnl
have_libmodplug_hdr=yes
have_libmodplug_lib=yes
], [dnl
AC_CHECK_HEADER([modplug.h], [have_libmodplug_hdr=yes])
261
AC_CHECK_LIB([modplug], [have_libmodplug_lib=yes])
262
263
264
265
266
267
268
269
270
271
272
273
274
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
])
if test x$have_libmodplug_hdr = xyes -a x$have_libmodplug_lib = xyes; then
have_libmodplug=yes
case "$host" in
*-*-darwin*)
modplug_lib=[`find_lib libmodplug.dylib`]
;;
*-*-cygwin* | *-*-mingw32*)
modplug_lib=[`find_lib "libmodplug*.dll"`]
;;
*)
modplug_lib=[`find_lib "libmodplug[0-9]*.so.*"`]
if test x$modplug_lib = x; then
modplug_lib=[`find_lib "libmodplug.so.*"`]
fi
;;
esac
SOURCES="$SOURCES $srcdir/*_modplug.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMODPLUG_MUSIC $MODPLUG_CFLAGS"
if test x$enable_music_mod_modplug_shared = xyes && test x$modplug_lib != x; then
echo "-- dynamic libmodplug -> $modplug_lib"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMODPLUG_DYNAMIC=\\\"$modplug_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $MODPLUG_LIBS"
fi
else
AC_MSG_WARN([*** Unable to find ModPlug library (http://modplug-xmms.sourceforge.net/)])
fi
fi
AC_ARG_ENABLE([music-mod-mikmod],
AC_HELP_STRING([--enable-music-mod-mikmod], [enable MOD music via mikmod [[default=no]]]),
[], [enable_music_mod_mikmod=no])
AC_ARG_ENABLE([music-mod-mikmod-shared],
AC_HELP_STRING([--enable-music-mod-mikmod-shared], [dynamically load mikmod library [[default=yes]]]),
[], [enable_music_mod_mikmod_shared=yes])
if test x$enable_music_mod = xyes -a x$enable_music_mod_mikmod = xyes; then
300
301
302
303
304
have_libmikmod=no
libmikmod_maj=3
libmikmod_min=1
libmikmod_rev=10
libmikmod_ver="$libmikmod_maj.$libmikmod_min.$libmikmod_rev"
305
306
AC_PATH_PROG(LIBMIKMOD_CONFIG, libmikmod-config, no, [$PATH])
if test "$LIBMIKMOD_CONFIG" != "no" ; then
307
308
309
310
311
CFLAGS_SAVED="$CFLAGS"
LIBS_SAVED="$LIBS"
CFLAGS="$CFLAGS -DLIBMIKMOD_MUSIC `$LIBMIKMOD_CONFIG --cflags`"
LIBS="$LIBS `$LIBMIKMOD_CONFIG --libs`"
312
have_libmikmod=yes
313
314
AC_MSG_CHECKING([for libmikmod - version >= $libmikmod_ver])
AC_TRY_RUN([
315
316
317
318
319
#include "mikmod.h"
#include "stdio.h"
int main(int argc, char **argv)
{
320
321
322
323
324
325
326
327
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;
328
}
329
330
], [], have_libmikmod=no; CFLAGS="$CFLAGS_SAVED"; LIBS="$LIBS_SAVED",
[echo $ac_n "cross compiling; assumed OK... $ac_c"])
331
fi
332
333
334
335
if test x$have_libmikmod = xyes; then
case "$host" in
*-*-darwin*)
336
mikmod_lib=[`find_lib libmikmod.dylib`]
337
338
;;
*-*-cygwin* | *-*-mingw32*)
339
mikmod_lib=[`find_lib "libmikmod*.dll"`]
340
341
;;
*)
342
mikmod_lib=[`find_lib "libmikmod[0-9]*.so.*"`]
343
if test x$mikmod_lib = x; then
344
mikmod_lib=[`find_lib "libmikmod.so.*"`]
345
346
347
348
349
fi
;;
esac
SOURCES="$SOURCES $srcdir/*_mod.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMOD_MUSIC `$LIBMIKMOD_CONFIG --cflags`"
350
if test x$enable_music_mod_mikmod_shared = xyes && test x$mikmod_lib != x; then
351
352
353
354
355
echo "-- dynamic libmikmod -> $mikmod_lib"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMOD_DYNAMIC=\\\"$mikmod_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS `$LIBMIKMOD_CONFIG --libs`"
fi
356
else
357
AC_MSG_WARN([*** Unable to find MikMod library (http://mikmod.raphnet.net/)])
358
fi
359
fi
360
361
if test x$have_libmodplug != xyes -a x$have_libmikmod != xyes ; then
362
363
364
AC_MSG_WARN([MOD support disabled])
fi
365
AC_ARG_ENABLE([music-midi],
366
AC_HELP_STRING([--enable-music-midi], [enable MIDI music [[default=yes]]]),
367
[], [enable_music_midi=yes])
368
if test x$enable_music_midi = xyes; then
369
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMID_MUSIC"
370
371
372
373
AC_ARG_ENABLE([music-midi-timidity],
AC_HELP_STRING([--enable-music-midi-timidity], [enable timidity MIDI output [[default=yes]]]),
[], [enable_music_midi_timidity=yes])
if test x$enable_music_midi_timidity = xyes; then
374
375
EXTRA_CFLAGS="$EXTRA_CFLAGS -DUSE_TIMIDITY_MIDI -I\$(srcdir)/timidity"
SOURCES="$SOURCES $srcdir/timidity/*.c"
376
fi
377
378
379
380
381
AC_ARG_ENABLE([music-midi-native],
AC_HELP_STRING([--enable-music-midi-native], [enable native MIDI music output [[default=yes]]]),
[], [enable_music_midi_native=yes])
if test x$enable_music_midi_native = xyes; then
use_music_midi_native=no
382
case "$host" in
383
*mingw32ce*)
384
use_music_midi_native=no
385
;;
386
*-*-cygwin* | *-*-mingw32*)
387
use_music_midi_native=yes
388
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lwinmm"
389
;;
390
*-*-darwin*)
391
use_music_midi_native=yes
392
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit -Wl,-framework,CoreServices"
393
;;
394
*-*-haiku*)
395
use_music_midi_native=yes_cpp
396
397
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lmidi"
;;
398
esac
399
if test x$use_music_midi_native = xyes; then
400
401
EXTRA_CFLAGS="$EXTRA_CFLAGS -DUSE_NATIVE_MIDI -I\$(srcdir)/native_midi"
SOURCES="$SOURCES $srcdir/native_midi/*.c"
402
elif test x$use_music_midi_native = xyes_cpp; then
403
404
405
EXTRA_CFLAGS="$EXTRA_CFLAGS -DUSE_NATIVE_MIDI -I\$(srcdir)/native_midi"
SOURCES="$SOURCES $srcdir/native_midi/*.c"
SOURCES_CXX="$SOURCES_CXX $srcdir/native_midi/*.cpp"
406
407
fi
fi
408
409
410
AC_ARG_ENABLE([music-midi-fluidsynth],
AC_HELP_STRING([--enable-music-midi-fluidsynth], [enable FluidSynth MIDI output [[default=yes]]]),
[], [enable_music_midi_fluidsynth=yes])
411
AC_ARG_ENABLE([music-fluidsynth-shared],
412
413
414
AC_HELP_STRING([--enable-music-midi-fluidsynth-shared], [dynamically load FluidSynth library [[default=yes]]]),
[], [enable_music_midi_fluidsynth_shared=yes])
if test x$enable_music_midi_fluidsynth = xyes; then
415
416
417
AC_CHECK_HEADER([fluidsynth.h], [have_fluidsynth_hdr=yes])
AC_CHECK_LIB([fluidsynth], [fluid_player_add_mem], [have_fluidsynth_lib=yes])
if test x$have_fluidsynth_hdr = xyes -a x$have_fluidsynth_lib = xyes; then
418
have_fluidsynth=yes
419
420
421
422
423
424
425
426
case "$host" in
*-*-darwin*)
fluidsynth_lib=[`find_lib libfluidsynth.dylib`]
;;
*-*-cygwin* | *-*-mingw32*)
fluidsynth_lib=[`find_lib "fluidsynth*.dll"`]
;;
*)
427
fluidsynth_lib=[`find_lib "libfluidsynth[0-9]*.so.*"`]
428
if test x$fluidsynth_lib = x; then
429
fluidsynth_lib=[`find_lib "libfluidsynth.so.*"`]
430
431
432
433
434
fi
;;
esac
SOURCES="$SOURCES $srcdir/dynamic_fluidsynth.c $srcdir/fluidsynth.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DUSE_FLUIDSYNTH_MIDI"
435
if test x$enable_music_midi_fluidsynth_shared = xyes && test x$fluidsynth_lib != x; then
436
437
438
439
440
441
442
443
444
445
echo "-- dynamic libfluidsyth -> $fluidsynth_lib"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DFLUIDSYNTH_DYNAMIC=\\\"$fluidsynth_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lfluidsynth"
fi
else
AC_MSG_WARN([*** Unable to find FluidSynth library (http://www.fluidsynth.org/)])
AC_MSG_WARN([FluidSynth support disabled])
fi
fi
446
fi
447
448
449
450
451
452
453
if test x$enable_music_midi_timidity != xyes -a \
x$use_music_midi_native != xyes -a x$use_music_midi_native != xyes_cpp -a \
x$have_fluidsynth != xyes; then
AC_MSG_WARN([MIDI support disabled])
fi
454
455
456
AC_ARG_ENABLE([music-ogg],
AC_HELP_STRING([--enable-music-ogg], [enable Ogg Vorbis music [[default=yes]]]),
[], [enable_music_ogg=yes])
457
AC_ARG_ENABLE(music-ogg-tremor,
458
AC_HELP_STRING([--enable-music-ogg-tremor], [enable OGG Vorbis music via libtremor [[default=no]]]),
459
460
[], enable_music_ogg_tremor=no)
AC_ARG_ENABLE([music-ogg-shared],
461
AC_HELP_STRING([--enable-music-ogg-shared], [dynamically load Ogg Vorbis library [[default=yes]]]),
462
463
464
465
[], [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])
466
AC_CHECK_LIB([vorbisidec -logg], [ov_open_callbacks], [have_tremor_lib=yes])
467
468
469
if test x$have_tremor_hdr = xyes -a x$have_tremor_lib = xyes; then
case "$host" in
*-*-darwin*)
470
ogg_lib=[`find_lib libvorbisidec.dylib`]
471
472
;;
*-*-cygwin* | *-*-mingw32*)
473
ogg_lib=[`find_lib "vorbisidec*.dll"`]
474
475
;;
*)
476
ogg_lib=[`find_lib "libvorbisidec[0-9]*.so.*"`]
477
if test x$ogg_lib = x; then
478
ogg_lib=[`find_lib "libvorbisidec.so.*"`]
479
480
481
482
483
484
485
486
487
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
488
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvorbisidec -lvorbis"
489
fi
490
491
492
else
AC_MSG_WARN([*** Unable to find Ogg Vorbis Tremor library (http://www.xiph.org/)])
AC_MSG_WARN([Ogg Vorbis support disabled])
493
494
495
fi
else
AC_CHECK_HEADER([vorbis/vorbisfile.h], [have_ogg_hdr=yes])
496
AC_CHECK_LIB([vorbisfile -lvorbis -logg -lm], [ov_open_callbacks], [have_ogg_lib=yes])
497
498
499
if test x$have_ogg_hdr = xyes -a x$have_ogg_lib = xyes; then
case "$host" in
*-*-darwin*)
500
ogg_lib=[`find_lib libvorbisfile.dylib`]
501
502
;;
*-*-cygwin* | *-*-mingw32*)
503
ogg_lib=[`find_lib "libvorbisfile*.dll"`]
504
505
;;
*)
506
ogg_lib=[`find_lib "libvorbisfile[0-9]*.so.*"`]
507
if test x$ogg_lib = x; then
508
ogg_lib=[`find_lib "libvorbisfile.so.*"`]
509
510
511
512
513
514
515
516
517
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
518
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvorbisfile -lvorbis"
519
fi
520
521
522
else
AC_MSG_WARN([*** Unable to find Ogg Vorbis library (http://www.xiph.org/)])
AC_MSG_WARN([Ogg Vorbis support disabled])
523
fi
524
525
fi
fi
526
527
libflac_ver=8
528
529
530
531
532
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],
533
[dynamically load FLAC library [[default=yes]]]),
534
535
[], [enable_music_flac_shared=yes])
if test x$enable_music_flac = xyes; then
536
537
538
539
540
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])
541
AC_TRY_COMPILE([
542
543
#include "FLAC/export.h"
#include "stdio.h"
544
],[
545
546
#if defined(FLAC_API_VERSION_CURRENT) && (FLAC_API_VERSION_CURRENT >= $libflac_ver)
#else
547
#error "old-flac"
548
549
#endif
], have_flac_ver=yes, have_flac_ver=no)
550
551
552
553
554
555
556
557
558
559
LIBS="$LIBS_SAVED"
AC_MSG_RESULT($have_flac_ver)
fi
if test x$have_flac_ver = xyes; then
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*)
560
flac_lib=[`find_lib libFLAC.dylib`]
561
562
;;
*-*-cygwin* | *-*-mingw32*)
563
flac_lib=[`find_lib "libFLAC-*.dll"`]
564
565
;;
*)
566
flac_lib=[`find_lib "libFLAC[0-9]*.so.*"`]
567
if test x$flac_lib = x; then
568
flac_lib=[`find_lib "libFLAC.so.*"`]
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
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
else
AC_MSG_WARN([*** Unable to find FLAC library (http://flac.sourceforge.net/)])
AC_MSG_WARN([FLAC support disabled])
fi
585
fi
586
587
AC_ARG_ENABLE(music-mp3,
588
AC_HELP_STRING([--enable-music-mp3], [enable MP3 music [[default=yes]]]),
589
[], enable_music_mp3=yes)
590
591
592
593
594
595
596
597
AC_ARG_ENABLE(music-mp3-smpeg,
AC_HELP_STRING([--enable-music-mp3-smpeg], [enable MP3 music via smpeg [[default=yes]]]),
[], enable_music_mp3_smpeg=yes)
AC_ARG_ENABLE([music-mp3-smpeg-shared],
AC_HELP_STRING([--enable-music-mp3-smpeg-shared], [dynamically load smpeg library [[default=yes]]]),
[], [enable_music_mp3_smpeg_shared=yes])
if test x$enable_music_mp3 = xyes -a x$enable_music_mp3_smpeg = xyes; then
598
599
SMPEG_VERSION=2.0.0
AM_PATH_SMPEG2($SMPEG_VERSION, have_smpeg=yes, have_smpeg=no)
600
if test x$have_smpeg = xyes; then
601
602
case "$host" in
*-*-darwin*)
603
smpeg_lib=[`find_lib libsmpeg2.dylib`]
604
605
;;
*-*-cygwin* | *-*-mingw32*)
606
smpeg_lib=[`find_lib "smpeg2*.dll"`]
607
608
;;
*)
609
smpeg_lib=[`find_lib "libsmpeg2*.so.*"`]
610
611
;;
esac
612
SOURCES="$SOURCES $srcdir/*_mp3.c"
613
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_MUSIC $SMPEG_CFLAGS"
614
if test x$enable_music_mp3_smpeg_shared = xyes && test x$smpeg_lib != x; then
615
616
617
618
619
echo "-- dynamic libsmpeg -> $smpeg_lib"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_DYNAMIC=\\\"$smpeg_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SMPEG_LIBS"
fi
620
621
else
AC_MSG_WARN([*** Unable to find SMPEG library (http://icculus.org/smpeg/)])
622
623
fi
fi
624
625
626
627
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])
628
if test x$enable_music_mp3 = xyes -a x$enable_music_mp3_mad_gpl = xyes; then
629
630
631
632
633
634
635
636
637
638
639
640
641
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"
642
643
else
AC_MSG_WARN([*** Unable to find MAD library (http://www.underbit.com/products/mad/)])
644
645
fi
fi
646
647
648
649
650
if test x$have_smpeg != xyes -a x$have_libmad != xyes; then
AC_MSG_WARN([MP3 support disabled])
fi
651
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $LIBM"
652
653
654
655
656
657
OBJECTS=`echo $SOURCES`
DEPENDS=`echo $SOURCES`
OBJECTS=`echo "$OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
DEPENDS=`echo "$DEPENDS" | sed 's,\([[^ ]]*\)/\([[^ ]]*\)\.c,\\
$(objects)/\2.lo: \1/\2.c\\
658
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) '"$DEPENDENCY_TRACKING_OPTIONS"' -c \$< -o \$@,g'`
659
660
661
662
663
664
665
666
667
OBJECTS_CXX=`echo $SOURCES_CXX`
DEPENDS_CXX=`echo $SOURCES_CXX`
OBJECTS_CXX=`echo "$OBJECTS_CXX" | sed 's,[[^ ]]*/\([[^ ]]*\)\.cpp,$(objects)/\1.lo,g'`
DEPENDS_CXX=`echo "$DEPENDS_CXX" | sed 's,\([[^ ]]*\)/\([[^ ]]*\)\.cpp,\\
$(objects)/\2.lo: \1/\2.cpp\\
\$(LIBTOOL) --mode=compile \$(CXX) \$(CFLAGS) \$(EXTRA_CFLAGS) '"$DEPENDENCY_TRACKING_OPTIONS"' -c \$< -o \$@,g'`
OBJECTS="$OBJECTS $OBJECTS_CXX"
DEPENDS="$DEPENDS $DEPENDS_CXX"
668
DEPENDS=`echo "$DEPENDS" | sed 's,\\$,\\\\$,g'`
669
670
671
672
673
674
675
VERSION_OBJECTS=`echo $VERSION_SOURCES`
VERSION_DEPENDS=`echo $VERSION_SOURCES`
VERSION_OBJECTS=`echo "$VERSION_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'`
VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed 's,\([[^ ]]*\)/\([[^ ]]*\)\.rc,\\
$(objects)/\2.o: \1/\2.rc\\
\$(WINDRES) \$< \$@,g'`
676
VERSION_DEPENDS=`echo "$VERSION_DEPENDS" | sed 's,\\$,\\\\$,g'`
677
678
679
680
681
682
683
PLAYWAVE_SOURCES="$srcdir/playwave.c"
PLAYWAVE_OBJECTS=`echo $PLAYWAVE_SOURCES`
PLAYWAVE_DEPENDS=`echo $PLAYWAVE_SOURCES`
PLAYWAVE_OBJECTS=`echo "$PLAYWAVE_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
PLAYWAVE_DEPENDS=`echo "$PLAYWAVE_DEPENDS" | sed 's,\([[^ ]]*\)/\([[^ ]]*\)\.c,\\
$(objects)/\2.lo: \1/\2.c\\
684
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) '"$DEPENDENCY_TRACKING_OPTIONS"' -c \$< -o \$@,g'`
685
PLAYWAVE_DEPENDS=`echo "$PLAYWAVE_DEPENDS" | sed 's,\\$,\\\\$,g'`
686
687
688
689
690
691
692
PLAYMUS_SOURCES="$srcdir/playmus.c"
PLAYMUS_OBJECTS=`echo $PLAYMUS_SOURCES`
PLAYMUS_DEPENDS=`echo $PLAYMUS_SOURCES`
PLAYMUS_OBJECTS=`echo "$PLAYMUS_OBJECTS" | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
PLAYMUS_DEPENDS=`echo "$PLAYMUS_DEPENDS" | sed 's,\([[^ ]]*\)/\([[^ ]]*\)\.c,\\
$(objects)/\2.lo: \1/\2.c\\
693
\$(LIBTOOL) --mode=compile \$(CC) \$(CFLAGS) \$(EXTRA_CFLAGS) '"$DEPENDENCY_TRACKING_OPTIONS"' -c \$< -o \$@,g'`
694
PLAYMUS_DEPENDS=`echo "$PLAYMUS_DEPENDS" | sed 's,\\$,\\\\$,g'`
695
696
697
698
dnl Expand the sources and objects needed to build the library
AC_SUBST(ac_aux_dir)
AC_SUBST(OBJECTS)
699
700
701
AC_SUBST(VERSION_OBJECTS)
AC_SUBST(PLAYWAVE_OBJECTS)
AC_SUBST(PLAYMUS_OBJECTS)
702
703
704
705
706
AC_SUBST(BUILD_CFLAGS)
AC_SUBST(EXTRA_CFLAGS)
AC_SUBST(BUILD_LDFLAGS)
AC_SUBST(EXTRA_LDFLAGS)
AC_SUBST(EXE)
707
AC_SUBST(WINDRES)
708
AC_SUBST(SDL_VERSION)
709
710
AC_SUBST(SDL_CFLAGS)
AC_SUBST(SDL_LIBS)
711
712
AC_OUTPUT([
713
714
])
AC_CONFIG_FILES([
715
Makefile SDL2_mixer.spec SDL2_mixer.pc
716
])
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
AC_CONFIG_COMMANDS([default],
[cat >>Makefile <<__EOF__
# Build rules for objects
-include \$(OBJECTS:.lo=.d)
$DEPENDS
$VERSION_DEPENDS
-include \$(PLAYWAVE_OBJECTS:.lo=.d)
$PLAYWAVE_DEPENDS
-include \$(PLAYMUS_OBJECTS:.lo=.d)
$PLAYMUS_DEPENDS
__EOF__
], [
DEPENDS="$DEPENDS"
VERSION_DEPENDS="$VERSION_DEPENDS"
PLAYWAVE_DEPENDS="$PLAYWAVE_DEPENDS"
PLAYMUS_DEPENDS="$PLAYMUS_DEPENDS"
])
AC_OUTPUT