aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gray2005-06-30 09:14:36 +0000
committerJonathan Gray2005-06-30 09:14:36 +0000
commit2e273bad42819b04f45cda164766f38af3815529 (patch)
tree23cd4704ad52a24d7c9b285ae13ec7ff91d7b122
parentf4a72b7b580ee672f31bb2e8c5a03602a36c8de3 (diff)
downloadscummvm-rg350-2e273bad42819b04f45cda164766f38af3815529.tar.gz
scummvm-rg350-2e273bad42819b04f45cda164766f38af3815529.tar.bz2
scummvm-rg350-2e273bad42819b04f45cda164766f38af3815529.zip
Enhanced tremor support from Jolan Luff.
The configure script now works as follows for detection: Tremor only: use tremor Vorbis only: use vorbis Both: use vorbis This behaviour can be changed with newly added configure script options. svn-id: r18478
-rwxr-xr-xconfigure37
-rw-r--r--sound/vorbis.cpp6
2 files changed, 42 insertions, 1 deletions
diff --git a/configure b/configure
index af84d7b24e..ae1ba3508c 100755
--- a/configure
+++ b/configure
@@ -15,6 +15,7 @@ CXXFLAGS="$CXXFLAGS $CPPFLAGS"
# default lib behaviour yes/no/auto
_vorbis=auto
+_tremor=auto
_flac=auto
_mad=auto
_alsa=auto
@@ -289,6 +290,9 @@ Optional Libraries:
--with-vorbis-prefix=DIR Prefix where libvorbis is installed (optional)
--disable-vorbis disable Ogg Vorbis support [autodetect]
+ --with-tremor-prefix=DIR Prefix where tremor is installed (optional)
+ --disable-tremor disable tremor support [autodetect]
+
--with-mad-prefix=DIR Prefix where libmad is installed (optional)
--disable-mad disable libmad (MP3) support [autodetect]
@@ -342,6 +346,8 @@ for ac_option in $@; do
--disable-alsa) _alsa=no ;;
--enable-vorbis) _vorbis=yes ;;
--disable-vorbis) _vorbis=no ;;
+ --enable-tremor) _tremor=yes ;;
+ --disable-tremor) _tremor=no ;;
--enable-flac) _flac=yes ;;
--disable-flac) _flac=no ;;
--enable-mad) _mad=yes ;;
@@ -380,6 +386,11 @@ for ac_option in $@; do
VORBIS_CFLAGS="-I$_prefix/include"
VORBIS_LIBS="-L$_prefix/lib"
;;
+ --with-tremor-prefix=*)
+ _prefix=`echo $ac_option | cut -d '=' -f 2`
+ TREMOR_CFLAGS="-I$_prefix/include"
+ TREMOR_LIBS="-L$_prefix/lib"
+ ;;
--with-flac-prefix=*)
_prefix=`echo $ac_option | cut -d '=' -f 2`
FLAC_CFLAGS="-I$_prefix/include"
@@ -919,6 +930,31 @@ else
fi
echo "$_vorbis"
+#
+# Check for Tremor
+#
+echocheck "Tremor"
+if test "$_tremor" = auto ; then
+ _tremor=no
+ cat > $TMPC << EOF
+#include <tremor/ivorbiscodec.h>
+int main(void) { vorbis_packet_blocksize(0,0); return 0; }
+EOF
+cc_check $LDFLAGS $CXXFLAGS $TREMOR_CFLAGS $TREMOR_LIBS -lvorbisidec && \
+ _tremor=yes
+fi
+if test "$_tremor" = yes && test "$_vorbis" = no; then
+ _def_tremor='#define USE_TREMOR'
+ LIBS="$LIBS $TREMOR_LIBS -lvorbisidec"
+ INCLUDES="$INCLUDES $TREMOR_CFLAGS"
+else
+ if test "$_vorbis" = yes; then
+ _tremor="no (Ogg Vorbis/Tremor support is mutually exclusive)"
+ fi
+ _def_tremor='#undef USE_TREMOR'
+fi
+echo "$_tremor"
+
echocheck "FLAC >= 1.0.1"
if test "$_flac" = auto ; then
_flac=no
@@ -1208,6 +1244,7 @@ typedef signed $type_4_byte int32;
/* Libs */
$_def_vorbis
+$_def_tremor
$_def_flac
$_def_mad
$_def_alsa
diff --git a/sound/vorbis.cpp b/sound/vorbis.cpp
index 5d510173d1..0f771cb5e3 100644
--- a/sound/vorbis.cpp
+++ b/sound/vorbis.cpp
@@ -21,7 +21,7 @@
#include "sound/vorbis.h"
-#ifdef USE_VORBIS
+#if defined(USE_TREMOR) || defined(USE_VORBIS)
#include "common/file.h"
#include "common/util.h"
@@ -29,7 +29,11 @@
#include "sound/audiostream.h"
#include "sound/audiocd.h"
+#ifdef USE_TREMOR
+#include <tremor/ivorbisfile.h>
+#else
#include <vorbis/vorbisfile.h>
+#endif
using Common::File;