1f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels# Configure paths for libogg 2f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels# Jack Moffitt <jack@icecast.org> 10-21-2000 3f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels# Shamelessly stolen from Owen Taylor and Manish Singh 4f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels 5f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckelsdnl XIPH_PATH_OGG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) 6f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckelsdnl Test for libogg, and define OGG_CFLAGS and OGG_LIBS 7f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckelsdnl 8f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas EckelsAC_DEFUN([XIPH_PATH_OGG], 9f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels[dnl 10f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckelsdnl Get the cflags and libraries 11f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckelsdnl 12f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas EckelsAC_ARG_WITH(ogg,AC_HELP_STRING([--with-ogg=PFX],[Prefix where libogg is installed (optional)]), ogg_prefix="$withval", ogg_prefix="") 13f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas EckelsAC_ARG_WITH(ogg-libraries,AC_HELP_STRING([--with-ogg-libraries=DIR],[Directory where libogg library is installed (optional)]), ogg_libraries="$withval", ogg_libraries="") 14f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas EckelsAC_ARG_WITH(ogg-includes,AC_HELP_STRING([--with-ogg-includes=DIR],[Directory where libogg header files are installed (optional)]), ogg_includes="$withval", ogg_includes="") 15f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas EckelsAC_ARG_ENABLE(oggtest,AC_HELP_STRING([--disable-oggtest],[Do not try to compile and run a test Ogg program]),, enable_oggtest=yes) 16f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels 17f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels if test "x$ogg_libraries" != "x" ; then 18f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels OGG_LIBS="-L$ogg_libraries" 19f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels elif test "x$ogg_prefix" = "xno" || test "x$ogg_prefix" = "xyes" ; then 20f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels OGG_LIBS="" 21f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels elif test "x$ogg_prefix" != "x" ; then 22f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels OGG_LIBS="-L$ogg_prefix/lib" 23f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels elif test "x$prefix" != "xNONE" ; then 24f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels OGG_LIBS="-L$prefix/lib" 25f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels fi 26f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels 27f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels if test "x$ogg_prefix" != "xno" ; then 28f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels OGG_LIBS="$OGG_LIBS -logg" 29f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels fi 30f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels 31f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels if test "x$ogg_includes" != "x" ; then 32f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels OGG_CFLAGS="-I$ogg_includes" 33f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels elif test "x$ogg_prefix" = "xno" || test "x$ogg_prefix" = "xyes" ; then 34f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels OGG_CFLAGS="" 35f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels elif test "x$ogg_prefix" != "x" ; then 36f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels OGG_CFLAGS="-I$ogg_prefix/include" 37f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels elif test "x$prefix" != "xNONE"; then 38f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels OGG_CFLAGS="-I$prefix/include" 39f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels fi 40f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels 41f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels AC_MSG_CHECKING(for Ogg) 42f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels if test "x$ogg_prefix" = "xno" ; then 43f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels no_ogg="disabled" 44f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels enable_oggtest="no" 45f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels else 46f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels no_ogg="" 47f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels fi 48f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels 49f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels 50f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels if test "x$enable_oggtest" = "xyes" ; then 51f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels ac_save_CFLAGS="$CFLAGS" 52f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels ac_save_LIBS="$LIBS" 53f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels CFLAGS="$CFLAGS $OGG_CFLAGS" 54f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels LIBS="$LIBS $OGG_LIBS" 55f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckelsdnl 56f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckelsdnl Now check if the installed Ogg is sufficiently new. 57f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckelsdnl 58f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels rm -f conf.oggtest 59f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels AC_TRY_RUN([ 60f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels#include <stdio.h> 61f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels#include <stdlib.h> 62f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels#include <string.h> 63f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels#include <ogg/ogg.h> 64f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels 65f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckelsint main () 66f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels{ 67f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels system("touch conf.oggtest"); 68f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels return 0; 69f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels} 70f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels 71f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels],, no_ogg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) 72f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels CFLAGS="$ac_save_CFLAGS" 73f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels LIBS="$ac_save_LIBS" 74f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels fi 75f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels 76f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels if test "x$no_ogg" = "xdisabled" ; then 77f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels AC_MSG_RESULT(no) 78f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels ifelse([$2], , :, [$2]) 79f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels elif test "x$no_ogg" = "x" ; then 80f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels AC_MSG_RESULT(yes) 81f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels ifelse([$1], , :, [$1]) 82f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels else 83f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels AC_MSG_RESULT(no) 84f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels if test -f conf.oggtest ; then 85f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels : 86f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels else 87f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels echo "*** Could not run Ogg test program, checking why..." 88f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels CFLAGS="$CFLAGS $OGG_CFLAGS" 89f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels LIBS="$LIBS $OGG_LIBS" 90f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels AC_TRY_LINK([ 91f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels#include <stdio.h> 92f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels#include <ogg/ogg.h> 93f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels], [ return 0; ], 94f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels [ echo "*** The test program compiled, but did not run. This usually means" 95f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels echo "*** that the run-time linker is not finding Ogg or finding the wrong" 96f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your" 97f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" 98f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels echo "*** to the installed location Also, make sure you have run ldconfig if that" 99f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels echo "*** is required on your system" 100f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels echo "***" 101f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels echo "*** If you have an old version installed, it is best to remove it, although" 102f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], 103f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels [ echo "*** The test program failed to compile or link. See the file config.log for the" 104f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels echo "*** exact error that occured. This usually means Ogg was incorrectly installed" 105f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels echo "*** or that you have moved Ogg since it was installed." ]) 106f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels CFLAGS="$ac_save_CFLAGS" 107f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels LIBS="$ac_save_LIBS" 108f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels fi 109f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels OGG_CFLAGS="" 110f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels OGG_LIBS="" 111f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels ifelse([$2], , :, [$2]) 112f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels fi 113f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels AC_SUBST(OGG_CFLAGS) 114f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels AC_SUBST(OGG_LIBS) 115f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels rm -f conf.oggtest 116f869a6f5f794dddc9bee2a9fdddecf41d99035aeLucas Eckels]) 117