cannam@86: # Configure paths for libvorbis cannam@86: # Jack Moffitt 10-21-2000 cannam@86: # Shamelessly stolen from Owen Taylor and Manish Singh cannam@86: # thomasvs added check for vorbis_bitrate_addblock which is new in rc3 cannam@86: cannam@86: dnl XIPH_PATH_VORBIS([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) cannam@86: dnl Test for libvorbis, and define VORBIS_CFLAGS and VORBIS_LIBS cannam@86: dnl cannam@86: AC_DEFUN([XIPH_PATH_VORBIS], cannam@86: [dnl cannam@86: dnl Get the cflags and libraries cannam@86: dnl cannam@86: AC_ARG_WITH(vorbis,AC_HELP_STRING([--with-vorbis=PFX],[Prefix where libvorbis is installed (optional)]), vorbis_prefix="$withval", vorbis_prefix="") cannam@86: AC_ARG_WITH(vorbis-libraries,AC_HELP_STRING([--with-vorbis-libraries=DIR],[Directory where libvorbis library is installed (optional)]), vorbis_libraries="$withval", vorbis_libraries="") cannam@86: AC_ARG_WITH(vorbis-includes,AC_HELP_STRING([--with-vorbis-includes=DIR],[Directory where libvorbis header files are installed (optional)]), vorbis_includes="$withval", vorbis_includes="") cannam@86: AC_ARG_ENABLE(vorbistest,AC_HELP_STRING([--disable-vorbistest],[Do not try to compile and run a test Vorbis program]),, enable_vorbistest=yes) cannam@86: cannam@86: if test "x$vorbis_libraries" != "x" ; then cannam@86: VORBIS_LIBS="-L$vorbis_libraries" cannam@86: elif test "x$vorbis_prefix" = "xno" || test "x$vorbis_prefix" = "xyes" ; then cannam@86: VORBIS_LIBS="" cannam@86: elif test "x$vorbis_prefix" != "x" ; then cannam@86: VORBIS_LIBS="-L$vorbis_prefix/lib" cannam@86: elif test "x$prefix" != "xNONE"; then cannam@86: VORBIS_LIBS="-L$prefix/lib" cannam@86: fi cannam@86: cannam@86: if test "x$vorbis_prefix" != "xno" ; then cannam@86: VORBIS_LIBS="$VORBIS_LIBS -lvorbis -lm" cannam@86: fi cannam@86: VORBISFILE_LIBS="-lvorbisfile" cannam@86: VORBISENC_LIBS="-lvorbisenc" cannam@86: cannam@86: if test "x$vorbis_includes" != "x" ; then cannam@86: VORBIS_CFLAGS="-I$vorbis_includes" cannam@86: elif test "x$vorbis_prefix" = "xno" || test "x$vorbis_prefix" = "xyes" ; then cannam@86: VORBIS_CFLAGS="" cannam@86: elif test "x$vorbis_prefix" != "x" ; then cannam@86: VORBIS_CFLAGS="-I$vorbis_prefix/include" cannam@86: elif test "x$prefix" != "xNONE"; then cannam@86: VORBIS_CFLAGS="-I$prefix/include" cannam@86: fi cannam@86: cannam@86: cannam@86: AC_MSG_CHECKING(for Vorbis) cannam@86: if test "x$vorbis_prefix" = "xno" ; then cannam@86: no_vorbis="disabled" cannam@86: enable_vorbistest="no" cannam@86: else cannam@86: no_vorbis="" cannam@86: fi cannam@86: cannam@86: cannam@86: if test "x$enable_vorbistest" = "xyes" ; then cannam@86: ac_save_CFLAGS="$CFLAGS" cannam@86: ac_save_LIBS="$LIBS" cannam@86: CFLAGS="$CFLAGS $VORBIS_CFLAGS $OGG_CFLAGS" cannam@86: LIBS="$LIBS $VORBIS_LIBS $VORBISENC_LIBS $OGG_LIBS" cannam@86: dnl cannam@86: dnl Now check if the installed Vorbis is sufficiently new. cannam@86: dnl cannam@86: rm -f conf.vorbistest cannam@86: AC_TRY_RUN([ cannam@86: #include cannam@86: #include cannam@86: #include cannam@86: #include cannam@86: #include cannam@86: cannam@86: int main () cannam@86: { cannam@86: vorbis_block vb; cannam@86: vorbis_dsp_state vd; cannam@86: vorbis_info vi; cannam@86: cannam@86: vorbis_info_init (&vi); cannam@86: vorbis_encode_init (&vi, 2, 44100, -1, 128000, -1); cannam@86: vorbis_analysis_init (&vd, &vi); cannam@86: vorbis_block_init (&vd, &vb); cannam@86: /* this function was added in 1.0rc3, so this is what we're testing for */ cannam@86: vorbis_bitrate_addblock (&vb); cannam@86: cannam@86: system("touch conf.vorbistest"); cannam@86: return 0; cannam@86: } cannam@86: cannam@86: ],, no_vorbis=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) cannam@86: CFLAGS="$ac_save_CFLAGS" cannam@86: LIBS="$ac_save_LIBS" cannam@86: fi cannam@86: cannam@86: if test "x$no_vorbis" = "xdisabled" ; then cannam@86: AC_MSG_RESULT(no) cannam@86: ifelse([$2], , :, [$2]) cannam@86: elif test "x$no_vorbis" = "x" ; then cannam@86: AC_MSG_RESULT(yes) cannam@86: ifelse([$1], , :, [$1]) cannam@86: else cannam@86: AC_MSG_RESULT(no) cannam@86: if test -f conf.vorbistest ; then cannam@86: : cannam@86: else cannam@86: echo "*** Could not run Vorbis test program, checking why..." cannam@86: CFLAGS="$CFLAGS $VORBIS_CFLAGS" cannam@86: LIBS="$LIBS $VORBIS_LIBS $OGG_LIBS" cannam@86: AC_TRY_LINK([ cannam@86: #include cannam@86: #include cannam@86: ], [ return 0; ], cannam@86: [ echo "*** The test program compiled, but did not run. This usually means" cannam@86: echo "*** that the run-time linker is not finding Vorbis or finding the wrong" cannam@86: echo "*** version of Vorbis. If it is not finding Vorbis, you'll need to set your" cannam@86: echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" cannam@86: echo "*** to the installed location Also, make sure you have run ldconfig if that" cannam@86: echo "*** is required on your system" cannam@86: echo "***" cannam@86: echo "*** If you have an old version installed, it is best to remove it, although" cannam@86: echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], cannam@86: [ echo "*** The test program failed to compile or link. See the file config.log for the" cannam@86: echo "*** exact error that occured. This usually means Vorbis was incorrectly installed" cannam@86: echo "*** or that you have moved Vorbis since it was installed." ]) cannam@86: CFLAGS="$ac_save_CFLAGS" cannam@86: LIBS="$ac_save_LIBS" cannam@86: fi cannam@86: VORBIS_CFLAGS="" cannam@86: VORBIS_LIBS="" cannam@86: VORBISFILE_LIBS="" cannam@86: VORBISENC_LIBS="" cannam@86: ifelse([$2], , :, [$2]) cannam@86: fi cannam@86: AC_SUBST(VORBIS_CFLAGS) cannam@86: AC_SUBST(VORBIS_LIBS) cannam@86: AC_SUBST(VORBISFILE_LIBS) cannam@86: AC_SUBST(VORBISENC_LIBS) cannam@86: rm -f conf.vorbistest cannam@86: ])