summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/xine-lib-1-configure_ac.patch21
-rw-r--r--src/xine-lib-1-fixes.patch143
-rw-r--r--src/xine-lib-2-build_fixes.patch303
-rw-r--r--src/xine-lib-2-wavpack-alloca.patch23
-rw-r--r--src/xine-lib-3-more_build_fixes.patch106
-rw-r--r--src/xine-lib-4-mkdir.patch11
-rw-r--r--src/xine-lib-5-change_mma_h_to_mma_win32_h.patch300
-rw-r--r--src/xine-lib.mk19
8 files changed, 748 insertions, 178 deletions
diff --git a/src/xine-lib-1-configure_ac.patch b/src/xine-lib-1-configure_ac.patch
new file mode 100644
index 0000000..c2da23c
--- /dev/null
+++ b/src/xine-lib-1-configure_ac.patch
@@ -0,0 +1,21 @@
+diff -urN xine-lib-1.2.4/configure.ac xine-lib-1.2.4-patch/configure.ac
+--- xine-lib-1.2.4/configure.ac 2013-09-20 16:04:44.000000000 +0300
++++ xine-lib-1.2.4-patch/configure.ac 2013-12-17 11:45:43.657189416 +0200
+@@ -343,7 +343,7 @@
+ AC_CHECK_HEADERS([alloca.h])
+ AC_CHECK_HEADERS([assert.h byteswap.h dirent.h errno.h execinfo.h fcntl.h glob.h])
+ AC_CHECK_HEADERS([libgen.h malloc.h netdb.h stdbool.h ucontext.h])
+-AC_CHECK_HEADERS([sys/ioctl.h sys/mixer.h sys/mman.h sys/param.h sys/times.h sys/wait.h])
++AC_CHECK_HEADERS([sys/mixer.h sys/mman-win32.h sys/param.h sys/times.h sys/wait.h])
+
+ dnl This is duplicative due to AC_HEADER_STDC, but src/input/vcd stuff needs to
+ dnl have HAVE_STDIO_H defined, or it won't compile.
+@@ -378,7 +378,7 @@
+
+ AC_CACHE_CHECK([type of request parameter for ioctl()], [ac_cv_ioctl_request], [
+ for ac_ioctl_request_type in "unsigned long" "int"; do
+- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/ioctl.h>
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <windows.h>
+ int ioctl(int fd, $ac_ioctl_request_type request, ...);]], [[]])],
+ [ac_cv_ioctl_request=$ac_ioctl_request_type], [])
+ done
diff --git a/src/xine-lib-1-fixes.patch b/src/xine-lib-1-fixes.patch
deleted file mode 100644
index 5db3279..0000000
--- a/src/xine-lib-1-fixes.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-From 6dc46ed1253c1fce1cfa8d360e352b5bc12d0d3b Mon Sep 17 00:00:00 2001
-From: "mxe@mxe.cc" <mxe@mxe.cc>
-Date: Sun, 13 Nov 2011 12:05:22 +0100
-Subject: [PATCH 1/4] fake missing definitions for WIN32
-
-Taken from:
-https://bugs.xine-project.org/show_bug.cgi?id=433
----
- src/audio_out/audio_file_out.c | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/src/audio_out/audio_file_out.c b/src/audio_out/audio_file_out.c
-index bc40d4e..a613a89 100644
---- a/src/audio_out/audio_file_out.c
-+++ b/src/audio_out/audio_file_out.c
-@@ -53,6 +53,18 @@
- #endif
- #endif
-
-+#ifdef WIN32
-+#ifndef S_IWUSR
-+#define S_IWUSR 0x0000
-+#endif
-+#ifndef S_IRGRP
-+#define S_IRGRP 0x0000
-+#endif
-+#ifndef S_IROTH
-+#define S_IROTH 0x0000
-+#endif
-+#endif
-+
- /* Taken (hStudlyCapsAndAll) from sox's wavwritehdr */
-
- struct wavhdr {
---
-1.7.10.4
-
-
-From 4a7cd803cbc3daa3f19fdc6b34fb93e1994bc2f5 Mon Sep 17 00:00:00 2001
-From: "mxe@mxe.cc" <mxe@mxe.cc>
-Date: Sun, 13 Nov 2011 13:45:21 +0100
-Subject: [PATCH 2/4] force graphicsmagick over imagemagick
-
----
- configure.ac | 9 ---------
- 1 file changed, 9 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9112b58..67f1147 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1412,14 +1412,6 @@ AC_ARG_WITH([imagemagick],
- AS_HELP_STRING([--without-imagemagick], [Build without ImageMagick image decoder (or GraphicsMagick's compat layer)]))
-
- if test "x$with_imagemagick" != "xno"; then
-- PKG_CHECK_MODULES([WAND], [Wand], [have_imagemagick=yes], [AC_MSG_RESULT([no]); have_imagemagick=no])
-- if test "x$have_imagemagick" = 'xno'; then
-- PKG_CHECK_MODULES([MAGICKWAND], [MagickWand], [have_imagemagick=yes], [AC_MSG_RESULT([no]); have_imagemagick=no])
-- dnl Avoid $(WAND_FLAGS) $(MAGICKWAND_FLAGS) ...
-- WAND_CFLAGS="$MAGICKWAND_CFLAGS"
-- WAND_LIBS="$MAGICKWAND_LIBS"
-- fi
-- if test "x$have_imagemagick" = 'xno'; then
- PKG_CHECK_MODULES([GRAPHICSMAGICK], [ImageMagick], [have_imagemagick=yes], [AC_MSG_RESULT([no]); have_imagemagick=no])
- PKG_CHECK_MODULES([GRAPHICSMAGICKWAND], [GraphicsMagickWand], [have_imagemagick=yes], [AC_MSG_RESULT([no]); have_imagemagick=no])
- dnl The following assignments are safe, since they include
-@@ -1427,7 +1419,6 @@ if test "x$with_imagemagick" != "xno"; then
- WAND_CFLAGS="$GRAPHICSMAGICKWAND_CFLAGS"
- WAND_LIBS="$GRAPHICSMAGICKWAND_LIBS"
- AC_DEFINE([HAVE_GRAPHICSMAGICK], [1], [Define this if you have GraphicsMagick installed])
-- fi
- if test "x$with_imagemagick" = "xyes" && test "x$have_imagemagick" = "xno"; then
- AC_MSG_ERROR([ImageMagick support requested, but neither Wand, MagickWand, nor GraphicsMagick were found])
- elif test "x$have_imagemagick" = "xyes"; then
---
-1.7.10.4
-
-
-From 5b362f4aed3a814a351cd259efb62b40761ddb3d Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Sun, 27 May 2012 23:28:57 +0200
-Subject: [PATCH 3/4] add missing localtime_r
-
-Previously provided by pthreads-w32-2-8-0-release, which is also
-the source of this version.
----
- src/localtime_r.h | 3 +++
- src/xine-engine/scratch.c | 1 +
- 2 files changed, 4 insertions(+)
- create mode 100644 src/localtime_r.h
-
-diff --git a/src/localtime_r.h b/src/localtime_r.h
-new file mode 100644
-index 0000000..ec778c5
---- /dev/null
-+++ b/src/localtime_r.h
-@@ -0,0 +1,3 @@
-+#define localtime_r( _clock, _result ) \
-+ ( *(_result) = *localtime( (_clock) ), \
-+ (_result) )
-diff --git a/src/xine-engine/scratch.c b/src/xine-engine/scratch.c
-index 39bb592..41d561b 100644
---- a/src/xine-engine/scratch.c
-+++ b/src/xine-engine/scratch.c
-@@ -36,6 +36,7 @@
-
- #include "xineutils.h"
- #include "scratch.h"
-+#include "localtime_r.h"
-
- static void XINE_FORMAT_PRINTF(2, 0)
- scratch_printf (scratch_buffer_t *this, const char *format, va_list argp)
---
-1.7.10.4
-
-
-From 0d3546c3c12a8bf311c9751f0d0d2e3a95569657 Mon Sep 17 00:00:00 2001
-From: Mark Brand <mabrand@mabrand.nl>
-Date: Sun, 27 May 2012 23:23:19 +0200
-Subject: [PATCH 4/4] ffmpeg 0.11 removed avcodec_init
-
----
- src/combined/ffmpeg/ffmpeg_decoder.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/combined/ffmpeg/ffmpeg_decoder.c b/src/combined/ffmpeg/ffmpeg_decoder.c
-index 879df53..84ee1a3 100644
---- a/src/combined/ffmpeg/ffmpeg_decoder.c
-+++ b/src/combined/ffmpeg/ffmpeg_decoder.c
-@@ -312,7 +312,6 @@ void avcodec_register_all(void)
-
- void init_once_routine(void) {
- pthread_mutex_init(&ffmpeg_lock, NULL);
-- avcodec_init();
- avcodec_register_all();
- }
-
---
-1.7.10.4
-
diff --git a/src/xine-lib-2-build_fixes.patch b/src/xine-lib-2-build_fixes.patch
new file mode 100644
index 0000000..8fcb100
--- /dev/null
+++ b/src/xine-lib-2-build_fixes.patch
@@ -0,0 +1,303 @@
+diff -urN xine-lib-1.2.4/configure.ac xine-lib-1.2.4-patch/configure.ac
+--- xine-lib-1.2.4/configure.ac 2013-12-17 11:45:43.657189416 +0200
++++ xine-lib-1.2.4-patch/configure.ac 2013-12-17 14:57:28.907822042 +0200
+@@ -544,7 +544,7 @@
+
+ if test "$WIN32_SYS" = "mingw32"; then
+ WIN32_INCLUDES='-I$(top_srcdir)/win32/include'
+- LIBS="-lwinmm -lwsock32 $LIBS"
++ LIBS="-lwinmm -lwsock32 -lmman $LIBS"
+ LDFLAGS="-Wl,--enable-stdcall-fixup $LDFLAGS"
+ dnl iberty has been needed only in older versions
+ AC_CHECK_LIB(iberty, strncomp, [GOOM_LIBS="-liberty"])
+diff -urN xine-lib-1.2.4/include/xine/xine_internal.h xine-lib-1.2.4-patch/include/xine/xine_internal.h
+--- xine-lib-1.2.4/include/xine/xine_internal.h 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/include/xine/xine_internal.h 2013-12-17 15:14:55.229127435 +0200
+@@ -55,6 +55,26 @@
+ /* used by plugin loader */
+ #define XINE_VERSION_CODE XINE_MAJOR_VERSION*10000+XINE_MINOR_VERSION*100+XINE_SUB_VERSION
+
++// Add there to support them on MinGW
++#define timeradd(a, b, result) \
++ do { \
++ (result)->tv_sec = (a)->tv_sec + (b)->tv_sec; \
++ (result)->tv_usec = (a)->tv_usec + (b)->tv_usec; \
++ if ((result)->tv_usec >= 1000000L) { \
++ ++(result)->tv_sec; \
++ (result)->tv_usec -= 1000000L; \
++ } \
++ } while (0)
++
++#define timersub(a, b, result) \
++ do { \
++ (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \
++ (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \
++ if ((result)->tv_usec < 0) { \
++ --(result)->tv_sec; \
++ (result)->tv_usec += 1000000L; \
++ } \
++ } while (0)
+
+ /*
+ * log constants
+diff -urN xine-lib-1.2.4/include/xine/xineutils.h xine-lib-1.2.4-patch/include/xine/xineutils.h
+--- xine-lib-1.2.4/include/xine/xineutils.h 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/include/xine/xineutils.h 2013-12-20 12:29:33.465030673 +0200
+@@ -119,8 +119,8 @@
+
+
+ /* Optimized/fast memcpy */
+-
+-extern void *(* xine_fast_memcpy)(void *to, const void *from, size_t len) XINE_PROTECTED;
++//extern void *xine_fast_memcpy(void *to, const void *from, size_t len);
++#define xine_fast_memcpy(a, b, c) memcpy(a, b, c)
+
+ /*
+ * Debug stuff
+diff -urN xine-lib-1.2.4/misc/Makefile.am xine-lib-1.2.4-patch/misc/Makefile.am
+--- xine-lib-1.2.4/misc/Makefile.am 2012-02-05 21:17:01.000000000 +0200
++++ xine-lib-1.2.4-patch/misc/Makefile.am 2013-12-19 09:20:56.937982071 +0200
+@@ -21,7 +21,7 @@
+ pkgconfig_DATA=libxine.pc
+
+ xine_list_@XINE_SERIES@_SOURCES = xine-list.c
+-xine_list_@XINE_SERIES@_LDADD = $(XINE_LIB)
++xine_list_@XINE_SERIES@_LDADD = $(XINE_LIB) $(top_builddir)/src/xine-utils/libxineutils.la
+
+ fontdir = $(pkgdatadir)/fonts
+ dist_font_DATA = \
+diff -urN xine-lib-1.2.4/src/audio_dec/xine_lpcm_decoder.c xine-lib-1.2.4-patch/src/audio_dec/xine_lpcm_decoder.c
+--- xine-lib-1.2.4/src/audio_dec/xine_lpcm_decoder.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/audio_dec/xine_lpcm_decoder.c 2013-12-17 15:18:20.459131654 +0200
+@@ -41,7 +41,11 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
++#ifdef __MINGW32__
++#include <winsock.h>
++#else
+ #include <arpa/inet.h> /* htons */
++#endif
+ #include <netinet/in.h> /* ntohs */
+
+ #include <xine/xine_internal.h>
+diff -urN xine-lib-1.2.4/src/demuxers/demux_ts.c xine-lib-1.2.4-patch/src/demuxers/demux_ts.c
+--- xine-lib-1.2.4/src/demuxers/demux_ts.c 2013-09-23 23:56:56.000000000 +0300
++++ xine-lib-1.2.4-patch/src/demuxers/demux_ts.c 2013-12-18 12:04:09.269573623 +0200
+@@ -146,7 +146,11 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <string.h>
+-#include <arpa/inet.h>
++#ifdef __MINGW32__
++#include <winsock.h>
++#else
++#include <arpa/inet.h> /* htons */
++#endif
+
+ #ifdef HAVE_FFMPEG_AVUTIL_H
+ # include <crc.h>
+diff -urN xine-lib-1.2.4/src/input/libdvdnav/dvdnav_internal.h xine-lib-1.2.4-patch/src/input/libdvdnav/dvdnav_internal.h
+--- xine-lib-1.2.4/src/input/libdvdnav/dvdnav_internal.h 2009-11-30 23:28:34.000000000 +0200
++++ xine-lib-1.2.4-patch/src/input/libdvdnav/dvdnav_internal.h 2013-12-18 11:56:09.153450165 +0200
+@@ -64,11 +64,11 @@
+ /* pthread_mutex_* wrapper for win32 */
+ #include <windows.h>
+ #include <process.h>
+-typedef CRITICAL_SECTION pthread_mutex_t;
+-#define pthread_mutex_init(a, b) InitializeCriticalSection(a)
+-#define pthread_mutex_lock(a) EnterCriticalSection(a)
+-#define pthread_mutex_unlock(a) LeaveCriticalSection(a)
+-#define pthread_mutex_destroy(a)
++// typedef CRITICAL_SECTION pthread_mutex_t;
++// #define pthread_mutex_init(a, b) InitializeCriticalSection(a)
++// #define pthread_mutex_lock(a) EnterCriticalSection(a)
++// #define pthread_mutex_unlock(a) LeaveCriticalSection(a)
++// #define pthread_mutex_destroy(a)
+
+ #include <io.h> /* read() */
+ #define lseek64 _lseeki64
+diff -urN xine-lib-1.2.4/src/post/deinterlace/speedy.c xine-lib-1.2.4-patch/src/post/deinterlace/speedy.c
+--- xine-lib-1.2.4/src/post/deinterlace/speedy.c 2012-05-26 23:49:59.000000000 +0300
++++ xine-lib-1.2.4-patch/src/post/deinterlace/speedy.c 2013-12-20 12:24:59.608986588 +0200
+@@ -1392,28 +1392,28 @@
+ }
+ #endif
+
+-
+-#define speedy_memcpy_c xine_fast_memcpy
+-#define speedy_memcpy_mmx xine_fast_memcpy
+-#define speedy_memcpy_mmxext xine_fast_memcpy
++//#undef xine_fast_memcpy
++//#define speedy_memcpy_c xine_fast_memcpy
++//#define speedy_memcpy_mmx xine_fast_memcpy
++//#define speedy_memcpy_mmxext xine_fast_memcpy
+
+
+ static void blit_packed422_scanline_c( uint8_t *dest, const uint8_t *src, int width )
+ {
+- speedy_memcpy_c( dest, src, width*2 );
++ memcpy( dest, src, width*2 );
+ }
+
+ #if defined(ARCH_X86) || defined(ARCH_X86_64)
+ static void blit_packed422_scanline_mmx( uint8_t *dest, const uint8_t *src, int width )
+ {
+- speedy_memcpy_mmx( dest, src, width*2 );
++ memcpy( dest, src, width*2 );
+ }
+ #endif
+
+ #if defined(ARCH_X86) || defined(ARCH_X86_64)
+ static void blit_packed422_scanline_mmxext( uint8_t *dest, const uint8_t *src, int width )
+ {
+- speedy_memcpy_mmxext( dest, src, width*2 );
++ memcpy( dest, src, width*2 );
+ }
+ #endif
+
+@@ -2602,7 +2602,8 @@
+ kill_chroma_packed422_inplace_scanline = kill_chroma_packed422_inplace_scanline_c;
+ mirror_packed422_inplace_scanline = mirror_packed422_inplace_scanline_c;
+ halfmirror_packed422_inplace_scanline = halfmirror_packed422_inplace_scanline_c;
+- speedy_memcpy = speedy_memcpy_c;
++ speedy_memcpy = memcpy;
++ //speedy_memcpy = speedy_memcpy_c;
+ diff_packed422_block8x8 = diff_packed422_block8x8_c;
+ a8_subpix_blit_scanline = a8_subpix_blit_scanline_c;
+ quarter_blit_vertical_packed422_scanline = quarter_blit_vertical_packed422_scanline_c;
+@@ -2644,7 +2645,8 @@
+ invert_colour_packed422_inplace_scanline = invert_colour_packed422_inplace_scanline_mmx;
+ vfilter_chroma_121_packed422_scanline = vfilter_chroma_121_packed422_scanline_mmx;
+ vfilter_chroma_332_packed422_scanline = vfilter_chroma_332_packed422_scanline_mmx;
+- speedy_memcpy = speedy_memcpy_mmxext;
++ //speedy_memcpy = speedy_memcpy_mmxext;
++ speedy_memcpy = memcpy;
+ } else if( speedy_accel & MM_ACCEL_X86_MMX ) {
+ if( verbose ) {
+ printf( "speedycode: Using MMX optimized functions.\n" );
+@@ -2660,7 +2662,8 @@
+ invert_colour_packed422_inplace_scanline = invert_colour_packed422_inplace_scanline_mmx;
+ vfilter_chroma_121_packed422_scanline = vfilter_chroma_121_packed422_scanline_mmx;
+ vfilter_chroma_332_packed422_scanline = vfilter_chroma_332_packed422_scanline_mmx;
+- speedy_memcpy = speedy_memcpy_mmx;
++ //speedy_memcpy = speedy_memcpy_mmx;
++ speedy_memcpy = memcpy;
+ } else {
+ if( verbose ) {
+ printf( "speedycode: No MMX or MMXEXT support detected, using C fallbacks.\n" );
+diff -urN xine-lib-1.2.4/src/vdr/input_vdr.c xine-lib-1.2.4-patch/src/vdr/input_vdr.c
+--- xine-lib-1.2.4/src/vdr/input_vdr.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/vdr/input_vdr.c 2013-12-20 12:23:36.313756861 +0200
+@@ -28,13 +28,13 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/stat.h>
+-#include <sys/poll.h>
++// #include <sys/poll.h>
+ #include <errno.h>
+ #include <pthread.h>
+
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+-#include <resolv.h>
++// #include <resolv.h>
+ #include <netdb.h>
+
+ #define LOG_MODULE "input_vdr"
+@@ -1919,7 +1919,7 @@
+ filename = strdup(filename);
+
+ _x_mrl_unescape (filename);
+- this->fh = xine_open_cloexec(filename, O_RDONLY | O_NONBLOCK);
++ this->fh = xine_open_cloexec(filename, O_RDONLY);
+
+ lprintf("filename '%s'\n", filename);
+
+@@ -1934,7 +1934,7 @@
+ }
+
+ {
+- struct pollfd poll_fh = { this->fh, POLLIN, 0 };
++ /*struct pollfd poll_fh = { this->fh, POLLIN, 0 };
+
+ int r = poll(&poll_fh, 1, 300);
+ if (1 != r)
+@@ -1945,10 +1945,10 @@
+ _("timeout expired during setup phase"));
+ free (filename);
+ return 0;
+- }
++ }*/
+ }
+
+- fcntl(this->fh, F_SETFL, ~O_NONBLOCK & fcntl(this->fh, F_GETFL, 0));
++ //fcntl(this->fh, F_SETFL, ~O_NONBLOCK & fcntl(this->fh, F_GETFL, 0));
+
+ /* eat initial handshake byte */
+ {
+@@ -2098,7 +2098,7 @@
+ if ((this->fh = vdr_plugin_open_socket(this, host, port + 0)) == -1)
+ return 0;
+
+- fcntl(this->fh, F_SETFL, ~O_NONBLOCK & fcntl(this->fh, F_GETFL, 0));
++ //fcntl(this->fh, F_SETFL, ~O_NONBLOCK & fcntl(this->fh, F_GETFL, 0));
+
+ if ((this->fh_control = vdr_plugin_open_socket(this, host, port + 1)) == -1)
+ return 0;
+diff -urN xine-lib-1.2.4/src/video_dec/libjpeg.c xine-lib-1.2.4-patch/src/video_dec/libjpeg.c
+--- xine-lib-1.2.4/src/video_dec/libjpeg.c 2012-11-23 22:08:21.000000000 +0200
++++ xine-lib-1.2.4-patch/src/video_dec/libjpeg.c 2013-12-18 10:01:45.755428630 +0200
+@@ -26,6 +26,7 @@
+ #endif
+
+
++
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/types.h>
+@@ -33,6 +34,7 @@
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <stdio.h>
++#include <basetsd.h>
+
+ #define LOG_MODULE "jpeg_video_decoder"
+ #define LOG_VERBOSE
+diff -urN xine-lib-1.2.4/src/xine-utils/memcpy.c xine-lib-1.2.4-patch/src/xine-utils/memcpy.c
+--- xine-lib-1.2.4/src/xine-utils/memcpy.c 2013-09-18 19:58:32.000000000 +0300
++++ xine-lib-1.2.4-patch/src/xine-utils/memcpy.c 2013-12-20 12:30:01.733448201 +0200
+@@ -55,7 +55,7 @@
+ #include <xine/xine_internal.h>
+ #include "../xine-engine/xine_private.h"
+
+-void *(* xine_fast_memcpy)(void *to, const void *from, size_t len);
++
+
+ /* Original comments from mplayer (file: aclib.c)
+ This part of code was taken by me from Linux-2.4.3 and slightly modified
+@@ -558,7 +558,7 @@
+ && (config_flags & memcpy_method[method].cpu_require) ==
+ memcpy_method[method].cpu_require ) {
+ lprintf("using %s memcpy()\n", memcpy_method[method].name );
+- xine_fast_memcpy = memcpy_method[method].function;
++ // xine_fast_memcpy = memcpy_method[method].function;
+ return;
+ } else {
+ xprintf(xine, XINE_VERBOSITY_DEBUG, "xine: will probe memcpy on startup\n" );
+@@ -603,13 +603,13 @@
+ (config_flags & memcpy_method[best].cpu_require) ==
+ memcpy_method[best].cpu_require ) {
+ lprintf("using %s memcpy()\n", memcpy_method[best].name );
+- xine_fast_memcpy = memcpy_method[best].function;
++ // xine_fast_memcpy = memcpy_method[best].function;
+ return;
+ }
+
+ best = 0;
+
+- xine_fast_memcpy = memcpy;
++ // xine_fast_memcpy = memcpy;
+
+ if( (buf1 = malloc(BUFSIZE)) == NULL )
+ return;
diff --git a/src/xine-lib-2-wavpack-alloca.patch b/src/xine-lib-2-wavpack-alloca.patch
deleted file mode 100644
index 007c6b1..0000000
--- a/src/xine-lib-2-wavpack-alloca.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-This patch has been taken from:
-https://bugs.xine-project.org/show_bug.cgi?id=494
-
-diff -urN xine-lib-1.1.21-orig/src/combined/decoder_wavpack.c xine-lib-1.1.21/src/combined/decoder_wavpack.c
---- xine-lib-1.1.21-orig/src/combined/decoder_wavpack.c 2010-03-09 23:17:05.000000000 +0100
-+++ xine-lib-1.1.21/src/combined/decoder_wavpack.c 2013-03-03 17:43:00.000000000 +0100
-@@ -27,6 +27,13 @@
- #define LOG_MODULE "decode_wavpack"
- #define LOG_VERBOSE
-
-+#ifdef HAVE_ALLOCA_H
-+#include <alloca.h>
-+#endif
-+#ifdef HAVE_MALLOC_H
-+#include <malloc.h>
-+#endif
-+
- #include "xine_internal.h"
- #include "attributes.h"
- #include "bswap.h"
diff --git a/src/xine-lib-3-more_build_fixes.patch b/src/xine-lib-3-more_build_fixes.patch
new file mode 100644
index 0000000..7e1a349
--- /dev/null
+++ b/src/xine-lib-3-more_build_fixes.patch
@@ -0,0 +1,106 @@
+diff -urN xine-lib-1.2.4/src/combined/wavpack_decoder.c xine-lib-1.2.4-patch/src/combined/wavpack_decoder.c
+--- xine-lib-1.2.4/src/combined/wavpack_decoder.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/combined/wavpack_decoder.c 2014-01-01 12:45:31.120873116 +0200
+@@ -27,6 +27,7 @@
+ #define LOG_MODULE "decode_wavpack"
+ #define LOG_VERBOSE
+
++#include <malloc.h>
+ #include <xine/xine_internal.h>
+ #include <xine/attributes.h>
+ #include "bswap.h"
+diff -urN xine-lib-1.2.4/src/input/input_cdda.c xine-lib-1.2.4-patch/src/input/input_cdda.c
+--- xine-lib-1.2.4/src/input/input_cdda.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/input/input_cdda.c 2014-01-01 12:42:52.954879392 +0200
+@@ -56,6 +56,7 @@
+ #include <signal.h>
+ #include <netinet/in.h>
+ #include <sys/socket.h>
++#include <malloc.h>
+
+ #include <basedir.h>
+
+diff -urN xine-lib-1.2.4/src/vdr/input_vdr.c xine-lib-1.2.4-patch/src/vdr/input_vdr.c
+--- xine-lib-1.2.4/src/vdr/input_vdr.c 2014-01-01 12:52:41.000000000 +0200
++++ xine-lib-1.2.4-patch/src/vdr/input_vdr.c 2014-01-01 12:49:36.935863362 +0200
+@@ -1760,7 +1760,7 @@
+ if (this->event_queue)
+ xine_event_dispose_queue(this->event_queue);
+
+- if (this->rpc_thread)
++ /* if (this->rpc_thread)
+ {
+ struct timespec abstime;
+ int ms_to_time_out = 10000;
+@@ -1799,12 +1799,12 @@
+ xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("%s: joining rpc thread ...\n"), LOG_MODULE);
+ pthread_join(this->rpc_thread, 0);
+ xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("%s: rpc thread joined.\n"), LOG_MODULE);
+- }
++ }*/
+
+ pthread_cond_destroy(&this->rpc_thread_shutdown_cond);
+ pthread_mutex_destroy(&this->rpc_thread_shutdown_lock);
+
+- if (this->metronom_thread)
++ /*if (this->metronom_thread)
+ {
+ xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("%s: joining metronom thread ...\n"), LOG_MODULE);
+
+@@ -1814,12 +1814,6 @@
+ this->metronom_thread_request = -1;
+ this->metronom_thread_reply = 0;
+ pthread_cond_broadcast(&this->metronom_thread_request_cond);
+-/*
+- pthread_mutex_unlock(&this->metronom_thread_lock);
+-
+- pthread_mutex_lock(&this->metronom_thread_lock);
+- if (!this->metronom_thread_reply)
+-*/
+ pthread_cond_wait(&this->metronom_thread_reply_cond, &this->metronom_thread_lock);
+ pthread_mutex_unlock(&this->metronom_thread_lock);
+
+@@ -1827,7 +1821,7 @@
+
+ pthread_join(this->metronom_thread, 0);
+ xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("%s: metronom thread joined.\n"), LOG_MODULE);
+- }
++ }*/
+
+ pthread_mutex_destroy(&this->metronom_thread_lock);
+ pthread_cond_destroy(&this->metronom_thread_request_cond);
+diff -urN xine-lib-1.2.4/src/xine-engine/scratch.c xine-lib-1.2.4-patch/src/xine-engine/scratch.c
+--- xine-lib-1.2.4/src/xine-engine/scratch.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/xine-engine/scratch.c 2014-01-01 12:36:59.724893408 +0200
+@@ -40,20 +40,20 @@
+ scratch_printf (scratch_buffer_t *this, const char *format, va_list argp)
+ {
+ time_t t;
+- struct tm tm;
++ struct tm *tm;
+ size_t l;
+
+ pthread_mutex_lock (&this->lock);
+
+ time (&t);
+- localtime_r (&t, &tm);
++ tm = localtime (&t);
+
+ if ( ! this->lines[this->cur] )
+ this->lines[this->cur] = malloc(SCRATCH_LINE_LEN_MAX+1);
+ if ( ! this->lines[this->cur] )
+ return;
+
+- l = strftime (this->lines[this->cur], SCRATCH_LINE_LEN_MAX, "%X: ", &tm);
++ l = strftime (this->lines[this->cur], SCRATCH_LINE_LEN_MAX, "%X: ", tm);
+ vsnprintf (this->lines[this->cur] + l, SCRATCH_LINE_LEN_MAX - l, format, argp);
+
+ lprintf ("printing format %s to line %d\n", format, this->cur);
+diff -urN xine-lib-1.2.4/src/xine-utils/Makefile.am xine-lib-1.2.4-patch/src/xine-utils/Makefile.am
+--- xine-lib-1.2.4/src/xine-utils/Makefile.am 2012-02-05 21:17:03.000000000 +0200
++++ xine-lib-1.2.4-patch/src/xine-utils/Makefile.am 2014-01-01 12:36:33.466894450 +0200
+@@ -37,3 +37,4 @@
+ noinst_PROGRAMS = xmltest
+ xmltest_SOURCES = xmllexer.c xmlparser.c
+ xmltest_CFLAGS = -DLOG -DXINE_XML_PARSER_TEST $(AM_CFLAGS)
++xmltest_LDFLAGS = $(top_builddir)/lib/libxineposix.la
diff --git a/src/xine-lib-4-mkdir.patch b/src/xine-lib-4-mkdir.patch
new file mode 100644
index 0000000..0307de3
--- /dev/null
+++ b/src/xine-lib-4-mkdir.patch
@@ -0,0 +1,11 @@
+diff -urN xine-lib-1.2.4/lib/os_internal.h xine-lib-1.2.4-patch/lib/os_internal.h
+--- xine-lib-1.2.4/lib/os_internal.h 2012-02-05 21:17:00.000000000 +0200
++++ xine-lib-1.2.4-patch/lib/os_internal.h 2014-01-03 19:05:56.643793781 +0200
+@@ -260,6 +260,7 @@
+ # ifdef __MINGW64__
+ # define mkdir(A, B) mkdir((A))
+ # else
++ _CRTIMP int __cdecl _mkdir(const char *_Path);
+ # define mkdir(A, B) _mkdir((A))
+ # endif
+
diff --git a/src/xine-lib-5-change_mma_h_to_mma_win32_h.patch b/src/xine-lib-5-change_mma_h_to_mma_win32_h.patch
new file mode 100644
index 0000000..f4c5408
--- /dev/null
+++ b/src/xine-lib-5-change_mma_h_to_mma_win32_h.patch
@@ -0,0 +1,300 @@
+diff -urN xine-lib-1.2.4/contrib/libdha/irq.c xine-lib-1.2.4-patch/contrib/libdha/irq.c
+--- xine-lib-1.2.4/contrib/libdha/irq.c 2012-02-05 21:16:59.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/libdha/irq.c 2014-01-05 14:30:37.000000000 +0200
+@@ -2,7 +2,7 @@
+ #include <stdio.h>
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+-#include <sys/mman.h> /* mlock */
++#include <sys/mman-win32.h> /* mlock */
+ #include <pthread.h>
+ #include <errno.h>
+ #include <unistd.h>
+diff -urN xine-lib-1.2.4/contrib/libdha/kernelhelper/test.c xine-lib-1.2.4-patch/contrib/libdha/kernelhelper/test.c
+--- xine-lib-1.2.4/contrib/libdha/kernelhelper/test.c 2012-02-05 21:16:59.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/libdha/kernelhelper/test.c 2014-01-05 14:30:37.000000000 +0200
+@@ -4,7 +4,7 @@
+ #include <unistd.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <stdlib.h>
+
+ #include "dhahelper.h"
+diff -urN xine-lib-1.2.4/contrib/libdha/libdha.c xine-lib-1.2.4-patch/contrib/libdha/libdha.c
+--- xine-lib-1.2.4/contrib/libdha/libdha.c 2012-02-05 21:16:59.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/libdha/libdha.c 2014-01-05 14:30:37.000000000 +0200
+@@ -58,7 +58,7 @@
+ # endif /* SVR4 */
+
+ /* Generic version */
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <sys/ioctl.h>
+ #ifndef DEV_MEM
+ #define DEV_MEM "/dev/mem"
+diff -urN xine-lib-1.2.4/contrib/libdha/mmi.c xine-lib-1.2.4-patch/contrib/libdha/mmi.c
+--- xine-lib-1.2.4/contrib/libdha/mmi.c 2012-02-05 21:16:59.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/libdha/mmi.c 2014-01-05 14:30:37.000000000 +0200
+@@ -2,7 +2,7 @@
+ #include <stdio.h>
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+-#include <sys/mman.h> /* mlock */
++#include <sys/mman-win32.h> /* mlock */
+ #include <errno.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+diff -urN xine-lib-1.2.4/contrib/vidix/drivers/mach64_vid.c xine-lib-1.2.4-patch/contrib/vidix/drivers/mach64_vid.c
+--- xine-lib-1.2.4/contrib/vidix/drivers/mach64_vid.c 2012-02-05 21:17:00.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/vidix/drivers/mach64_vid.c 2014-01-05 14:30:35.000000000 +0200
+@@ -13,7 +13,7 @@
+ #include <inttypes.h>
+ #include <fcntl.h>
+ #include <limits.h>
+-#include <sys/mman.h> /* for m(un)lock */
++#include <sys/mman-win32.h> /* for m(un)lock */
+ #ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+ #ifdef HAVE_MEMALIGN
+diff -urN xine-lib-1.2.4/contrib/vidix/drivers/pm3_vid.c xine-lib-1.2.4-patch/contrib/vidix/drivers/pm3_vid.c
+--- xine-lib-1.2.4/contrib/vidix/drivers/pm3_vid.c 2012-02-05 21:17:00.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/vidix/drivers/pm3_vid.c 2014-01-05 14:30:35.000000000 +0200
+@@ -24,7 +24,7 @@
+ #include <string.h>
+ #include <inttypes.h>
+ #include <unistd.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+
+ #include "vidix.h"
+ #include "fourcc.h"
+diff -urN xine-lib-1.2.4/contrib/vidix/drivers/radeon_vid.c xine-lib-1.2.4-patch/contrib/vidix/drivers/radeon_vid.c
+--- xine-lib-1.2.4/contrib/vidix/drivers/radeon_vid.c 2012-02-05 21:17:00.000000000 +0200
++++ xine-lib-1.2.4-patch/contrib/vidix/drivers/radeon_vid.c 2014-01-05 14:30:36.000000000 +0200
+@@ -12,7 +12,7 @@
+ #include <math.h>
+ #include <inttypes.h>
+ #include <sys/types.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include "bswap.h"
+ #include "pci_ids.h"
+ #include "pci_names.h"
+diff -urN xine-lib-1.2.4/include/configure.h.in xine-lib-1.2.4-patch/include/configure.h.in
+--- xine-lib-1.2.4/include/configure.h.in 2013-09-20 16:07:56.000000000 +0300
++++ xine-lib-1.2.4-patch/include/configure.h.in 2014-01-05 14:39:09.000000000 +0200
+@@ -441,7 +441,7 @@
+ /* Define to 1 if you have the <sys/mixer.h> header file. */
+ #undef HAVE_SYS_MIXER_H
+
+-/* Define to 1 if you have the <sys/mman.h> header file. */
++/* Define to 1 if you have the <sys/mman-win32.h> header file. */
+ #undef HAVE_SYS_MMAN_H
+
+ /* Define to 1 if you have the <sys/param.h> header file. */
+diff -urN xine-lib-1.2.4/src/input/input_file.c xine-lib-1.2.4-patch/src/input/input_file.c
+--- xine-lib-1.2.4/src/input/input_file.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/input/input_file.c 2014-01-05 14:30:30.000000000 +0200
+@@ -35,7 +35,7 @@
+ #include <errno.h>
+
+ #ifdef HAVE_MMAP
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #endif
+
+ #define LOG_MODULE "input_file"
+diff -urN xine-lib-1.2.4/src/input/input_v4l2.c xine-lib-1.2.4-patch/src/input/input_v4l2.c
+--- xine-lib-1.2.4/src/input/input_v4l2.c 2012-02-05 21:17:02.000000000 +0200
++++ xine-lib-1.2.4-patch/src/input/input_v4l2.c 2014-01-05 14:30:30.000000000 +0200
+@@ -44,7 +44,7 @@
+ #else
+ # include <linux/videodev2.h>
+ #endif
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <stdio.h>
+ #include <errno.h>
+
+diff -urN xine-lib-1.2.4/src/input/input_v4l.c xine-lib-1.2.4-patch/src/input/input_v4l.c
+--- xine-lib-1.2.4/src/input/input_v4l.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/input/input_v4l.c 2014-01-05 14:30:26.000000000 +0200
+@@ -49,7 +49,7 @@
+
+ #include <linux/videodev.h>
+ #include <sys/ioctl.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <errno.h>
+
+ /* Used to capture the audio data */
+diff -urN xine-lib-1.2.4/src/libw32dll/DirectShow/DS_VideoDecoder.c xine-lib-1.2.4-patch/src/libw32dll/DirectShow/DS_VideoDecoder.c
+--- xine-lib-1.2.4/src/libw32dll/DirectShow/DS_VideoDecoder.c 2009-12-02 20:32:57.000000000 +0200
++++ xine-lib-1.2.4-patch/src/libw32dll/DirectShow/DS_VideoDecoder.c 2014-01-05 14:29:19.000000000 +0200
+@@ -45,7 +45,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <sys/types.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <stdio.h>
+ #include <stdlib.h> // labs
+
+diff -urN xine-lib-1.2.4/src/libw32dll/dmo/DMO_VideoDecoder.c xine-lib-1.2.4-patch/src/libw32dll/dmo/DMO_VideoDecoder.c
+--- xine-lib-1.2.4/src/libw32dll/dmo/DMO_VideoDecoder.c 2009-12-02 20:32:57.000000000 +0200
++++ xine-lib-1.2.4-patch/src/libw32dll/dmo/DMO_VideoDecoder.c 2014-01-05 14:29:15.000000000 +0200
+@@ -49,7 +49,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <sys/types.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <stdio.h>
+ #include <stdlib.h> // labs
+
+diff -urN xine-lib-1.2.4/src/libw32dll/wine/ext.c xine-lib-1.2.4-patch/src/libw32dll/wine/ext.c
+--- xine-lib-1.2.4/src/libw32dll/wine/ext.c 2009-11-30 23:28:52.000000000 +0200
++++ xine-lib-1.2.4-patch/src/libw32dll/wine/ext.c 2014-01-05 14:29:18.000000000 +0200
+@@ -12,7 +12,7 @@
+ #include <malloc.h>
+ #endif
+ #include <unistd.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <string.h>
+diff -urN xine-lib-1.2.4/src/libw32dll/wine/ldt_keeper.c xine-lib-1.2.4-patch/src/libw32dll/wine/ldt_keeper.c
+--- xine-lib-1.2.4/src/libw32dll/wine/ldt_keeper.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/libw32dll/wine/ldt_keeper.c 2014-01-05 14:29:18.000000000 +0200
+@@ -57,7 +57,7 @@
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <sys/types.h>
+ #include <stdio.h>
+ #include <unistd.h>
+diff -urN xine-lib-1.2.4/src/libw32dll/wine/module.c xine-lib-1.2.4-patch/src/libw32dll/wine/module.c
+--- xine-lib-1.2.4/src/libw32dll/wine/module.c 2009-11-30 23:28:52.000000000 +0200
++++ xine-lib-1.2.4-patch/src/libw32dll/wine/module.c 2014-01-05 14:29:16.000000000 +0200
+@@ -19,7 +19,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <sys/types.h>
+
+
+diff -urN xine-lib-1.2.4/src/libw32dll/wine/pe_image.c xine-lib-1.2.4-patch/src/libw32dll/wine/pe_image.c
+--- xine-lib-1.2.4/src/libw32dll/wine/pe_image.c 2009-11-30 23:28:52.000000000 +0200
++++ xine-lib-1.2.4-patch/src/libw32dll/wine/pe_image.c 2014-01-05 14:29:18.000000000 +0200
+@@ -45,7 +45,7 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #ifdef HAVE_SYS_MMAN_H
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #endif
+ #ifdef HAVE_ALLOCA_H
+ #include <alloca.h>
+diff -urN xine-lib-1.2.4/src/video_out/video_out_aa.c xine-lib-1.2.4-patch/src/video_out/video_out_aa.c
+--- xine-lib-1.2.4/src/video_out/video_out_aa.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/video_out/video_out_aa.c 2014-01-05 14:29:48.000000000 +0200
+@@ -32,7 +32,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <sys/stat.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <sys/time.h>
+
+ #ifdef HAVE_FFMPEG_AVUTIL_H
+diff -urN xine-lib-1.2.4/src/video_out/video_out_caca.c xine-lib-1.2.4-patch/src/video_out/video_out_caca.c
+--- xine-lib-1.2.4/src/video_out/video_out_caca.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/video_out/video_out_caca.c 2014-01-05 14:29:41.000000000 +0200
+@@ -32,7 +32,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <sys/stat.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <sys/time.h>
+ #include <cucul.h>
+ #include <caca.h>
+diff -urN xine-lib-1.2.4/src/video_out/video_out_fb.c xine-lib-1.2.4-patch/src/video_out/video_out_fb.c
+--- xine-lib-1.2.4/src/video_out/video_out_fb.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/video_out/video_out_fb.c 2014-01-05 14:29:53.000000000 +0200
+@@ -60,7 +60,7 @@
+ #include <sys/shm.h>
+ #include <sys/time.h>
+ #include <sys/ioctl.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+
+ #include <pthread.h>
+ #include <netinet/in.h>
+diff -urN xine-lib-1.2.4/src/video_out/video_out_pgx32.c xine-lib-1.2.4-patch/src/video_out/video_out_pgx32.c
+--- xine-lib-1.2.4/src/video_out/video_out_pgx32.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/video_out/video_out_pgx32.c 2014-01-05 14:29:51.000000000 +0200
+@@ -34,7 +34,7 @@
+ #include <unistd.h>
+ #include <sys/fbio.h>
+ #include <sys/visual_io.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+diff -urN xine-lib-1.2.4/src/video_out/video_out_pgx64.c xine-lib-1.2.4-patch/src/video_out/video_out_pgx64.c
+--- xine-lib-1.2.4/src/video_out/video_out_pgx64.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/video_out/video_out_pgx64.c 2014-01-05 14:29:44.000000000 +0200
+@@ -36,7 +36,7 @@
+ #include <unistd.h>
+ #include <sys/fbio.h>
+ #include <sys/visual_io.h>
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+diff -urN xine-lib-1.2.4/src/xine-utils/xmlparser.c xine-lib-1.2.4-patch/src/xine-utils/xmlparser.c
+--- xine-lib-1.2.4/src/xine-utils/xmlparser.c 2013-09-18 13:04:54.000000000 +0300
++++ xine-lib-1.2.4-patch/src/xine-utils/xmlparser.c 2014-01-05 14:30:22.000000000 +0200
+@@ -879,7 +879,7 @@
+ }
+
+ #ifdef XINE_XML_PARSER_TEST
+-#include <sys/mman.h>
++#include <sys/mman-win32.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+diff -urN xine-lib-1.2.4/win32/config.h xine-lib-1.2.4-patch/win32/config.h
+--- xine-lib-1.2.4/win32/config.h 2012-02-05 21:17:03.000000000 +0200
++++ xine-lib-1.2.4-patch/win32/config.h 2014-01-05 14:28:32.000000000 +0200
+@@ -273,7 +273,7 @@
+ /* Define to 1 if you have the <sys/mixer.h> header file. */
+ /* #undef HAVE_SYS_MIXER_H */
+
+-/* Define to 1 if you have the <sys/mman.h> header file. */
++/* Define to 1 if you have the <sys/mman-win32.h> header file. */
+ #define HAVE_SYS_MMAN_H 1
+
+ /* Define to 1 if you have the <sys/param.h> header file. */
+diff -urN xine-lib-1.2.4/win32/include/msvc/config.h xine-lib-1.2.4-patch/win32/include/msvc/config.h
+--- xine-lib-1.2.4/win32/include/msvc/config.h 2009-11-30 23:26:06.000000000 +0200
++++ xine-lib-1.2.4-patch/win32/include/msvc/config.h 2014-01-05 14:28:32.000000000 +0200
+@@ -425,7 +425,7 @@
+ /* Define to 1 if you have the <sys/mixer.h> header file. */
+ /* #undef HAVE_SYS_MIXER_H */
+
+-/* Define to 1 if you have the <sys/mman.h> header file. */
++/* Define to 1 if you have the <sys/mman-win32.h> header file. */
+ /* #undef HAVE_SYS_MMAN_H */
+
+ /* Define to 1 if you have the <sys/param.h> header file. */
diff --git a/src/xine-lib.mk b/src/xine-lib.mk
index 32f019d..06cd1bb 100644
--- a/src/xine-lib.mk
+++ b/src/xine-lib.mk
@@ -3,12 +3,12 @@
PKG := xine-lib
$(PKG)_IGNORE :=
-$(PKG)_VERSION := 1.1.21
-$(PKG)_CHECKSUM := 0adf20ef55d24f2a1b4a8974e57ad1be5133b236
+$(PKG)_VERSION := 1.2.4
+$(PKG)_CHECKSUM := 32267c5fcaa1439a5fbf7606d27dc4fafba9e504
$(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION)
$(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.xz
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/xine/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
-$(PKG)_DEPS := gcc faad2 ffmpeg flac fontconfig freetype graphicsmagick libiconv libmng pthreads sdl speex theora vorbis wavpack zlib
+$(PKG)_DEPS := gcc faad2 ffmpeg flac fontconfig freetype graphicsmagick libiconv libmng pthreads sdl speex theora vorbis wavpack zlib libmpcdec libcdio vcdimager mman-win32 libmad a52dec libmodplug
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://www.xine-project.org/releases' | \
@@ -20,10 +20,8 @@ endef
define $(PKG)_BUILD
# rebuild configure script as one of the patches modifies configure.ac
- cd '$(1)' && aclocal -I m4
+ cd '$(1)' && autoreconf -fi
cd '$(1)' && $(LIBTOOLIZE)
- cd '$(1)' && autoconf
-
cd '$(1)' && ./configure \
--host='$(TARGET)' \
--prefix='$(PREFIX)/$(TARGET)' \
@@ -41,9 +39,6 @@ define $(PKG)_BUILD
--with-theora \
--with-speex \
--with-libflac \
- --without-external-a52dec \
- --without-external-libmad \
- --without-external-libmpcdec \
--with-freetype \
--with-fontconfig \
--without-alsa \
@@ -56,10 +51,10 @@ define $(PKG)_BUILD
--with-wavpack \
CFLAGS='-I$(1)/win32/include' \
PTHREAD_LIBS='-lpthread -lws2_32' \
- LIBS="`$(TARGET)-pkg-config --libs libmng`"
+ LIBS="`$(TARGET)-pkg-config --libs libmng` -logg"
$(MAKE) -C '$(1)' -j '$(JOBS)'
$(MAKE) -C '$(1)' -j 1 install
endef
-$(PKG)_BUILD_x86_64-w64-mingw32 =
-$(PKG)_BUILD_i686-w64-mingw32 =
+# $(PKG)_BUILD_x86_64-w64-mingw32 =
+# $(PKG)_BUILD_i686-w64-mingw32 =