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