# Configure paths for libebml dnl PATH_EBML([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) dnl Test for libebml, and define EBML_CFLAGS and EBML_LIBS dnl AC_DEFUN([PATH_EBML], [dnl dnl Get the cflags and libraries dnl AC_ARG_WITH(ebml-prefix,[ --with-ebml-prefix=PFX Prefix where libebml is installed (optional)], ebml_prefix="$withval", ebml_prefix="") AC_ARG_WITH(ebml-include,[ --with-ebml-include=DIR Path to where the libebml include files installed (optional)], ebml_include="$withval", ebml_include="") AC_ARG_WITH(ebml-lib,[ --with-ebml-lib=DIR Path to where the libebml library installed (optional)], ebml_lib="$withval", ebml_lib="") AC_ARG_ENABLE(ebmltest, [ --disable-ebmltest Do not try to compile and run a test EBML program],, enable_ebmltest=yes) if test "x$ebml_prefix" != "x"; then ebml_args="$ebml_args --prefix=$ebml_prefix" if test "x$ebml_include" != "x"; then EBML_CFLAGS="-I$ebml_include" else EBML_CFLAGS="-I$ebml_prefix/include/ebml" fi if test "x$ebml_lib" != "x"; then EBML_LIBS="-L$ebml_lib" else EBML_LIBS="-L$ebml_prefix/lib" fi elif test "x$prefix" != "xNONE"; then ebml_args="$ebml_args --prefix=$prefix" if test "x$ebml_include" != "x"; then EBML_CFLAGS="-I$ebml_include" else EBML_CFLAGS="-I$prefix/include/ebml" fi if test "x$ebml_lib" != "x"; then EBML_LIBS="-L$ebml_lib" else EBML_LIBS="-L$prefix/lib" fi else if test "x$ebml_include" != "x"; then EBML_CFLAGS="-I$ebml_include" else EBML_CFLAGS="-I/usr/include/ebml -I/usr/local/include/ebml" fi if test "x$ebml_lib" != "x"; then EBML_LIBS="-L$ebml_lib" else EBML_LIBS="-L/usr/local/lib" fi fi EBML_LIBS="$EBML_LIBS -lebml" AC_MSG_CHECKING(for EBML) no_ebml="" if test "x$enable_ebmltest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $EBML_CFLAGS" LIBS="$LIBS $EBML_LIBS" dnl dnl Now check if the installed EBML is sufficiently new. dnl rm -f conf.ebmltest AC_TRY_RUN([ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <EbmlConfig.h> int main () { system("touch conf.ebmltest"); return 0; } ],, no_ebml=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi if test "x$no_ebml" = "x" ; then AC_MSG_RESULT(yes) ifelse([$1], , :, [$1]) else AC_MSG_RESULT(no) if test -f conf.ebmltest ; then : else echo "*** Could not run Ebml test program, checking why..." CFLAGS="$CFLAGS $EBML_CFLAGS" LIBS="$LIBS $EBML_LIBS" AC_TRY_LINK([ #include <stdio.h> #include <EbmlConfig.h> ], [ return 0; ], [ echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding EBML or finding the wrong" echo "*** version of EBML. If it is not finding EBML, you'll need to set your" echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" echo "*** to the installed location Also, make sure you have run ldconfig if that" echo "*** is required on your system" echo "***" echo "*** If you have an old version installed, it is best to remove it, although" echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], [ echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means EBML was incorrectly installed" echo "*** or that you have moved EBML since it was installed." ]) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi EBML_CFLAGS="" EBML_LIBS="" ifelse([$2], , :, [$2]) fi AC_SUBST(EBML_CFLAGS) AC_SUBST(EBML_LIBS) rm -f conf.ebmltest ]) # Configure paths for libmatroska dnl PATH_MATROSKA(MIN_VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) dnl Test for libmatroska, and define MATROSKA_CFLAGS and MATROSKA_LIBS dnl AC_DEFUN([PATH_MATROSKA], [dnl dnl Get the cflags and libraries dnl AC_ARG_WITH(matroska-prefix,[ --with-matroska-prefix=PFX Prefix where libmatroska is installed (optional)], matroska_prefix="$withval", matroska_prefix="") AC_ARG_WITH(matroska-include,[ --with-matroska-include=DIR Path to where the libmatroska include files installed (optional)], matroska_include="$withval", matroska_include="") AC_ARG_WITH(matroska-lib,[ --with-matroska-lib=DIR Path to where the libmatroska library installed (optional)], matroska_lib="$withval", matroska_lib="") AC_ARG_ENABLE(matroskatest, [ --disable-matroskatest Do not try to compile and run a test Matroska program],, enable_matroskatest=yes) if test "x$matroska_prefix" != "x"; then matroska_args="$matroska_args --prefix=$matroska_prefix" if test "x$matroska_include" != "x"; then MATROSKA_CFLAGS="-I$matroska_include" else MATROSKA_CFLAGS="-I$matroska_prefix/include/matroska" fi if test "x$matroska_lib" != "x"; then MATROSKA_LIBS="-L$matroska_lib" else MATROSKA_LIBS="-L$matroska_prefix/lib" fi elif test "x$prefix" != "xNONE"; then matroska_args="$matroska_args --prefix=$prefix" if test "x$matroska_include" != "x"; then MATROSKA_CFLAGS="-I$matroska_include" else MATROSKA_CFLAGS="-I$prefix/include/matroska" fi if test "x$matroska_lib" != "x"; then MATROSKA_LIBS="-L$matroska_lib" else MATROSKA_LIBS="-L$prefix/lib" fi else if test "x$matroska_include" != "x"; then MATROSKA_CFLAGS="-I$matroska_include" else MATROSKA_CFLAGS="-I/usr/include/matroska -I/usr/local/include/matroska" fi if test "x$matroska_lib" != "x"; then MATROSKA_LIBS="-L$matroska_lib" else MATROSKA_LIBS="-L/usr/local/lib" fi fi MATROSKA_LIBS="$MATROSKA_LIBS -lmatroska" AC_MSG_CHECKING(for Matroska) no_matroska="" if test "x$enable_matroskatest" = "xyes" ; then ac_save_CXXFLAGS="$CXXFLAGS" ac_save_LIBS="$LIBS" CXXFLAGS="$CXXFLAGS $MATROSKA_CFLAGS $EBML_CFLAGS" LIBS="$LIBS $MATROSKA_LIBS $EBML_LIBS" dnl dnl Now check if the installed Matroska is sufficiently new. dnl rm -f conf.matroskatest AC_LANG_CPLUSPLUS AC_TRY_RUN([ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <EbmlConfig.h> #include <KaxVersion.h> using namespace LIBMATROSKA_NAMESPACE; int main () { FILE *f; f = fopen("conf.matroskatest", "wb"); if (f == NULL) return 1; fprintf(f, "%s\n", KaxCodeVersion.c_str()); fclose(f); return 0; } ],, no_matroska=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) AC_LANG_C CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" fi if test "x$no_matroska" = "x" -a -f conf.matroskatest ; then AC_MSG_RESULT(yes) AC_MSG_CHECKING(Matroska version) matroska_version=`cat conf.matroskatest` mk_MAJVER=`echo $1 | cut -d"." -f1` mk_MINVER=`echo $1 | cut -d"." -f2` mk_RELVER=`echo $1 | cut -d"." -f3` mver_ok=`sed 's;\.;\ ;g' < conf.matroskatest | (read -a mver if test ${mver[[0]]} -gt $mk_MAJVER ; then mver_ok=1 elif test ${mver[[0]]} -lt $mk_MAJVER ; then mver_ok=0 else if test ${mver[[1]]} -gt $mk_MINVER ; then mver_ok=1 elif test ${mver[[1]]} -lt $mk_MINVER ; then mver_ok=0 else if test ${mver[[2]]} -ge $mk_RELVER ; then mver_ok=1 else mver_ok=0 fi fi fi echo $mver_ok )` if test "$mver_ok" = "1" ; then AC_MSG_RESULT($matroska_version ok) ifelse([$2], , :, [$2]) else AC_MSG_RESULT($matroska_version too old) echo '*** Your Matroska version is too old. Upgrade to at least version' echo '*** $1 and re-run configure.' ifelse([$3], , :, [$3]) fi else AC_MSG_RESULT(no) ifelse([$3], , :, [$3]) fi AC_SUBST(MATROSKA_CFLAGS) AC_SUBST(MATROSKA_LIBS) rm -f conf.matroskatest ])