mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-25 12:27:21 +00:00
598fe5e69e
The internal libEBML was updated to v1.3.9. That version contains changes to cmake to build an additional header file, ebml_export.h. In MKVToolNix, which isn't cmake-based, that file has to be created manually, and the Rakefile does so. However, when configure runs the file doesn't exist yet. This means that any attempt to compile a test program with the internal libebml will fail due to the header not being found. configure's compilation checks will therefore fail. For the detection of libebml::FindNextChild doing a compilation check against the internal libebml isn't really needed as we know that the version does include it. So just hardcode that knowledge and avoid the compilation check.
76 lines
2.2 KiB
Plaintext
76 lines
2.2 KiB
Plaintext
dnl
|
|
dnl Test for libEBML and libMatroska, and define MATROSKA_CFLAGS and MATROSKA_LIBS
|
|
dnl
|
|
|
|
EBML_MATROSKA_INTERNAL=no
|
|
PKG_CHECK_MODULES([EBML],[libebml >= 1.3.7],[],[EBML_MATROSKA_INTERNAL=yes])
|
|
PKG_CHECK_MODULES([MATROSKA],[libmatroska >= 1.5.0],[],[EBML_MATROSKA_INTERNAL=yes])
|
|
|
|
if test x"$EBML_MATROSKA_INTERNAL" = xyes; then
|
|
if ! test -f lib/libebml/ebml/EbmlTypes.h ; then
|
|
echo '*** The internal version of the libEBML library is supposed to be used,'
|
|
echo '*** but it was not found in "lib/libebml. If this is a clone from the'
|
|
echo '*** git repository then submodules have to be initialized with the'
|
|
echo '*** following two commands:'
|
|
echo '***'
|
|
echo '*** git submodule init'
|
|
echo '*** git submodule update'
|
|
exit 1
|
|
fi
|
|
|
|
if ! test -f lib/libmatroska/matroska/KaxVersion.h ; then
|
|
echo '*** The internal version of the libMatroska library is supposed to be used,'
|
|
echo '*** but it was not found in "lib/libmatroska". If this is a clone from the'
|
|
echo '*** git repository then submodules have to be initialized with the'
|
|
echo '*** following two commands:'
|
|
echo '***'
|
|
echo '*** git submodule init'
|
|
echo '*** git submodule update'
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
AC_DEFUN([AX_EBML_FINDNEXTCHILD],[
|
|
AC_CACHE_CHECK([if libEBML contains FindNextChild], [ax_cv_ebml_findnextchild],[
|
|
if test x"$EBML_MATROSKA_INTERNAL" = xyes; then
|
|
ax_cv_ebml_findnextchild=yes
|
|
else
|
|
CXXFLAGS_SAVED=$CXXFLAGS
|
|
CXXFLAGS="$EBML_CFLAGS $MATROSKA_CFLAGS"
|
|
export CXXFLAGS
|
|
|
|
AC_LANG_PUSH(C++)
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#include <matroska/KaxInfo.h>
|
|
#include <matroska/KaxSegment.h>
|
|
|
|
using namespace libebml;
|
|
using namespace libmatroska;
|
|
],
|
|
[
|
|
EbmlMaster *m = new KaxSegment;
|
|
EbmlElement *e = new KaxTitle;
|
|
FindNextChild(*m, *e);
|
|
],
|
|
[ax_cv_ebml_findnextchild="yes"],
|
|
[ax_cv_ebml_findnextchild="no"])
|
|
AC_LANG_POP
|
|
|
|
CXXFLAGS="$CXXFLAGS_SAVED"
|
|
fi
|
|
])
|
|
|
|
if test x"$ax_cv_ebml_findnextchild" = xyes; then
|
|
AC_DEFINE(HAVE_EBML_FINDNEXTCHILD, 1, [Define if libEBML contains FindNextChild])
|
|
fi
|
|
])
|
|
|
|
AX_EBML_FINDNEXTCHILD
|
|
|
|
AC_SUBST(EBML_MATROSKA_INTERNAL)
|
|
AC_SUBST(EBML_CFLAGS)
|
|
AC_SUBST(EBML_LIBS)
|
|
AC_SUBST(MATROSKA_CFLAGS)
|
|
AC_SUBST(MATROSKA_LIBS)
|