update acinclude with XIPH_PATH_OGG from latest ogg.m4
[speexdsp.git] / acinclude.m4
index 8efb659..0e1f1ab 100644 (file)
-AC_DEFUN(AC_FIND_FILE,
-[
-$3=NONE
-for i in $2;
-do
-  for j in $1;
-  do
-    if test -r "$i/$j"; then
-      $3=$i
-      break 2
-    fi
-  done
-done
+# Configure paths for libogg
+# Jack Moffitt <jack@icecast.org> 10-21-2000
+# Shamelessly stolen from Owen Taylor and Manish Singh
+
+dnl XIPH_PATH_OGG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+dnl Test for libogg, and define OGG_CFLAGS and OGG_LIBS
+dnl
+AC_DEFUN([XIPH_PATH_OGG],
+[dnl 
+dnl Get the cflags and libraries
+dnl
+AC_ARG_WITH(ogg,[  --with-ogg=PFX   Prefix where libogg is installed (optional)], ogg_prefix="$withval", ogg_prefix="")
+AC_ARG_WITH(ogg-libraries,[  --with-ogg-libraries=DIR   Directory where libogg library is installed (optional)], ogg_libraries="$withval", ogg_libraries="")
+AC_ARG_WITH(ogg-includes,[  --with-ogg-includes=DIR   Directory where libogg header files are installed (optional)], ogg_includes="$withval", ogg_includes="")
+AC_ARG_ENABLE(oggtest, [  --disable-oggtest       Do not try to compile and run a test Ogg program],, enable_oggtest=yes)
+
+  if test "x$ogg_libraries" != "x" ; then
+    OGG_LIBS="-L$ogg_libraries"
+  elif test "x$ogg_prefix" != "x" ; then
+    OGG_LIBS="-L$ogg_prefix/lib"
+  elif test "x$prefix" != "xNONE" ; then
+    OGG_LIBS="-L$prefix/lib"
+  fi
+
+  OGG_LIBS="$OGG_LIBS -logg"
+
+  if test "x$ogg_includes" != "x" ; then
+    OGG_CFLAGS="-I$ogg_includes"
+  elif test "x$ogg_prefix" != "x" ; then
+    OGG_CFLAGS="-I$ogg_prefix/include"
+  elif test "x$prefix" != "xNONE"; then
+    OGG_CFLAGS="-I$prefix/include"
+  fi
+
+  AC_MSG_CHECKING(for Ogg)
+  no_ogg=""
+
+
+  if test "x$enable_oggtest" = "xyes" ; then
+    ac_save_CFLAGS="$CFLAGS"
+    ac_save_LIBS="$LIBS"
+    CFLAGS="$CFLAGS $OGG_CFLAGS"
+    LIBS="$LIBS $OGG_LIBS"
+dnl
+dnl Now check if the installed Ogg is sufficiently new.
+dnl
+      rm -f conf.oggtest
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ogg/ogg.h>
+
+int main ()
+{
+  system("touch conf.oggtest");
+  return 0;
+}
+
+],, no_ogg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+       CFLAGS="$ac_save_CFLAGS"
+       LIBS="$ac_save_LIBS"
+  fi
+
+  if test "x$no_ogg" = "x" ; then
+     AC_MSG_RESULT(yes)
+     ifelse([$1], , :, [$1])     
+  else
+     AC_MSG_RESULT(no)
+     if test -f conf.oggtest ; then
+       :
+     else
+       echo "*** Could not run Ogg test program, checking why..."
+       CFLAGS="$CFLAGS $OGG_CFLAGS"
+       LIBS="$LIBS $OGG_LIBS"
+       AC_TRY_LINK([
+#include <stdio.h>
+#include <ogg/ogg.h>
+],     [ return 0; ],
+       [ echo "*** The test program compiled, but did not run. This usually means"
+       echo "*** that the run-time linker is not finding Ogg or finding the wrong"
+       echo "*** version of Ogg. If it is not finding Ogg, 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 Ogg was incorrectly installed"
+       echo "*** or that you have moved Ogg since it was installed." ])
+       CFLAGS="$ac_save_CFLAGS"
+       LIBS="$ac_save_LIBS"
+     fi
+     OGG_CFLAGS=""
+     OGG_LIBS=""
+     ifelse([$2], , :, [$2])
+  fi
+  AC_SUBST(OGG_CFLAGS)
+  AC_SUBST(OGG_LIBS)
+  rm -f conf.oggtest
 ])
-
-AC_DEFUN(AC_PATH_LIBOGG,
-[
-OGG_LIBS="-logg"
-
-AC_MSG_CHECKING([for libogg])
-
-ac_ogg_includes=NONE ac_ogg_libraries=NONE ac_ogg_bindir=NONE
-ogg_libraries=""
-ogg_includes=""
-AC_ARG_WITH(ogg-dir,
-    [  --with-ogg-dir=DIR       where the root of OGG is installed ],
-    [  ac_ogg_includes="$withval"/include
-       ac_ogg_libraries="$withval"/lib
-    ])
-
-AC_ARG_WITH(ogg-includes,
-    [  --with-ogg-includes=DIR  where the OGG includes are. ],
-    [  
-       ac_ogg_includes="$withval"
-    ])
-    
-ogg_libs_given=no
-
-AC_ARG_WITH(ogg-libraries,
-    [  --with-ogg-libraries=DIR where the OGG library is installed.],
-    [  ac_ogg_libraries="$withval"
-       ogg_libs_given=yes
-    ])
-
-ogg_incdirs="/usr/include /usr/lib/ogg/include /opt/include /usr/local/ogg/include /usr/include/ogg /usr/include /usr/local/include"
-if test ! "$ac_ogg_includes" = "NONE"; then
-  ogg_incdirs="$ac_ogg_includes $ac_ogg_includes/.. $ogg_incdirs"
-fi
-AC_FIND_FILE(ogg/ogg.h, $ogg_incdirs, ogg_incdir)
-echo "Ogg includes in $ogg_incdir"
-
-
-ogg_libdirs="$ac_ogg_libraries /usr/lib/ogg/lib /usr/lib /opt/lib /usr/local/ogg/lib /usr/local/lib /usr/lib/ogg /usr/local/lib"
-test -n "$OGGDIR" && ogg_libdirs="$OGGDIR/lib $OGGDIR $ogg_libdirs"
-if test ! "$ac_ogg_libraries" = "NONE"; then
-  ogg_libdirs="$ac_ogg_libraries $ogg_libdirs"
-fi
-
-test=NONE
-ogg_libdir=NONE
-for dir in $ogg_libdirs; do
-  try="ls -1 $dir/libogg*"
-  if test=`eval $try 2> /dev/null`; then ogg_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
-done
-
-echo "Ogg libraries in $ogg_libdir"
-
-if test "$ogg_libdir" = "NONE" || test "$ogg_incdir" = "NONE"; then
-   have_libogg=no
-else
-   have_libogg=yes
-   AC_DEFINE(HAVE_LIBOGG)
-fi
-
-OGG_INCLUDES="-I$ogg_incdir"
-OGG_LDFLAGS="-L$ogg_libdir"
-
-
-AC_SUBST(OGG_LIBS)
-AC_SUBST(OGG_INCLUDES)
-AC_SUBST(OGG_LDFLAGS)
-
-])
-