Commits

Bart van Strien committed 72f7166

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

  • Participants
  • Parent commits 77258c7

Comments (0)

Files changed (4)

File configure.in

 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

File src/modules/sound/lullaby/Mpg123Decoder.cpp

 * 3. This notice may not be removed or altered from any source distribution.
 **/
 
+#ifndef LOVE_NOMPG123
+
 #include "Mpg123Decoder.h"
 
 #include <common/Exception.h>
 } // lullaby
 } // sound
 } // love
+
+#endif // LOVE_NOMPG123

File src/modules/sound/lullaby/Mpg123Decoder.h

 * 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
 
 } // love
 
 #endif // LOVE_SOUND_LULLABY_LIBMPG123_DECODER_H
+#endif // LOVE_NOMPG123

File src/modules/sound/lullaby/Sound.cpp

 
 	Sound::~Sound()
 	{
+#ifndef LOVE_NOMPG123
 		Mpg123Decoder::quit();
+#endif // LOVE_NOMPG123
 	}
 
 	const char * Sound::getName() const
 		// 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))