1 dnl Process this file with autoconf to produce a configure script.
4 dnl Set various version strings - taken gratefully from the GTk sources
10 # if any functions have been added, set INTERFACE_AGE to 0.
11 # if backwards compatibility has been broken,
12 # set BINARY_AGE and INTERFACE_AGE to 0.
19 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION
21 AC_SUBST(MAJOR_VERSION)
22 AC_SUBST(MINOR_VERSION)
23 AC_SUBST(MICRO_VERSION)
24 AC_SUBST(INTERFACE_AGE)
29 LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION
30 LT_CURRENT=`expr $MICRO_VERSION - $INTERFACE_AGE`
31 LT_REVISION=$INTERFACE_AGE
32 LT_AGE=`expr $BINARY_AGE - $INTERFACE_AGE`
39 dnl Detect the canonical build and host environments
40 AC_CONFIG_AUX_DIRS($srcdir/build-scripts)
43 dnl Set up the compiler and linker flags
46 # We build SDL on cygwin without the UNIX emulation layer
47 BASE_CFLAGS="-I/usr/include/mingw -mno-cygwin"
48 BASE_LDFLAGS="-mno-cygwin"
51 BASE_CFLAGS="-D_GNU_SOURCE=1"
55 BUILD_CFLAGS="$CFLAGS $CPPFLAGS"
56 EXTRA_CFLAGS="$INCLUDE $BASE_CFLAGS"
57 BUILD_LDFLAGS="$LDFLAGS"
58 EXTRA_LDFLAGS="$BASE_LDFLAGS"
59 ## These are common directories to find software packages
60 #for path in /usr/freeware /usr/pkg /usr/local; do
61 # if test -d $path/include; then
62 # EXTRA_CFLAGS="$EXTRA_CFLAGS -I$path/include"
64 # if test -d $path/lib; then
65 # EXTRA_LDFLAGS="$EXTRA_LDFLAGS -L$path/lib"
68 CPPFLAGS="$CPPFLAGS $EXTRA_CFLAGS"
69 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
70 LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
78 if test -z "$host_alias"; then
81 hostaliaswindres="$host_alias-windres"
83 AC_CHECK_PROGS(WINDRES, [windres $hostaliaswindres $host_os-windres])
85 dnl Check for compiler characteristics
89 *-*-cygwin* | *-*-mingw32*)
90 SOURCES="$srcdir/version.rc"
92 if test "$build" != "$host"; then # cross-compiling
93 # Default cross-compile location
94 ac_default_prefix=/usr/local/cross-tools/i386-mingw32
96 # Look for the location of the tools and install there
97 if test "$BUILD_PREFIX" != ""; then
98 ac_default_prefix=$BUILD_PREFIX
110 $srcdir/effect_position.c \
111 $srcdir/effect_stereoreverse.c \
112 $srcdir/effects_internal.c \
113 $srcdir/load_aiff.c \
120 gcc_bin_path=[`$CC -print-search-dirs 2>/dev/null | fgrep programs: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
121 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 lib=[`ls -- $path/$1 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
125 if test x$lib != x; then
134 AM_PATH_SDL($SDL_VERSION,
136 AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
138 EXTRA_CFLAGS="$EXTRA_CFLAGS $SDL_CFLAGS"
139 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SDL_LIBS"
141 dnl Check command-line options
143 AC_ARG_ENABLE([music-cmd],
144 AC_HELP_STRING([--enable-music-cmd], [support an external music player [[default=yes]]]),
145 [], [enable_music_cmd=yes])
146 if test x$enable_music_cmd = xyes; then
147 SOURCES="$SOURCES $srcdir/music_cmd.c"
148 EXTRA_CFLAGS="$EXTRA_CFLAGS -DCMD_MUSIC"
150 AC_ARG_ENABLE([music-wave],
151 AC_HELP_STRING([--enable-music-wave], [enable streaming WAVE music [[default=yes]]]),
152 [], [enable_music_wave=yes])
153 if test x$enable_music_wave = xyes; then
154 SOURCES="$SOURCES $srcdir/wavestream.c"
155 EXTRA_CFLAGS="$EXTRA_CFLAGS -DWAV_MUSIC"
161 libmikmod_ver="$libmikmod_maj.$libmikmod_min.$libmikmod_rev"
162 AC_ARG_ENABLE([music-libmikmod],
163 AC_HELP_STRING([--enable-music-libmikmod], [enable MOD music via external libmikmod [[default=no]]]),
164 [], [enable_music_libmikmod=no])
165 if test x$enable_music_libmikmod = xyes; then
166 AC_PATH_PROG(LIBMIKMOD_CONFIG, libmikmod-config, no, [$PATH])
167 if test "$LIBMIKMOD_CONFIG" != "no" ; then
169 CFLAGS_SAVED="$CFLAGS"
171 CFLAGS="$CFLAGS -DLIBMIKMOD_MUSIC `$LIBMIKMOD_CONFIG --cflags`"
172 LIBS="$LIBS `$LIBMIKMOD_CONFIG --libs`"
173 AC_MSG_CHECKING([for libmikmod - version >= $libmikmod_ver])
178 int main(int argc, char **argv)
180 long maj=$libmikmod_maj,min=$libmikmod_min,rev=$libmikmod_rev,ver=MikMod_GetVersion();
181 /*printf("(%d.%d.%d) ",ver>>16,(ver>>8)&0xff,ver&0xff);*/
182 if(ver>=((maj<<16)|(min<<8)|(rev))) {
186 printf("no\n*** libmikmod is older than %d.%d.%d, not using.\n",maj,min,rev);
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"])
194 AC_ARG_ENABLE([music-mod],
195 AC_HELP_STRING([--enable-music-mod], [enable MOD music via mikmod [[default=yes]]]),
196 [], [enable_music_mod=$no_libmikmod])
197 if test x$enable_music_mod = xyes -a x$enable_music_libmikmod = xno; then
198 EXTRA_CFLAGS="$EXTRA_CFLAGS -DMOD_MUSIC -I\$(srcdir)/mikmod"
199 SOURCES="$SOURCES $srcdir/mikmod/*.c"
201 AC_ARG_ENABLE([music-midi],
202 AC_HELP_STRING([--enable-music-midi], [enable MIDI music via timidity [[default=yes]]]),
203 [], [enable_music_midi=yes])
204 if test x$enable_music_midi = xyes; then
205 EXTRA_CFLAGS="$EXTRA_CFLAGS -DMID_MUSIC"
206 AC_ARG_ENABLE([music-timidity-midi],
207 AC_HELP_STRING([--enable-music-timidity-midi], [enable timidity MIDI output [[default=yes]]]),
208 [], [enable_music_timidity_midi=yes])
209 if test x$enable_music_timidity_midi = xyes; then
210 EXTRA_CFLAGS="$EXTRA_CFLAGS -DUSE_TIMIDITY_MIDI -I\$(srcdir)/timidity"
211 SOURCES="$SOURCES $srcdir/timidity/*.c"
213 AC_ARG_ENABLE([music-native-midi],
214 AC_HELP_STRING([--enable-music-native-midi], [enable native MIDI music output [[default=yes]]]),
215 [], [enable_music_native_midi=yes])
216 if test x$enable_music_native_midi = xyes; then
217 use_music_native_midi=no
219 *-*-cygwin* | *-*-mingw32*)
220 use_music_native_midi=yes
221 EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lwinmm"
224 use_music_native_midi=yes
225 EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,QuickTime -Wl,-framework,CoreServices"
228 if test x$use_music_native_midi = xyes; then
229 EXTRA_CFLAGS="$EXTRA_CFLAGS -DUSE_NATIVE_MIDI -I\$(srcdir)/native_midi"
230 SOURCES="$SOURCES $srcdir/native_midi/*.c"
233 AC_ARG_ENABLE([music-native-midi-gpl],
234 AC_HELP_STRING([--enable-music-native-midi-gpl], [enable native MIDI on UNIX using GPL code [[default=no]]]),
235 [], [enable_music_native_midi_gpl=no])
236 if test x$enable_music_native_midi_gpl = xyes; then
237 use_music_native_midi_gpl=no
239 *-*-linux* | *-*-freebsd*)
240 use_music_native_midi_gpl=yes
243 if test x$use_music_native_midi_gpl = xyes; then
244 EXTRA_CFLAGS="$EXTRA_CFLAGS -DUSE_NATIVE_MIDI -I\$(srcdir)/native_midi"
245 SOURCES="$SOURCES $srcdir/native_midi_gpl/*.c"
249 AC_ARG_ENABLE([music-ogg],
250 AC_HELP_STRING([--enable-music-ogg], [enable Ogg Vorbis music [[default=yes]]]),
251 [], [enable_music_ogg=yes])
252 AC_ARG_ENABLE(music-ogg-tremor,
253 [ --enable-music-ogg-tremor enable OGG music via libtremor [[default=no]]],
254 [], enable_music_ogg_tremor=no)
255 AC_ARG_ENABLE([music-ogg-shared],
256 AC_HELP_STRING([--enable-music-ogg-shared], [dynamically load Ogg Vorbis support [[default=yes]]]),
257 [], [enable_music_ogg_shared=yes])
258 if test x$enable_music_ogg = xyes; then
259 if test x$enable_music_ogg_tremor = xyes; then
260 AC_CHECK_HEADER([tremor/ivorbisfile.h], [have_tremor_hdr=yes])
261 AC_CHECK_LIB([vorbisidec], [ov_open_callbacks], [have_tremor_lib=yes])
262 if test x$have_tremor_hdr = xyes -a x$have_tremor_lib = xyes; then
265 ogg_lib=[`find_lib libvorbisidec*.dylib`]
266 if test x$ogg_lib = x; then
267 ogg_lib=[`find_lib libvorbisidec.[0-9]`]
269 if test x$ogg_lib = x; then
270 ogg_lib=[`find_lib libvorbisidec.[0-9]*`]
273 *-*-cygwin* | *-*-mingw32*)
274 ogg_lib=[`find_lib "vorbisidec*.dll"`]
277 ogg_lib=[`find_lib "libvorbisidec.so.[0-9]"`]
278 if test x$ogg_lib = x; then
279 ogg_lib=[`find_lib "libvorbisidec.so.[0-9]*"`]
283 SOURCES="$SOURCES $srcdir/*_ogg.c"
284 EXTRA_CFLAGS="$EXTRA_CFLAGS -DOGG_MUSIC -DOGG_USE_TREMOR"
285 if test x$enable_music_ogg_shared = xyes && test x$ogg_lib != x; then
286 echo "-- dynamic libvorbisidec -> $ogg_lib"
287 EXTRA_CFLAGS="$EXTRA_CFLAGS -DOGG_DYNAMIC=\\\"$ogg_lib\\\""
289 EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvorbisidec"
293 AC_CHECK_HEADER([vorbis/vorbisfile.h], [have_ogg_hdr=yes])
294 AC_CHECK_LIB([vorbisfile], [ov_open_callbacks], [have_ogg_lib=yes])
295 if test x$have_ogg_hdr = xyes -a x$have_ogg_lib = xyes; then
298 ogg_lib=[`find_lib libvorbisfile*.dylib`]
300 *-*-cygwin* | *-*-mingw32*)
301 ogg_lib=[`find_lib "libvorbisfile*.dll"`]
304 ogg_lib=[`find_lib "libvorbisfile.so.[0-9]"`]
305 if test x$ogg_lib = x; then
306 ogg_lib=[`find_lib "libvorbisfile.so.[0-9]*"`]
310 SOURCES="$SOURCES $srcdir/*_ogg.c"
311 EXTRA_CFLAGS="$EXTRA_CFLAGS -DOGG_MUSIC"
312 if test x$enable_music_ogg_shared = xyes && test x$ogg_lib != x; then
313 echo "-- dynamic libvorbisfile -> $ogg_lib"
314 EXTRA_CFLAGS="$EXTRA_CFLAGS -DOGG_DYNAMIC=\\\"$ogg_lib\\\""
316 EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvorbisfile -lvorbis -logg"
321 AC_ARG_ENABLE(music-mp3,
322 [ --enable-music-mp3 enable MP3 music via smpeg [[default=yes]]],
323 , enable_music_mp3=yes)
324 if test x$enable_music_mp3 = xyes; then
326 AM_PATH_SMPEG($SMPEG_VERSION, have_smpeg=yes, have_smpeg=no)
327 if test x$have_smpeg = xyes; then
328 AC_ARG_ENABLE([music-mp3-shared],
329 AC_HELP_STRING([--enable-music-mp3-shared], [dynamically load MP3 support [[default=yes]]]),
330 [], [enable_music_mp3_shared=yes])
333 smpeg_lib=[`find_lib libsmpeg*.dylib`]
335 *-*-cygwin* | *-*-mingw32*)
336 smpeg_lib=[`find_lib "smpeg*.dll"`]
339 smpeg_lib=[`find_lib "libsmpeg.so.[0-9]"`]
340 if test x$smpeg_lib = x; then
341 smpeg_lib=[`find_lib "libsmpeg.so.[0-9]*"`]
345 SOURCES="$SOURCES $srcdir/*_mp3.c"
346 EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_MUSIC $SMPEG_CFLAGS"
347 if test x$enable_music_mp3_shared = xyes && test x$smpeg_lib != x; then
348 echo "-- dynamic libsmpeg -> $smpeg_lib"
349 EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_DYNAMIC=\\\"$smpeg_lib\\\""
351 EXTRA_LDFLAGS="$EXTRA_LDFLAGS $SMPEG_LIBS"
355 AC_ARG_ENABLE(music-mp3-mad-gpl,
356 AC_HELP_STRING([--enable-music-mp3-mad-gpl], [enable MP3 music via libmad GPL code [[default=no]]]),
357 [], [enable_music_mp3_mad_gpl=no])
358 if test x$enable_music_mp3_mad_gpl = xyes; then
359 AC_MSG_CHECKING(for libmad headers)
367 AC_MSG_RESULT($have_libmad)
368 if test x$have_libmad = xyes; then
369 SOURCES="$SOURCES $srcdir/music_mad.c"
370 EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_MAD_MUSIC"
371 EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lmad"
375 OBJECTS=`echo $SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
376 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'`
378 dnl Expand the sources and objects needed to build the library
382 AC_SUBST(BUILD_CFLAGS)
383 AC_SUBST(EXTRA_CFLAGS)
384 AC_SUBST(BUILD_LDFLAGS)
385 AC_SUBST(EXTRA_LDFLAGS)
392 Makefile SDL_mixer.spec SDL_mixer.qpg
395 if test x"$MAKE" = x; then MAKE=make; fi; $MAKE depend