[vlc-commits] Contribs: add dvdread

Jean-Baptiste Kempf git at videolan.org
Sat Aug 6 17:16:00 CEST 2011


vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Sat Aug  6 17:05:39 2011 +0200| [61617b873ea6d176374a26f839dd90f423702a51] | committer: Jean-Baptiste Kempf

Contribs: add dvdread

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=61617b873ea6d176374a26f839dd90f423702a51
---

 contrib/src/dvdread/dvdread-css-static.patch |   84 ++++++++++++++++++++++++++
 contrib/src/dvdread/dvdread-win32.patch      |   33 ++++++++++
 contrib/src/dvdread/rules.mak                |   26 ++++++++
 3 files changed, 143 insertions(+), 0 deletions(-)

diff --git a/contrib/src/dvdread/dvdread-css-static.patch b/contrib/src/dvdread/dvdread-css-static.patch
new file mode 100644
index 0000000..e94b23e
--- /dev/null
+++ b/contrib/src/dvdread/dvdread-css-static.patch
@@ -0,0 +1,84 @@
+Index: dvdread/configure.ac
+===================================================================
+--- dvdread/configure.ac	(revision 1162)
++++ dvdread/configure.ac	(working copy)
+@@ -137,27 +137,59 @@
+ dnl ---------------------------------------------
+ dnl dynamic linker
+ dnl ---------------------------------------------
+-case $host in
+-  *mingw32*)
+-    CFLAGS="-idirafter \$(top_srcdir)/msvc/include $CFLAGS"
+-    LDFLAGS="-no-undefined $LDFLAGS"
+-    ;;
+-  *cygwin*)
+-    LDFLAGS="-no-undefined $LDFLAGS"
+-    ;;
+-  *os2*)
+-    LDFLAGS="-no-undefined -Zbin-files $LDFLAGS"
+-    ;;
+-  *)
+-    AC_CHECK_LIB(c, dlopen,
+-                 DYNAMIC_LD_LIBS="",
+-                 AC_CHECK_LIB(dl, dlopen,
+-                              DYNAMIC_LD_LIBS="-ldl",
+-                              AC_MSG_ERROR(dynamic linker needed)))
+-    AC_SUBST(DYNAMIC_LD_LIBS)
+-    ;;
+-esac
++AC_ARG_WITH( [libdvdcss],
++    [  --with-libdvdcss[=PATH]    force linking against libdvdcss],
++    [if test x"$withval" != xno; then
++       link_dvdcss=yes
++     fi
++     if test x"$withval" != xyes; then
++       dvdcss_path=$withval
++     fi])
+ 
++if test x"$link_dvdcss" != xyes; then
++dnl dlopen libdvdcss
++  AC_CHECK_FUNC( dlopen,
++    [DL_LIBS="" ],
++    AC_CHECK_LIB( dl, dlopen,
++      [DL_LIBS=-ld ],
++      AC_MSG_ERROR(You need libdl (dlopen))
++    )
++  )
++else
++dnl link with libdvdcss
++  if test -z "$dvdcss_path"; then
++    AC_CHECK_LIB(dvdcss, dvdcss_interface_2,
++      [ CSS_LIBS=-ldvdcss ],
++      AC_MSG_ERROR(You need libdvdcss.so.2 or later)
++    )
++    AC_CHECK_HEADERS(dvdcss/dvdcss.h,
++      [ ],
++      AC_MSG_ERROR(You need libdvdcss (dvdcss.h))
++    )
++  else
++    saved_CFLAGS=$CFLAGS
++    CFLAGS="$CFLAGS -L$dvdcss_path/lib"
++    AC_CHECK_LIB(dvdcss, dvdcss_interface_2,
++      [ CSS_LIBS="-L$dvdcss_path/lib -R$dvdcss_path/lib -ldvdcss"
++        CSS_CFLAGS=-I$dvdcss_path/include ],
++      AC_MSG_ERROR(You need libdvdcss.so.2 or later)
++    )
++    CFLAGS=$saved_CFLAGS
++    dnl -w added to shutup GCC3.1's cpp warning about -I/usr/local
++    saved_CPPFLAGS=$CPPFLAGS
++    CPPFLAGS="-w $CPPFLAGS -I$dvdcss_path/include"
++    AC_CHECK_HEADERS(dvdcss/dvdcss.h,
++      [ ],
++      AC_MSG_ERROR(You need libdvdcss (dvdcss.h))
++    )
++    CPPFLAGS=$saved_CPPFLAGS
++  fi
++fi
++
++AC_SUBST(DL_LIBS)
++AC_SUBST(CSS_LIBS)
++AC_SUBST(CSS_CFLAGS)
++
+ dnl ---------------------------------------------
+ dnl cflags
+ dnl ---------------------------------------------
diff --git a/contrib/src/dvdread/dvdread-win32.patch b/contrib/src/dvdread/dvdread-win32.patch
new file mode 100644
index 0000000..94d714d
--- /dev/null
+++ b/contrib/src/dvdread/dvdread-win32.patch
@@ -0,0 +1,33 @@
+Index: dvdread/src/dvd_reader.c
+===================================================================
+--- dvdread/src/dvd_reader.c	(revision 1157)
++++ dvdread/src/dvd_reader.c	(working copy)
+@@ -34,6 +34,7 @@
+ #include <limits.h>
+ #include <dirent.h>
+ 
++#if 0
+ /* misc win32 helpers */
+ #ifdef WIN32
+ #ifndef HAVE_GETTIMEOFDAY
+@@ -52,6 +53,7 @@
+ #include <io.h> /* read() */
+ #define lseek64 _lseeki64
+ #endif
++#endif
+ 
+ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__) || defined(__DARWIN__)
+ #define SYS_BSD 1
+Index: dvdread/src/dvdread/ifo_types.h
+===================================================================
+--- dvdread/src/dvdread/ifo_types.h	(révision 1188)
++++ dvdread/src/dvdread/ifo_types.h	(copie de travail)
+@@ -32,7 +32,7 @@
+ 
+ #if defined(__GNUC__)
+ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
+-#define ATTRIBUTE_PACKED __attribute__ ((packed))
++#define ATTRIBUTE_PACKED __attribute__ ((packed,gcc_struct))
+ #define PRAGMA_PACK 0
+ #endif
+ #endif
diff --git a/contrib/src/dvdread/rules.mak b/contrib/src/dvdread/rules.mak
new file mode 100644
index 0000000..e3f8bf4
--- /dev/null
+++ b/contrib/src/dvdread/rules.mak
@@ -0,0 +1,26 @@
+# DVDREAD
+
+$(TARBALLS)/dvdread-svn.tar.xz:
+	rm -Rf dvdread-svn
+	$(SVN) export svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdread dvdread-svn
+	tar cvJ dvdread-svn > $@
+
+.sum-dvdread: dvdread-svn.tar.xz
+	$(warning Integrity check skipped.)
+	touch $@
+
+dvdread: dvdread-svn.tar.xz .sum-dvdread
+	$(UNPACK)
+	$(APPLY) $(SRC)/dvdread/dvdread-css-static.patch
+ifdef HAVE_WIN32
+	$(APPLY) $(SRC)/dvdread/dvdread-win32.patch
+endif
+	$(MOVE)
+
+DEPS_dvdread = dvdcss
+
+.dvdread: dvdread .dvdcss
+	cd $< && sh autogen.sh noconfig
+	cd $< && $(HOSTVARS) ./configure $(HOSTCONF) --with-libdvdcss=$(PREFIX)
+	cd $< && SUBDIRS="src misc m4" $(MAKE) install
+	touch $@



More information about the vlc-commits mailing list