Merge pull request #1250 from LuaAndC/remove-xine-lib

remove xine-lib
This commit is contained in:
Timothy Gu 2016-03-08 07:33:43 -08:00
commit 754c7843d2
7 changed files with 1 additions and 520 deletions

View File

@ -2641,10 +2641,6 @@ local-pkg-list: $(LOCAL_PKG_LIST)</pre>
<td class="package">xerces</td>
<td class="website"><a href="http://xerces.apache.org/xerces-c/">Xerces-C++</a></td>
</tr>
<tr>
<td class="package">xine-lib</td>
<td class="website"><a href="http://www.xine-project.org/">xine-lib</a></td>
</tr>
<tr>
<td class="package">xmlrpc-c</td>
<td class="website"><a href="http://xmlrpc-c.sourceforge.net/">xmlrpc-c</a></td>

View File

@ -10,7 +10,7 @@ $(PKG)_FILE := OpenSceneGraph-$($(PKG)_VERSION).zip
$(PKG)_URL := http://trac.openscenegraph.org/downloads/developer_releases/$($(PKG)_FILE)
$(PKG)_DEPS := gcc boost curl dcmtk freetype gdal giflib gstreamer \
gta jasper jpeg libpng openal openexr openthreads poppler \
qt tiff xine-lib zlib
qt tiff zlib
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://trac.openscenegraph.org/downloads/developer_releases/?C=M;O=D' | \

View File

@ -1,24 +0,0 @@
This file is part of MXE.
See index.html for further information.
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

View File

@ -1,306 +0,0 @@
This file is part of MXE.
See index.html for further information.
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;

View File

@ -1,109 +0,0 @@
This file is part of MXE.
See index.html for further information.
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

View File

@ -1,14 +0,0 @@
This file is part of MXE.
See index.html for further information.
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

View File

@ -1,62 +0,0 @@
# This file is part of MXE.
# See index.html for further information.
PKG := xine-lib
$(PKG)_IGNORE :=
$(PKG)_VERSION := 1.2.6
$(PKG)_CHECKSUM := bd041d738817c7c0c6392a3c0e5bda5a664a47e035135b5a449364f8c9b6a005
$(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 a52dec faad2 ffmpeg flac fontconfig freetype graphicsmagick \
libcdio libiconv libmad libmng libmodplug libmpcdec mman-win32 \
pthreads sdl speex theora vcdimager vorbis wavpack zlib
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://www.xine-project.org/releases' | \
$(SED) -e 's,<a,\n<a,g' | \
$(SED) -n 's,.*xine-lib-\([0-9][^"]*\)\.tar.*,\1,p' | \
$(SORT) -V | \
tail -1
endef
define $(PKG)_BUILD
# rebuild configure script as one of the patches modifies configure.ac
cd '$(1)' && autoreconf -fi
cd '$(1)' && ./configure \
--host='$(TARGET)' \
--prefix='$(PREFIX)/$(TARGET)' \
--enable-static \
--disable-shared \
--disable-mmap \
--disable-nls \
--disable-aalib \
--enable-mng \
--disable-real-codecs \
--with-external-ffmpeg \
--without-x \
--with-sdl \
--with-vorbis \
--with-theora \
--with-speex \
--with-libflac \
--with-freetype \
--with-fontconfig \
--without-alsa \
--without-esound \
--without-arts \
--without-fusionsound \
--with-internal-vcdlibs \
--with-external-libfaad \
--without-external-libdts \
--with-wavpack \
CFLAGS='-I$(1)/win32/include' \
PTHREAD_LIBS='-lpthread -lws2_32' \
LIBS="`$(TARGET)-pkg-config --libs libmng` -logg"
$(SED) -i 's,[\s^]*sed , $(SED) ,g' '$(1)/src/combined/ffmpeg/Makefile'
$(MAKE) -C '$(1)' -j '$(JOBS)'
$(MAKE) -C '$(1)' -j 1 install
endef
$(PKG)_BUILD_SHARED =