Mercurial > SDL_sound_CoreAudio
view configure.in @ 562:7e08477b0fc1
MP3 decoder upgrade work.
Ripped out SMPEG and mpglib support, replaced it with "mpg123.c" and libmpg123.
libmpg123 is a much better version of mpglib, so it should solve all the
problems about MP3's not seeking, or most modern MP3's not playing at all,
etc. Since you no longer have to make a tradeoff with SMPEG for features, and
SMPEG is basically rotting, I removed it from the project.
There is still work to be done with libmpg123...there are MMX, 3DNow, SSE,
Altivec, etc decoders which we don't have enabled at the moment, and the
build system could use some work to make this compile more cleanly, etc.
Still: huge win.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Fri, 30 Jan 2009 02:44:47 -0500 |
parents | f2985e08589c |
children | cddbe182ae5e |
line wrap: on
line source
# Process this file with autoconf to produce a configure script. AC_INIT(SDL_sound.c) dnl --------------------------------------------------------------------- dnl System/version info dnl --------------------------------------------------------------------- # 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. MAJOR_VERSION=1 MINOR_VERSION=0 MICRO_VERSION=1 INTERFACE_AGE=0 BINARY_AGE=0 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) dnl Detect the canonical host and target build environment AC_CANONICAL_HOST AC_CANONICAL_TARGET dnl Setup for automake AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(SDL_sound, $VERSION) dnl --------------------------------------------------------------------- dnl Compilers and other tools dnl --------------------------------------------------------------------- AC_PROG_CC AC_PROG_INSTALL AC_PROG_LN_S AM_PROG_AS AM_PROG_LIBTOOL dnl --------------------------------------------------------------------- dnl Debug mode? dnl --------------------------------------------------------------------- AC_ARG_ENABLE(debug, [ --enable-debug enable debug mode [default=no]], , enable_debug=no) if test x$enable_debug = xyes; then if test x$ac_cv_prog_cc_g = xyes; then SDLSOUNDCFLAGS="$SDLSOUNDCFLAGS -g -O0" else SDLSOUNDCFLAGS="$SDLSOUNDCFLAGS -O0" fi SDLSOUNDCFLAGS="$SDLSOUNDCFLAGS -Werror" AC_DEFINE(DEBUG, 1, [Define for debug builds.]) AC_DEFINE(DEBUG_CHATTER, 1, [Define for debug build chattering.]) else AC_DEFINE(NDEBUG, 1, [Define to disable debugging.]) fi dnl --------------------------------------------------------------------- dnl Have GCC's -fvisibility option? dnl --------------------------------------------------------------------- AC_MSG_CHECKING(for GCC -fvisibility=hidden option) have_gcc_fvisibility=no visibility_CFLAGS="-fvisibility=hidden" save_CFLAGS="$CFLAGS" CFLAGS="$save_CFLAGS $visibility_CFLAGS" AC_TRY_COMPILE([ int placeholder = 1; ],[ ],[ have_gcc_fvisibility=yes ]) AC_MSG_RESULT($have_gcc_fvisibility) CFLAGS="$save_CFLAGS" if test x$have_gcc_fvisibility = xyes; then SDLSOUNDCFLAGS="$SDLSOUNDCFLAGS $visibility_CFLAGS" fi dnl --------------------------------------------------------------------- dnl Checks for libraries. dnl --------------------------------------------------------------------- dnl Check for SDL SDL_VERSION=1.2.0 AM_PATH_SDL($SDL_VERSION, :, AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]) ) SDLSOUNDCFLAGS="$SDLSOUNDCFLAGS $SDL_CFLAGS" LIBS="$LIBS $SDL_LIBS" dnl Check for voc decoder inclusion... AC_ARG_ENABLE(voc, [ --enable-voc enable VOC decoding [default=yes]], , enable_voc=yes) if test x$enable_voc = xyes; then AC_DEFINE(SOUND_SUPPORTS_VOC, 1, [Define if VOC support is desired.]) fi dnl Check for wav decoder inclusion... AC_ARG_ENABLE(wav, [ --enable-wav enable WAV decoding [default=yes]], , enable_wav=yes) if test x$enable_wav = xyes; then AC_DEFINE(SOUND_SUPPORTS_WAV, 1, [Define if WAV support is desired.]) fi dnl Check for raw decoder inclusion... AC_ARG_ENABLE(raw, [ --enable-raw enable raw audio "decoding" [default=yes]], , enable_raw=yes) if test x$enable_raw = xyes; then AC_DEFINE(SOUND_SUPPORTS_RAW, 1, [Define if RAW support is desired.]) fi dnl Check for aiff decoder inclusion... AC_ARG_ENABLE(aiff, [ --enable-aiff enable AIFF decoding [default=yes]], , enable_aiff=yes) if test x$enable_aiff = xyes; then AC_DEFINE(SOUND_SUPPORTS_AIFF, 1, [Define if AIFF support is desired.]) fi dnl Check for au decoder inclusion AC_ARG_ENABLE(au, [ --enable-au enable AU decoding [default=yes]], , enable_au=yes) if test x$enable_au = xyes; then AC_DEFINE(SOUND_SUPPORTS_AU, 1, [Define if AU support is desired.]) fi dnl Check for shn decoder inclusion... AC_ARG_ENABLE(shn, [ --enable-shn enable SHN decoding [default=yes]], , enable_shn=yes) if test x$enable_shn = xyes; then AC_DEFINE(SOUND_SUPPORTS_SHN, 1, [Define if SHN support is desired.]) fi dnl Check for the MIDI decoder... AC_ARG_ENABLE(midi, [ --enable-midi enable software MIDI music [default=yes]], , enable_midi=yes) if test x$enable_midi = xyes; then AC_DEFINE(SOUND_SUPPORTS_MIDI, 1, [Define if MIDI support is desired.]) fi dnl Check for the MP3 decoder... AC_ARG_ENABLE(mpg123, [ --enable-mpg123 enable MP3 decoding [default=yes]], , enable_mpg123=yes) if test x$enable_mpg123 = xyes; then AC_DEFINE(SOUND_SUPPORTS_MPG123, 1, [Define if MPG123 support is desired.]) fi dnl Check for libmikmod AC_ARG_ENABLE(mikmod, [ --enable-mikmod enable MOD decoding via mikmod [default=yes]], , enable_mikmod=yes) if test x$enable_mikmod = xyes; then AC_CHECK_HEADER(mikmod.h, have_mikmod_hdr=yes) AC_CHECK_LIB(mikmod, MikMod_RegisterDriver, have_mikmod_lib=yes) if test x$have_mikmod_hdr = xyes -a x$have_mikmod_lib = xyes; then LIBS="$LIBS -lmikmod" AC_DEFINE(SOUND_SUPPORTS_MIKMOD, 1, [Define if MIKMOD support is desired.]) fi fi dnl Check for libmodplug AC_ARG_ENABLE(modplug, [ --enable-modplug enable MOD decoding via modplug [default=yes]], , enable_modplug=yes) if test x$enable_modplug = xyes; then have_modplug_hdr=no AC_CHECK_HEADER(modplug.h, have_modplug_hdr=yes) if test x$have_modplug_hdr = xno; then AC_CHECK_HEADER(libmodplug/modplug.h, have_modplug_hdr=yes) if test x$have_modplug_hdr = xyes; then have_modplug_hdr=yes AC_DEFINE(SOUND_MODPLUG_IN_OWN_PATH, 1, [Define if modplug header is in own directory.]) fi fi AC_CHECK_LIB(modplug, ModPlug_Load, have_modplug_lib=yes) if test x$have_modplug_hdr = xyes -a x$have_modplug_lib = xyes; then LIBS="$LIBS -lmodplug" AC_DEFINE(SOUND_SUPPORTS_MODPLUG, 1, [Define if MODPLUG support is desired.]) fi fi AC_CHECK_HEADER(ogg/ogg.h, have_ogg_hdr=yes) AC_CHECK_LIB(ogg, ogg_sync_init, have_ogg_lib=yes) have_ogg=no if test x$have_ogg_hdr = xyes -a x$have_ogg_lib = xyes; then have_ogg=yes fi dnl !!! FIXME: should be --enable-vorbis. dnl Check for Ogg Vorbis AC_ARG_ENABLE(ogg, [ --enable-ogg enable OGG decoding via libvorbis [default=yes]], , enable_ogg=yes) if test x$enable_ogg = xyes; then AC_CHECK_HEADER(vorbis/codec.h, have_vorbis_hdr=yes) AC_CHECK_LIB(vorbis, vorbis_info_init, have_vorbis_lib=yes) AC_CHECK_HEADER(vorbis/vorbisfile.h, have_vorbisfile_hdr=yes) AC_CHECK_LIB(vorbisfile, ov_open_callbacks, have_vorbisfile_lib=yes) have_vorbis=no if test x$have_ogg = xyes; then if test x$have_vorbis_hdr = xyes -a x$have_vorbis_lib = xyes; then if test x$have_vorbisfile_hdr = xyes -a x$have_vorbisfile_lib = xyes; then have_vorbis=yes fi fi fi if test x$have_vorbis = xyes; then LIBS="$LIBS -logg -lvorbis -lvorbisfile" AC_DEFINE(SOUND_SUPPORTS_OGG, 1, [Define if OGG support is desired.]) fi fi dnl Note that we intentionally look for a symbol in FLAC 1.0.4, since the dnl FLAC developers tend to break their API with every release, so we're dnl checking for the latest-and-greatest here so we don't have to support dnl obsolete versions. dnl Starting with FLAC 1.1.3: dnl libFLAC supports Ogg FLAC (no more libOggFLAC) so we also need -logg dnl the libFLAC .so version is also #defined in FLAC/export.h dnl Hooray for shitty autoconf bugs! x="C__stream_decoder_process_single" flcsym="FLA$x" dnl Check for libFLAC AC_ARG_ENABLE(flac, [ --enable-flac enable FLAC decoding via libFLAC [default=yes]], , enable_flac=yes) if test x$enable_flac = xyes; then AC_CHECK_HEADER(FLAC/stream_decoder.h, have_flac_hdr=yes) AC_CHECK_LIB(FLAC, $flcsym, have_flac_lib=yes) if test x$have_ogg = xyes; then if test x$have_flac_hdr = xyes -a x$have_flac_lib = xyes; then LIBS="$LIBS -lFLAC -logg" AC_DEFINE(SOUND_SUPPORTS_FLAC, 1, [Define if FLAC support is desired.]) fi fi fi dnl Check for speex AC_ARG_ENABLE(speex, [ --enable-speex enable SPX decoding via libspeex [default=yes]], , enable_speex=yes) if test x$enable_speex = xyes; then AC_CHECK_HEADER(ogg/ogg.h, have_ogg_hdr=yes) AC_CHECK_LIB(ogg, ogg_sync_init, have_ogg_lib=yes) AC_CHECK_HEADER(speex/speex.h, have_speex_hdr=yes) AC_CHECK_LIB(speex, speex_bits_init, have_speex_lib=yes) if test "x$have_ogg_hdr" = "xyes" -a "x$have_ogg_lib" = "xyes" -a "x$have_speex_hdr" = "xyes" -a "x$have_speex_lib" = "xyes"; then LIBS="$LIBS -logg -lspeex" AC_DEFINE(SOUND_SUPPORTS_SPEEX, 1, [Define if SPEEX support is desired.]) fi fi dnl Check for PhysicsFS http://icculus.org/physfs/ AC_ARG_ENABLE(physfs, [ --enable-physfs enable PhysicsFS in playsound [default=yes]], , enable_physfs=yes) if test x$enable_physfs = xyes; then AC_CHECK_HEADER(physfs.h, have_physfs_hdr=yes) AC_CHECK_LIB(physfs, PHYSFS_init, have_physfs_lib=yes) if test x$have_physfs_hdr = xyes -a x$have_physfs_lib = xyes; then enable_physfs="yes" else enable_physfs="no" fi fi # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([stdlib.h string.h signal.h assert.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T # Checks for library functions. # This is only in the bleeding edge autoconf distro... #AC_FUNC_MALLOC AC_FUNC_MEMCMP AC_CHECK_FUNCS([memset strrchr setbuf]) CFLAGS="$SDLSOUNDCFLAGS $CFLAGS -D_REENTRANT -D_THREAD_SAFE" dnl Add Makefile conditionals AM_CONDITIONAL(USE_TIMIDITY, test x$enable_midi = xyes) AM_CONDITIONAL(USE_LIBMPG123, test x$enable_mpg123 = xyes) AM_CONDITIONAL(USE_PHYSICSFS, test x$enable_physfs = xyes) AC_OUTPUT([ Makefile decoders/Makefile decoders/timidity/Makefile decoders/libmpg123/Makefile playsound/Makefile ])