diff options
Diffstat (limited to 'contrib/libdvdread')
-rw-r--r-- | contrib/libdvdread/P02-mingw-ssize_t.patch | 26 | ||||
-rw-r--r-- | contrib/libdvdread/P03-mingw-disable-dlopen.patch | 134 | ||||
-rw-r--r-- | contrib/libdvdread/P04-mingw-endian-macros.patch | 29 | ||||
-rw-r--r-- | contrib/libdvdread/P05-mingw-large-file.patch | 28 |
4 files changed, 217 insertions, 0 deletions
diff --git a/contrib/libdvdread/P02-mingw-ssize_t.patch b/contrib/libdvdread/P02-mingw-ssize_t.patch new file mode 100644 index 000000000..a4dc5eda7 --- /dev/null +++ b/contrib/libdvdread/P02-mingw-ssize_t.patch @@ -0,0 +1,26 @@ +diff -Naur libdvdread.orig/configure libdvdread/configure +--- libdvdread.orig/configure 2006-10-06 04:14:24.000000000 -0400 ++++ libdvdread/configure 2009-03-10 17:45:06.000000000 -0400 +@@ -3550,9 +3550,6 @@ + _ACEOF + + ;; +- x*mingw32* | x*cygwin*) +- CFLAGS="${CFLAGS} -Dssize_t=long" +- ;; + x*) + ;; + esac +diff -Naur libdvdread.orig/configure.in libdvdread/configure.in +--- libdvdread.orig/configure.in 2006-10-06 04:12:31.000000000 -0400 ++++ libdvdread/configure.in 2009-03-10 17:45:06.000000000 -0400 +@@ -15,9 +15,6 @@ + CFLAGS="${CFLAGS} -no-cpp-precomp" + AC_DEFINE(__DARWIN__, 1, Have a Mac OS X system) + ;; +- x*mingw32* | x*cygwin*) +- CFLAGS="${CFLAGS} -Dssize_t=long" +- ;; + x*) + ;; + esac diff --git a/contrib/libdvdread/P03-mingw-disable-dlopen.patch b/contrib/libdvdread/P03-mingw-disable-dlopen.patch new file mode 100644 index 000000000..515526289 --- /dev/null +++ b/contrib/libdvdread/P03-mingw-disable-dlopen.patch @@ -0,0 +1,134 @@ +diff -Naur libdvdread.orig/configure libdvdread/configure +--- libdvdread.orig/configure 2006-10-06 04:14:24.000000000 -0400 ++++ libdvdread/configure 2009-03-10 17:48:56.000000000 -0400 +@@ -18889,11 +18889,6 @@ + echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 + if test $ac_cv_lib_dl_dlopen = yes; then + DL_LIBS=-ldl +-else +- { { echo "$as_me:$LINENO: error: You need libdl (dlopen)" >&5 +-echo "$as_me: error: You need libdl (dlopen)" >&2;} +- { (exit 1); exit 1; }; } +- + fi + + +diff -Naur libdvdread.orig/dvdread/dvd_input.c libdvdread/dvdread/dvd_input.c +--- libdvdread.orig/dvdread/dvd_input.c 2005-09-19 09:43:08.000000000 -0400 ++++ libdvdread/dvdread/dvd_input.c 2009-03-10 18:01:43.000000000 -0400 +@@ -44,18 +44,6 @@ + + char * (*dvdinput_error) (dvd_input_t); + +-#ifdef HAVE_DVDCSS_DVDCSS_H +-/* linking to libdvdcss */ +-#include <dvdcss/dvdcss.h> +-#define DVDcss_open(a) dvdcss_open((char*)(a)) +-#define DVDcss_close dvdcss_close +-#define DVDcss_seek dvdcss_seek +-#define DVDcss_title dvdcss_title +-#define DVDcss_read dvdcss_read +-#define DVDcss_error dvdcss_error +-#else +-/* dlopening libdvdcss */ +-#include <dlfcn.h> + typedef struct dvdcss_s *dvdcss_handle; + static dvdcss_handle (*DVDcss_open) (const char *); + static int (*DVDcss_close) (dvdcss_handle); +@@ -63,7 +51,6 @@ + static int (*DVDcss_title) (dvdcss_handle, int); + static int (*DVDcss_read) (dvdcss_handle, void *, int, int); + static char * (*DVDcss_error) (dvdcss_handle); +-#endif + + /* The DVDinput handle, add stuff here for new input methods. */ + struct dvd_input_s { +@@ -290,17 +277,7 @@ + */ + void dvdinput_free(void) + { +-#ifdef HAVE_DVDCSS_DVDCSS_H +- /* linked statically, nothing to free */ + return; +-#else +- if(dvdcss_library) { +- dlclose(dvdcss_library); +- dvdcss_library = NULL; +- } +- dvdcss_library_init = 0; +- return; +-#endif + } + + +@@ -324,58 +301,6 @@ + + verbose = get_verbose(); + +-#ifdef HAVE_DVDCSS_DVDCSS_H +- /* linking to libdvdcss */ +- dvdcss_library = &dvdcss_library; /* Give it some value != NULL */ +- /* the DVDcss_* functions have been #defined at the top */ +- dvdcss_version = &dvdcss_interface_2; +- +-#else +- +- dvdcss_library = dlopen("libdvdcss.so.2", RTLD_LAZY); +- +- if(dvdcss_library != NULL) { +-#if defined(__OpenBSD__) && !defined(__ELF__) +-#define U_S "_" +-#else +-#define U_S +-#endif +- DVDcss_open = (dvdcss_handle (*)(const char*)) +- dlsym(dvdcss_library, U_S "dvdcss_open"); +- DVDcss_close = (int (*)(dvdcss_handle)) +- dlsym(dvdcss_library, U_S "dvdcss_close"); +- DVDcss_title = (int (*)(dvdcss_handle, int)) +- dlsym(dvdcss_library, U_S "dvdcss_title"); +- DVDcss_seek = (int (*)(dvdcss_handle, int, int)) +- dlsym(dvdcss_library, U_S "dvdcss_seek"); +- DVDcss_read = (int (*)(dvdcss_handle, void*, int, int)) +- dlsym(dvdcss_library, U_S "dvdcss_read"); +- DVDcss_error = (char* (*)(dvdcss_handle)) +- dlsym(dvdcss_library, U_S "dvdcss_error"); +- +- dvdcss_version = (char **)dlsym(dvdcss_library, U_S "dvdcss_interface_2"); +- +- if(dlsym(dvdcss_library, U_S "dvdcss_crack")) { +- if(verbose >= 0) { +- fprintf(stderr, +- "libdvdread: Old (pre-0.0.2) version of libdvdcss found.\n" +- "libdvdread: You should get the latest version from " +- "http://www.videolan.org/\n" ); +- } +- dlclose(dvdcss_library); +- dvdcss_library = NULL; +- } else if(!DVDcss_open || !DVDcss_close || !DVDcss_title || !DVDcss_seek +- || !DVDcss_read || !DVDcss_error || !dvdcss_version) { +- if(verbose >= 0) { +- fprintf(stderr, "libdvdread: Missing symbols in libdvdcss.so.2, " +- "this shouldn't happen !\n"); +- } +- dlclose(dvdcss_library); +- dvdcss_library = NULL; +- } +- } +-#endif /* HAVE_DVDCSS_DVDCSS_H */ +- + dvdcss_library_init = 1; + + if(dvdcss_library) { +diff -Naur libdvdread.orig/dvdread/dvd_reader.c libdvdread/dvdread/dvd_reader.c +--- libdvdread.orig/dvdread/dvd_reader.c 2006-10-06 03:58:03.000000000 -0400 ++++ libdvdread/dvdread/dvd_reader.c 2009-03-10 17:51:22.000000000 -0400 +@@ -183,7 +183,7 @@ + dev->align = align; + } + +-#ifdef WIN32 /* replacement gettimeofday implementation */ ++#if defined(WIN32) && !defined(__MINGW32__) /* replacement gettimeofday implementation */ + #include <sys/timeb.h> + static int gettimeofday( struct timeval *tv, void *tz ) + { diff --git a/contrib/libdvdread/P04-mingw-endian-macros.patch b/contrib/libdvdread/P04-mingw-endian-macros.patch new file mode 100644 index 000000000..872b8518d --- /dev/null +++ b/contrib/libdvdread/P04-mingw-endian-macros.patch @@ -0,0 +1,29 @@ +diff -Naur libdvdread.orig/dvdread/bswap.h libdvdread/dvdread/bswap.h +--- libdvdread.orig/dvdread/bswap.h 2006-06-06 16:03:37.000000000 -0400 ++++ libdvdread/dvdread/bswap.h 2009-03-13 21:05:23.000000000 -0400 +@@ -83,6 +83,25 @@ + #define B2N_32(x) x = OSSwapBigToHostConstInt32(x) + #define B2N_64(x) x = OSSwapBigToHostConstInt64(x) + ++#elif defined(__MINGW32__) ++#define B2N_16(x) \ ++ x = ((((x) & 0xff00) >> 8) | \ ++ (((x) & 0x00ff) << 8)) ++#define B2N_32(x) \ ++ x = ((((x) & 0xff000000) >> 24) | \ ++ (((x) & 0x00ff0000) >> 8) | \ ++ (((x) & 0x0000ff00) << 8) | \ ++ (((x) & 0x000000ff) << 24)) ++#define B2N_64(x) \ ++ x = ((((x) & 0xff00000000000000ULL) >> 56) | \ ++ (((x) & 0x00ff000000000000ULL) >> 40) | \ ++ (((x) & 0x0000ff0000000000ULL) >> 24) | \ ++ (((x) & 0x000000ff00000000ULL) >> 8) | \ ++ (((x) & 0x00000000ff000000ULL) << 8) | \ ++ (((x) & 0x0000000000ff0000ULL) << 24) | \ ++ (((x) & 0x000000000000ff00ULL) << 40) | \ ++ (((x) & 0x00000000000000ffULL) << 56)) ++ + #else + #if defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) || defined(WIN32) || defined(__BEOS__) || defined(__INTERIX) + /* These systems don't have swap macros */ diff --git a/contrib/libdvdread/P05-mingw-large-file.patch b/contrib/libdvdread/P05-mingw-large-file.patch new file mode 100644 index 000000000..7ed9b6540 --- /dev/null +++ b/contrib/libdvdread/P05-mingw-large-file.patch @@ -0,0 +1,28 @@ +--- libdvdread.orig/dvdread/dvd_input.h 2005-09-06 12:23:00.000000000 -0700 ++++ libdvdread/dvdread/dvd_input.h 2009-03-25 15:01:39.000000000 -0700 +@@ -28,6 +28,24 @@ + + #define DVDINPUT_READ_DECRYPT (1 << 0) + ++#if defined( __MINGW32__ ) ++# undef lseek ++# define lseek _lseeki64 ++# undef fseeko ++# define fseeko fseeko64 ++# undef ftello ++# define ftello ftello64 ++# define flockfile(...) ++# define funlockfile(...) ++# define getc_unlocked getc ++# undef off_t ++# define off_t off64_t ++# undef stat ++# define stat _stati64 ++# define fstat _fstati64 ++# define wstat _wstati64 ++#endif ++ + typedef struct dvd_input_s *dvd_input_t; + + /** + |