[PATCH] configure: remove support for internal libdvd*.
--- configure | 134 +++----------------------------------------------------------- 1 file changed, 6 insertions(+), 128 deletions(-) diff --git a/configure b/configure index ba31428..b27b800 100755 --- a/configure +++ b/configure @@ -359,8 +359,6 @@ Optional features: --disable-bluray disable Blu-ray support [autodetect] --disable-dvdnav disable libdvdnav [autodetect] --disable-dvdread disable libdvdread [autodetect] - --disable-dvdread-internal disable internal libdvdread and libdvdnav [autodetect] - --disable-libdvdcss-internal disable internal libdvdcss [autodetect] --disable-cdparanoia disable cdparanoia [autodetect] --disable-cddb disable cddb [autodetect] --disable-bitmap-font disable bitmap font support [enable] @@ -750,8 +748,6 @@ type dvdnav-config >/dev/null 2>&1 && _dvdnavconfig=dvdnav-config _dvdreadconfig="pkg-config dvdread" type dvdread-config >/dev/null 2>&1 && _dvdnavconfig=dvdread-config _dvdread=auto -_dvdread_internal=auto -_libdvdcss_internal=auto _xanim=auto _real=auto _live=auto @@ -921,11 +917,9 @@ for ac_option do ;; --with-dvdnav-config=*) _dvdnavconfig=$(option_value $ac_option) - _dvdread_internal=no ;; --with-dvdread-config=*) _dvdreadconfig=$(option_value $ac_option) - _dvdread_internal=no ;; --extra-cflags=*) @@ -1170,10 +1164,6 @@ for ac_option do --disable-bluray) _bluray=no ;; --enable-dvdread) _dvdread=yes ;; --disable-dvdread) _dvdread=no ;; - --enable-dvdread-internal) _dvdread_internal=yes ;; - --disable-dvdread-internal) _dvdread_internal=no ;; - --enable-libdvdcss-internal) _libdvdcss_internal=yes ;; - --disable-libdvdcss-internal) _libdvdcss_internal=no ;; --enable-dvdnav) _dvdnav=yes ;; --disable-dvdnav) _dvdnav=no ;; --enable-xanim) _xanim=yes ;; @@ -6086,15 +6076,6 @@ fi echores "$_bluray" echocheck "dvdread" -if test "$_dvdread_internal" = auto ; then - _dvdread_internal=no - if linux || freebsd || netbsd || openbsd || dragonfly || sunos || hpux || - darwin || win32 || os2; then - _dvdread_internal=yes - _dvdread=yes - extra_cflags="-Ilibdvdread4 $extra_cflags" - fi -fi if test "$_dvdread" = auto ; then _dvdread=no if test "$_dl" = yes; then @@ -6104,20 +6085,14 @@ if test "$_dvdread" = auto ; then _dvdread=yes extra_cflags="$extra_cflags $_dvdreadcflags" extra_ldflags="$extra_ldflags $_dvdreadlibs" - res_comment="external" fi fi fi -if test "$_dvdread_internal" = yes; then - def_dvdread='#define CONFIG_DVDREAD 1' - inputmodules="dvdread(internal) $inputmodules" - res_comment="internal" -elif test "$_dvdread" = yes; then +if test "$_dvdread" = yes; then def_dvdread='#define CONFIG_DVDREAD 1' - extra_ldflags="$extra_ldflags -ldvdread" - inputmodules="dvdread(external) $inputmodules" - res_comment="external" + extra_ldflags="$extra_ldflags" + inputmodules="dvdread $inputmodules" else def_dvdread='#undef CONFIG_DVDREAD' noinputmodules="dvdread $noinputmodules" @@ -6125,83 +6100,6 @@ fi echores "$_dvdread" -echocheck "internal libdvdcss" -def_broken_mkdir='#undef HAVE_BROKEN_MKDIR' -def_dvdio='#undef DVD_STRUCT_IN_SYS_DVDIO_H' -def_dvd='#undef DVD_STRUCT_IN_DVD_H' -def_cdio='#undef DVD_STRUCT_IN_SYS_CDIO_H' -def_cdrom='#undef DVD_STRUCT_IN_LINUX_CDROM_H' -def_hpux_scsi_h='#undef HPUX_SCTL_IO' -def_sol_scsi_h='#undef SOLARIS_USCSI' -def_sys_uio_h='#undef HAVE_SYS_UIO_H' -_dvdio=no -_dvd=no -_cdio=no -_cdrom=no -_sol_scsi_h=no -_hpux_scsi_h=no -if test "$_libdvdcss_internal" = auto && test "$_dvdread_internal" = yes ; then - _libdvdcss_internal=no - test -d libdvdcss && _libdvdcss_internal=yes - - if header_check linux/cdrom.h ; then - _cdrom=yes - def_cdrom='#define DVD_STRUCT_IN_LINUX_CDROM_H 1' - # FreeBSD 8.1 has broken dvdio.h - elif header_check_broken sys/types.h sys/dvdio.h ; then - _dvdio=yes - def_dvdio='#define DVD_STRUCT_IN_SYS_DVDIO_H 1' - elif header_check dvd.h ; then - _dvd=yes - def_dvd='#define DVD_STRUCT_IN_DVD_H 1' - # at least OpenSolaris has a broken cdio.h - elif header_check_broken sys/types.h sys/cdio.h ; then - _cdio=yes - def_cdio='#define DVD_STRUCT_IN_SYS_CDIO_H 1' - fi - - if sunos; then - header_check sys/scsi/scsi_types.h && - header_check_broken sys/types.h sys/scsi/impl/uscsi.h && - _sol_scsi_h=yes && def_sol_scsi_h='#define SOLARIS_USCSI 1' - elif hpux; then - # also used by AIX, but AIX does not support VCD and/or libdvdread - header_check sys/scsi.h && _hpux_scsi_h=yes && - def_hpux_scsi_h='#define HPUX_SCTL_IO 1' || - _libdvdcss_internal=no - fi - - statement_check_broken stddef.h sys/stat.h 'mkdir(NULL, 0)' || - def_broken_mkdir='#define HAVE_BROKEN_MKDIR 1' - - header_check "sys/uio.h" && - def_sys_uio_h='#define HAVE_SYS_UIO_H 1' - -fi -if test "$_libdvdcss_internal" = yes ; then - if linux || netbsd || openbsd || wine ; then - def_dvd_linux='#define HAVE_LINUX_DVD_STRUCT 1' - openbsd && def_dvd_openbsd='#define HAVE_OPENBSD_DVD_STRUCT 1' - elif freebsd || dragonfly ; then - def_dvd_bsd='#define HAVE_BSD_DVD_STRUCT 1' - elif darwin ; then - def_dvd_darwin='#define DARWIN_DVD_IOCTL' - extra_ldflags="$extra_ldflags -framework IOKit -framework Carbon" - elif cygwin ; then - cflags_libdvdcss="-D_WIN32_IE=0x0500 -mwin32" - elif mingw32 ; then - cflags_libdvdcss="-D_WIN32_IE=0x0500" - libs_mplayer="$libs_mplayer -lshfolder" - fi - cflags_libdvdcss_dvdread="-Ilibdvdcss" - def_dvdcss="#define HAVE_DVDCSS_DVDCSS_H 1" - inputmodules="libdvdcss(internal) $inputmodules" -else - noinputmodules="libdvdcss(internal) $noinputmodules" -fi -echores "$_libdvdcss_internal" - - echocheck "libcdio" if test "$_libcdio" = auto ; then cat > $TMPC << EOF @@ -8123,22 +8021,7 @@ CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE CXXFLAGS=" $CFLAGS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS" -# This must be the last test to be performed. Any other tests following it -# could fail due to linker errors. libdvdnavmini is intentionally not linked -# against libdvdread (to permit MPlayer to use its own copy of the library). -# So any compilation using the flags added here but not linking against -# libdvdread can fail. echocheck "DVD support (libdvdnav)" -dvdnav_internal=no -if test "$_dvdnav" = auto ; then - if test "$_dvdread_internal" = yes ; then - _dvdnav=yes - dvdnav_internal=yes - res_comment="internal" - else - $_dvdnavconfig --version --minilibs >> $TMPLOG 2>&1 || _dvdnav=no - fi -fi if test "$_dvdnav" = auto ; then _dvdnav=no _dvdnavdir=$($_dvdnavconfig --cflags) @@ -8147,14 +8030,9 @@ if test "$_dvdnav" = auto ; then fi if test "$_dvdnav" = yes ; then def_dvdnav='#define CONFIG_DVDNAV 1' - if test "$dvdnav_internal" = yes ; then - cflags_libdvdnav="-Ilibdvdnav" - inputmodules="dvdnav(internal) $inputmodules" - else - extra_cflags="$extra_cflags $($_dvdnavconfig --cflags)" - extra_ldflags="$extra_ldflags $($_dvdnavconfig --minilibs)" - inputmodules="dvdnav $inputmodules" - fi + extra_cflags="$extra_cflags $($_dvdnavconfig --cflags)" + extra_ldflags="$extra_ldflags $($_dvdnavconfig --libs)" + inputmodules="dvdnav $inputmodules" else def_dvdnav='#undef CONFIG_DVDNAV' noinputmodules="dvdnav $noinputmodules" -- 2.1.1
Le quartidi 4 brumaire, an CCXXIII, Reimar Döffinger a écrit :
--- configure | 134 +++----------------------------------------------------------- 1 file changed, 6 insertions(+), 128 deletions(-)
I just tested on a Debian stable, and it fails to add -ldvdnav to EXTRALIBS, and linking fails.
diff --git a/configure b/configure index ba31428..b27b800 100755 --- a/configure +++ b/configure @@ -359,8 +359,6 @@ Optional features: --disable-bluray disable Blu-ray support [autodetect] --disable-dvdnav disable libdvdnav [autodetect] --disable-dvdread disable libdvdread [autodetect] - --disable-dvdread-internal disable internal libdvdread and libdvdnav [autodetect] - --disable-libdvdcss-internal disable internal libdvdcss [autodetect] --disable-cdparanoia disable cdparanoia [autodetect] --disable-cddb disable cddb [autodetect] --disable-bitmap-font disable bitmap font support [enable] @@ -750,8 +748,6 @@ type dvdnav-config >/dev/null 2>&1 && _dvdnavconfig=dvdnav-config _dvdreadconfig="pkg-config dvdread"
type dvdread-config >/dev/null 2>&1 && _dvdnavconfig=dvdread-config ^^^ The problem seems to come from this typo you introduced earlier today.
Regards, -- Nicolas George
On Sat, Oct 25, 2014 at 03:11:57PM +0200, Nicolas George wrote:
Le quartidi 4 brumaire, an CCXXIII, Reimar Döffinger a écrit :
--- configure | 134 +++----------------------------------------------------------- 1 file changed, 6 insertions(+), 128 deletions(-)
I just tested on a Debian stable, and it fails to add -ldvdnav to EXTRALIBS, and linking fails.
Thanks, I didn't have old version around to test that.
type dvdread-config >/dev/null 2>&1 && _dvdnavconfig=dvdread-config ^^^ The problem seems to come from this typo you introduced earlier today.
Should be fixed.
Le quartidi 4 brumaire, an CCXXIII, Reimar Döffinger a écrit :
Thanks, I didn't have old version around to test that.
Note that I could only test the build, not running with a DVD.
Should be fixed.
Thanks. I do not believe I have further objection to the patch. Regards, -- Nicolas George
On Sat, Oct 25, 2014 at 03:43:12PM +0200, Nicolas George wrote:
Le quartidi 4 brumaire, an CCXXIII, Reimar Döffinger a écrit :
Thanks, I didn't have old version around to test that.
Note that I could only test the build, not running with a DVD.
If you could it most likely wouldn't work because you don't have libdvdcss2 installed :) (dlopen is used to load it, so you do not notice it missing compile-time)
Reimar Döffinger wrote on Sat, 25 Oct 2014 15:50:08 +0200:
On Sat, Oct 25, 2014 at 03:43:12PM +0200, Nicolas George wrote:
Le quartidi 4 brumaire, an CCXXIII, Reimar Döffinger a écrit :
Thanks, I didn't have old version around to test that.
Note that I could only test the build, not running with a DVD.
If you could it most likely wouldn't work because you don't have libdvdcss2 installed :) (dlopen is used to load it, so you do not notice it missing compile-time)
Either you let libdvdread use dlopen or you compile libdvdread directly against libdvdcss. Unfortunately, we currently don't support this and compiling fails with unresolved references to libdvdcss, because libdvdread "Requires.private"ly libdvdcss in its pkg-config file in that case. In order to fix it pass the --static option to pkg-config for libdvdread. It won't hurt if libdvdread hasn't been built against libdvdcss, but will add the necessary -ldvdcss if it has. Ingo
On Thu, Jun 04, 2015 at 05:13:32PM +0200, Ingo Brückl wrote:
Reimar Döffinger wrote on Sat, 25 Oct 2014 15:50:08 +0200:
On Sat, Oct 25, 2014 at 03:43:12PM +0200, Nicolas George wrote:
Le quartidi 4 brumaire, an CCXXIII, Reimar Döffinger a écrit :
Thanks, I didn't have old version around to test that.
Note that I could only test the build, not running with a DVD.
If you could it most likely wouldn't work because you don't have libdvdcss2 installed :) (dlopen is used to load it, so you do not notice it missing compile-time)
Either you let libdvdread use dlopen or you compile libdvdread directly against libdvdcss. Unfortunately, we currently don't support this and compiling fails with unresolved references to libdvdcss, because libdvdread "Requires.private"ly libdvdcss in its pkg-config file in that case.
In order to fix it pass the --static option to pkg-config for libdvdread. It won't hurt if libdvdread hasn't been built against libdvdcss, but will add the necessary -ldvdcss if it has.
Uh, -ldvdcss should only be necessary if you actually link libdvdread statically... (and in which case the bug is using pkg-config instead of $_pkg_config) Unless libdvdread was miscompiled and left with undefined symbols.
On 10/25/2014 04:41 AM, Reimar Döffinger wrote: Maybe I am a couple of generations beyond your original patch. I compiled mplayer on Fedora 20. I have the following packages from rpmfusion and livna: libdvdcss-1.2.12-1.fc17.remi.x86_64 libdvdnav-devel-5.0.1-2.20140901gite225924.fc20.x86_64 libdvdread-5.0.0-1.fc20.x86_64 libdvdread-devel-5.0.0-1.fc20.x86_64 libdvdcss-devel-1.2.12-1.fc17.remi.x86_64 libdvdnav-5.0.1-2.20140901gite225924.fc20.x86_64 The file dvdnav.pc does not provide --minilibs. I changed configure to request --libs, and the build worked. I could play at least one dvd using dvdnav.
On 30/10/14 3:37 PM, Stephen Sheldon wrote:
On 10/25/2014 04:41 AM, Reimar Döffinger wrote:
Maybe I am a couple of generations beyond your original patch. I compiled mplayer on Fedora 20. I have the following packages from rpmfusion and livna:
libdvdcss-1.2.12-1.fc17.remi.x86_64 libdvdnav-devel-5.0.1-2.20140901gite225924.fc20.x86_64 libdvdread-5.0.0-1.fc20.x86_64 libdvdread-devel-5.0.0-1.fc20.x86_64 libdvdcss-devel-1.2.12-1.fc17.remi.x86_64 libdvdnav-5.0.1-2.20140901gite225924.fc20.x86_64
The file dvdnav.pc does not provide --minilibs. I changed configure to request --libs, and the build worked. I could play at least one dvd using dvdnav.
Working on an update of dvdread / dvdnav for OpenBSD I found that MPlayer is the only project that does not build as is. Almost all of the projects using these respective libraries tests for the libraries / headers; one or two used the pkg-config files. MPlayer is the only project using the long passe dvdnav-config / dvdread-config files and thus is broken. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
Working on an update of dvdread / dvdnav for OpenBSD I found that MPlayer is the only project that does not build as is. Almost all of the projects using these respective libraries tests for the libraries / headers; one or two used the pkg-config files. MPlayer is the only project using the long passe dvdnav-config / dvdread-config files and thus is broken.
Actually mplayer's configure does use pkg-config for dvdnav and dvdread. That is what I was reporting, one little problem with pkg-config --minilibs dvdnav on fedora.
On 01/11/14 9:56 PM, Stephen Sheldon wrote:
Working on an update of dvdread / dvdnav for OpenBSD I found that MPlayer is the only project that does not build as is. Almost all of the projects using these respective libraries tests for the libraries / headers; one or two used the pkg-config files. MPlayer is the only project using the long passe dvdnav-config / dvdread-config files and thus is broken.
Actually mplayer's configure does use pkg-config for dvdnav and dvdread. That is what I was reporting, one little problem with pkg-config --minilibs dvdnav on fedora.
Only within the last week and it is still broken. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
On Sun, Nov 02, 2014 at 01:11:12AM -0500, Brad Smith wrote:
On 01/11/14 9:56 PM, Stephen Sheldon wrote:
Working on an update of dvdread / dvdnav for OpenBSD I found that MPlayer is the only project that does not build as is. Almost all of the projects using these respective libraries tests for the libraries / headers; one or two used the pkg-config files. MPlayer is the only project using the long passe dvdnav-config / dvdread-config files and thus is broken.
Actually mplayer's configure does use pkg-config for dvdnav and dvdread. That is what I was reporting, one little problem with pkg-config --minilibs dvdnav on fedora.
Only within the last week and it is still broken.
It is fixed with this patch, which I applied now. Also it wasn't fixed earlier because nobody reported an issue (probably because most non-distribution users were fine with the internal ones).
On 02/11/14 3:46 AM, Reimar Döffinger wrote:
On Sun, Nov 02, 2014 at 01:11:12AM -0500, Brad Smith wrote:
On 01/11/14 9:56 PM, Stephen Sheldon wrote:
Working on an update of dvdread / dvdnav for OpenBSD I found that MPlayer is the only project that does not build as is. Almost all of the projects using these respective libraries tests for the libraries / headers; one or two used the pkg-config files. MPlayer is the only project using the long passe dvdnav-config / dvdread-config files and thus is broken.
Actually mplayer's configure does use pkg-config for dvdnav and dvdread. That is what I was reporting, one little problem with pkg-config --minilibs dvdnav on fedora.
Only within the last week and it is still broken.
It is fixed with this patch, which I applied now.
Yes, it builds now. Thank you very much. Looking through the configure script I noticed a few bits and pieces left for support for the internal copies that should be cleaned up. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
participants (5)
-
Brad Smith -
Ingo Brückl -
Nicolas George -
Reimar Döffinger -
Stephen Sheldon