1# Configure paths for libvorbis
2# Jack Moffitt <jack@icecast.org> 10-21-2000
3# updated by Karl Heyes 31-Mar-2003
4# Shamelessly stolen from Owen Taylor and Manish Singh
5
6dnl XIPH_PATH_VORBIS([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
7dnl Test for libvorbis, and define VORBIS_CFLAGS VORBIS_LIBS
8dnl VORBIS_VORBISENC_LIBS VORBIS_VORBISFILE_LIBS VORBIS_LDFLAGS
9dnl
10
11AC_DEFUN([XIPH_PATH_VORBIS],
12[dnl
13AC_REQUIRE([XIPH_PATH_OGG])
14
15dnl Get the cflags and libraries for vorbis
16dnl
17AC_ARG_VAR([VORBIS_PREFIX],[path to vorbis installation])
18AC_ARG_WITH(vorbis,
19    AC_HELP_STRING([--with-vorbis=PREFIX],
20        [Prefix where libvorbis is installed (optional)]),
21    vorbis_prefix="$withval",
22    vorbis_prefix="$VORBIS_PREFIX"
23    )
24if test "x$vorbis_prefix" = "x" -o "x$vorbis_prefix" = "xyes"; then
25    if test "x$prefix" = "xNONE"; then
26        vorbis_prefix="/usr/local"
27    else
28        vorbis_prefix="$prefix"
29    fi
30fi
31
32VORBIS_CFLAGS="$OGG_CFLAGS"
33VORBIS_LDFLAGS="$OGG_LDFLAGS"
34if test "x$vorbis_prefix" != "x$ogg_prefix"; then
35    XIPH_GCC_WARNING(-I"$vorbis_prefix/include",,
36            [VORBIS_CFLAGS="$VORBIS_CFLAGS -I$vorbis_prefix/include"
37            VORBIS_LDFLAGS="-L$vorbis_prefix/lib $VORBIS_LDFLAGS"
38            ])
39fi
40
41VORBIS_LIBS="-lvorbis"
42VORBISFILE_LIBS="-lvorbisfile"
43VORBISENC_LIBS="-lvorbisenc"
44
45xt_save_LIBS="$LIBS"
46xt_save_LDFLAGS="$LDFLAGS"
47xt_save_CPPFLAGS="$CPPFLAGS"
48CPPFLAGS="$CPPFLAGS $VORBIS_CFLAGS"
49LDFLAGS="$LDFLAGS $VORBIS_LDFLAGS"
50LIBS="$LIBS $VORBIS_LIBS"
51xt_lib_vorbis="not found"
52AC_MSG_CHECKING([for libvorbis])
53AC_TRY_LINK_FUNC(ogg_stream_init, [xt_lib_vorbis=ok],
54        [LIBS="$LIBS $OGG_LIBS -lm"
55        AC_TRY_LINK_FUNC(vorbis_info_init,
56            [xt_lib_vorbis=ok
57            VORBIS_LIBS="$VORBIS_LIBS $OGG_LIBS -lm"],
58            )
59        ])
60
61if test "x$xt_lib_vorbis" = "xok"; then
62#
63# Now check if the installed Vorbis is sufficiently new.
64#
65AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
66#include <vorbis/codec.h>
67#include <vorbis/vorbisenc.h>
68        ], [
69struct ovectl_ratemanage_arg a;
70])],,[xt_lib_vorbis="old version found"])
71AC_MSG_RESULT([$xt_lib_vorbis])
72fi
73CPPFLAGS="$xt_save_CPPFLAGS"
74LIBS="$xt_save_LIBS"
75LDFLAGS="$xt_save_LDFLAGS"
76
77if test "x$xt_lib_vorbis" = "xok"; then
78    ifelse([$1], ,[:], [$1])
79else
80    VORBIS_CFLAGS=""
81    VORBIS_LDFLAGS=""
82    VORBIS_LIBS=""
83    VORBISFILE_LIBS=""
84    VORBISENC_LIBS=""
85    ifelse([$2], ,, [$2])
86fi
87AC_SUBST(VORBIS_CFLAGS)
88AC_SUBST(VORBIS_LDFLAGS)
89AC_SUBST(VORBIS_LIBS)
90AC_SUBST(VORBISFILE_LIBS)
91AC_SUBST(VORBISENC_LIBS)
92])
93