Browse Source

Make using mpg123 optional, add option to linux build system

Added so people can make patent-free builds (easily), for example for patent-free distro's
Bart van Strien 13 years ago
parent
commit
7b161e5c41

+ 8 - 5
configure.in

@@ -55,12 +55,15 @@ AC_SEARCH_LIBS([ilInit], [IL], [], AC_MSG_ERROR([Can't LÖVE without DevIL]))
 AC_SEARCH_LIBS([FT_Load_Glyph], [freetype], [], AC_MSG_ERROR([Can't LÖVE without FreeType]))
 AC_SEARCH_LIBS([PHYSFS_init], [physfs], [], AC_MSG_ERROR([Can't LÖVE without PhysicsFS]))
 AC_SEARCH_LIBS([ModPlug_Load], [modplug], [], AC_MSG_ERROR([Can't LÖVE without ModPlug]))
-AC_SEARCH_LIBS([mpg123_open_feed], [mpg123], [], AC_MSG_ERROR([Can't LÖVE without Mpg123]))
-AC_SEARCH_LIBS([mpg123_seek_64], [mpg123], AC_SUBST([FILE_OFFSET],[-D_FILE_OFFSET_BITS=64]), AC_SUBST([FILE_OFFSET],[]))
 AC_SEARCH_LIBS([ov_open], [vorbisfile], [], AC_MSG_ERROR([Can't LÖVE without VorbisFile]))
-AC_ARG_ENABLE([headless],
-	      [  --enable-headless Build with less SDL],
-	      AC_DEFINE([LOVE_HEADLESS], [], [Build with less SDL]), [])
+
+AC_ARG_ENABLE([mpg123], AC_HELP_STRING([--disable-mpg123], [Disable mp3 support, for patent-free builds]), [], [enable_mpg123=yes])
+AS_IF([test "x$enable_mpg123" != xno],
+	AC_SEARCH_LIBS([mpg123_open_feed], [mpg123], [], AC_MSG_ERROR([Can't LÖVE without Mpg123])),
+	AC_DEFINE([LOVE_NOMPG123], [], [Build without mpg123]))
+AS_IF([test "x$enable_mpg123" != xno],
+	AC_SEARCH_LIBS([mpg123_seek_64], [mpg123], AC_SUBST([FILE_OFFSET],[-D_FILE_OFFSET_BITS=64]), AC_SUBST([FILE_OFFSET],[])))
+
 AC_CONFIG_FILES([
 	Makefile
 	src/Makefile

+ 4 - 0
src/modules/sound/lullaby/Mpg123Decoder.cpp

@@ -18,6 +18,8 @@
 * 3. This notice may not be removed or altered from any source distribution.
 **/
 
+#ifndef LOVE_NOMPG123
+
 #include "Mpg123Decoder.h"
 
 #include <common/Exception.h>
@@ -229,3 +231,5 @@ namespace lullaby
 } // lullaby
 } // sound
 } // love
+
+#endif // LOVE_NOMPG123

+ 2 - 0
src/modules/sound/lullaby/Mpg123Decoder.h

@@ -18,6 +18,7 @@
 * 3. This notice may not be removed or altered from any source distribution.
 **/
 
+#ifndef LOVE_NOMPG123
 #ifndef LOVE_SOUND_LULLABY_LIBMPG123_DECODER_H
 #define LOVE_SOUND_LULLABY_LIBMPG123_DECODER_H
 
@@ -77,3 +78,4 @@ namespace lullaby
 } // love
 
 #endif // LOVE_SOUND_LULLABY_LIBMPG123_DECODER_H
+#endif // LOVE_NOMPG123

+ 4 - 0
src/modules/sound/lullaby/Sound.cpp

@@ -37,7 +37,9 @@ namespace lullaby
 
 	Sound::~Sound()
 	{
+#ifndef LOVE_NOMPG123
 		Mpg123Decoder::quit();
+#endif // LOVE_NOMPG123
 	}
 
 	const char * Sound::getName() const
@@ -55,8 +57,10 @@ namespace lullaby
 		// Find a suitable decoder here, and return it.
 		if (ModPlugDecoder::accepts(ext))
 			decoder = new ModPlugDecoder(data, ext, bufferSize);
+#ifndef LOVE_NOMPG123
 		else if (Mpg123Decoder::accepts(ext))
 			decoder = new Mpg123Decoder(data, ext, bufferSize);
+#endif // LOVE_NOMPG123
 		else if (VorbisDecoder::accepts(ext))
 			decoder = new VorbisDecoder(data, ext, bufferSize);
 		/*else if (FLACDecoder::accepts(ext))