Fix compile problem when old version of libvorbisfile v1.1.2 is used.

The principle difference between libvorbisfile v1.1.2 and newer (at least
v1.2.0) is the addition of the predefined callbacks OV_CALLBACKS_xxx in
vorbis/vorbisfile.h used for ov_open_callbacks().

* Updated the configure script to detect if libvorbisfile.h declares
OV_CALLBACKS_NOCLOSE.

* Copied the declaration of OV_CALLBACKS_NOCLOSE from v1.2.0 to allow
v1.1.2 to compile.

(closes issue ASTERISK-19370)
Reported by: Jonn Taylor
........

Merged revisions 355608 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 355620 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Richard Mudgett
2012-02-16 19:51:15 +00:00
parent 7879cccafd
commit 7093cf278c
5 changed files with 132 additions and 9 deletions

View File

@@ -0,0 +1,31 @@
# Check if a given symbol is declared using a certain header.
# Check whether SYMBOL (a function, variable, or constant) is declared.
# AST_C_DECLARE_CHECK([package], [symbol], [header file], [version])
AC_DEFUN([AST_C_DECLARE_CHECK],
[
if test "x${PBX_$1}" != "x1" -a "${USE_$1}" != "no"; then
AC_MSG_CHECKING([for $2 declared in $3])
saved_cppflags="${CPPFLAGS}"
if test "x${$1_DIR}" != "x"; then
$1_INCLUDE="-I${$1_DIR}/include"
fi
CPPFLAGS="${CPPFLAGS} ${$1_INCLUDE}"
AC_COMPILE_IFELSE(
[ AC_LANG_PROGRAM( [#include <$3>],
[#if !defined($2)
(void) $2;
#endif
])],
[ AC_MSG_RESULT(yes)
PBX_$1=1
AC_DEFINE([HAVE_$1], 1, [Define if your system has $2 declared.])
m4_ifval([$4], [AC_DEFINE([HAVE_$1_VERSION], $4, [Define $1 headers version])])
],
[ AC_MSG_RESULT(no) ]
)
CPPFLAGS="${saved_cppflags}"
fi
])