diff -Nru libbluray-0.2.1~git20111206.46eb26b/ChangeLog libbluray-0.2.3/ChangeLog --- libbluray-0.2.1~git20111206.46eb26b/ChangeLog 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/ChangeLog 2012-08-17 11:27:32.000000000 +0000 @@ -1,6 +1,22 @@ -????-??-??: +2012-08-17: Version 0.2.3 + - Fixed memory leaks + - Automatic language selection: disable subtitles when audio is in the same language + - Fixed accessing outside of array bounds + - Default to stream 0 when requested language not found + - Install bd_info + - Added disc ID and AACS MKB version to BD_DISC_INFO + - Added extended AACS error codes + +2012-03-19: Version 0.2.2 + - Fixed displaying of single-loop animated buttons when not using animations + - Added events for pop-up menu availability and IG menu status + - Fixed resuming to interactive title + - Use user filesystem handler with libaacs + - Fixes to HDMV menu rendering + - Optimized HDMV menu rendering + - Support for sound effects in HDMV menus - Fixes to HDMV menu decoding - Distribute BD-J code -2012-12-03: Version 0.2.1 +2011-12-03: Version 0.2.1 - First release diff -Nru libbluray-0.2.1~git20111206.46eb26b/Makefile.am libbluray-0.2.3/Makefile.am --- libbluray-0.2.1~git20111206.46eb26b/Makefile.am 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/Makefile.am 2012-08-17 11:27:32.000000000 +0000 @@ -4,10 +4,12 @@ ACLOCAL_AMFLAGS=-I m4 -EXTRA_DIST=bootstrap doc COPYING player_wrappers README.txt +EXTRA_DIST=bootstrap doc COPYING player_wrappers README.txt ChangeLog MOSTLYCLEANFILES = $(DX_CLEANFILES) AUTOMAKE_OPTIONS = \ dist-bzip2 \ no-dist-gzip + +DISTCHECK_CONFIGURE_FLAGS = --enable-bdjava diff -Nru libbluray-0.2.1~git20111206.46eb26b/Makefile.in libbluray-0.2.3/Makefile.in --- libbluray-0.2.1~git20111206.46eb26b/Makefile.in 2011-12-06 07:54:29.000000000 +0000 +++ libbluray-0.2.3/Makefile.in 2012-08-17 11:31:47.000000000 +0000 @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.11.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -119,9 +119,11 @@ distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ @@ -150,6 +152,8 @@ GZIP_ENV = --best DIST_ARCHIVES = $(distdir).tar.bz2 distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -171,7 +175,7 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLOPEN_LDFLAGS = @DLOPEN_LDFLAGS@ +DLOPEN_LIBS = @DLOPEN_LIBS@ DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ @@ -324,17 +328,18 @@ SUBDIRS = src ACLOCAL_AMFLAGS = -I m4 -EXTRA_DIST = bootstrap doc COPYING player_wrappers README.txt +EXTRA_DIST = bootstrap doc COPYING player_wrappers README.txt ChangeLog MOSTLYCLEANFILES = $(DX_CLEANFILES) AUTOMAKE_OPTIONS = \ dist-bzip2 \ no-dist-gzip +DISTCHECK_CONFIGURE_FLAGS = --enable-bdjava all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: -am--refresh: +am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/doxygen-include.am $(am__configure_deps) @for dep in $?; do \ @@ -359,6 +364,7 @@ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; +$(top_srcdir)/doxygen-include.am: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck @@ -370,10 +376,8 @@ $(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi + @if test ! -f $@; then rm -f stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 @@ -603,7 +607,11 @@ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__remove_distdir) dist-lzma: distdir @@ -611,7 +619,7 @@ $(am__remove_distdir) dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__remove_distdir) dist-tarZ: distdir @@ -628,7 +636,7 @@ $(am__remove_distdir) dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then @@ -642,6 +650,8 @@ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lzma*) \ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ @@ -661,6 +671,7 @@ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ @@ -689,8 +700,16 @@ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ @@ -721,10 +740,15 @@ installcheck: installcheck-recursive install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) @@ -813,8 +837,8 @@ .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ - dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ - distcheck distclean distclean-generic distclean-hdr \ + dist-gzip dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \ + dist-zip distcheck distclean distclean-generic distclean-hdr \ distclean-libtool distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ diff -Nru libbluray-0.2.1~git20111206.46eb26b/aclocal.m4 libbluray-0.2.3/aclocal.m4 --- libbluray-0.2.1~git20111206.46eb26b/aclocal.m4 2011-12-06 07:54:20.000000000 +0000 +++ libbluray-0.2.3/aclocal.m4 2012-08-17 11:31:37.000000000 +0000 @@ -1,7 +1,8 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- +# generated automatically by aclocal 1.11.3 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, +# Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -19,12 +20,15 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software +# Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been @@ -34,7 +38,7 @@ [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.1], [], +m4_if([$1], [1.11.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -50,19 +54,21 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.1])dnl +[AM_AUTOMAKE_VERSION([1.11.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. @@ -144,14 +150,14 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -# Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, +# 2010, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 10 +# serial 12 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, @@ -191,6 +197,7 @@ # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -255,7 +262,7 @@ break fi ;; - msvisualcpp | msvcmsys) + msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. @@ -320,10 +327,13 @@ if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- @@ -557,12 +567,15 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, +# Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. @@ -694,12 +707,15 @@ fi ]) -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, +# Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. @@ -722,13 +738,14 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software +# Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 4 +# serial 5 # _AM_MANGLE_OPTION(NAME) # ----------------------- @@ -736,13 +753,13 @@ [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) -# ------------------------------ +# -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- +# ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) @@ -753,12 +770,14 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. @@ -835,12 +854,14 @@ fi AC_MSG_RESULT(yes)]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. +# serial 1 + # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't @@ -863,13 +884,13 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. +# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 2 +# serial 3 # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- @@ -878,13 +899,13 @@ AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- +# -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -906,10 +927,11 @@ # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) diff -Nru libbluray-0.2.1~git20111206.46eb26b/build-aux/config.guess libbluray-0.2.3/build-aux/config.guess --- libbluray-0.2.1~git20111206.46eb26b/build-aux/config.guess 2011-12-06 07:54:27.000000000 +0000 +++ libbluray-0.2.3/build-aux/config.guess 2012-08-17 11:31:45.000000000 +0000 @@ -2,9 +2,9 @@ # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2011-05-11' +timestamp='2012-02-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -17,9 +17,7 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -57,8 +55,8 @@ Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -145,7 +143,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward @@ -792,13 +790,12 @@ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) @@ -807,6 +804,9 @@ *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 @@ -861,6 +861,13 @@ i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -895,13 +902,16 @@ echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) - echo cris-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; frv:Linux:*:*) - echo frv-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu @@ -943,7 +953,7 @@ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) - echo or32-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu @@ -978,13 +988,13 @@ echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-tilera-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu @@ -1315,6 +1325,9 @@ i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 diff -Nru libbluray-0.2.1~git20111206.46eb26b/build-aux/config.sub libbluray-0.2.3/build-aux/config.sub --- libbluray-0.2.1~git20111206.46eb26b/build-aux/config.sub 2011-12-06 07:54:27.000000000 +0000 +++ libbluray-0.2.3/build-aux/config.sub 2012-08-17 11:31:45.000000000 +0000 @@ -2,9 +2,9 @@ # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2011-03-23' +timestamp='2012-02-10' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -21,9 +21,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -76,8 +74,8 @@ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -132,6 +130,10 @@ os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] @@ -247,17 +249,22 @@ # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ + | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ + | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ @@ -291,7 +298,7 @@ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ - | rx \ + | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -300,7 +307,7 @@ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ - | v850 | v850e \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -315,8 +322,7 @@ c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -329,7 +335,10 @@ strongarm | thumb | xscale) basic_machine=arm-unknown ;; - + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; xscaleeb) basic_machine=armeb-unknown ;; @@ -352,11 +361,13 @@ # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ + | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ @@ -365,8 +376,10 @@ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ @@ -400,7 +413,7 @@ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ - | romp-* | rs6000-* | rx-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ @@ -408,10 +421,11 @@ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ + | tile*-* \ | tron-* \ | ubicom32-* \ - | v850-* | v850e-* | vax-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -711,7 +725,6 @@ i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -808,10 +821,18 @@ ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; + msys) + basic_machine=i386-pc + os=-msys + ;; mvs) basic_machine=i370-ibm os=-mvs ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 @@ -1120,13 +1141,8 @@ basic_machine=t90-cray os=-unicos ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu - ;; tile*) - basic_machine=tile-unknown + basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) @@ -1336,7 +1352,7 @@ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ @@ -1548,9 +1564,6 @@ ;; m68000-sun) os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 ;; m68*-cisco) os=-aout diff -Nru libbluray-0.2.1~git20111206.46eb26b/build-aux/depcomp libbluray-0.2.3/build-aux/depcomp --- libbluray-0.2.1~git20111206.46eb26b/build-aux/depcomp 2011-12-06 07:54:28.000000000 +0000 +++ libbluray-0.2.3/build-aux/depcomp 2012-08-17 11:31:46.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2009-04-28.21; # UTC +scriptversion=2011-12-04.11; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free -# Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, +# 2011 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -44,7 +44,7 @@ object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. + tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . @@ -90,10 +90,18 @@ # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 - cygpath_u="sed s,\\\\\\\\,/,g" + cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what @@ -158,10 +166,12 @@ ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as -## well. +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -405,6 +415,52 @@ rm -f "$tmpdepfile" ;; +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test "$stat" = 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/ \1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/ / + G + p +}' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. @@ -503,7 +559,9 @@ touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation diff -Nru libbluray-0.2.1~git20111206.46eb26b/build-aux/install-sh libbluray-0.2.3/build-aux/install-sh --- libbluray-0.2.1~git20111206.46eb26b/build-aux/install-sh 2011-12-06 07:54:27.000000000 +0000 +++ libbluray-0.2.3/build-aux/install-sh 2012-08-17 11:31:45.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2009-04-28.21; # UTC +scriptversion=2011-01-19.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -156,6 +156,10 @@ -s) stripcmd=$stripprog;; -t) dst_arg=$2 + # Protect names problematic for `test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac shift;; -T) no_target_directory=true;; @@ -186,6 +190,10 @@ fi shift # arg dst_arg=$arg + # Protect names problematic for `test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac done fi @@ -200,7 +208,11 @@ fi if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. @@ -228,9 +240,9 @@ for src do - # Protect names starting with `-'. + # Protect names problematic for `test' and other utilities. case $src in - -*) src=./$src;; + -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then @@ -252,12 +264,7 @@ echo "$0: no destination specified." >&2 exit 1 fi - dst=$dst_arg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst;; - esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. @@ -385,7 +392,7 @@ case $dstdir in /*) prefix='/';; - -*) prefix='./';; + [-=\(\)!]*) prefix='./';; *) prefix='';; esac @@ -403,7 +410,7 @@ for d do - test -z "$d" && continue + test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then diff -Nru libbluray-0.2.1~git20111206.46eb26b/build-aux/ltmain.sh libbluray-0.2.3/build-aux/ltmain.sh --- libbluray-0.2.1~git20111206.46eb26b/build-aux/ltmain.sh 2011-12-06 07:54:10.000000000 +0000 +++ libbluray-0.2.3/build-aux/ltmain.sh 2012-08-17 11:31:26.000000000 +0000 @@ -1,9 +1,9 @@ -# libtool (GNU libtool) 2.4 +# libtool (GNU libtool) 2.4.2 # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -41,6 +41,7 @@ # --quiet, --silent don't print informational messages # --no-quiet, --no-silent # print informational messages (default) +# --no-warn don't display warning messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print more informational messages than default # --no-verbose don't print the extra informational messages @@ -69,7 +70,7 @@ # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4 Debian-2.4-2ubuntu1 +# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1 # automake: $automake_version # autoconf: $autoconf_version # @@ -79,9 +80,9 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4 Debian-2.4-2ubuntu1" +VERSION="2.4.2 Debian-2.4.2-1ubuntu1" TIMESTAMP="" -package_revision=1.3293 +package_revision=1.3337 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then @@ -136,15 +137,10 @@ : ${CP="cp -f"} test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} -: ${EGREP="/bin/grep -E"} -: ${FGREP="/bin/grep -F"} -: ${GREP="/bin/grep"} -: ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} -: ${SED="/bin/sed"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} @@ -387,7 +383,7 @@ ;; *) save_IFS="$IFS" - IFS=: + IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break @@ -771,8 +767,8 @@ s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ + s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ + s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ p d } @@ -1052,6 +1048,7 @@ opt_help=false opt_help_all=false opt_silent=: +opt_warning=: opt_verbose=: opt_silent=false opt_verbose=false @@ -1120,6 +1117,10 @@ opt_silent=false func_append preserve_args " $opt" ;; + --no-warning|--no-warn) + opt_warning=false +func_append preserve_args " $opt" + ;; --no-verbose) opt_verbose=false func_append preserve_args " $opt" @@ -2059,7 +2060,7 @@ *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup) + *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; @@ -3201,11 +3202,13 @@ # Set up the ranlib parameters. oldlib="$destdir/$name" + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $oldlib" 'exit $?' + func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. @@ -3470,7 +3473,7 @@ # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; @@ -3982,14 +3985,17 @@ # launches target application with the remaining arguments. func_exec_program () { - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done + case \" \$* \" in + *\\ --lt-*) + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done ;; + esac func_exec_program_core \${1+\"\$@\"} } @@ -5057,9 +5063,15 @@ { EOF func_emit_wrapper yes | - $SED -e 's/\([\\"]\)/\\\1/g' \ - -e 's/^/ fputs ("/' -e 's/$/\\n", f);/' - + $SED -n -e ' +s/^\(.\{79\}\)\(..*\)/\1\ +\2/ +h +s/\([\\"]\)/\\\1/g +s/$/\\n/ +s/\([^\n]*\).*/ fputs ("\1", f);/p +g +D' cat <<"EOF" } EOF @@ -5643,7 +5655,8 @@ continue ;; - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" @@ -6150,7 +6163,8 @@ lib= found=no case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" @@ -6834,7 +6848,7 @@ test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" + add_dir="-L$absdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in @@ -7319,6 +7333,7 @@ # which has an extra 1 added just for fun # case $version_type in + # correct linux to gnu/linux during the next big refactor darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result @@ -7438,7 +7453,7 @@ versuffix="$major.$revision" ;; - linux) + linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" @@ -8026,6 +8041,11 @@ # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then + # Remove ${wl} instances when linking with ld. + # FIXME: should test the right _cmds variable. + case $archive_cmds in + *\$LD\ *) wl= ;; + esac if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= @@ -8056,7 +8076,7 @@ elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; - *) func_apped perm_rpath " $libdir" ;; + *) func_append perm_rpath " $libdir" ;; esac fi done @@ -8064,11 +8084,7 @@ if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi + eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. @@ -9158,6 +9174,8 @@ esac done fi + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" @@ -9267,7 +9285,8 @@ *.la) func_basename "$deplib" name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + func_resolve_sysroot "$deplib" + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" diff -Nru libbluray-0.2.1~git20111206.46eb26b/build-aux/missing libbluray-0.2.3/build-aux/missing --- libbluray-0.2.1~git20111206.46eb26b/build-aux/missing 2011-12-06 07:54:27.000000000 +0000 +++ libbluray-0.2.3/build-aux/missing 2012-08-17 11:31:45.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-01-06.13; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. +# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -84,7 +84,6 @@ help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and @@ -122,15 +121,6 @@ # Not GNU programs, they don't have --version. ;; - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. @@ -226,7 +216,7 @@ \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` @@ -256,7 +246,7 @@ \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` @@ -318,41 +308,6 @@ touch $file ;; - tar*) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. diff -Nru libbluray-0.2.1~git20111206.46eb26b/configure libbluray-0.2.3/configure --- libbluray-0.2.1~git20111206.46eb26b/configure 2011-12-06 07:54:23.000000000 +0000 +++ libbluray-0.2.3/configure 2012-08-17 11:31:41.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for libbluray 0.2.1. +# Generated by GNU Autoconf 2.68 for libbluray 0.2.3. # # Report bugs to . # @@ -570,8 +570,8 @@ # Identity of this package. PACKAGE_NAME='libbluray' PACKAGE_TARNAME='libbluray' -PACKAGE_VERSION='0.2.1' -PACKAGE_STRING='libbluray 0.2.1' +PACKAGE_VERSION='0.2.3' +PACKAGE_STRING='libbluray 0.2.3' PACKAGE_BUGREPORT='http://www.videolan.org/developers/libbluray.html' PACKAGE_URL='' @@ -618,7 +618,7 @@ SET_DEBUG_OPTS SET_OPTIMIZATIONS SET_WARNINGS -DLOPEN_LDFLAGS +DLOPEN_LIBS BDJAVA_CFLAGS LT_VERSION_INFO BLURAY_VERSION_MICRO @@ -705,6 +705,7 @@ am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE +am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE @@ -1379,7 +1380,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libbluray 0.2.1 to adapt to many kinds of systems. +\`configure' configures libbluray 0.2.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1450,7 +1451,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libbluray 0.2.1:";; + short | recursive ) echo "Configuration of libbluray 0.2.3:";; esac cat <<\_ACEOF @@ -1490,7 +1491,7 @@ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-jdk=DIR Specify the path to the JDK (default is "/usr/lib/jvm/java-6-openjdk") - --with-pic try to use only PIC/non-PIC objects [default=use + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot=DIR Search for dependent libraries within DIR @@ -1583,7 +1584,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libbluray configure 0.2.1 +libbluray configure 0.2.3 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2009,7 +2010,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libbluray $as_me 0.2.1, which was +It was created by libbluray $as_me 0.2.3, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2936,7 +2937,7 @@ # Define the identity of the package. PACKAGE='libbluray' - VERSION='0.2.1' + VERSION='0.2.3' cat >>confdefs.h <<_ACEOF @@ -2966,9 +2967,9 @@ # We need awk for the "check" target. The system "awk" is bad on # some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5 @@ -4002,6 +4003,7 @@ if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= @@ -4026,6 +4028,7 @@ # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -4085,7 +4088,7 @@ break fi ;; - msvisualcpp | msvcmsys) + msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. @@ -4148,8 +4151,8 @@ -macro_version='2.4' -macro_revision='1.3293' +macro_version='2.4.2' +macro_revision='1.3337' @@ -4923,6 +4926,11 @@ lt_cv_sys_max_cmd_len=196608 ;; + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not @@ -4962,7 +4970,7 @@ # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \ + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do @@ -5391,7 +5399,7 @@ lt_cv_deplibs_check_method=pass_all ;; -# This must be Linux ELF. +# This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; @@ -6032,13 +6040,13 @@ if test -n "$RANLIB"; then case $host_os in openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in @@ -6185,6 +6193,7 @@ # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ @@ -6573,7 +6582,7 @@ CFLAGS="$SAVE_CFLAGS" fi ;; -sparc*-*solaris*) +*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 @@ -6584,7 +6593,20 @@ case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" @@ -7224,7 +7246,13 @@ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 @@ -7235,6 +7263,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : @@ -7267,6 +7296,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if ${lt_cv_ld_force_load+:} false; then : @@ -7288,7 +7318,9 @@ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? - if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&5 @@ -7693,7 +7725,22 @@ # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : - withval=$with_pic; pic_mode="$withval" + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else pic_mode=default fi @@ -7771,6 +7818,10 @@ + + + + test -z "$LN_S" && LN_S="ln -s" @@ -8230,7 +8281,9 @@ case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' - lt_prog_compiler_pic='-Xcompiler -fPIC' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi ;; esac else @@ -8321,18 +8374,33 @@ ;; *) case `$CC -V 2>&1 | sed 5q` in - *Sun\ F* | *Sun*Fortran*) + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; esac ;; esac @@ -8694,7 +8762,6 @@ hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported @@ -8947,8 +9014,7 @@ xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld='-rpath $libdir' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ @@ -9328,6 +9394,7 @@ # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' @@ -9373,6 +9440,7 @@ hardcode_shlibpath_var=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + else whole_archive_flag_spec='' fi @@ -9401,10 +9469,6 @@ hardcode_shlibpath_var=no ;; - freebsd1*) - ld_shlibs=no - ;; - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little @@ -9417,7 +9481,7 @@ ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) + freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes @@ -9456,7 +9520,6 @@ fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes @@ -10080,11 +10143,6 @@ - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } @@ -10174,7 +10232,7 @@ case $host_os in aix3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH @@ -10183,7 +10241,7 @@ ;; aix[4-9]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes @@ -10248,7 +10306,7 @@ ;; bsdi[45]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' @@ -10387,7 +10445,7 @@ ;; dgux*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' @@ -10395,10 +10453,6 @@ shlibpath_var=LD_LIBRARY_PATH ;; -freebsd1*) - dynamic_linker=no - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -10406,7 +10460,7 @@ objformat=`/usr/bin/objformat` else case $host_os in - freebsd[123]*) objformat=aout ;; + freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi @@ -10424,7 +10478,7 @@ esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) @@ -10444,7 +10498,7 @@ ;; gnu*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' @@ -10455,7 +10509,7 @@ ;; haiku*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" @@ -10516,7 +10570,7 @@ ;; interix[3-9]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' @@ -10532,7 +10586,7 @@ nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; @@ -10569,9 +10623,9 @@ dynamic_linker=no ;; -# This must be Linux ELF. +# This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -10665,7 +10719,7 @@ ;; newsos6) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -10734,7 +10788,7 @@ ;; solaris*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -10759,7 +10813,7 @@ ;; sysv4 | sysv4.3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -10783,7 +10837,7 @@ sysv4*MP*) if test -d /usr/nec ;then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH @@ -10814,7 +10868,7 @@ tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -10824,7 +10878,7 @@ ;; uts4*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -11606,6 +11660,8 @@ + + ac_config_commands="$ac_config_commands libtool" @@ -11677,7 +11733,7 @@ done -for ac_header in sys/time.h time.h +for ac_header in sys/time.h time.h mntent.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" @@ -12160,7 +12216,7 @@ cat >>confdefs.h <<_ACEOF #define HAVE_DLOPEN 1 _ACEOF - DLOPEN_LDFLAGS="" + DLOPEN_LIBS="" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } @@ -12199,7 +12255,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - DLOPEN_LDFLAGS="-ldl" + DLOPEN_LIBS="-ldl" else as_fn_error $? "$library_not_found" "$LINENO" 5 fi @@ -12487,6 +12543,10 @@ check_cc_options -Wundef && \ SET_WARNINGS="$SET_WARNINGS -Wundef" +# no implicit function declarations +check_cc_options -Werror-implicit-function-declaration && \ + SET_WARNINGS="$SET_WARNINGS -Werror-implicit-function-declaration" + # use -Werror if [ $use_werror = "yes" ]; then check_cc_options -Werror && \ @@ -14501,11 +14561,11 @@ BLURAY_VERSION_MINOR=2 -BLURAY_VERSION_MICRO=1 +BLURAY_VERSION_MICRO=3 # export library (.so) version -LT_VERSION_INFO="1:0:0" +LT_VERSION_INFO="3:0:2" # generate output files @@ -15146,7 +15206,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libbluray $as_me 0.2.1, which was +This file was extended by libbluray $as_me 0.2.3, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15212,7 +15272,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libbluray config.status 0.2.1 +libbluray config.status 0.2.3 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" @@ -15349,6 +15409,7 @@ enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' @@ -15431,7 +15492,6 @@ allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' @@ -15487,6 +15547,7 @@ # Quote evaled strings. for var in SHELL \ ECHO \ +PATH_SEPARATOR \ SED \ GREP \ EGREP \ @@ -15537,7 +15598,6 @@ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ -hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ @@ -16337,8 +16397,8 @@ # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, -# Inc. +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. @@ -16392,6 +16452,9 @@ # An echo program that protects backslashes. ECHO=$lt_ECHO +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + # The host system. host_alias=$host_alias host=$host @@ -16693,10 +16756,6 @@ # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator diff -Nru libbluray-0.2.1~git20111206.46eb26b/configure.ac libbluray-0.2.3/configure.ac --- libbluray-0.2.1~git20111206.46eb26b/configure.ac 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/configure.ac 2012-08-17 11:27:32.000000000 +0000 @@ -1,7 +1,7 @@ # library version number m4_define([bluray_major], 0) m4_define([bluray_minor], 2) -m4_define([bluray_micro], 1) +m4_define([bluray_micro], 3) m4_define([bluray_version],[bluray_major.bluray_minor.bluray_micro]) # shared library version (.so version) @@ -12,9 +12,9 @@ # # Library file name will be libbluray.so.(current-age).age.revision # -m4_define([lt_current], 1) +m4_define([lt_current], 3) m4_define([lt_revision], 0) -m4_define([lt_age], 0) +m4_define([lt_age], 2) # initilization AC_INIT([libbluray], bluray_version, [http://www.videolan.org/developers/libbluray.html]) @@ -115,7 +115,7 @@ # required headers AC_CHECK_HEADERS([stdarg.h sys/types.h dirent.h errno.h libgen.h malloc.h]) AC_CHECK_HEADERS([stdlib.h mntent.h linux/cdrom.h inttypes.h strings.h]) -AC_CHECK_HEADERS([sys/time.h time.h]) +AC_CHECK_HEADERS([sys/time.h time.h mntent.h]) if test "${SYS}" != "mingw32" ; then AC_CHECK_HEADERS(pthread.h,, [AC_MSG_ERROR([pthread.h required])]) fi @@ -139,9 +139,9 @@ if test "${SYS}" != "mingw32" ; then AC_CHECK_FUNCS( [dlopen], - [DLOPEN_LDFLAGS=""], + [DLOPEN_LIBS=""], [AC_CHECK_LIB([dl], [dlopen], - [DLOPEN_LDFLAGS="-ldl"], + [DLOPEN_LIBS="-ldl"], [AC_MSG_ERROR($library_not_found)])]) fi @@ -198,6 +198,10 @@ check_cc_options -Wundef && \ SET_WARNINGS="$SET_WARNINGS -Wundef" +# no implicit function declarations +check_cc_options -Werror-implicit-function-declaration && \ + SET_WARNINGS="$SET_WARNINGS -Werror-implicit-function-declaration" + # use -Werror if [[ $use_werror = "yes" ]]; then check_cc_options -Werror && \ @@ -272,7 +276,7 @@ # generate output files AC_SUBST(BDJAVA_CFLAGS) -AC_SUBST(DLOPEN_LDFLAGS) +AC_SUBST(DLOPEN_LIBS) AC_SUBST(SET_WARNINGS) AC_SUBST(SET_OPTIMIZATIONS) AC_SUBST(SET_DEBUG_OPTS) diff -Nru libbluray-0.2.1~git20111206.46eb26b/debian/changelog libbluray-0.2.3/debian/changelog --- libbluray-0.2.1~git20111206.46eb26b/debian/changelog 2011-12-06 07:54:31.000000000 +0000 +++ libbluray-0.2.3/debian/changelog 2012-11-20 07:59:07.000000000 +0000 @@ -1,50 +1,168 @@ -libbluray (1:0.2.1~git20111206.46eb26b-oneiric) oneiric; urgency=medium +libbluray (1:0.2.3-1~oneiric) oneiric; urgency=low - * libbluray git 46eb26b. + [ wsnipex ] + * port to oneiric - -- alexandr surkov Tue, 06 Dec 2011 11:54:31 +0400 + -- wsnipex Tue, 20 Nov 2012 08:55:24 +0100 -libbluray (0.2~git20110730.3477b66-natty1) natty; urgency=low +libbluray (1:0.2.3-1) experimental; urgency=low - * libbluray git 3477b65. + [ Rico Tzschichholz ] + * New upstream release + - Fixed memory leaks + - Automatic language selection: disable subtitles when audio is in the + same language + - Fixed accessing outside of array bounds + - Default to stream 0 when requested language not found + - Install bd_info + - Added disc ID and AACS MKB version to BD_DISC_INFO + - Added extended AACS error codes - -- alexandr surkov Sat, 30 Jul 2011 17:16:49 +0400 + [ James Page ] + * Transition package to use default java implementation: + - d/control: BD on default-jdk for linux archs. + - d/rules: Use /usr/lib/jvm/default-java for JAVA_HOME. + - d/patches/java-compat.patch: Set source/target = 1.5 to ensure + that backwards compatible bytecode is built. -libbluray (0.2~git20110213.20739ed-0ubuntu3) natty; urgency=low + -- Rico Tzschichholz Wed, 19 Sep 2012 08:46:53 +0200 - [ Rico Tzschichholz ] - * debian/rules,debian/control: - + Add libbluray-bdj package includes the Java library for BD-J support, - so just using libbluray0 won't pull in a Java runtime (LP: #725892) - + Disable build of examples because we don't install them - - [ Reinhard Tartler ] - * make libbluray-bdj arch:all - * improve the description of the package of libbluray0 +libbluray (1:0.2.2-1) unstable; urgency=low - -- Reinhard Tartler Wed, 02 Mar 2011 22:38:27 +0100 + * New upstream release -libbluray (0.2~git20110213.20739ed-0ubuntu2) natty; urgency=low + -- Rico Tzschichholz Tue, 20 Mar 2012 13:55:03 +0100 - [ Rico Tzschichholz ] - * add myself to uploaders - * update debian/copyright +libbluray (1:0.2.1+git20111208.63e308d-5) unstable; urgency=low + + * Enable hardened compiler flags. + + -- Andres Mejia Mon, 19 Mar 2012 10:03:21 -0400 + +libbluray (1:0.2.1+git20111208.63e308d-4) unstable; urgency=low + + * Allow dev package to be multiarch installable. + * Bump to Standards-Version 3.9.3. + * Add Multi-Arch: foreign field for libbluray-bdj. Needed since libbluray1 has + a Suggests dependency on libbluray-bdj. + + -- Andres Mejia Fri, 16 Mar 2012 17:52:52 -0400 + +libbluray (1:0.2.1+git20111208.63e308d-3) unstable; urgency=low + + * Demote libbluray-bdj to Suggests in the libbluray1 library package. + Thanks to Micah Gersten and + Paul Fertser (Closes: #656850) + + -- Reinhard Tartler Mon, 20 Feb 2012 10:52:40 +0100 + +libbluray (1:0.2.1+git20111208.63e308d-2) unstable; urgency=low + + * Demote libbluray-bdj to libbluray-dev's Suggests since it is actually + unneeded by a number of reverse dependencies; thanks to Neil Williams + for having pointed this out. (Closes: #659165) + + -- Alessio Treglia Fri, 10 Feb 2012 09:57:07 +0100 + +libbluray (1:0.2.1+git20111208.63e308d-1) unstable; urgency=low + + * New upstream git snapshot from commit + 63e308d9c6ce1cd361fed713620fab16d67a84e1 + * debian/patches: + - Drop soname-bump.patch, which has been done upstream now + + -- Rico Tzschichholz Fri, 16 Dec 2011 10:43:00 +0100 + +libbluray (1:0.2~git20111001.8e5d241-1) unstable; urgency=low + + * Include all files from upstream source. + * Remove gbp options which are always default. + * Use different mechanism to set soname. + * Don't use dh-autoreconf. + * Put dh sequence as first option. + * Use dh --parallel. + * Update this package so it supports multiarch. + * Update upstream version to '0.2', which upstream uses. + * Include static lib. + + -- Andres Mejia Sat, 01 Oct 2011 17:57:33 -0400 + +libbluray (1:0.0~git20110717.3477b65-5) unstable; urgency=low + + * Restrict JAVA related checks to Linux architectures (Fixes FTBFS on !Linux) + Thanks to Christoph Egger for reporting on IRC + * normalize debian/copyright with config-edit. + Thanks to lintian for finding an obsoleted field + + -- Reinhard Tartler Fri, 30 Sep 2011 08:58:32 +0200 + +libbluray (1:0.0~git20110717.3477b65-4) unstable; urgency=low + + * Set JAVA_HOME variable correctly to accommodate the multiarch changes. + Thanks to Mònica Ramírez Arceda for reporting + (Closes: #640337) + + -- Reinhard Tartler Thu, 29 Sep 2011 18:22:24 +0200 + +libbluray (1:0.0~git20110717.3477b65-3) unstable; urgency=low + + * Enable bdjava on linux hosts only, Closes: #638222 + * Remove files that are deleted during build + * Invoke javahelper sequence only on linux + * Build depend on openjdk-6-jdk instead of default-jdk, + gcj seems to have problems with ant and jni + * Add myself to uploaders + + -- Reinhard Tartler Thu, 18 Aug 2011 18:16:29 +0200 + +libbluray (1:0.0~git20110717.3477b65-2) unstable; urgency=low + + [ Andres Mejia ] + * debian/copyright: + - Include myself in copyright for debian packaging. Also distribute + the packaging under the same terms as libbluray. + + [ Alessio Treglia ] + * Add libaacs0 to libbluray1's Recommends: + - No need to build-depend on libaacs0 as libbluray1 is able to load + it via dlopen() + * debian/copyright: Use the Comment field (as per DEP-5 rev. 174) + * debian/control: Add myself as uploader. + + -- Alessio Treglia Sun, 14 Aug 2011 11:24:40 +0200 + +libbluray (1:0.0~git20110717.3477b65-1) unstable; urgency=low + + * Package new upstream git snapshot. + * Update to my @debian.org email. + * Bump soname. (Closes: #633462) + * Fix build dependencies for generating documentation. + * Add watch file. + + -- Andres Mejia Mon, 18 Jul 2011 22:34:06 -0400 + +libbluray (0.2~git20110613.e93aa91-1) unstable; urgency=low - [ Reinhard Tartler ] - * update maintainers field + * New upstream git snapshot from commit + e93aa914327f8599ee69665a877a3777b1809691 - -- Reinhard Tartler Tue, 22 Feb 2011 21:23:40 +0100 + -- Rico Tzschichholz Wed, 15 Jun 2011 20:37:33 +0200 -libbluray (0.2~git20110213.20739ed-0ubuntu1) natty; urgency=low +libbluray (0.2~git20110427.8b86664-1) unstable; urgency=low - * New upstream git snapshot of http://git.videolan.org/?p=libbluray.git - + Checkout from git 20110213 (master branch) up to commit - 20739ede2fcadd67b35a1553b9ee9372de21f9f7 + * New upstream git snapshot from commit + 8b866642a667c81cbad475308686484af8ea864b. + * Rico Tzschichholz was added as uploader. + * Bump to Standards-Version 3.9.2. + * Add libxml2-dev as build dependency. + * Introduce libbluray-bdj package for BD-J library. + * Introduce package for documentation. + * Correct package short descriptions. - -- Rico Tzschichholz Thu, 17 Feb 2011 10:48:32 +0100 + -- Andres Mejia Wed, 27 Apr 2011 17:41:28 -0400 libbluray (0.1~git20100913.16c8a21-1) unstable; urgency=low - * Initial release. (Closes: #591192, LP: #693289) + * Initial release. (Closes: #591192) -- Andres Mejia Mon, 13 Sep 2010 15:32:57 -0400 diff -Nru libbluray-0.2.1~git20111206.46eb26b/debian/control libbluray-0.2.3/debian/control --- libbluray-0.2.1~git20111206.46eb26b/debian/control 2011-10-23 19:20:35.000000000 +0000 +++ libbluray-0.2.3/debian/control 2012-09-20 17:18:52.000000000 +0000 @@ -7,9 +7,9 @@ Reinhard Tartler , Alessio Treglia DM-Upload-Allowed: yes -Build-Depends: debhelper (>= 7), +Build-Depends: debhelper (>= 8.1.3~), javahelper, - openjdk-6-jdk [linux-any], + default-jdk [linux-any], ant, libxml2-dev, doxygen, @@ -18,17 +18,18 @@ texlive-latex-extra, latex-xcolor, texlive-fonts-recommended, -Standards-Version: 3.9.2 +Standards-Version: 3.9.3 Homepage: http://www.videolan.org/developers/libbluray.html Vcs-Git: git://git.debian.org/git/pkg-multimedia/libbluray.git Vcs-Browser: http://git.debian.org/?p=pkg-multimedia/libbluray.git;a=summary Package: libbluray-dev +Multi-Arch: same Architecture: any Section: libdevel Depends: libbluray1 (= ${binary:Version}), - libbluray-bdj (= ${source:Version}), ${misc:Depends} +Suggests: libbluray-bdj Description: Blu-ray disc playback support library (development files) libbluray is an open-source library designed for Blu-Ray Discs playback for media players, like VLC or MPlayer. This research project is developed by an @@ -45,7 +46,8 @@ Multi-Arch: same Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} -Recommends: libbluray-bdj, libaacs0 +Recommends: libaacs0 +Suggests: libbluray-bdj Description: Blu-ray disc playback support library (shared library) libbluray is an open-source library designed for Blu-Ray Discs playback for media players, like VLC or MPlayer. This research project is developed by an @@ -57,14 +59,33 @@ . This package provides the shared library. +Package: libbluray1-dbg +Section: debug +Priority: extra +Architecture: any +Depends: libbluray1 (= ${binary:Version}), + ${misc:Depends} +Multi-Arch: same +Description: Blu-ray disc playback support library (debug symbols) + libbluray is an open-source library designed for Blu-Ray Discs playback for + media players, like VLC or MPlayer. This research project is developed by an + international team of developers from Doom9. libbluray integrates navigation, + playlist parsing, menus, and BD-J. + . + NB: Most commercial Blu-Ray are restricted by AACS or BD+ technologies and this + library is not enough to playback those discs. + . + This package provides debug symbols for the shared library. + Package: libbluray-bdj +Multi-Arch: foreign Architecture: all Depends: libbluray1 (>= ${source:Version}), libbluray1 (<< ${source:Version}.1~), default-jre-headless | java2-runtime-headless, ${java:Depends}, ${misc:Depends} -Description: Blu-ray disc playback support library (BD-J library) +Description: Blu-ray Disc Java support library (BD-J library) libbluray is an open-source library designed for Blu-Ray Discs playback for media players, like VLC or MPlayer. This research project is developed by an international team of developers from Doom9. libbluray integrates navigation, @@ -73,6 +94,10 @@ NB: Most commercial Blu-Ray are restricted by AACS or BD+ technologies and this library is not enough to playback those discs. . + BD-J support is important because many of the advanced features and extra + content in Blu-ray movies uses BD-J. Programs designed to provide support for + those features must depend on this. + . This package provides the BD-J library. Package: libbluray-doc diff -Nru libbluray-0.2.1~git20111206.46eb26b/debian/libbluray-get-orig-source libbluray-0.2.3/debian/libbluray-get-orig-source --- libbluray-0.2.1~git20111206.46eb26b/debian/libbluray-get-orig-source 2011-10-01 21:46:49.000000000 +0000 +++ libbluray-0.2.3/debian/libbluray-get-orig-source 2012-09-20 17:18:52.000000000 +0000 @@ -3,11 +3,11 @@ # Script used to generate the orig source tarball for libbluray. LIBBLURAY_GIT_URL="git://git.videolan.org/libbluray.git" -LIBBLURAY_GIT_COMMIT="8e5d241ea1ebb131941c3279b2363d4eb2479eca" -DATE_RETRIEVED="20111001" +LIBBLURAY_GIT_COMMIT="63e308d9c6ce1cd361fed713620fab16d67a84e1" +DATE_RETRIEVED="20111208" COMMIT_SHORT_FORM="$(echo $LIBBLURAY_GIT_COMMIT | \ sed -e 's/^\([[:xdigit:]]\{,7\}\).*/\1/')" -LIBBLURAY_VERSION="0.2~git${DATE_RETRIEVED}.${COMMIT_SHORT_FORM}" +LIBBLURAY_VERSION="0.2.1+git${DATE_RETRIEVED}.${COMMIT_SHORT_FORM}" git clone "$LIBBLURAY_GIT_URL" "libbluray-${LIBBLURAY_VERSION}" diff -Nru libbluray-0.2.1~git20111206.46eb26b/debian/patches/01_java-compat.patch libbluray-0.2.3/debian/patches/01_java-compat.patch --- libbluray-0.2.1~git20111206.46eb26b/debian/patches/01_java-compat.patch 1970-01-01 00:00:00.000000000 +0000 +++ libbluray-0.2.3/debian/patches/01_java-compat.patch 2012-09-20 17:18:52.000000000 +0000 @@ -0,0 +1,19 @@ +Description: Ensure source/target is specified so backwards + compatible bytecode is generated during the build process. +Author: James Page +Forwarded: no + +Index: libbluray-0.2.2/src/libbluray/bdj/build.xml +=================================================================== +--- libbluray-0.2.2.orig/src/libbluray/bdj/build.xml 2010-07-19 10:54:58.000000000 +0100 ++++ libbluray-0.2.2/src/libbluray/bdj/build.xml 2012-08-06 11:44:21.099044620 +0100 +@@ -15,7 +15,8 @@ + + +- ++ + + + - ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -1,3 +1,7 @@ -+# NOTE: soname version is retrieved from bluray.h. -+LIB_CURRENT = $(shell grep -e 'define LIBBLURAY_VERSION_MAJOR' libbluray/bluray.h | sed -e 's/[^0-9]*\([0-9]\+\)/\1/') -+LIB_REVISION = $(shell grep -e 'define LIBBLURAY_VERSION_MINOR' libbluray/bluray.h | sed -e 's/[^0-9]*\([0-9]\+\)/\1/') -+LIB_AGE = $(shell grep -e 'define LIBBLURAY_VERSION_MICRO' libbluray/bluray.h | sed -e 's/[^0-9]*\([0-9]\+\)/\1/') - LIB_VERSION_INFO="@LT_VERSION_INFO@" - - SUBDIRS= . examples ---- a/src/libbluray/bluray.h -+++ b/src/libbluray/bluray.h -@@ -31,6 +31,29 @@ - * external API header - */ - -+/* NOTE: Formatting of these is important. -+ * Also, this version is not the same as the library's release version. -+ */ -+#define LIBBLURAY_VERSION_MAJOR 1 -+#define LIBBLURAY_VERSION_MINOR 0 -+#define LIBBLURAY_VERSION_MICRO 0 -+ -+#define LB_STRINGIFY(s) LB_TOSTRING(s) -+#define LB_TOSTRING(s) #s -+#define LB_VERSION_INT(a, b, c) (a<<16 | b<<8 | c) -+#define LB_VERSION_DOT(a, b, c) a ##.## b ##.## c -+#define LB_VERSION(a, b, c) LB_VERSION_DOT(a, b, c) -+ -+#define LIBBLURAY_VERSION_INT LB_VERSION_INT(LIBBLURAY_VERSION_MAJOR, \ -+ LIBBLURAY_VERSION_MINOR, \ -+ LIBBLURAY_VERSION_MICRO) -+#define LIBBLURAY_VERSION LB_VERSION(LIBBLURAY_VERSION_MAJOR, \ -+ LIBBLURAY_VERSION_MINOR, \ -+ LIBBLURAY_VERSION_MICRO) -+#define LIBBLURAY_BUILD LIBBLURAY_VERSION_INT -+ -+#define LIBBLURAY_IDENT "Lbluray" LB_STRINGIFY(LIBBLURAY_VERSION) -+ - #include - - #define TITLES_ALL 0 /**< all titles. */ diff -Nru libbluray-0.2.1~git20111206.46eb26b/debian/rules libbluray-0.2.3/debian/rules --- libbluray-0.2.1~git20111206.46eb26b/debian/rules 2011-10-01 21:39:09.000000000 +0000 +++ libbluray-0.2.3/debian/rules 2012-09-20 17:18:52.000000000 +0000 @@ -9,21 +9,18 @@ # enable bdjava on linux hosts only ifneq (,$(findstring linux,$(DEB_BUILD_ARCH_OS))) -# openjdk-6_6b23~pre8-2 and later have multiarchified JAVA_HOME -JAVA_HOME=/usr/lib/jvm/java-6-openjdk-$(DEB_BUILD_ARCH) -ifeq (,$(wildcard $(JAVA_HOME))) -JAVA_HOME=/usr/lib/jvm/java-6-openjdk +# Use default java implementation +JAVA_HOME=/usr/lib/jvm/default-java ifeq (,$(wildcard $(JAVA_HOME))) $(info "warning: No suitable jni.h was found. Package will most probably FTBFS!") endif -endif $(info Located java at $(JAVA_HOME)) confflags += --enable-bdjava --with-jdk=$(JAVA_HOME) endif # Set CFLAGS to DEB_CFLAGS -CFLAGS=$(DEB_CFLAGS) +CFLAGS=$(shell dpkg-buildflags --get CFLAGS 2>/dev/null | sed -e 's/-O2//g') ifneq (,$(findstring linux,$(DEB_BUILD_ARCH_OS))) %: @@ -40,6 +37,9 @@ dh_auto_build make doxygen-doc +override_dh_strip: + dh_strip -plibbluray1 --dbg-package=libbluray1-dbg + override_dh_installdocs: dh_installdocs --exclude=jquery.js diff -Nru libbluray-0.2.1~git20111206.46eb26b/debian/watch libbluray-0.2.3/debian/watch --- libbluray-0.2.1~git20111206.46eb26b/debian/watch 2011-10-01 20:49:44.000000000 +0000 +++ libbluray-0.2.3/debian/watch 2012-09-20 17:18:52.000000000 +0000 @@ -1 +1,3 @@ -# There are no upstream release tarballs available yet. +version=3 +http://www.videolan.org/developers/libbluray.html \ +ftp://ftp.videolan.org/pub/videolan/libbluray/.*/libbluray-(.*)\.tar\.bz2 diff -Nru libbluray-0.2.1~git20111206.46eb26b/m4/.dummy libbluray-0.2.3/m4/.dummy --- libbluray-0.2.1~git20111206.46eb26b/m4/.dummy 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/m4/.dummy 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -Please do not remove this file. -It is used to help those using other VCS's like git and hg. diff -Nru libbluray-0.2.1~git20111206.46eb26b/m4/libtool.m4 libbluray-0.2.3/m4/libtool.m4 --- libbluray-0.2.1~git20111206.46eb26b/m4/libtool.m4 2011-12-06 07:54:10.000000000 +0000 +++ libbluray-0.2.3/m4/libtool.m4 2012-08-17 11:31:26.000000000 +0000 @@ -1,8 +1,8 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, -# Inc. +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives @@ -11,8 +11,8 @@ m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, -# Inc. +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. @@ -146,6 +146,8 @@ AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl +_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl @@ -637,7 +639,7 @@ m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." @@ -801,6 +803,7 @@ m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], @@ -822,6 +825,31 @@ ])# _LT_LANG +m4_ifndef([AC_PROG_GO], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_GO. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC], [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) + fi +fi +if test -z "$GOC"; then + AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], @@ -852,6 +880,10 @@ m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) +AC_PROVIDE_IFELSE([AC_PROG_GO], + [LT_LANG(GO)], + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) @@ -954,7 +986,13 @@ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD @@ -962,6 +1000,7 @@ rm -rf libconftest.dylib* rm -f conftest.* fi]) + AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no @@ -973,6 +1012,7 @@ [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF @@ -990,7 +1030,9 @@ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? - if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD @@ -1035,8 +1077,8 @@ ]) -# _LT_DARWIN_LINKER_FEATURES -# -------------------------- +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ @@ -1047,6 +1089,8 @@ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test "$lt_cv_ld_force_load" = "yes"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi @@ -1330,14 +1374,27 @@ CFLAGS="$SAVE_CFLAGS" fi ;; -sparc*-*solaris*) +*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" @@ -1414,13 +1471,13 @@ if test -n "$RANLIB"; then case $host_os in openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in @@ -1600,6 +1657,11 @@ lt_cv_sys_max_cmd_len=196608 ;; + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not @@ -1639,7 +1701,7 @@ # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \ + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do @@ -2185,7 +2247,7 @@ case $host_os in aix3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH @@ -2194,7 +2256,7 @@ ;; aix[[4-9]]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes @@ -2259,7 +2321,7 @@ ;; bsdi[[45]]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' @@ -2398,7 +2460,7 @@ ;; dgux*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' @@ -2406,10 +2468,6 @@ shlibpath_var=LD_LIBRARY_PATH ;; -freebsd1*) - dynamic_linker=no - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -2417,7 +2475,7 @@ objformat=`/usr/bin/objformat` else case $host_os in - freebsd[[123]]*) objformat=aout ;; + freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi @@ -2435,7 +2493,7 @@ esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) @@ -2455,7 +2513,7 @@ ;; gnu*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' @@ -2466,7 +2524,7 @@ ;; haiku*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" @@ -2527,7 +2585,7 @@ ;; interix[[3-9]]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' @@ -2543,7 +2601,7 @@ nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; @@ -2580,9 +2638,9 @@ dynamic_linker=no ;; -# This must be Linux ELF. +# This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -2657,7 +2715,7 @@ ;; newsos6) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -2726,7 +2784,7 @@ ;; solaris*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -2751,7 +2809,7 @@ ;; sysv4 | sysv4.3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -2775,7 +2833,7 @@ sysv4*MP*) if test -d /usr/nec ;then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH @@ -2806,7 +2864,7 @@ tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -2816,7 +2874,7 @@ ;; uts4*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -3238,7 +3296,7 @@ lt_cv_deplibs_check_method=pass_all ;; -# This must be Linux ELF. +# This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; @@ -3658,6 +3716,7 @@ # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ @@ -4242,7 +4301,9 @@ case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC' + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" + fi ;; esac else @@ -4334,18 +4395,33 @@ ;; *) case `$CC -V 2>&1 | sed 5q` in - *Sun\ F* | *Sun*Fortran*) + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; + *Sun\ F* | *Sun*Fortran*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; + *Intel*\ [[CF]]*Compiler*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *Portland\ Group*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; esac ;; esac @@ -4505,7 +4581,9 @@ ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl*) ;; + cl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] @@ -4533,7 +4611,6 @@ _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported @@ -4787,8 +4864,7 @@ xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ @@ -5084,6 +5160,7 @@ # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' @@ -5130,10 +5207,6 @@ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; - freebsd1*) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little @@ -5146,7 +5219,7 @@ ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) + freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes @@ -5185,7 +5258,6 @@ fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes @@ -5627,9 +5699,6 @@ _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], - [[If ld is used when linking, flag to hardcode $libdir into a binary - during linking. This must work even if $libdir does not exist]]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], @@ -5787,7 +5856,6 @@ _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported @@ -6157,7 +6225,7 @@ esac ;; - freebsd[[12]]*) + freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no @@ -6918,12 +6986,18 @@ } }; _LT_EOF +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary @@ -7120,7 +7194,6 @@ _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no @@ -7253,7 +7326,6 @@ _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no @@ -7440,6 +7512,77 @@ ])# _LT_LANG_GCJ_CONFIG +# _LT_LANG_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)="$LD" +_LT_CC_BASENAME([$compiler]) + +# Go did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GO_CONFIG + + # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler @@ -7509,6 +7652,13 @@ dnl AC_DEFUN([LT_AC_PROG_GCJ], []) +# LT_PROG_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], diff -Nru libbluray-0.2.1~git20111206.46eb26b/m4/ltoptions.m4 libbluray-0.2.3/m4/ltoptions.m4 --- libbluray-0.2.1~git20111206.46eb26b/m4/ltoptions.m4 2011-12-06 07:54:10.000000000 +0000 +++ libbluray-0.2.3/m4/ltoptions.m4 2012-08-17 11:31:26.000000000 +0000 @@ -326,9 +326,24 @@ # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic], + [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) diff -Nru libbluray-0.2.1~git20111206.46eb26b/m4/ltversion.m4 libbluray-0.2.3/m4/ltversion.m4 --- libbluray-0.2.1~git20111206.46eb26b/m4/ltversion.m4 2011-12-06 07:54:11.000000000 +0000 +++ libbluray-0.2.3/m4/ltversion.m4 2012-08-17 11:31:27.000000000 +0000 @@ -9,15 +9,15 @@ # @configure_input@ -# serial 3293 ltversion.m4 +# serial 3337 ltversion.m4 # This file is part of GNU Libtool -m4_define([LT_PACKAGE_VERSION], [2.4]) -m4_define([LT_PACKAGE_REVISION], [1.3293]) +m4_define([LT_PACKAGE_VERSION], [2.4.2]) +m4_define([LT_PACKAGE_REVISION], [1.3337]) AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4' -macro_revision='1.3293' +[macro_version='2.4.2' +macro_revision='1.3337' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/Makefile.am libbluray-0.2.3/src/Makefile.am --- libbluray-0.2.1~git20111206.46eb26b/src/Makefile.am 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/Makefile.am 2012-08-17 11:27:32.000000000 +0000 @@ -2,7 +2,7 @@ SUBDIRS= . examples -SET_FEATURES = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112L -D_REENTRANT +SET_FEATURES = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200809L -D_REENTRANT SET_WARNINGS = @SET_WARNINGS@ SET_OPTIMIZATIONS = @SET_OPTIMIZATIONS@ SET_DEBUG_OPTS = @SET_DEBUG_OPTS@ @@ -88,14 +88,15 @@ util/bits.h \ util/logging.h libbluray_la_HEADERS= libbluray/bluray.h file/filesystem.h util/log_control.h libbluray/keys.h libbluray/decoders/overlay.h libbluray/bdnav/meta_data.h libbluray/bdnav/clpi_data.h libbluray/bluray-version.h -libbluray_la_LDFLAGS= -version-info $(LIB_VERSION_INFO) $(DLOPEN_LDFLAGS) $(LIBXML2_LIBS) +libbluray_la_LDFLAGS= -version-info $(LIB_VERSION_INFO) +libbluray_la_LIBADD= $(LIBXML2_LIBS) $(DLOPEN_LIBS) if USING_BDJAVA libbluray_la_SOURCES+=$(SOURCES_bdj) AM_CFLAGS+=@BDJAVA_CFLAGS@ all-local: - ant -f libbluray/bdj/build.xml + ant -f $(top_srcdir)/src/libbluray/bdj/build.xml endif pkgconfigdir = $(libdir)/pkgconfig diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/Makefile.in libbluray-0.2.3/src/Makefile.in --- libbluray-0.2.1~git20111206.46eb26b/src/Makefile.in 2011-12-06 07:54:28.000000000 +0000 +++ libbluray-0.2.3/src/Makefile.in 2012-08-17 11:31:46.000000000 +0000 @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.11.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -75,10 +75,18 @@ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \ "$(DESTDIR)$(libbluray_ladir)" LTLIBRARIES = $(lib_LTLIBRARIES) -libbluray_la_LIBADD = +am__DEPENDENCIES_1 = +libbluray_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) am__libbluray_la_SOURCES_DIST = libbluray/bluray.h libbluray/bluray.c \ libbluray/register.h libbluray/register.c libbluray/keys.h \ libbluray/bdnav libbluray/bdnav/bdparse.h \ @@ -205,7 +213,7 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLOPEN_LDFLAGS = @DLOPEN_LDFLAGS@ +DLOPEN_LIBS = @DLOPEN_LIBS@ DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ @@ -343,7 +351,7 @@ top_srcdir = @top_srcdir@ LIB_VERSION_INFO = "@LT_VERSION_INFO@" SUBDIRS = . examples -SET_FEATURES = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112L -D_REENTRANT +SET_FEATURES = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200809L -D_REENTRANT SET_INCLUDES = -I$(top_srcdir) -Ifile -Ilibbluray/bdnav AM_CFLAGS = -std=c99 $(SET_FEATURES) $(SET_WARNINGS) \ $(SET_OPTIMIZATIONS) $(SET_DEBUG_OPTS) $(SET_INCLUDES) \ @@ -392,7 +400,8 @@ util/mutex.h util/logging.c util/log_control.h util/bits.h \ util/logging.h $(am__append_1) libbluray_la_HEADERS = libbluray/bluray.h file/filesystem.h util/log_control.h libbluray/keys.h libbluray/decoders/overlay.h libbluray/bdnav/meta_data.h libbluray/bdnav/clpi_data.h libbluray/bluray-version.h -libbluray_la_LDFLAGS = -version-info $(LIB_VERSION_INFO) $(DLOPEN_LDFLAGS) $(LIBXML2_LIBS) +libbluray_la_LDFLAGS = -version-info $(LIB_VERSION_INFO) +libbluray_la_LIBADD = $(LIBXML2_LIBS) $(DLOPEN_LIBS) pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libbluray.pc all: all-recursive @@ -462,7 +471,7 @@ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -libbluray.la: $(libbluray_la_OBJECTS) $(libbluray_la_DEPENDENCIES) +libbluray.la: $(libbluray_la_OBJECTS) $(libbluray_la_DEPENDENCIES) $(EXTRA_libbluray_la_DEPENDENCIES) $(libbluray_la_LINK) -rpath $(libdir) $(libbluray_la_OBJECTS) $(libbluray_la_LIBADD) $(LIBS) mostlyclean-compile: @@ -731,9 +740,7 @@ @$(NORMAL_UNINSTALL) @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files + dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) install-libbluray_laHEADERS: $(libbluray_la_HEADERS) @$(NORMAL_INSTALL) test -z "$(libbluray_ladir)" || $(MKDIR_P) "$(DESTDIR)$(libbluray_ladir)" @@ -751,9 +758,7 @@ @$(NORMAL_UNINSTALL) @list='$(libbluray_la_HEADERS)'; test -n "$(libbluray_ladir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(libbluray_ladir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(libbluray_ladir)" && rm -f $$files + dir='$(DESTDIR)$(libbluray_ladir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -967,10 +972,15 @@ installcheck: installcheck-recursive install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -1077,7 +1087,7 @@ @USING_BDJAVA_TRUE@all-local: -@USING_BDJAVA_TRUE@ ant -f libbluray/bdj/build.xml +@USING_BDJAVA_TRUE@ ant -f $(top_srcdir)/src/libbluray/bdj/build.xml # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/examples/Makefile.am libbluray-0.2.3/src/examples/Makefile.am --- libbluray-0.2.1~git20111206.46eb26b/src/examples/Makefile.am 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/examples/Makefile.am 2012-08-17 11:27:32.000000000 +0000 @@ -1,4 +1,4 @@ -SET_FEATURES = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112L -D_REENTRANT +SET_FEATURES = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200809L -D_REENTRANT SET_WARNINGS = @SET_WARNINGS@ SET_OPTIMIZATIONS = @SET_OPTIMIZATIONS@ SET_DEBUG_OPTS = @SET_DEBUG_OPTS@ @@ -11,7 +11,8 @@ if USING_EXAMPLES noinst_PROGRAMS=bdsplice mpls_dump clpi_dump index_dump mobj_dump sound_dump \ - libbluray_test bd_info list_titles hdmv_test + libbluray_test list_titles hdmv_test +bin_PROGRAMS=bd_info BLURAY_LIB = $(top_builddir)/src/libbluray.la diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/examples/Makefile.in libbluray-0.2.3/src/examples/Makefile.in --- libbluray-0.2.1~git20111206.46eb26b/src/examples/Makefile.in 2011-12-06 07:54:29.000000000 +0000 +++ libbluray-0.2.3/src/examples/Makefile.in 2012-08-17 11:31:47.000000000 +0000 @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.11.3 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -39,9 +39,10 @@ @USING_EXAMPLES_TRUE@ mpls_dump$(EXEEXT) clpi_dump$(EXEEXT) \ @USING_EXAMPLES_TRUE@ index_dump$(EXEEXT) mobj_dump$(EXEEXT) \ @USING_EXAMPLES_TRUE@ sound_dump$(EXEEXT) \ -@USING_EXAMPLES_TRUE@ libbluray_test$(EXEEXT) bd_info$(EXEEXT) \ +@USING_EXAMPLES_TRUE@ libbluray_test$(EXEEXT) \ @USING_EXAMPLES_TRUE@ list_titles$(EXEEXT) hdmv_test$(EXEEXT) \ @USING_EXAMPLES_TRUE@ $(am__EXEEXT_1) +@USING_EXAMPLES_TRUE@bin_PROGRAMS = bd_info$(EXEEXT) @USING_BDJAVA_TRUE@@USING_EXAMPLES_TRUE@am__append_1 = @BDJAVA_CFLAGS@ @USING_BDJAVA_TRUE@@USING_EXAMPLES_TRUE@am__append_2 = bdj_test subdir = src/examples @@ -58,9 +59,10 @@ CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" @USING_BDJAVA_TRUE@@USING_EXAMPLES_TRUE@am__EXEEXT_1 = \ @USING_BDJAVA_TRUE@@USING_EXAMPLES_TRUE@ bdj_test$(EXEEXT) -PROGRAMS = $(noinst_PROGRAMS) +PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) am__bd_info_SOURCES_DIST = bd_info.c @USING_EXAMPLES_TRUE@am_bd_info_OBJECTS = bd_info.$(OBJEXT) bd_info_OBJECTS = $(am_bd_info_OBJECTS) @@ -180,7 +182,7 @@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ -DLOPEN_LDFLAGS = @DLOPEN_LDFLAGS@ +DLOPEN_LIBS = @DLOPEN_LIBS@ DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ @@ -316,7 +318,7 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -SET_FEATURES = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112L -D_REENTRANT +SET_FEATURES = -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200809L -D_REENTRANT SET_INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src -I$(top_srcdir)/src/file -I$(top_srcdir)/src/libbluray/bdnav AM_CFLAGS = -std=c99 $(SET_FEATURES) $(SET_WARNINGS) \ $(SET_OPTIMIZATIONS) $(SET_DEBUG_OPTS) $(SET_INCLUDES) \ @@ -413,6 +415,49 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p || test -f $$p1; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ @@ -422,37 +467,37 @@ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list -bd_info$(EXEEXT): $(bd_info_OBJECTS) $(bd_info_DEPENDENCIES) +bd_info$(EXEEXT): $(bd_info_OBJECTS) $(bd_info_DEPENDENCIES) $(EXTRA_bd_info_DEPENDENCIES) @rm -f bd_info$(EXEEXT) $(LINK) $(bd_info_OBJECTS) $(bd_info_LDADD) $(LIBS) -bdj_test$(EXEEXT): $(bdj_test_OBJECTS) $(bdj_test_DEPENDENCIES) +bdj_test$(EXEEXT): $(bdj_test_OBJECTS) $(bdj_test_DEPENDENCIES) $(EXTRA_bdj_test_DEPENDENCIES) @rm -f bdj_test$(EXEEXT) $(LINK) $(bdj_test_OBJECTS) $(bdj_test_LDADD) $(LIBS) -bdsplice$(EXEEXT): $(bdsplice_OBJECTS) $(bdsplice_DEPENDENCIES) +bdsplice$(EXEEXT): $(bdsplice_OBJECTS) $(bdsplice_DEPENDENCIES) $(EXTRA_bdsplice_DEPENDENCIES) @rm -f bdsplice$(EXEEXT) $(LINK) $(bdsplice_OBJECTS) $(bdsplice_LDADD) $(LIBS) -clpi_dump$(EXEEXT): $(clpi_dump_OBJECTS) $(clpi_dump_DEPENDENCIES) +clpi_dump$(EXEEXT): $(clpi_dump_OBJECTS) $(clpi_dump_DEPENDENCIES) $(EXTRA_clpi_dump_DEPENDENCIES) @rm -f clpi_dump$(EXEEXT) $(LINK) $(clpi_dump_OBJECTS) $(clpi_dump_LDADD) $(LIBS) -hdmv_test$(EXEEXT): $(hdmv_test_OBJECTS) $(hdmv_test_DEPENDENCIES) +hdmv_test$(EXEEXT): $(hdmv_test_OBJECTS) $(hdmv_test_DEPENDENCIES) $(EXTRA_hdmv_test_DEPENDENCIES) @rm -f hdmv_test$(EXEEXT) $(LINK) $(hdmv_test_OBJECTS) $(hdmv_test_LDADD) $(LIBS) -index_dump$(EXEEXT): $(index_dump_OBJECTS) $(index_dump_DEPENDENCIES) +index_dump$(EXEEXT): $(index_dump_OBJECTS) $(index_dump_DEPENDENCIES) $(EXTRA_index_dump_DEPENDENCIES) @rm -f index_dump$(EXEEXT) $(LINK) $(index_dump_OBJECTS) $(index_dump_LDADD) $(LIBS) -libbluray_test$(EXEEXT): $(libbluray_test_OBJECTS) $(libbluray_test_DEPENDENCIES) +libbluray_test$(EXEEXT): $(libbluray_test_OBJECTS) $(libbluray_test_DEPENDENCIES) $(EXTRA_libbluray_test_DEPENDENCIES) @rm -f libbluray_test$(EXEEXT) $(LINK) $(libbluray_test_OBJECTS) $(libbluray_test_LDADD) $(LIBS) -list_titles$(EXEEXT): $(list_titles_OBJECTS) $(list_titles_DEPENDENCIES) +list_titles$(EXEEXT): $(list_titles_OBJECTS) $(list_titles_DEPENDENCIES) $(EXTRA_list_titles_DEPENDENCIES) @rm -f list_titles$(EXEEXT) $(LINK) $(list_titles_OBJECTS) $(list_titles_LDADD) $(LIBS) -mobj_dump$(EXEEXT): $(mobj_dump_OBJECTS) $(mobj_dump_DEPENDENCIES) +mobj_dump$(EXEEXT): $(mobj_dump_OBJECTS) $(mobj_dump_DEPENDENCIES) $(EXTRA_mobj_dump_DEPENDENCIES) @rm -f mobj_dump$(EXEEXT) $(LINK) $(mobj_dump_OBJECTS) $(mobj_dump_LDADD) $(LIBS) -mpls_dump$(EXEEXT): $(mpls_dump_OBJECTS) $(mpls_dump_DEPENDENCIES) +mpls_dump$(EXEEXT): $(mpls_dump_OBJECTS) $(mpls_dump_DEPENDENCIES) $(EXTRA_mpls_dump_DEPENDENCIES) @rm -f mpls_dump$(EXEEXT) $(LINK) $(mpls_dump_OBJECTS) $(mpls_dump_LDADD) $(LIBS) -sound_dump$(EXEEXT): $(sound_dump_OBJECTS) $(sound_dump_DEPENDENCIES) +sound_dump$(EXEEXT): $(sound_dump_OBJECTS) $(sound_dump_DEPENDENCIES) $(EXTRA_sound_dump_DEPENDENCIES) @rm -f sound_dump$(EXEEXT) $(LINK) $(sound_dump_OBJECTS) $(sound_dump_LDADD) $(LIBS) @@ -753,6 +798,9 @@ check: check-am all-am: Makefile $(PROGRAMS) installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -763,10 +811,15 @@ installcheck: installcheck-am install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -780,8 +833,8 @@ @echo "it deletes files that may require special tools to rebuild." clean: clean-am -clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ - mostlyclean-am +clean-am: clean-binPROGRAMS clean-generic clean-libtool \ + clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) @@ -807,7 +860,7 @@ install-dvi-am: -install-exec-am: +install-exec-am: install-binPROGRAMS install-html: install-html-am @@ -847,22 +900,23 @@ ps-am: -uninstall-am: +uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstPROGRAMS ctags distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags uninstall uninstall-am +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool clean-noinstPROGRAMS ctags \ + distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/examples/bd_info.c libbluray-0.2.3/src/examples/bd_info.c --- libbluray-0.2.1~git20111206.46eb26b/src/examples/bd_info.c 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/examples/bd_info.c 2012-08-17 11:27:32.000000000 +0000 @@ -50,6 +50,34 @@ return ""; } +static const char *_hex2str(const uint8_t *data, size_t len) +{ + static char *str = NULL; + size_t i; + + str = realloc(str, 2*len + 1); + *str = 0; + + for (i = 0; i < len; i++) { + sprintf(str+2*i, "%02X", data[i]); + } + + return str; +} + +static const char *_aacs_error2str(int error_code) +{ + switch (error_code) { + case BD_AACS_CORRUPTED_DISC: return "corrupted BluRay disc"; + case BD_AACS_NO_CONFIG: return "AACS configuration file missing"; + case BD_AACS_NO_PK: return "no matching processing key"; + case BD_AACS_NO_CERT: return "no valid AACS certificate"; + case BD_AACS_CERT_REVOKED: return "AACS certificate revoked"; + case BD_AACS_MMC_FAILED: return "MMC authentication failed"; + } + return "unknown error"; +} + static const char *_res2str(int x, int y) { if (x > 0 && y > 0 && x < 0xffff && y < 0xffff) { @@ -61,7 +89,7 @@ return ""; } -static void _print_meta(META_DL *meta) +static void _print_meta(const META_DL *meta) { if (!meta) { printf("\nNo disc library metadata\n"); @@ -130,7 +158,14 @@ printf("\nAACS detected : %s\n", _yes_no(info->aacs_detected)); if (info->aacs_detected) { printf("libaacs detected : %s\n", _yes_no(info->libaacs_detected)); - printf("AACS handled : %s\n", _yes_no(info->aacs_handled)); + if (info->libaacs_detected) { + printf("Disc ID : %s\n", _hex2str(info->disc_id, sizeof(info->disc_id))); + printf("AACS MKB version : %d\n", info->aacs_mkbv); + printf("AACS handled : %s\n", _yes_no(info->aacs_handled)); + if (!info->aacs_handled) { + printf(" (%s)\n", _aacs_error2str(info->aacs_error_code)); + } + } } printf("\nBD+ detected : %s\n", _yes_no(info->bdplus_detected)); @@ -141,5 +176,7 @@ _print_meta(bd_get_meta(bd)); + bd_close(bd); + return 0; } diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/examples/list_titles.c libbluray-0.2.3/src/examples/list_titles.c --- libbluray-0.2.1~git20111206.46eb26b/src/examples/list_titles.c 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/examples/list_titles.c 2012-08-17 11:27:32.000000000 +0000 @@ -96,5 +96,6 @@ ); bd_free_title_info(ti); } + bd_close(bd); return 0; } diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/examples/mpls_dump.c libbluray-0.2.3/src/examples/mpls_dump.c --- libbluray-0.2.1~git20111206.46eb26b/src/examples/mpls_dump.c 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/examples/mpls_dump.c 2012-08-17 11:27:32.000000000 +0000 @@ -644,9 +644,7 @@ int jj = 0; for (ent = readdir(dir); ent != NULL; ent = readdir(dir)) { if (ent->d_name != NULL) { - dirlist[jj] = (char*)malloc(strlen(ent->d_name) + 1); - strcpy(dirlist[jj], ent->d_name); - jj++; + dirlist[jj++] = strdup(ent->d_name); } } qsort(dirlist, jj, sizeof(char*), _qsort_str_cmp); diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/examples/util.c libbluray-0.2.3/src/examples/util.c --- libbluray-0.2.1~git20111206.46eb26b/src/examples/util.c 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/examples/util.c 2012-08-17 11:27:32.000000000 +0000 @@ -45,15 +45,14 @@ { va_list ap; int ii; - size_t wrote; for (ii = 0; ii < level; ii++) { - wrote = fwrite(" ", 1, 4, stdout); + printf(" "); } va_start(ap, fmt); vprintf(fmt, ap); va_end(ap); - wrote = fwrite("\n", 1, 1, stdout); + printf("\n"); } diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/file/file.h libbluray-0.2.3/src/file/file.h --- libbluray-0.2.1~git20111206.46eb26b/src/file/file.h 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/file/file.h 2012-08-17 11:27:32.000000000 +0000 @@ -44,6 +44,8 @@ BD_PRIVATE extern BD_FILE_H* (*file_open)(const char* filename, const char *mode); +BD_PRIVATE BD_FILE_OPEN file_open_default(void); + /* * directory access */ diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/file/file_posix.c libbluray-0.2.3/src/file/file_posix.c --- libbluray-0.2.1~git20111206.46eb26b/src/file/file_posix.c 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/file/file_posix.c 2012-08-17 11:27:32.000000000 +0000 @@ -110,3 +110,8 @@ } BD_FILE_H* (*file_open)(const char* filename, const char *mode) = file_open_linux; + +BD_FILE_OPEN file_open_default(void) +{ + return file_open_linux; +} diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bdnav/meta_parse.c libbluray-0.2.3/src/libbluray/bdnav/meta_parse.c --- libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bdnav/meta_parse.c 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/libbluray/bdnav/meta_parse.c 2012-08-17 11:27:32.000000000 +0000 @@ -43,46 +43,52 @@ #include #endif +#define BAD_CAST_CONST (const xmlChar *) + + #ifdef HAVE_LIBXML2 static void _parseManifestNode(xmlNode * a_node, META_DL *disclib) { xmlNode *cur_node = NULL; + xmlChar *tmp; for (cur_node = a_node; cur_node; cur_node = cur_node->next) { if (cur_node->type == XML_ELEMENT_NODE) { - if (xmlStrEqual(cur_node->parent->name, xmlCharStrdup("title"))) { - if (xmlStrEqual(cur_node->name, xmlCharStrdup("name"))) { - disclib->di_name = (char*)xmlStrdup(xmlNodeGetContent(cur_node)); + if (xmlStrEqual(cur_node->parent->name, BAD_CAST_CONST "title")) { + if (xmlStrEqual(cur_node->name, BAD_CAST_CONST "name")) { + disclib->di_name = (char*)xmlNodeGetContent(cur_node); } - if (xmlStrEqual(cur_node->name, xmlCharStrdup("alternative"))) { - disclib->di_alternative = (char*)xmlStrdup(xmlNodeGetContent(cur_node)); + if (xmlStrEqual(cur_node->name, BAD_CAST_CONST "alternative")) { + disclib->di_alternative = (char*)xmlNodeGetContent(cur_node); } - if (xmlStrEqual(cur_node->name, xmlCharStrdup("numSets"))) { - disclib->di_num_sets = atoi((char*)xmlNodeGetContent(cur_node)); + if (xmlStrEqual(cur_node->name, BAD_CAST_CONST "numSets")) { + disclib->di_num_sets = atoi((char*)(tmp = xmlNodeGetContent(cur_node))); + xmlFree(tmp); } - if (xmlStrEqual(cur_node->name, xmlCharStrdup("setNumber"))) { - disclib->di_set_number = atoi((char*)xmlNodeGetContent(cur_node)); + if (xmlStrEqual(cur_node->name, BAD_CAST_CONST "setNumber")) { + disclib->di_set_number = atoi((char*)(tmp = xmlNodeGetContent(cur_node))); + xmlFree(tmp); } } - else if (xmlStrEqual(cur_node->parent->name, xmlCharStrdup("tableOfContents"))) { - if (xmlStrEqual(cur_node->name, xmlCharStrdup("titleName")) && xmlGetProp(cur_node, xmlCharStrdup("titleNumber"))) { + else if (xmlStrEqual(cur_node->parent->name, BAD_CAST_CONST "tableOfContents")) { + if (xmlStrEqual(cur_node->name, BAD_CAST_CONST "titleName") && (tmp = xmlGetProp(cur_node, BAD_CAST_CONST "titleNumber"))) { int i = disclib->toc_count; disclib->toc_count++; disclib->toc_entries = realloc(disclib->toc_entries, (disclib->toc_count*sizeof(META_TITLE))); - disclib->toc_entries[i].title_number = atoi((const char*)xmlGetProp(cur_node, xmlCharStrdup("titleNumber"))); - disclib->toc_entries[i].title_name = (char*)xmlStrdup(xmlNodeGetContent(cur_node)); + disclib->toc_entries[i].title_number = atoi((const char*)tmp); + disclib->toc_entries[i].title_name = (char*)xmlNodeGetContent(cur_node); + X_FREE(tmp); } } - else if (xmlStrEqual(cur_node->parent->name, xmlCharStrdup("description"))) { - if (xmlStrEqual(cur_node->name, xmlCharStrdup("thumbnail")) && xmlGetProp(cur_node, xmlCharStrdup("href"))) { + else if (xmlStrEqual(cur_node->parent->name, BAD_CAST_CONST "description")) { + if (xmlStrEqual(cur_node->name, BAD_CAST_CONST "thumbnail") && (tmp = xmlGetProp(cur_node, BAD_CAST_CONST "href"))) { uint8_t i = disclib->thumb_count; disclib->thumb_count++; disclib->thumbnails = realloc(disclib->thumbnails, (disclib->thumb_count*sizeof(META_THUMBNAIL))); - int len = xmlStrlen(xmlGetProp(cur_node, xmlCharStrdup("href"))); - disclib->thumbnails[i].path = (char*) malloc(len+1); - strcpy(disclib->thumbnails[i].path, (char*) xmlGetProp(cur_node, xmlCharStrdup("href"))); - if (xmlGetProp(cur_node, xmlCharStrdup("size"))) { - sscanf((const char*)xmlGetProp(cur_node, xmlCharStrdup("size")), "%ix%i", &disclib->thumbnails[i].xres, &disclib->thumbnails[i].yres); + disclib->thumbnails[i].path = (char *)tmp; + if ((tmp = xmlGetProp(cur_node, BAD_CAST_CONST "size"))) { + sscanf((const char*)tmp, "%ix%i", &disclib->thumbnails[i].xres, &disclib->thumbnails[i].yres); + X_FREE(tmp); } else { disclib->thumbnails[i].xres = disclib->thumbnails[i].yres = -1; @@ -144,6 +150,8 @@ BD_FILE_H *handle = file_open(path, "rb"); if (handle == NULL) { BD_DEBUG(DBG_DIR, "Failed to open meta file (%s)\n", path); + X_FREE(path); + X_FREE(base); continue; } @@ -157,6 +165,8 @@ doc = xmlReadMemory((char*)data, size_read, base, NULL, 0); if (doc == NULL) { BD_DEBUG(DBG_DIR, "Failed to parse %s\n", path); + X_FREE(path); + X_FREE(base); continue; } xmlNode *root_element = NULL; @@ -171,6 +181,8 @@ X_FREE(data); } file_close(handle); + X_FREE(path); + X_FREE(base); } xmlCleanupParser(); return root; @@ -180,7 +192,7 @@ #endif } -META_DL *meta_get(META_ROOT *meta_root, const char *language_code) +const META_DL *meta_get(const META_ROOT *meta_root, const char *language_code) { unsigned i; @@ -216,18 +228,19 @@ uint8_t i; for (i = 0; i < (*p)->dl_count; i++) { uint32_t t; - for (t=0; i < (*p)->dl_entries[i].toc_count; t++) { + for (t = 0; t < (*p)->dl_entries[i].toc_count; t++) { X_FREE((*p)->dl_entries[i].toc_entries[t].title_name); - X_FREE((*p)->dl_entries[i].toc_entries); } - for (t = 0; i < (*p)->dl_entries[i].thumb_count; t++) { + for (t = 0; t < (*p)->dl_entries[i].thumb_count; t++) { X_FREE((*p)->dl_entries[i].thumbnails[t].path); - X_FREE((*p)->dl_entries[i].thumbnails); } + X_FREE((*p)->dl_entries[i].toc_entries); + X_FREE((*p)->dl_entries[i].thumbnails); X_FREE((*p)->dl_entries[i].filename); X_FREE((*p)->dl_entries[i].di_name); X_FREE((*p)->dl_entries[i].di_alternative); } + X_FREE((*p)->dl_entries); X_FREE(*p); } } diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bdnav/meta_parse.h libbluray-0.2.3/src/libbluray/bdnav/meta_parse.h --- libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bdnav/meta_parse.h 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/libbluray/bdnav/meta_parse.h 2012-08-17 11:27:32.000000000 +0000 @@ -24,7 +24,7 @@ BD_PRIVATE META_ROOT* meta_parse(const char *device_path); BD_PRIVATE void meta_free(META_ROOT **index); -BD_PRIVATE META_DL* meta_get(META_ROOT *meta_root, const char *language_code); +BD_PRIVATE const META_DL* meta_get(const META_ROOT *meta_root, const char *language_code); #endif // _META_PARSE_H_ diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bdnav/mpls_parse.c libbluray-0.2.3/src/libbluray/bdnav/mpls_parse.c --- libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bdnav/mpls_parse.c 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/libbluray/bdnav/mpls_parse.c 2012-08-17 11:27:32.000000000 +0000 @@ -401,6 +401,14 @@ static void _clean_stn(MPLS_STN *stn) { + if(stn->secondary_audio) { + X_FREE(stn->secondary_audio->sa_primary_audio_ref); + } + if(stn->secondary_video) { + X_FREE(stn->secondary_video->sv_secondary_audio_ref); + X_FREE(stn->secondary_video->sv_pip_pg_ref); + } + X_FREE(stn->video); X_FREE(stn->audio); X_FREE(stn->pg); diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bdnav/navigation.c libbluray-0.2.3/src/libbluray/bdnav/navigation.c --- libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bdnav/navigation.c 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/libbluray/bdnav/navigation.c 2012-08-17 11:27:32.000000000 +0000 @@ -277,9 +277,7 @@ mpls_free(pl_list[ii]); } if (count > 0) { - char *str = (char*)malloc(strlen(longest) + 1); - strcpy(str, longest); - return str; + return strdup(longest); } else { return NULL; } @@ -466,8 +464,7 @@ if (title == NULL) { return NULL; } - title->root = (char*)malloc(strlen(root) + 1); - strcpy(title->root, root); + title->root = strdup(root); strncpy(title->name, playlist, 11); title->name[10] = '\0'; path = str_printf("%s" DIR_SEP "BDMV" DIR_SEP "PLAYLIST" DIR_SEP "%s", diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bdnav/sound_parse.h libbluray-0.2.3/src/libbluray/bdnav/sound_parse.h --- libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bdnav/sound_parse.h 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/libbluray/bdnav/sound_parse.h 2012-08-17 11:27:32.000000000 +0000 @@ -25,8 +25,8 @@ #include typedef struct { - uint8_t num_channels; uint32_t sample_rate; + uint8_t num_channels; uint8_t bits_per_sample; uint32_t num_frames; diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bluray-version.h libbluray-0.2.3/src/libbluray/bluray-version.h --- libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bluray-version.h 1970-01-01 00:00:00.000000000 +0000 +++ libbluray-0.2.3/src/libbluray/bluray-version.h 2012-08-17 11:32:04.000000000 +0000 @@ -0,0 +1,37 @@ +/* + * This file is part of libbluray + * Copyright (C) 2011 hpi1 + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * . + */ + +#ifndef BLURAY_VERSION_H_ +#define BLURAY_VERSION_H_ + +#define BLURAY_VERSION_CODE(major, minor, micro) \ + (((major) * 10000) + \ + ((minor) * 100) + \ + ((micro) * 1)) + +#define BLURAY_VERSION_MAJOR 0 +#define BLURAY_VERSION_MINOR 2 +#define BLURAY_VERSION_MICRO 3 + +#define BLURAY_VERSION_STRING "0.2.3" + +#define BLURAY_VERSION \ + BLURAY_VERSION_CODE(BLURAY_VERSION_MAJOR, BLURAY_VERSION_MINOR, BLURAY_VERSION_MICRO) + +#endif /* BLURAY_VERSION_H_ */ diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bluray.c libbluray-0.2.3/src/libbluray/bluray.c --- libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bluray.c 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/libbluray/bluray.c 2012-08-17 11:27:32.000000000 +0000 @@ -34,6 +34,7 @@ #include "bdnav/index_parse.h" #include "bdnav/meta_parse.h" #include "bdnav/clpi_parse.h" +#include "bdnav/sound_parse.h" #include "hdmv/hdmv_vm.h" #include "decoders/graphics_controller.h" #include "file/file.h" @@ -46,6 +47,19 @@ #include #include +#ifdef HAVE_MNTENT_H +#include +#include +#endif + +#ifdef __APPLE__ +#define _DARWIN_C_SOURCE +#include +#include +#include +#include +#endif + typedef int (*fptr_int)(); typedef int32_t (*fptr_int32)(); typedef void* (*fptr_p_void)(); @@ -141,6 +155,8 @@ /* graphics */ GRAPHICS_CONTROLLER *graphics_controller; + SOUND_DATA *sound_effects; + uint32_t gc_status; }; #define DL_CALL(lib,func,param,...) \ @@ -242,8 +258,9 @@ static void _update_stream_psr_by_lang(BD_REGISTERS *regs, uint32_t psr_lang, uint32_t psr_stream, - uint32_t enable_flag, uint32_t undefined_val, - MPLS_STREAM *streams, unsigned num_streams) + uint32_t enable_flag, + MPLS_STREAM *streams, unsigned num_streams, + uint32_t *lang, uint32_t blacklist) { uint32_t psr_val; int stream_idx = -1; @@ -267,13 +284,21 @@ if (stream_idx < 0) { /* requested language not found */ - stream_idx = undefined_val - 1; + stream_idx = 0; enable_flag = 0; + + } else { + if (lang) { + *lang = psr_val; + } + if (blacklist == psr_val) { + enable_flag = 0; + } } /* update PSR */ - BD_DEBUG(DBG_BLURAY, "Selected stream %d (language %s)\n", ii, streams[ii].lang); + BD_DEBUG(DBG_BLURAY, "Selected stream %d (language %s)\n", stream_idx, streams[stream_idx].lang); bd_psr_lock(regs); @@ -294,13 +319,16 @@ */ if (bd->title_type == title_undef) { MPLS_STN *stn = &clip->title->pl->play_item[clip->ref].stn; + uint32_t audio_lang = 0; _update_stream_psr_by_lang(bd->regs, - PSR_AUDIO_LANG, PSR_PRIMARY_AUDIO_ID, 0, 0xff, - stn->audio, stn->num_audio); + PSR_AUDIO_LANG, PSR_PRIMARY_AUDIO_ID, 0, + stn->audio, stn->num_audio, + &audio_lang, 0); _update_stream_psr_by_lang(bd->regs, - PSR_PG_AND_SUB_LANG, PSR_PG_STREAM, 0x80000000, 0xfff, - stn->pg, stn->num_pg); + PSR_PG_AND_SUB_LANG, PSR_PG_STREAM, 0x80000000, + stn->pg, stn->num_pg, + NULL, audio_lang); } } @@ -549,7 +577,7 @@ int result = -1; if (bd && bd->graphics_controller && bd->hdmv_vm) { - GC_NAV_CMDS cmds = {-1, NULL, -1}; + GC_NAV_CMDS cmds = {-1, NULL, -1, 0}; result = gc_run(bd->graphics_controller, msg, param, &cmds); @@ -557,6 +585,30 @@ hdmv_vm_set_object(bd->hdmv_vm, cmds.num_nav_cmds, cmds.nav_cmds); bd->hdmv_suspended = !hdmv_vm_running(bd->hdmv_vm); } + + if (cmds.status != bd->gc_status) { + uint32_t changed_flags = cmds.status ^ bd->gc_status; + bd->gc_status = cmds.status; + if (changed_flags & GC_STATUS_MENU_OPEN) { + _queue_event(bd, (BD_EVENT){BD_EVENT_MENU, !!(bd->gc_status & GC_STATUS_MENU_OPEN)}); + } + if (changed_flags & GC_STATUS_POPUP) { + _queue_event(bd, (BD_EVENT){BD_EVENT_POPUP, !!(bd->gc_status & GC_STATUS_POPUP)}); + } + } + + if (cmds.sound_id_ref >= 0 && cmds.sound_id_ref < 0xff) { + _queue_event(bd, (BD_EVENT){BD_EVENT_SOUND_EFFECT, cmds.sound_id_ref}); + } + + } else { + if (bd->gc_status & GC_STATUS_MENU_OPEN) { + _queue_event(bd, (BD_EVENT){BD_EVENT_MENU, 0}); + } + if (bd->gc_status & GC_STATUS_POPUP) { + _queue_event(bd, (BD_EVENT){BD_EVENT_POPUP, 0}); + } + bd->gc_status = GC_STATUS_NONE; } return result; @@ -626,6 +678,12 @@ if (bd->libaacs_open && bd->libaacs_decrypt_unit) { BD_DEBUG(DBG_BLURAY, "Loaded libaacs (%p)\n", bd->h_libaacs); bd->disc_info.libaacs_detected = 1; + + if (file_open != file_open_default()) { + BD_DEBUG(DBG_BLURAY, "Registering libaacs filesystem handler %p (%p)\n", file_open, bd->h_libaacs); + DL_CALL(bd->h_libaacs, aacs_register_file, file_open); + } + return 1; } else { @@ -655,17 +713,59 @@ return 0; } - bd->aacs = bd->libaacs_open(bd->device_path, keyfile_path); + int error_code = 0; + fptr_p_void aacs_open2 = (fptr_p_void)dl_dlsym(bd->h_libaacs, "aacs_open2"); + if (!aacs_open2) { + BD_DEBUG(DBG_BLURAY, "Using old aacs_open(), no verbose error reporting available (%p)\n", bd->aacs); + bd->aacs = bd->libaacs_open(bd->device_path, keyfile_path); + } else { + bd->aacs = aacs_open2(bd->device_path, keyfile_path, &error_code); + } if (bd->aacs) { - BD_DEBUG(DBG_BLURAY, "Opened libaacs (%p)\n", bd->aacs); - bd->disc_info.aacs_handled = 1; - return 1; + fptr_int aacs_get_mkb_version = (fptr_int) dl_dlsym(bd->h_libaacs, "aacs_get_mkb_version"); + fptr_p_void aacs_get_disc_id = (fptr_p_void) dl_dlsym(bd->h_libaacs, "aacs_get_disc_id"); + if (aacs_get_mkb_version) { + bd->disc_info.aacs_mkbv = aacs_get_mkb_version(bd->aacs); + } + if (aacs_get_disc_id) { + memcpy(bd->disc_info.disc_id, aacs_get_disc_id(bd->aacs), 20); + } + + if (!error_code) { + BD_DEBUG(DBG_BLURAY, "Opened libaacs (%p)\n", bd->aacs); + bd->disc_info.aacs_handled = 1; + return 1; + } } BD_DEBUG(DBG_BLURAY, "aacs_open() failed!\n"); bd->disc_info.aacs_handled = 0; + switch (error_code) { + case 0: /* AACS_SUCCESS */ + break; + case -1: /* AACS_ERROR_CORRUPTED_DISC */ + bd->disc_info.aacs_error_code = BD_AACS_CORRUPTED_DISC; + break; + case -2: /* AACS_ERROR_NO_CONFIG */ + bd->disc_info.aacs_error_code = BD_AACS_NO_CONFIG; + break; + case -3: /* AACS_ERROR_NO_PK */ + bd->disc_info.aacs_error_code = BD_AACS_NO_PK; + break; + case -4: /* AACS_ERROR_NO_CERT */ + bd->disc_info.aacs_error_code = BD_AACS_NO_CERT; + break; + case -5: /* AACS_ERROR_CERT_REVOKED */ + bd->disc_info.aacs_error_code = BD_AACS_CERT_REVOKED; + break; + case -6: /* AACS_ERROR_MMC_OPEN */ + case -7: /* AACS_ERROR_MMC_FAILURE */ + bd->disc_info.aacs_error_code = BD_AACS_MMC_FAILED; + break; + } + _libaacs_unload(bd); return 0; } @@ -822,8 +922,8 @@ static int _meta_open(BLURAY *bd) { - if (!bd->meta){ - bd->meta = meta_parse(bd->device_path); + if (!bd->meta) { + bd->meta = meta_parse(bd->device_path); } return !!bd->meta; @@ -874,39 +974,108 @@ } } +#ifdef HAVE_MNTENT_H +/* + * Replace device node (/dev/sr0) by mount point + * Implemented on Linux and MacOSX + */ +static void get_mount_point(BLURAY *bd) +{ + struct stat st; + if (stat (bd->device_path, &st) ) + return; + + /* If it's a directory, all is good */ + if (S_ISDIR(st.st_mode)) + return; + + FILE *f = setmntent ("/proc/self/mounts", "r"); + if (!f) + return; + + struct mntent* m; +#ifdef HAVE_GETMNTENT_R + struct mntent mbuf; + char buf [8192]; + while ((m = getmntent_r (f, &mbuf, buf, sizeof(buf))) != NULL) { +#else + while ((m = getmntent (f)) != NULL) { +#endif + if (!strcmp (m->mnt_fsname, bd->device_path)) { + free(bd->device_path); + bd->device_path = strdup (m->mnt_dir); + break; + } + } + endmntent (f); +} +#endif +#ifdef __APPLE__ +static void get_mount_point(BLURAY *bd) +{ + struct stat st; + if (stat (bd->device_path, &st) ) + return; + + /* If it's a directory, all is good */ + if (S_ISDIR(st.st_mode)) + return; + + struct statfs mbuf[128]; + int fs_count; + + if ( (fs_count = getfsstat (NULL, 0, MNT_NOWAIT)) == -1 ) { + return; + } + + getfsstat (mbuf, fs_count * sizeof(mbuf[0]), MNT_NOWAIT); + + for ( int i = 0; i < fs_count; ++i) { + if (!strcmp (mbuf[i].f_mntfromname, bd->device_path)) { + free(bd->device_path); + bd->device_path = strdup (mbuf[i].f_mntonname); + } + } +} +#endif + /* * open / close */ BLURAY *bd_open(const char* device_path, const char* keyfile_path) { - BLURAY *bd = calloc(1, sizeof(BLURAY)); - BD_DEBUG(DBG_BLURAY, "libbluray version "BLURAY_VERSION_STRING"\n"); - if (device_path) { + if (!device_path) { + BD_DEBUG(DBG_BLURAY | DBG_CRIT, "No device path provided!\n"); + return NULL; + } - bd->device_path = (char*)malloc(strlen(device_path) + 1); - strcpy(bd->device_path, device_path); + BLURAY *bd = calloc(1, sizeof(BLURAY)); - _libaacs_open(bd, keyfile_path); + if (!bd) { + BD_DEBUG(DBG_BLURAY | DBG_CRIT, "Can't allocate memory\n"); + return NULL; + } - _libbdplus_open(bd, keyfile_path); + bd->device_path = strdup(device_path); - _index_open(bd); +#if (defined HAVE_MNTENT_H || defined __APPLE__) + get_mount_point(bd); +#endif - bd->meta = NULL; + _libaacs_open(bd, keyfile_path); - bd->regs = bd_registers_init(); + _libbdplus_open(bd, keyfile_path); - _fill_disc_info(bd); + _index_open(bd); - BD_DEBUG(DBG_BLURAY, "BLURAY initialized! (%p)\n", bd); - } else { - X_FREE(bd); + bd->regs = bd_registers_init(); - BD_DEBUG(DBG_BLURAY | DBG_CRIT, "No device path provided!\n"); - } + _fill_disc_info(bd); + + BD_DEBUG(DBG_BLURAY, "BLURAY initialized! (%p)\n", bd); return bd; } @@ -933,6 +1102,8 @@ gc_free(&bd->graphics_controller); indx_free(&bd->index); + meta_free(&bd->meta); + sound_free(&bd->sound_effects); bd_registers_free(bd->regs); _free_event_queue(bd); @@ -1191,15 +1362,15 @@ } } } + if (st->clip == NULL) { + // We previously reached the last clip. Nothing + // else to read. + _queue_event(bd, (BD_EVENT){BD_EVENT_END_OF_TITLE, 0}); + return 0; + } if (st->int_buf_off == 6144 || clip_pkt >= st->clip->end_pkt) { // Do we need to get the next clip? - if (st->clip == NULL) { - // We previously reached the last clip. Nothing - // else to read. - _queue_event(bd, (BD_EVENT){BD_EVENT_END_OF_TITLE, 0}); - return 0; - } if (clip_pkt >= st->clip->end_pkt) { // split read()'s at clip boundary @@ -1804,6 +1975,7 @@ case PSR_TIME: bd_seek_time(bd, ((int64_t)ev->new_val) << 1); _init_ig_stream(bd); + _run_gc(bd, GC_CTRL_INIT_MENU, 0); return; case PSR_SELECTED_BUTTON_ID: @@ -2292,11 +2464,41 @@ } } +int bd_get_sound_effect(BLURAY *bd, unsigned sound_id, BLURAY_SOUND_EFFECT *effect) +{ + if (!bd || !effect) { + return -1; + } + + if (!bd->sound_effects) { + + char *file = str_printf("%s/BDMV/AUXDATA/sound.bdmv", bd->device_path); + bd->sound_effects = sound_parse(file); + X_FREE(file); + + if (!bd->sound_effects) { + return -1; + } + } + + if (sound_id < bd->sound_effects->num_sounds) { + SOUND_OBJECT *o = &bd->sound_effects->sounds[sound_id]; + + effect->num_channels = o->num_channels; + effect->num_frames = o->num_frames; + effect->samples = (const int16_t *)o->samples; + + return 1; + } + + return 0; +} + /* * */ -struct meta_dl *bd_get_meta(BLURAY *bd) +const struct meta_dl *bd_get_meta(BLURAY *bd) { if (!bd) { return NULL; diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bluray.h libbluray-0.2.3/src/libbluray/bluray.h --- libbluray-0.2.1~git20111206.46eb26b/src/libbluray/bluray.h 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/libbluray/bluray.h 2012-08-17 11:27:32.000000000 +0000 @@ -168,6 +168,12 @@ BLURAY_TITLE_CHAPTER *chapters; } BLURAY_TITLE_INFO; +typedef struct bd_sound_effect { + uint8_t num_channels; /* 1 - mono, 2 - stereo */ + uint32_t num_frames; + const int16_t *samples; /* 48000 Hz, 16 bit LPCM. interleaved if stereo */ +} BLURAY_SOUND_EFFECT; + /** * Get library version * @@ -220,7 +226,7 @@ /** * Initializes libbluray objects * - * @param device_path path to mounted Blu-ray disc + * @param device_path path to mounted Blu-ray disc or device * @param keyfile_path path to KEYDB.cfg (may be NULL) * @return allocated BLURAY object, NULL if error */ @@ -401,6 +407,14 @@ * Disc info */ +/* AACS error codes */ +#define BD_AACS_CORRUPTED_DISC -1 +#define BD_AACS_NO_CONFIG -2 +#define BD_AACS_NO_PK -3 +#define BD_AACS_NO_CERT -4 +#define BD_AACS_CERT_REVOKED -5 +#define BD_AACS_MMC_FAILED -6 + typedef struct { uint8_t bluray_detected; @@ -419,6 +433,14 @@ uint8_t libbdplus_detected; uint8_t bdplus_handled; + /* aacs error code */ + int aacs_error_code; + /* aacs MKB version */ + int aacs_mkbv; + + /* Disc ID */ + uint8_t disc_id[20]; + } BLURAY_DISC_INFO; /** @@ -480,7 +502,7 @@ BD_EVENT_ANGLE, /* current angle, 1...N */ BD_EVENT_TITLE, /* current title, 1...N (0 = top menu) */ BD_EVENT_PLAYLIST, /* current playlist (xxxxx.mpls) */ - BD_EVENT_PLAYITEM, /* current play item */ + BD_EVENT_PLAYITEM, /* current play item, 0...N-1 */ BD_EVENT_CHAPTER, /* current chapter, 1...N */ BD_EVENT_END_OF_TITLE, @@ -507,6 +529,14 @@ /* Still playback for n seconds (reached end of still mode play item) */ BD_EVENT_STILL_TIME, /* 0 = infinite ; 1...300 = seconds */ + /* Play sound effect */ + BD_EVENT_SOUND_EFFECT, /* effect ID */ + + /* Pop-Up menu available */ + BD_EVENT_POPUP, /* 0 - no, 1 - yes */ + + /* Interactive menu visible */ + BD_EVENT_MENU, /* 0 - no, 1 - yes */ } bd_event_e; typedef struct { @@ -624,6 +654,17 @@ */ int bd_mouse_select(BLURAY *bd, int64_t pts, uint16_t x, uint16_t y); +/** + * + * Get sound effect + * + * @param bd BLURAY object + * @param effect_id sound effect id (0...N) + * @param effect sound effect data + * @return <0 when no effects, 0 when id out of range, 1 on success + */ +int bd_get_sound_effect(BLURAY *bd, unsigned sound_id, struct bd_sound_effect *effect); + /* * */ @@ -634,9 +675,9 @@ * Get meta information about the bluray disc. * * @param bd BLURAY object - * @return allocated META_DL (disclib) object, NULL on error + * @return META_DL (disclib) object, NULL on error */ -struct meta_dl *bd_get_meta(BLURAY *bd); +const struct meta_dl *bd_get_meta(BLURAY *bd); struct clpi_cl; diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/libbluray/decoders/graphics_controller.c libbluray-0.2.3/src/libbluray/decoders/graphics_controller.c --- libbluray-0.2.1~git20111206.46eb26b/src/libbluray/decoders/graphics_controller.c 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/libbluray/decoders/graphics_controller.c 2012-08-17 11:27:32.000000000 +0000 @@ -43,6 +43,7 @@ typedef struct { uint16_t enabled_button; /* enabled button id */ uint16_t x, y, w, h; /* button rect on overlay plane (if drawn) */ + int visible_object_id; /* id of currently visible object */ int animate_indx; /* currently showing object index of animated button, < 0 for static buttons */ } BOG_DATA; @@ -57,8 +58,10 @@ void (*overlay_proc)(void *, const struct bd_overlay_s * const); /* state */ + unsigned ig_open; unsigned ig_drawn; unsigned ig_dirty; + unsigned pg_open; unsigned pg_drawn; unsigned pg_dirty; unsigned popup_visible; @@ -199,6 +202,10 @@ } } + if (!repeat && object_id_end < 0xfffe) { + object_id = object_id_end; + } + object = _find_object(s, object_id); return object; @@ -208,6 +215,14 @@ * util */ +static int _areas_overlap(BOG_DATA *a, BOG_DATA *b) +{ + return !(a->x + a->w <= b->x || + a->x >= b->x + b->w || + a->y + a->h <= b->y || + a->y >= b->y + b->h); +} + static int _is_button_enabled(GRAPHICS_CONTROLLER *gc, BD_IG_PAGE *page, unsigned button_id) { unsigned ii; @@ -342,6 +357,7 @@ for (ii = 0; ii < page->num_bogs; ii++) { gc->bog_data[ii].enabled_button = page->bog[ii].default_valid_button_id_ref; gc->bog_data[ii].animate_indx = 0; + gc->bog_data[ii].visible_object_id = -1; } } @@ -362,6 +378,12 @@ }; gc->overlay_proc(gc->overlay_proc_handle, &ov); + + if (plane == BD_OVERLAY_IG) { + gc->ig_open = 1; + } else { + gc->pg_open = 1; + } } } @@ -376,6 +398,14 @@ gc->overlay_proc(gc->overlay_proc_handle, &ov); } + + if (plane == BD_OVERLAY_IG) { + gc->ig_open = 0; + gc->ig_drawn = 0; + } else { + gc->pg_open = 0; + gc->pg_drawn = 0; + } } static void _flush_osd(GRAPHICS_CONTROLLER *gc, int plane, int64_t pts) @@ -437,6 +467,7 @@ _clear_osd_area(gc, BD_OVERLAY_IG, bog_data->x, bog_data->y, bog_data->w, bog_data->h); bog_data->x = bog_data->y = bog_data->w = bog_data->h = 0; + bog_data->visible_object_id = -1; gc->ig_dirty = 1; } @@ -478,7 +509,9 @@ static void _select_page(GRAPHICS_CONTROLLER *gc, uint16_t page_id) { bd_psr_write(gc->regs, PSR_MENU_PAGE_ID, page_id); - _clear_osd(gc, BD_OVERLAY_IG); + if (gc->ig_open) { + _clear_osd(gc, BD_OVERLAY_IG); + } _reset_page_state(gc); uint16_t button_id = _find_selected_button_id(gc); @@ -489,8 +522,12 @@ static void _gc_reset(GRAPHICS_CONTROLLER *gc) { - _close_osd(gc, BD_OVERLAY_PG); - _close_osd(gc, BD_OVERLAY_IG); + if (gc->pg_open) { + _close_osd(gc, BD_OVERLAY_PG); + } + if (gc->ig_open) { + _close_osd(gc, BD_OVERLAY_IG); + } gc->popup_visible = 0; gc->valid_mouse_position = 0; @@ -655,6 +692,43 @@ return; } + /* object already rendered ? */ + if (bog_data->visible_object_id == object->id && + bog_data->x == button->x_pos && bog_data->y == button->y_pos && + bog_data->w == object->width && bog_data->h == object->height) { + + GC_TRACE("skipping already rendered button #%d (object #%d at %d,%d %dx%d)\n", + button->id, object->id, + button->x_pos, button->y_pos, object->width, object->height); + + return; + } + + /* new object is smaller than already drawn one ? -> need to render background */ + if (bog_data->w > object->width || + bog_data->h > object->height) { + + /* make sure we won't wipe other buttons */ + unsigned ii, skip = 0; + for (ii = 0; &gc->bog_data[ii] != bog_data; ii++) { + if (_areas_overlap(bog_data, &gc->bog_data[ii])) + skip = 1; + /* FIXME: clean non-overlapping area */ + } + + GC_TRACE("object size changed, %sclearing background at %d,%d %dx%d\n", + skip ? " ** NOT ** " : "", + bog_data->x, bog_data->y, bog_data->w, bog_data->h); + + if (!skip) { + _clear_bog_area(gc, bog_data); + } + } + + GC_TRACE("render button #%d using object #%d at %d,%d %dx%d\n", + button->id, object->id, + button->x_pos, button->y_pos, object->width, object->height); + _render_object(gc, -1, BD_OVERLAY_IG, button->x_pos, button->y_pos, object, palette); @@ -663,12 +737,13 @@ bog_data->y = button->y_pos; bog_data->w = object->width; bog_data->h = object->height; + bog_data->visible_object_id = object->id; gc->ig_drawn = 1; gc->ig_dirty = 1; } -static void _render_page(GRAPHICS_CONTROLLER *gc, +static int _render_page(GRAPHICS_CONTROLLER *gc, unsigned activated_button_id, GC_NAV_CMDS *cmds) { @@ -680,30 +755,40 @@ unsigned selected_button_id = bd_psr_read(gc->regs, PSR_SELECTED_BUTTON_ID); if (s->ics->interactive_composition.ui_model == IG_UI_MODEL_POPUP && !gc->popup_visible) { - GC_TRACE("_render_page(): popup menu not visible\n"); - _clear_osd(gc, BD_OVERLAY_IG); + if (gc->ig_open) { + GC_TRACE("_render_page(): popup menu not visible\n"); + _close_osd(gc, BD_OVERLAY_IG); + return 1; + } - return; + return 0; } page = _find_page(&s->ics->interactive_composition, page_id); if (!page) { GC_ERROR("_render_page: unknown page id %d (have %d pages)\n", page_id, s->ics->interactive_composition.num_pages); - return; + return -1; } palette = _find_palette(s, page->palette_id_ref); if (!palette) { GC_ERROR("_render_page: unknown palette id %d (have %d palettes)\n", page->palette_id_ref, s->num_palette); - return; + return -1; } GC_TRACE("rendering page #%d using palette #%d. page has %d bogs\n", page->id, page->palette_id_ref, page->num_bogs); + if (!gc->ig_open) { + _open_osd(gc, BD_OVERLAY_IG, + s->ics->video_descriptor.video_width, + s->ics->video_descriptor.video_height); + } + + for (ii = 0; ii < page->num_bogs; ii++) { BD_IG_BOG *bog = &page->bog[ii]; unsigned valid_id = gc->bog_data[ii].enabled_button; @@ -751,7 +836,10 @@ if (gc->ig_dirty) { _flush_osd(gc, BD_OVERLAY_IG, -1); gc->ig_dirty = 0; + return 1; } + + return 0; } /* @@ -1057,6 +1145,11 @@ } new_btn_id = button->id; + + if (cmds) { + cmds->sound_id_ref = button->selected_sound_id_ref; + } + break; } @@ -1077,6 +1170,7 @@ cmds->num_nav_cmds = 0; cmds->nav_cmds = NULL; cmds->sound_id_ref = -1; + cmds->status = GC_STATUS_NONE; } if (!gc) { @@ -1133,7 +1227,7 @@ /* fall thru */ case GC_CTRL_NOP: - _render_page(gc, 0xffff, cmds); + result = _render_page(gc, 0xffff, cmds); break; case GC_CTRL_INIT_MENU: @@ -1163,6 +1257,15 @@ break; } + if (cmds) { + if (gc->igs->ics->interactive_composition.ui_model == IG_UI_MODEL_POPUP) { + cmds->status |= GC_STATUS_POPUP; + } + if (gc->ig_drawn) { + cmds->status |= GC_STATUS_MENU_OPEN; + } + } + bd_mutex_unlock(&gc->mutex); return result; diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/libbluray/decoders/graphics_controller.h libbluray-0.2.3/src/libbluray/decoders/graphics_controller.h --- libbluray-0.2.1~git20111206.46eb26b/src/libbluray/decoders/graphics_controller.h 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/libbluray/decoders/graphics_controller.h 2012-08-17 11:27:32.000000000 +0000 @@ -58,6 +58,11 @@ } gc_ctrl_e; + +#define GC_STATUS_NONE 0 +#define GC_STATUS_POPUP 1 /* popup menu loaded */ +#define GC_STATUS_MENU_OPEN 2 /* menu open */ + typedef struct { /* HDMV navigation command sequence */ int num_nav_cmds; @@ -65,6 +70,9 @@ /* Sound idx */ int sound_id_ref; + + /* graphics status (none, menu, popup) */ + uint32_t status; /* bit mask */ } GC_NAV_CMDS; /* diff -Nru libbluray-0.2.1~git20111206.46eb26b/src/libbluray/decoders/pg_decode.c libbluray-0.2.3/src/libbluray/decoders/pg_decode.c --- libbluray-0.2.1~git20111206.46eb26b/src/libbluray/decoders/pg_decode.c 2011-12-06 07:53:56.000000000 +0000 +++ libbluray-0.2.3/src/libbluray/decoders/pg_decode.c 2012-08-17 11:27:32.000000000 +0000 @@ -117,7 +117,7 @@ p->img = realloc(p->img, rle_size * sizeof(BD_PG_RLE_ELEM)); if (!p->img) { - BD_DEBUG(DBG_DECODE | DBG_CRIT, "pg_decode_object(): relloc(%d) failed\n", + BD_DEBUG(DBG_DECODE | DBG_CRIT, "pg_decode_object(): relloc(%zu) failed\n", rle_size * sizeof(BD_PG_RLE_ELEM)); return 0; } @@ -159,7 +159,7 @@ rle_size *= 2; p->img = realloc(p->img, rle_size * sizeof(BD_PG_RLE_ELEM)); if (!p->img) { - BD_DEBUG(DBG_DECODE | DBG_CRIT, "pg_decode_object(): relloc(%d) failed\n", + BD_DEBUG(DBG_DECODE | DBG_CRIT, "pg_decode_object(): relloc(%zu) failed\n", rle_size * sizeof(BD_PG_RLE_ELEM)); X_FREE(tmp); return 0;