All pastes #330719 Raw Edit

Mine

public text v1 · immutable
#330719 ·published 2007-01-28 05:06 UTC
rendered paste body
Index: build.sh
===================================================================
--- build.sh    (revision 2559)
+++ build.sh    (working copy)
@@ -191,14 +191,20 @@
        local GLEW_PREFIX_RELEASE="$INSTALL_ROOT/glew-install"
        local WX_PREFIX_DEBUG="$INSTALL_ROOT/wxWidgets-install-debug"
        local WX_PREFIX_RELEASE="$INSTALL_ROOT/wxWidgets-install-release"
-
+
+       if [ $NO_FMOD ]; then
+               local FMOD="--without-fmod"
+       else
+               local FMOD="--with-fmod-prefix=$FMOD_PREFIX_DEBUG"
+       fi
+
        [[ $DO_GENERATE ]] && GenerateCities3DMakefiles
 
        if [ $DO_DEBUG ]; then
                ConfigureAndMake "$CITIES3D_BASE" \
                                 "$CITIES3D_COMMON $CITIES3D_DEBUG \
                                  --with-boost-prefix=$BOOST_PREFIX_DEBUG \
-                                 --with-fmod-prefix=$FMOD_PREFIX_DEBUG \
+                                 $FMOD \
                                  --with-glew-prefix=$GLEW_PREFIX_DEBUG \
                                  --with-wx-prefix=$WX_PREFIX_DEBUG" \
                                 "$BUILD_ROOT/Cities3D-build-debug" \
@@ -232,6 +238,7 @@
 
        [[ $arg == "boost" || $arg == "all" ]] && DO_BOOST=1
        [[ $arg == "fmod" || $arg == "all" ]] && DO_FMOD=1
+       [[ $arg == "nofmod" || $arg == "disable-fmod" ]] && NO_FMOD=1
        [[ $arg == "glew" || $arg == "all" ]] && DO_GLEW=1
        [[ $arg == "wxWidgets" || $arg == "all" ]] && DO_WX=1
        [[ $arg == "Cities3D" || $arg == "all" ]] && DO_CITIES3D=1
Index: Cities3D/configure.ac
===================================================================
--- Cities3D/configure.ac       (revision 2559)
+++ Cities3D/configure.ac       (working copy)
@@ -57,6 +57,13 @@
 fi
 
 # Check for fmod-3.74.1 exactly
+AC_MSG_CHECKING(if fmod is disabled)
+AC_ARG_WITH(fmod,
+       [  --without-fmod         Disables use of the non-free library Fmod (and sound)], 
+       [AC_MSG_RESULT(yes)
+        disable-fmod=1],
+[
+AC_MSG_RESULT(no)
 AM_PATH_FMOD([3.74.1], [fmodFound=1])
 if test "$fmodFound" != 1; then
        AC_MSG_ERROR([
@@ -68,8 +75,12 @@
 
                You can specify the prefix where fmod is installed by
                using --with-fmod-prefix=PATH when running configure.
+
+               Alternatively, you can use --without-fmod to disable
+               fmod. This will disable audio support.
        ])
 fi
+])
 
 # Check for glew-1.3.5 exactly
 AM_PATH_GLEW([1.3.5], [glewFound=1])
@@ -121,6 +132,10 @@
        # Enable optimization and symbol stripping only in non-debug mode
        C3D_CXXFLAGS="-O3 -s -DNDEBUG"
 fi
+if test "$disable-fmod == 1"; then
+       # Make sure source-files know not to use fmod
+       C3D_CXXFLAGS="$C3D_CXXFLAGS -Ddisable-fmod"
+fi
 # Enable precompiled wxWidgets headers
 C3D_CXXFLAGS="$C3D_CXXFLAGS -DWX_PRECOMP"
 # Enable all standard and extra warnings
Index: Cities3D/src/RulesCore/SoundEngine.cpp
===================================================================
--- Cities3D/src/RulesCore/SoundEngine.cpp      (revision 2559)
+++ Cities3D/src/RulesCore/SoundEngine.cpp      (working copy)
@@ -20,8 +20,10 @@
 #include "SoundEngine.h"
 #include "FilePath.h"
 #include "ConfigDatabase.h"
-#include "fmod.h"
-#include "fmod_errors.h"
+#ifndef disable-fmod
+ #include "fmod.h"
+ #include "fmod_errors.h"
+#endif
 
 //---------------------------- TYPEDEFS         -----------------------------//
 #ifdef _DEBUG
@@ -31,6 +33,13 @@
 //---------------------------- STATICS          -----------------------------//
 
 //---------------------------- PUBLIC           -----------------------------//
+#ifdef disable-fmod
+ //Empty until there is an alternative
+ 
+ SoundEngine::SoundEngine() {}
+ void SoundEngine::PlaySound(const wxString &sound) const {}
+#else
+
 SoundEngine::SoundEngine()
 {
        if(FALSE == FSOUND_Init(44100, 32, 0))
@@ -75,8 +84,9 @@
        }
 }
 
+#endif
+
 //---------------------------- PROTECTED        -----------------------------//
 
 //---------------------------- PRIVATE          -----------------------------//
 
-