summaryrefslogtreecommitdiff
path: root/media-tv/xbmc/files
diff options
context:
space:
mode:
Diffstat (limited to 'media-tv/xbmc/files')
-rwxr-xr-xmedia-tv/xbmc/files/generate.sh16
-rw-r--r--media-tv/xbmc/files/xbmc-11.0-ffmpeg-0.10.2.patch41
-rw-r--r--media-tv/xbmc/files/xbmc-11.0-ffmpeg.patch46
-rw-r--r--media-tv/xbmc/files/xbmc-11.0-libav-r1.patch71
-rw-r--r--media-tv/xbmc/files/xbmc-11.0-libav.patch72
-rw-r--r--media-tv/xbmc/files/xbmc-11.0-nfs-limits.patch28
-rw-r--r--media-tv/xbmc/files/xbmc-11.0-no-arm-flags.patch16
-rw-r--r--media-tv/xbmc/files/xbmc-11.0-nomythtv.patch206
-rw-r--r--media-tv/xbmc/files/xbmc-12.1-nomythtv.patch68
-rw-r--r--media-tv/xbmc/files/xbmc-12.3-no-sse2.patch185
-rw-r--r--media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch12
-rw-r--r--media-tv/xbmc/files/xbmc-9999-nomythtv.patch218
12 files changed, 795 insertions, 184 deletions
diff --git a/media-tv/xbmc/files/generate.sh b/media-tv/xbmc/files/generate.sh
new file mode 100755
index 00000000..1e610a7a
--- /dev/null
+++ b/media-tv/xbmc/files/generate.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+set -eux
+
+PV=$1
+PN=xbmc
+P="${PN}-${PV}"
+DISTDIR="/usr/portage/distfiles"
+
+rm -rf ${PN}-*/
+tar xf ${DISTDIR}/${P}.tar.gz
+cd ${PN}-*/
+make codegenerated -f codegenerator.mk -j
+cd ..
+tar cf - ${PN}-*/xbmc/interfaces/python/generated/*.cpp | xz > ${DISTDIR}/${P}-generated-addons.tar.xz
+rm -rf ${PN}-*/
diff --git a/media-tv/xbmc/files/xbmc-11.0-ffmpeg-0.10.2.patch b/media-tv/xbmc/files/xbmc-11.0-ffmpeg-0.10.2.patch
new file mode 100644
index 00000000..b6a2d731
--- /dev/null
+++ b/media-tv/xbmc/files/xbmc-11.0-ffmpeg-0.10.2.patch
@@ -0,0 +1,41 @@
+From 4d74bd14c0fa158c5a2bcf18192f418fafc3a053 Mon Sep 17 00:00:00 2001
+From: Tomas Chvatal <tchvatal@suse.cz>
+Date: Fri, 23 Mar 2012 11:59:02 +0100
+Subject: [PATCH 1/2] Add support for new ffmpeg-10/11 api.
+
+---
+ configure.in | 3 +++
+ lib/DllAvUtil.h | 3 +++
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index bca9239..bea66ac 100755
+--- a/configure.in
++++ b/configure.in
+@@ -1225,6 +1225,9 @@ if test "$use_external_ffmpeg" = "yes"; then
+ # old FFmpeg have this in libavcodec/opt.h instead:
+ AC_CHECK_HEADERS([libavutil/opt.h])
+
++ # new FFmpeg have math headers
++ AC_CHECK_HEADERS([libavutil/mathematics.h],,)
++
+ # We'll support the use of rgb2rgb.h if it exists.
+ AC_CHECK_HEADERS([libswscale/rgb2rgb.h],,)
+ AC_CHECK_HEADERS([ffmpeg/rgb2rgb.h],,)
+diff --git a/lib/DllAvUtil.h b/lib/DllAvUtil.h
+index e882cac..e3b8a02 100644
+--- a/lib/DllAvUtil.h
++++ b/lib/DllAvUtil.h
+@@ -59,6 +59,9 @@ extern "C" {
+ #else
+ #include <ffmpeg/mem.h>
+ #endif
++ #if (defined HAVE_LIBAVUTIL_MATHEMATICS_H)
++ #include <libavutil/mathematics.h>
++ #endif
+ #else
+ #include "libavutil/avutil.h"
+ #include "libavutil/crc.h"
+--
+1.7.3.4
+
diff --git a/media-tv/xbmc/files/xbmc-11.0-ffmpeg.patch b/media-tv/xbmc/files/xbmc-11.0-ffmpeg.patch
new file mode 100644
index 00000000..51372fdc
--- /dev/null
+++ b/media-tv/xbmc/files/xbmc-11.0-ffmpeg.patch
@@ -0,0 +1,46 @@
+https://bugs.gentoo.org/406215
+
+From 97212837ec81c3869ba60e0690f26c09b9428747 Mon Sep 17 00:00:00 2001
+From: Tomas Chvatal <tchvatal@suse.cz>
+Date: Fri, 30 Mar 2012 10:00:46 +0200
+Subject: [PATCH] Ensure we include proper header on ffmpeg.
+
+---
+ configure.in | 3 +++
+ lib/DllAvFilter.h | 6 +++++-
+ 2 files changed, 8 insertions(+), 1 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index bca9239..d209f80 100755
+--- a/configure.in
++++ b/configure.in
+@@ -1229,6 +1229,9 @@ if test "$use_external_ffmpeg" = "yes"; then
+ AC_CHECK_HEADERS([libswscale/rgb2rgb.h],,)
+ AC_CHECK_HEADERS([ffmpeg/rgb2rgb.h],,)
+
++ # check for avcodec header as it is not present on libav
++ AC_CHECK_HEADERS([libavfilter/avcodec.h],,)
++
+ # Check if AVFilterBufferRefVideoProps AVRational member is named
+ # 'pixel_aspect' or 'sample_aspect_ratio'.
+ AC_CHECK_MEMBER([AVFilterBufferRefVideoProps.sample_aspect_ratio],
+diff --git a/lib/DllAvFilter.h b/lib/DllAvFilter.h
+index 827746e..d47623b 100644
+--- a/lib/DllAvFilter.h
++++ b/lib/DllAvFilter.h
+@@ -48,7 +48,11 @@ extern "C" {
+ #endif
+ /* for av_vsrc_buffer_add_frame */
+ #if LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,8,0)
+- #include <libavfilter/vsrc_buffer.h>
++ #if defined(HAVE_LIBAVFILTER_AVCODEC_H)
++ #include <libavfilter/avcodec.h>
++ #else
++ #include <libavfilter/vsrc_buffer.h>
++ #endif
+ #elif LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,7,0)
+ int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter,
+ AVFrame *frame);
+--
+1.7.3.4
+
diff --git a/media-tv/xbmc/files/xbmc-11.0-libav-r1.patch b/media-tv/xbmc/files/xbmc-11.0-libav-r1.patch
new file mode 100644
index 00000000..84a215a7
--- /dev/null
+++ b/media-tv/xbmc/files/xbmc-11.0-libav-r1.patch
@@ -0,0 +1,71 @@
+Patch rebased to current patches backported from upstream by Alexis Ballier.
+Based on the previous patch, submitted upstream but not merged it seems:
+
+https://bugs.gentoo.org/406215
+
+From c74abc298e2075f431d9fa700fcfc5e1bbbddf22 Mon Sep 17 00:00:00 2001
+From: Tomas Chvatal <tchvatal@suse.cz>
+Date: Fri, 23 Mar 2012 12:08:53 +0100
+Subject: [PATCH 2/2] Add support for libav api as it sligthly differ.
+
+The libav use micro version as 0
+The ffmpeg use the micro version as 100+
+
+Simply check if the variable is defined then it is not libav.
+Index: xbmc-11.0/lib/DllAvFilter.h
+===================================================================
+--- xbmc-11.0.orig/lib/DllAvFilter.h
++++ xbmc-11.0/lib/DllAvFilter.h
+@@ -45,7 +45,11 @@ extern "C" {
+ #if (defined HAVE_LIBAVFILTER_AVFILTER_H)
+ #include <libavfilter/avfiltergraph.h>
+ #include <libavfilter/buffersink.h>
+- #include <libavfilter/avcodec.h>
++ #if LIBAVFILTER_VERSION_MICRO < 50 // Libav
++ #include <libavfilter/vsrc_buffer.h>
++ #else
++ #include <libavfilter/avcodec.h>
++ #endif
+ #elif (defined HAVE_FFMPEG_AVFILTER_H)
+ #include <ffmpeg/avfiltergraph.h>
+ #include <ffmpeg/buffersink.h>
+@@ -75,7 +79,11 @@ public:
+ virtual int avfilter_graph_parse(AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs, void *log_ctx)=0;
+ virtual int avfilter_graph_config(AVFilterGraph *graphctx, void *log_ctx)=0;
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
++#if LIBAVFILTER_VERSION_MICRO < 50 // Libav
++ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts, AVRational pixel_aspect)=0;
++#else
+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
++#endif
+ #else
+ virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
+ #endif
+@@ -135,7 +143,11 @@ public:
+ return ::avfilter_graph_config(graphctx, log_ctx);
+ }
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
++#if LIBAVFILTER_VERSION_MICRO < 50 // Libav
++ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts, AVRational pixel_aspect) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, pts, pixel_aspect); }
++#else
+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, flags); }
++#endif
+ #else
+ virtual int av_buffersrc_add_frame(AVFilterContext *buffer_filter, AVFrame* frame, int flags) { return ::av_buffersrc_add_frame(buffer_filter, frame, flags); }
+ #endif
+Index: xbmc-11.0/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+===================================================================
+--- xbmc-11.0.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
++++ xbmc-11.0/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+@@ -833,7 +833,11 @@ int CDVDVideoCodecFFmpeg::FilterProcess(
+ if (frame)
+ {
+ #if LIBAVFILTER_VERSION_INT < AV_VERSION_INT(3,0,0)
++#if LIBAVFILTER_VERSION_MICRO < 50 // Libav
++ result = m_dllAvFilter.av_vsrc_buffer_add_frame(m_pFilterIn, frame, frame->pts, m_pCodecContext->sample_aspect_ratio);
++#else
+ result = m_dllAvFilter.av_vsrc_buffer_add_frame(m_pFilterIn, frame, 0);
++#endif
+ #else
+ result = m_dllAvFilter.av_buffersrc_add_frame(m_pFilterIn, frame, 0);
+ #endif
diff --git a/media-tv/xbmc/files/xbmc-11.0-libav.patch b/media-tv/xbmc/files/xbmc-11.0-libav.patch
new file mode 100644
index 00000000..0aaa1ce4
--- /dev/null
+++ b/media-tv/xbmc/files/xbmc-11.0-libav.patch
@@ -0,0 +1,72 @@
+https://bugs.gentoo.org/406215
+
+From c74abc298e2075f431d9fa700fcfc5e1bbbddf22 Mon Sep 17 00:00:00 2001
+From: Tomas Chvatal <tchvatal@suse.cz>
+Date: Fri, 23 Mar 2012 12:08:53 +0100
+Subject: [PATCH 2/2] Add support for libav api as it sligthly differ.
+
+The libav use micro version as 0
+The ffmpeg use the micro version as 100+
+
+Simply check if the variable is defined then it is not libav.
+---
+ lib/DllAvFilter.h | 10 +++++++++-
+ .../DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 4 ++++
+ 2 files changed, 13 insertions(+), 1 deletions(-)
+
+diff --git a/lib/DllAvFilter.h b/lib/DllAvFilter.h
+index 302e35c..827746e 100644
+--- a/lib/DllAvFilter.h
++++ b/lib/DllAvFilter.h
+@@ -48,7 +48,7 @@ extern "C" {
+ #endif
+ /* for av_vsrc_buffer_add_frame */
+ #if LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,8,0)
+- #include <libavfilter/avcodec.h>
++ #include <libavfilter/vsrc_buffer.h>
+ #elif LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,7,0)
+ int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter,
+ AVFrame *frame);
+@@ -83,7 +83,11 @@ public:
+ virtual int avfilter_poll_frame(AVFilterLink *link)=0;
+ virtual int avfilter_request_frame(AVFilterLink *link)=0;
+ #if LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,13,0)
++#if LIBAVFILTER_VERSION_MICRO
+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags)=0;
++#else
++ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts, AVRational pixel_aspect)=0;
++#endif
+ #elif LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,7,0)
+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame)=0;
+ #elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,3,0)
+@@ -172,7 +176,11 @@ public:
+ virtual int avfilter_poll_frame(AVFilterLink *link) { return ::avfilter_poll_frame(link); }
+ virtual int avfilter_request_frame(AVFilterLink *link) { return ::avfilter_request_frame(link); }
+ #if LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,13,0)
++#if LIBAVFILTER_VERSION_MICRO
+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int flags) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, flags); }
++#else
++ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts, AVRational pixel_aspect) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame, pts, pixel_aspect); }
++#endif
+ #elif LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,7,0)
+ virtual int av_vsrc_buffer_add_frame(AVFilterContext *buffer_filter, AVFrame *frame) { return ::av_vsrc_buffer_add_frame(buffer_filter, frame); }
+ #elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,3,0)
+diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+index b4e1451..4e5eedf 100644
+--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
++++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+@@ -814,7 +814,11 @@ int CDVDVideoCodecFFmpeg::FilterProcess(AVFrame* frame)
+ if (frame)
+ {
+ #if LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,13,0)
++#if LIBAVFILTER_VERSION_MICRO
+ result = m_dllAvFilter.av_vsrc_buffer_add_frame(m_pFilterIn, frame, 0);
++#else
++ result = m_dllAvFilter.av_vsrc_buffer_add_frame(m_pFilterIn, frame, frame->pts, m_pCodecContext->sample_aspect_ratio);
++#endif
+ #elif LIBAVFILTER_VERSION_INT >= AV_VERSION_INT(2,7,0)
+ result = m_dllAvFilter.av_vsrc_buffer_add_frame(m_pFilterIn, frame);
+ #elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,3,0)
+--
+1.7.3.4
+
diff --git a/media-tv/xbmc/files/xbmc-11.0-nfs-limits.patch b/media-tv/xbmc/files/xbmc-11.0-nfs-limits.patch
new file mode 100644
index 00000000..ebee2d06
--- /dev/null
+++ b/media-tv/xbmc/files/xbmc-11.0-nfs-limits.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/445174
+
+fix from upstream
+
+From 6ffd1cb4e2cba40888c24ff84afd04a5a07a22e9 Mon Sep 17 00:00:00 2001
+From: Torsten Kurbad <github@tk-webart.de>
+Date: Wed, 28 Nov 2012 21:29:29 +0100
+Subject: [PATCH] NFSDirectory.cpp must include limits.h
+
+---
+ xbmc/filesystem/NFSDirectory.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/xbmc/filesystem/NFSDirectory.cpp b/xbmc/filesystem/NFSDirectory.cpp
+index 4dc0f31..d306331 100644
+--- a/xbmc/filesystem/NFSDirectory.cpp
++++ b/xbmc/filesystem/NFSDirectory.cpp
+@@ -35,6 +35,7 @@
+ #include "threads/SingleLock.h"
+ using namespace XFILE;
+ using namespace std;
++#include <limits.h>
+ #include <nfsc/libnfs-raw-mount.h>
+ #include <nfsc/libnfs-raw-nfs.h>
+
+--
+1.8.0
+
diff --git a/media-tv/xbmc/files/xbmc-11.0-no-arm-flags.patch b/media-tv/xbmc/files/xbmc-11.0-no-arm-flags.patch
new file mode 100644
index 00000000..179697a8
--- /dev/null
+++ b/media-tv/xbmc/files/xbmc-11.0-no-arm-flags.patch
@@ -0,0 +1,16 @@
+http://bugs.gentoo.org/400617
+
+do not force any particular ABI or FPU or SIMD compiler flags for arm
+targets. let the toolchain and user CFLAGS control that.
+
+--- a/configure.in
++++ b/configure.in
+@@ -571,7 +571,7 @@
+ LIBS="$LIBS -framework DiskArbitration"
+ LIBS="$LIBS -framework ApplicationServices"
+ fi
+-elif test "$use_arch" = "arm"; then
++elif false; then
+ CFLAGS="$CFLAGS -mfloat-abi=softfp -mno-apcs-stack-check"
+ CXXFLAGS="$CXXFLAGS -mfloat-abi=softfp -mno-apcs-stack-check"
+ FFMPEG_EXTRACFLAGS="-mfloat-abi=softfp"
diff --git a/media-tv/xbmc/files/xbmc-11.0-nomythtv.patch b/media-tv/xbmc/files/xbmc-11.0-nomythtv.patch
new file mode 100644
index 00000000..09286dba
--- /dev/null
+++ b/media-tv/xbmc/files/xbmc-11.0-nomythtv.patch
@@ -0,0 +1,206 @@
+http://trac.xbmc.org/ticket/11775
+
+make mysql/mythtv support optional
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -127,13 +127,17 @@ endif
+ LIB_DIRS=\
+ lib/cximage-6.0 \
+ lib/libexif \
+- lib/cmyth \
+ lib/libhdhomerun \
+ lib/libid3tag \
+ lib/libapetag \
+ lib/cpluff \
+ lib/xbmc-dll-symbols
+
++ifeq (@BUILD_MYTHTV@,1)
++LIB_DIRS+=\
++ lib/cmyth
++endif
++
+ SS_DIRS=
+ ifeq (@USE_OPENGL@,1)
+ SS_DIRS+= xbmc/screensavers/rsxs-0.9/xbmc
+@@ -418,7 +422,10 @@ imagelib: dllloader
+ $(MAKE) -C lib/cximage-6.0
+
+ codecs: papcodecs dvdpcodecs
+-libs: cmyth libhdhomerun libid3tag imagelib libexif system/libcpluff-@ARCH@.so
++libs: libhdhomerun libid3tag imagelib libexif system/libcpluff-@ARCH@.so
++ifeq (@BUILD_MYTHTV@,1)
++libs: cmyth
++endif
+ externals: codecs libs visualizations screensavers
+
+ xcode_depends: \
+--- a/configure.in
++++ b/configure.in
+@@ -68,6 +68,9 @@ goom_enabled="== GOOM enabled. =="
+ goom_disabled="== GOOM disabled. =="
+ pulse_not_found="== Could not find libpulse. PulseAudio support disabled. =="
+ pulse_disabled="== PulseAudio support manually disabled. =="
++mysql_not_found="Could not find libmysqlclient. MySQL (and MythTV) support disabled. =="
++mysql_disabled="== MySQL support disabled. =="
++mythtv_disabled="== MythTV support disabled. =="
+ dvdcss_enabled="== DVDCSS support enabled. =="
+ dvdcss_disabled="== DVDCSS support disabled. =="
+ hal_not_found="== Could not find hal. HAL support disabled. =="
+@@ -238,6 +241,18 @@ AC_ARG_ENABLE([ffmpeg_libvorbis],
+ [use_ffmpeg_libvorbis=$enableval],
+ [use_ffmpeg_libvorbis=no])
+
++AC_ARG_ENABLE([mysql],
++ [AS_HELP_STRING([--enable-mysql],
++ [enable MySQL support (default is auto)])],
++ [use_mysql=$enableval],
++ [use_mysql=auto])
++
++AC_ARG_ENABLE([mythtv],
++ [AS_HELP_STRING([--enable-mythtv],
++ [enable MythTV support (default is auto)])],
++ [use_mythtv=$enableval],
++ [use_mythtv=auto])
++
+ AC_ARG_ENABLE([dvdcss],
+ [AS_HELP_STRING([--enable-dvdcss],
+ [enable DVDCSS support (default is yes)])],
+@@ -563,14 +578,31 @@ else
+ fi
+
+ # platform common libraries
+-AC_CHECK_PROG(MYSQL_CONFIG, mysql_config, "yes", "no")
+-if test $MYSQL_CONFIG = "yes"; then
+- INCLUDES="$INCLUDES `mysql_config --include`"
+- MYSQL_LIBS=`mysql_config --libs`
+- LIBS="$LIBS $MYSQL_LIBS"
+- AC_SUBST(MYSQL_LIBS)
+-else
+- AC_MSG_ERROR($missing_program)
++have_mysql=no
++if test "$use_mysql" != "no"; then
++ AC_CHECK_PROG(MYSQL_CONFIG, mysql_config, "yes", "no")
++ if test $MYSQL_CONFIG = "yes"; then
++ INCLUDES="$INCLUDES `mysql_config --include`"
++ MYSQL_LIBS=`mysql_config --libs`
++ LIBS="$LIBS $MYSQL_LIBS"
++ AC_SUBST(MYSQL_LIBS)
++ AC_CHECK_LIB([mysqlclient], [main], have_mysql=yes)
++ fi
++fi
++if test "$have_mysql" = "yes"; then
++ BUILD_MYTHTV=1
++ AC_DEFINE([BUILD_MYSQL], [1], [Define to 1 to build MySQL.])
++ if test "$use_mysql" != "no"; then
++ AC_DEFINE([BUILD_MYTHTV], [1], [Define to 1 to build mythtv.])
++ fi
++elif test "$use_mysql" = "yes" || test "$use_mythtv" = "yes"; then
++ AC_MSG_ERROR([$mysql_not_found])
++else
++ BUILD_MYTHTV=0
++ use_mysql=no
++ AC_MSG_NOTICE($mysql_disabled)
++ use_mythtv=no
++ AC_MSG_NOTICE($mythtv_disabled)
+ fi
+ AC_CHECK_HEADER([ass/ass.h],, AC_MSG_ERROR($missing_library))
+ AC_CHECK_HEADER([mpeg2dec/mpeg2.h],, AC_MSG_ERROR($missing_library))
+@@ -594,7 +625,6 @@ AC_CHECK_LIB([lzo2], [main],, AC_MSG_ERROR($missing_library))
+ AC_CHECK_LIB([z], [main],, AC_MSG_ERROR($missing_library))
+ AC_CHECK_LIB([crypto], [main],, AC_MSG_ERROR($missing_library))
+ AC_CHECK_LIB([ssl], [main],, AC_MSG_ERROR($missing_library))
+-AC_CHECK_LIB([mysqlclient], [main],, AC_MSG_ERROR($missing_library))
+ AC_CHECK_LIB([ssh], [sftp_tell64],, AC_MSG_RESULT([Could not find suitable version of libssh]))
+ AC_CHECK_LIB([smbclient], [main],, AC_MSG_ERROR($missing_library))
+ AC_CHECK_LIB([bluetooth], [hci_devid],, AC_MSG_RESULT([Could not find suitable version of libbluetooth]))
+@@ -1319,6 +1349,18 @@ else
+ final_message="$final_message\n HAL Support:\tNo"
+ fi
+
++if test "$use_mysql" = "yes"; then
++ final_message="$final_message\n MySQL:\tYes"
++else
++ final_message="$final_message\n MySQL:\tNo"
++fi
++
++if test "$use_mythtv" = "yes"; then
++ final_message="$final_message\n MythTV:\tYes"
++else
++ final_message="$final_message\n MythTV:\tNo"
++fi
++
+ # DVDCSS
+ if test "$use_dvdcss" = "yes"; then
+ AC_MSG_NOTICE($dvdcss_enabled)
+@@ -1490,6 +1532,8 @@ AC_SUBST(USE_EXTERNAL_FFMPEG)
+ AC_SUBST(PYTHON_VERSION)
+ AC_SUBST(OUTPUT_FILES)
+ AC_SUBST(HAVE_XBMC_NONFREE)
++AC_SUBST(BUILD_MYSQL)
++AC_SUBST(BUILD_MYTHTV)
+ AC_SUBST(USE_ASAP_CODEC)
+ AC_SUBST(LIBCURL_BASENAME)
+ AC_SUBST(LIBFLAC_BASENAME)
+--- a/xbmc/dbwrappers/Database.cpp
++++ b/xbmc/dbwrappers/Database.cpp
+@@ -29,7 +29,9 @@
+ #include "utils/AutoPtrHandle.h"
+ #include "utils/log.h"
+ #include "utils/URIUtils.h"
++#ifdef BUILD_MYSQL
+ #include "mysqldataset.h"
++#endif /* BUILD_MYSQL */
+ #include "sqlitedataset.h"
+
+
+@@ -266,6 +268,7 @@
+
+ m_sqlite = true;
+
++#ifdef BUILD_MYSQL
+ if ( dbSettings.type.Equals("mysql") )
+ {
+ // check we have all information before we cancel the fallback
+@@ -276,7 +279,8 @@
+ CLog::Log(LOGINFO, "Essential mysql database information is missing. Require at least host, user and pass defined.");
+ }
+ else
++#endif /* BUILD_MYSQL */
+ {
+ dbSettings.type = "sqlite3";
+ dbSettings.host = _P(g_settings.GetDatabaseFolder());
+ dbSettings.name = GetBaseDBName();
+@@ -369,10 +373,12 @@
+ {
+ m_pDB.reset( new SqliteDatabase() ) ;
+ }
++#ifdef BUILD_MYSQL
+ else if (dbSettings.type.Equals("mysql"))
+ {
+ m_pDB.reset( new MysqlDatabase() ) ;
+ }
++#endif /* BUILD_MYSQL */
+ else
+ {
+ CLog::Log(LOGERROR, "Unable to determine database type: %s", dbSettings.type.c_str());
+--- a/xbmc/dbwrappers/mysqldataset.cpp
++++ b/xbmc/dbwrappers/mysqldataset.cpp
+@@ -23,9 +23,11 @@
+ #include <string>
+ #include <set>
+
++#include "system.h" // for GetLastError()
++#ifdef BUILD_MYSQL
++
+ #include "mysqldataset.h"
+ #include "utils/log.h"
+-#include "system.h" // for GetLastError()
+ #include "mysql/errmsg.h"
+ #ifdef _WIN32
+ #pragma comment(lib, "mysqlclient.lib")
+@@ -1562,3 +1564,4 @@
+
+ }//namespace
+
++#endif /* BUILD_MYSQL */
diff --git a/media-tv/xbmc/files/xbmc-12.1-nomythtv.patch b/media-tv/xbmc/files/xbmc-12.1-nomythtv.patch
new file mode 100644
index 00000000..f793ba34
--- /dev/null
+++ b/media-tv/xbmc/files/xbmc-12.1-nomythtv.patch
@@ -0,0 +1,68 @@
+http://trac.xbmc.org/ticket/11775
+
+make mythtv support optional
+
+diff --git a/Makefile.in b/Makefile.in
+index 9ffae7e..17cc525 100755
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -147,7 +147,7 @@ LIB_DIRS=\
+ lib/cpluff \
+ lib/xbmc-dll-symbols
+
+-ifeq (@USE_MYSQL@,1)
++ifeq (@USE_MYTHTV@,1)
+ LIB_DIRS += lib/cmyth
+ CMYTH=cmyth
+ endif
+diff --git a/configure.in b/configure.in
+index d44825f..629d7b4 100755
+--- a/configure.in
++++ b/configure.in
+@@ -387,6 +387,12 @@ AC_ARG_ENABLE([mysql],
+ [use_mysql=$enableval],
+ [use_mysql=yes])
+
++AC_ARG_ENABLE([mythtv],
++ [AS_HELP_STRING([--disable-mythtv],
++ [disable mythtv])],
++ [use_mythtv=$enableval],
++ [use_mythtv=yes])
++
+ AC_ARG_ENABLE([webserver],
+ [AS_HELP_STRING([--disable-webserver],
+ [disable webserver])],
+@@ -748,6 +754,9 @@ if test "$use_mysql" = "yes"; then
+ else
+ AC_MSG_ERROR($missing_program)
+ fi
++ if test "$use_mythtv" = "yes"; then
++ AC_DEFINE([HAVE_MYTHTV],[1],["Define to 1 if you want mythtv support"])
++ fi
+ fi
+ AC_CHECK_HEADER([ass/ass.h],, AC_MSG_ERROR($missing_library))
+ AC_CHECK_HEADER([mpeg2dec/mpeg2.h],, AC_MSG_ERROR($missing_library))
+@@ -1895,6 +1904,15 @@ else
+ final_message="$final_message\n MySQL:\tNo"
+ USE_MYSQL=0
+ fi
++
++if test "$use_mythtv" = "yes"; then
++ final_message="$final_message\n MythTV:\tYes"
++ USE_MYTHTV=1
++else
++ final_message="$final_message\n MythTV:\tNo"
++ USE_MYTHTV=0
++fi
++
+ if test "$use_webserver" = "yes"; then
+ final_message="$final_message\n Webserver:\tYes"
+ USE_WEB_SERVER=1
+@@ -2123,6 +2141,7 @@ AC_SUBST(USE_LIBUDEV)
+ AC_SUBST(USE_LIBUSB)
+ AC_SUBST(USE_LIBCEC)
+ AC_SUBST(USE_MYSQL)
++AC_SUBST(USE_MYTHTV)
+ AC_SUBST(USE_WEB_SERVER)
+
+
diff --git a/media-tv/xbmc/files/xbmc-12.3-no-sse2.patch b/media-tv/xbmc/files/xbmc-12.3-no-sse2.patch
new file mode 100644
index 00000000..a0f787c0
--- /dev/null
+++ b/media-tv/xbmc/files/xbmc-12.3-no-sse2.patch
@@ -0,0 +1,185 @@
+https://bugs.gentoo.org/475266
+
+From 07ccc514dc688f0dd53f603d206894023e65ab20 Mon Sep 17 00:00:00 2001
+From: Jose Quinteiro <gentoo@quinteiro.org>
+Date: Sat, 27 Apr 2013 11:29:51 -0700
+Subject: [PATCH] Detect SSE2 support
+
+Compilation on an older 32-bit Athlon XP chip fails with the error
+"./Utils/AEUtil.h:50:12: error: '__m128i' does not name a type"
+This is because the __m128i type is only available on SSE2 platforms.
+Modify the preprocessor logic to detect SSE and SSE2 support separately.
+
+The "emmintrin.h" header should only be included on SSE2 platforms as
+well.
+---
+ xbmc/cores/AudioEngine/Utils/AEConvert.cpp | 25 ++++++++++---------------
+ xbmc/cores/AudioEngine/Utils/AEUtil.cpp | 4 ++--
+ xbmc/cores/AudioEngine/Utils/AEUtil.h | 9 ++++++++-
+ 3 files changed, 20 insertions(+), 18 deletions(-)
+
+diff --git a/xbmc/cores/AudioEngine/Utils/AEConvert.cpp b/xbmc/cores/AudioEngine/Utils/AEConvert.cpp
+index 0b0b646..7cfde5e 100644
+--- a/xbmc/cores/AudioEngine/Utils/AEConvert.cpp
++++ b/xbmc/cores/AudioEngine/Utils/AEConvert.cpp
+@@ -33,11 +33,6 @@
+ #include <math.h>
+ #include <string.h>
+
+-#ifdef __SSE__
+-#include <xmmintrin.h>
+-#include <emmintrin.h>
+-#endif
+-
+ #ifdef __ARM_NEON__
+ #include <arm_neon.h>
+ #endif
+@@ -517,7 +512,7 @@ unsigned int CAEConvert::Float_S8(float *data, const unsigned int samples, uint8
+ unsigned int CAEConvert::Float_S16LE(float *data, const unsigned int samples, uint8_t *dest)
+ {
+ int16_t *dst = (int16_t*)dest;
+- #ifdef __SSE__
++ #ifdef __SSE2__
+
+ unsigned int count = samples;
+ unsigned int unaligned = (0x10 - ((uintptr_t)data & 0xF)) >> 2;
+@@ -623,7 +618,7 @@ unsigned int CAEConvert::Float_S16LE(float *data, const unsigned int samples, ui
+ /* cleanup */
+ _mm_empty();
+
+- #else /* no SSE */
++ #else /* no SSE2 */
+
+ uint32_t i = 0;
+ uint32_t even = samples & ~0x3;
+@@ -651,7 +646,7 @@ unsigned int CAEConvert::Float_S16LE(float *data, const unsigned int samples, ui
+ unsigned int CAEConvert::Float_S16BE(float *data, const unsigned int samples, uint8_t *dest)
+ {
+ int16_t *dst = (int16_t*)dest;
+- #ifdef __SSE__
++ #ifdef __SSE2__
+
+ unsigned int count = samples;
+ unsigned int unaligned = (0x10 - ((uintptr_t)data & 0xF)) >> 2;
+@@ -757,7 +752,7 @@ unsigned int CAEConvert::Float_S16BE(float *data, const unsigned int samples, ui
+ /* cleanup */
+ _mm_empty();
+
+- #else /* no SSE */
++ #else /* no SSE2 */
+
+ uint32_t i = 0;
+ uint32_t even = samples & ~0x3;
+@@ -785,7 +780,7 @@ unsigned int CAEConvert::Float_S16BE(float *data, const unsigned int samples, ui
+ unsigned int CAEConvert::Float_S24NE4(float *data, const unsigned int samples, uint8_t *dest)
+ {
+ int32_t *dst = (int32_t*)dest;
+- #ifdef __SSE__
++ #ifdef __SSE2__
+
+ const __m128 mul = _mm_set_ps1((float)INT24_MAX+.5f);
+ unsigned int count = samples;
+@@ -835,7 +830,7 @@ unsigned int CAEConvert::Float_S24NE4(float *data, const unsigned int samples, u
+ }
+ }
+ _mm_empty();
+- #else /* no SSE */
++ #else /* no SSE2 */
+ for (uint32_t i = 0; i < samples; ++i)
+ *dst++ = (safeRound(*data++ * ((float)INT24_MAX+.5f)) & 0xFFFFFF) << 8;
+ #endif
+@@ -929,7 +924,7 @@ unsigned int CAEConvert::Float_S24NE3(float *data, const unsigned int samples, u
+ unsigned int CAEConvert::Float_S32LE(float *data, const unsigned int samples, uint8_t *dest)
+ {
+ int32_t *dst = (int32_t*)dest;
+- #ifdef __SSE__
++ #ifdef __SSE2__
+ const __m128 mul = _mm_set_ps1(MUL32);
+ unsigned int count = samples;
+
+@@ -989,7 +984,7 @@ unsigned int CAEConvert::Float_S32LE(float *data, const unsigned int samples, ui
+ _mm_empty();
+ #else
+
+- /* no SIMD */
++ /* no SSE2 */
+ for (uint32_t i = 0; i < samples; ++i, ++data, ++dst)
+ {
+ dst[0] = safeRound(data[0] * MUL32);
+@@ -1038,7 +1033,7 @@ unsigned int CAEConvert::Float_S32LE_Neon(float *data, const unsigned int sample
+ unsigned int CAEConvert::Float_S32BE(float *data, const unsigned int samples, uint8_t *dest)
+ {
+ int32_t *dst = (int32_t*)dest;
+- #ifdef __SSE__
++ #ifdef __SSE2__
+ const __m128 mul = _mm_set_ps1(MUL32);
+ unsigned int count = samples;
+
+@@ -1097,7 +1092,7 @@ unsigned int CAEConvert::Float_S32BE(float *data, const unsigned int samples, ui
+ }
+ _mm_empty();
+ #else
+- /* no SIMD */
++ /* no SSE2 */
+ for (uint32_t i = 0; i < samples; ++i, ++data, ++dst)
+ {
+ dst[0] = safeRound(data[0] * MUL32);
+diff --git a/xbmc/cores/AudioEngine/Utils/AEUtil.cpp b/xbmc/cores/AudioEngine/Utils/AEUtil.cpp
+index 6de84dc..2b6e0cd 100644
+--- a/xbmc/cores/AudioEngine/Utils/AEUtil.cpp
++++ b/xbmc/cores/AudioEngine/Utils/AEUtil.cpp
+@@ -30,7 +30,7 @@ using namespace std;
+
+ /* declare the rng seed and initialize it */
+ unsigned int CAEUtil::m_seed = (unsigned int)(CurrentHostCounter() / 1000.0f);
+-#ifdef __SSE__
++#ifdef __SSE2__
+ /* declare the SSE seed and initialize it */
+ MEMALIGN(16, __m128i CAEUtil::m_sseSeed) = _mm_set_epi32(CAEUtil::m_seed, CAEUtil::m_seed+1, CAEUtil::m_seed, CAEUtil::m_seed+1);
+ #endif
+@@ -386,7 +386,7 @@ float CAEUtil::FloatRand1(const float min, const float max)
+
+ void CAEUtil::FloatRand4(const float min, const float max, float result[4], __m128 *sseresult/* = NULL */)
+ {
+- #ifdef __SSE__
++ #ifdef __SSE2__
+ /*
+ this method may be called from other SSE code, we need
+ to calculate the delta & factor using SSE as the FPU
+diff --git a/xbmc/cores/AudioEngine/Utils/AEUtil.h b/xbmc/cores/AudioEngine/Utils/AEUtil.h
+index 48cbc3b..6fdb7f2 100644
+--- a/xbmc/cores/AudioEngine/Utils/AEUtil.h
++++ b/xbmc/cores/AudioEngine/Utils/AEUtil.h
+@@ -27,6 +27,9 @@
+ #ifdef TARGET_WINDOWS
+ #if _M_IX86_FP>0 && !defined(__SSE__)
+ #define __SSE__
++#if _M_IX86_FP>1 && !defined(__SSE2__)
++#define __SSE2__
++#endif
+ #endif
+ #endif
+
+@@ -36,6 +39,10 @@
+ #define __m128 void
+ #endif
+
++#ifdef __SSE2__
++#include <emmintrin.h>
++#endif
++
+ #ifdef __GNUC__
+ #define MEMALIGN(b, x) x __attribute__((aligned(b)))
+ #else
+@@ -63,7 +70,7 @@ class CAEUtil
+ {
+ private:
+ static unsigned int m_seed;
+- #ifdef __SSE__
++ #ifdef __SSE2__
+ static __m128i m_sseSeed;
+ #endif
+
+--
+1.8.4.3
+
diff --git a/media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch b/media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch
index 179697a8..82a73835 100644
--- a/media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch
+++ b/media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch
@@ -6,11 +6,11 @@ targets. let the toolchain and user CFLAGS control that.
--- a/configure.in
+++ b/configure.in
@@ -571,7 +571,7 @@
- LIBS="$LIBS -framework DiskArbitration"
- LIBS="$LIBS -framework ApplicationServices"
- fi
+ elif test "$target_platform" = "target_raspberry_pi"; then
+ ARCH="arm"
+ use_arch="arm"
-elif test "$use_arch" = "arm"; then
+elif false; then
- CFLAGS="$CFLAGS -mfloat-abi=softfp -mno-apcs-stack-check"
- CXXFLAGS="$CXXFLAGS -mfloat-abi=softfp -mno-apcs-stack-check"
- FFMPEG_EXTRACFLAGS="-mfloat-abi=softfp"
+ CFLAGS="$CFLAGS -mno-apcs-stack-check"
+ CXXFLAGS="$CXXFLAGS -mno-apcs-stack-check"
+ FFMPEG_EXTRACFLAGS=""
diff --git a/media-tv/xbmc/files/xbmc-9999-nomythtv.patch b/media-tv/xbmc/files/xbmc-9999-nomythtv.patch
index 09286dba..f793ba34 100644
--- a/media-tv/xbmc/files/xbmc-9999-nomythtv.patch
+++ b/media-tv/xbmc/files/xbmc-9999-nomythtv.patch
@@ -1,206 +1,68 @@
http://trac.xbmc.org/ticket/11775
-make mysql/mythtv support optional
+make mythtv support optional
+diff --git a/Makefile.in b/Makefile.in
+index 9ffae7e..17cc525 100755
--- a/Makefile.in
+++ b/Makefile.in
-@@ -127,13 +127,17 @@ endif
- LIB_DIRS=\
- lib/cximage-6.0 \
- lib/libexif \
-- lib/cmyth \
- lib/libhdhomerun \
- lib/libid3tag \
- lib/libapetag \
+@@ -147,7 +147,7 @@ LIB_DIRS=\
lib/cpluff \
lib/xbmc-dll-symbols
-+ifeq (@BUILD_MYTHTV@,1)
-+LIB_DIRS+=\
-+ lib/cmyth
-+endif
-+
- SS_DIRS=
- ifeq (@USE_OPENGL@,1)
- SS_DIRS+= xbmc/screensavers/rsxs-0.9/xbmc
-@@ -418,7 +422,10 @@ imagelib: dllloader
- $(MAKE) -C lib/cximage-6.0
-
- codecs: papcodecs dvdpcodecs
--libs: cmyth libhdhomerun libid3tag imagelib libexif system/libcpluff-@ARCH@.so
-+libs: libhdhomerun libid3tag imagelib libexif system/libcpluff-@ARCH@.so
-+ifeq (@BUILD_MYTHTV@,1)
-+libs: cmyth
-+endif
- externals: codecs libs visualizations screensavers
-
- xcode_depends: \
+-ifeq (@USE_MYSQL@,1)
++ifeq (@USE_MYTHTV@,1)
+ LIB_DIRS += lib/cmyth
+ CMYTH=cmyth
+ endif
+diff --git a/configure.in b/configure.in
+index d44825f..629d7b4 100755
--- a/configure.in
+++ b/configure.in
-@@ -68,6 +68,9 @@ goom_enabled="== GOOM enabled. =="
- goom_disabled="== GOOM disabled. =="
- pulse_not_found="== Could not find libpulse. PulseAudio support disabled. =="
- pulse_disabled="== PulseAudio support manually disabled. =="
-+mysql_not_found="Could not find libmysqlclient. MySQL (and MythTV) support disabled. =="
-+mysql_disabled="== MySQL support disabled. =="
-+mythtv_disabled="== MythTV support disabled. =="
- dvdcss_enabled="== DVDCSS support enabled. =="
- dvdcss_disabled="== DVDCSS support disabled. =="
- hal_not_found="== Could not find hal. HAL support disabled. =="
-@@ -238,6 +241,18 @@ AC_ARG_ENABLE([ffmpeg_libvorbis],
- [use_ffmpeg_libvorbis=$enableval],
- [use_ffmpeg_libvorbis=no])
+@@ -387,6 +387,12 @@ AC_ARG_ENABLE([mysql],
+ [use_mysql=$enableval],
+ [use_mysql=yes])
-+AC_ARG_ENABLE([mysql],
-+ [AS_HELP_STRING([--enable-mysql],
-+ [enable MySQL support (default is auto)])],
-+ [use_mysql=$enableval],
-+ [use_mysql=auto])
-+
+AC_ARG_ENABLE([mythtv],
-+ [AS_HELP_STRING([--enable-mythtv],
-+ [enable MythTV support (default is auto)])],
++ [AS_HELP_STRING([--disable-mythtv],
++ [disable mythtv])],
+ [use_mythtv=$enableval],
-+ [use_mythtv=auto])
++ [use_mythtv=yes])
+
- AC_ARG_ENABLE([dvdcss],
- [AS_HELP_STRING([--enable-dvdcss],
- [enable DVDCSS support (default is yes)])],
-@@ -563,14 +578,31 @@ else
- fi
-
- # platform common libraries
--AC_CHECK_PROG(MYSQL_CONFIG, mysql_config, "yes", "no")
--if test $MYSQL_CONFIG = "yes"; then
-- INCLUDES="$INCLUDES `mysql_config --include`"
-- MYSQL_LIBS=`mysql_config --libs`
-- LIBS="$LIBS $MYSQL_LIBS"
-- AC_SUBST(MYSQL_LIBS)
--else
-- AC_MSG_ERROR($missing_program)
-+have_mysql=no
-+if test "$use_mysql" != "no"; then
-+ AC_CHECK_PROG(MYSQL_CONFIG, mysql_config, "yes", "no")
-+ if test $MYSQL_CONFIG = "yes"; then
-+ INCLUDES="$INCLUDES `mysql_config --include`"
-+ MYSQL_LIBS=`mysql_config --libs`
-+ LIBS="$LIBS $MYSQL_LIBS"
-+ AC_SUBST(MYSQL_LIBS)
-+ AC_CHECK_LIB([mysqlclient], [main], have_mysql=yes)
-+ fi
-+fi
-+if test "$have_mysql" = "yes"; then
-+ BUILD_MYTHTV=1
-+ AC_DEFINE([BUILD_MYSQL], [1], [Define to 1 to build MySQL.])
-+ if test "$use_mysql" != "no"; then
-+ AC_DEFINE([BUILD_MYTHTV], [1], [Define to 1 to build mythtv.])
+ AC_ARG_ENABLE([webserver],
+ [AS_HELP_STRING([--disable-webserver],
+ [disable webserver])],
+@@ -748,6 +754,9 @@ if test "$use_mysql" = "yes"; then
+ else
+ AC_MSG_ERROR($missing_program)
+ fi
++ if test "$use_mythtv" = "yes"; then
++ AC_DEFINE([HAVE_MYTHTV],[1],["Define to 1 if you want mythtv support"])
+ fi
-+elif test "$use_mysql" = "yes" || test "$use_mythtv" = "yes"; then
-+ AC_MSG_ERROR([$mysql_not_found])
-+else
-+ BUILD_MYTHTV=0
-+ use_mysql=no
-+ AC_MSG_NOTICE($mysql_disabled)
-+ use_mythtv=no
-+ AC_MSG_NOTICE($mythtv_disabled)
fi
AC_CHECK_HEADER([ass/ass.h],, AC_MSG_ERROR($missing_library))
AC_CHECK_HEADER([mpeg2dec/mpeg2.h],, AC_MSG_ERROR($missing_library))
-@@ -594,7 +625,6 @@ AC_CHECK_LIB([lzo2], [main],, AC_MSG_ERROR($missing_library))
- AC_CHECK_LIB([z], [main],, AC_MSG_ERROR($missing_library))
- AC_CHECK_LIB([crypto], [main],, AC_MSG_ERROR($missing_library))
- AC_CHECK_LIB([ssl], [main],, AC_MSG_ERROR($missing_library))
--AC_CHECK_LIB([mysqlclient], [main],, AC_MSG_ERROR($missing_library))
- AC_CHECK_LIB([ssh], [sftp_tell64],, AC_MSG_RESULT([Could not find suitable version of libssh]))
- AC_CHECK_LIB([smbclient], [main],, AC_MSG_ERROR($missing_library))
- AC_CHECK_LIB([bluetooth], [hci_devid],, AC_MSG_RESULT([Could not find suitable version of libbluetooth]))
-@@ -1319,6 +1349,18 @@ else
- final_message="$final_message\n HAL Support:\tNo"
+@@ -1895,6 +1904,15 @@ else
+ final_message="$final_message\n MySQL:\tNo"
+ USE_MYSQL=0
fi
-
-+if test "$use_mysql" = "yes"; then
-+ final_message="$final_message\n MySQL:\tYes"
-+else
-+ final_message="$final_message\n MySQL:\tNo"
-+fi
+
+if test "$use_mythtv" = "yes"; then
+ final_message="$final_message\n MythTV:\tYes"
++ USE_MYTHTV=1
+else
+ final_message="$final_message\n MythTV:\tNo"
++ USE_MYTHTV=0
+fi
+
- # DVDCSS
- if test "$use_dvdcss" = "yes"; then
- AC_MSG_NOTICE($dvdcss_enabled)
-@@ -1490,6 +1532,8 @@ AC_SUBST(USE_EXTERNAL_FFMPEG)
- AC_SUBST(PYTHON_VERSION)
- AC_SUBST(OUTPUT_FILES)
- AC_SUBST(HAVE_XBMC_NONFREE)
-+AC_SUBST(BUILD_MYSQL)
-+AC_SUBST(BUILD_MYTHTV)
- AC_SUBST(USE_ASAP_CODEC)
- AC_SUBST(LIBCURL_BASENAME)
- AC_SUBST(LIBFLAC_BASENAME)
---- a/xbmc/dbwrappers/Database.cpp
-+++ b/xbmc/dbwrappers/Database.cpp
-@@ -29,7 +29,9 @@
- #include "utils/AutoPtrHandle.h"
- #include "utils/log.h"
- #include "utils/URIUtils.h"
-+#ifdef BUILD_MYSQL
- #include "mysqldataset.h"
-+#endif /* BUILD_MYSQL */
- #include "sqlitedataset.h"
-
-
-@@ -266,6 +268,7 @@
-
- m_sqlite = true;
-
-+#ifdef BUILD_MYSQL
- if ( dbSettings.type.Equals("mysql") )
- {
- // check we have all information before we cancel the fallback
-@@ -276,7 +279,8 @@
- CLog::Log(LOGINFO, "Essential mysql database information is missing. Require at least host, user and pass defined.");
- }
- else
-+#endif /* BUILD_MYSQL */
- {
- dbSettings.type = "sqlite3";
- dbSettings.host = _P(g_settings.GetDatabaseFolder());
- dbSettings.name = GetBaseDBName();
-@@ -369,10 +373,12 @@
- {
- m_pDB.reset( new SqliteDatabase() ) ;
- }
-+#ifdef BUILD_MYSQL
- else if (dbSettings.type.Equals("mysql"))
- {
- m_pDB.reset( new MysqlDatabase() ) ;
- }
-+#endif /* BUILD_MYSQL */
- else
- {
- CLog::Log(LOGERROR, "Unable to determine database type: %s", dbSettings.type.c_str());
---- a/xbmc/dbwrappers/mysqldataset.cpp
-+++ b/xbmc/dbwrappers/mysqldataset.cpp
-@@ -23,9 +23,11 @@
- #include <string>
- #include <set>
-
-+#include "system.h" // for GetLastError()
-+#ifdef BUILD_MYSQL
-+
- #include "mysqldataset.h"
- #include "utils/log.h"
--#include "system.h" // for GetLastError()
- #include "mysql/errmsg.h"
- #ifdef _WIN32
- #pragma comment(lib, "mysqlclient.lib")
-@@ -1562,3 +1564,4 @@
+ if test "$use_webserver" = "yes"; then
+ final_message="$final_message\n Webserver:\tYes"
+ USE_WEB_SERVER=1
+@@ -2123,6 +2141,7 @@ AC_SUBST(USE_LIBUDEV)
+ AC_SUBST(USE_LIBUSB)
+ AC_SUBST(USE_LIBCEC)
+ AC_SUBST(USE_MYSQL)
++AC_SUBST(USE_MYTHTV)
+ AC_SUBST(USE_WEB_SERVER)
- }//namespace
-+#endif /* BUILD_MYSQL */