summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Traud <pabstraud@compuserve.com>2018-03-17 16:49:11 +0100
committerAlexander Traud <pabstraud@compuserve.com>2018-03-17 16:49:11 +0100
commite61b50b67addc38498e607e451926071a8486018 (patch)
tree5e1e184bc7c69fff8f665366c5326a7577a05be2
parentd5bfba60d2c609852da2f89677e878567d133674 (diff)
BuildSystem: Check for header file of OGG.
Asterisk uses various symbols of the shared library libogg within the module format_ogg_vorbis. However, the source code of that module did not include the header file of libogg explicitly but implicitly. Because that header was not included before Asterisk 14, the script ./configure was told not to check for it. Anyway, even Asterisk 13 LTS uses symbols of libogg. Therefore, that header should be included explicitly. Therefore, ./configure should check for that header. Change-Id: I98c50d56311b68880d1084fcc62c35ab2f8692db
-rwxr-xr-xconfigure34
-rw-r--r--configure.ac2
-rw-r--r--formats/format_ogg_vorbis.c1
3 files changed, 24 insertions, 13 deletions
diff --git a/configure b/configure
index afe61aafd..34d1e3af7 100755
--- a/configure
+++ b/configure
@@ -24016,9 +24016,9 @@ if test "x${PBX_OGG}" != "x1" -a "${USE_OGG}" != "no"; then
ast_ext_lib_check_save_CFLAGS="${CFLAGS}"
CFLAGS="${CFLAGS} "
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ogg_sync_init in -logg" >&5
-$as_echo_n "checking for ogg_sync_init in -logg... " >&6; }
-if ${ac_cv_lib_ogg_ogg_sync_init+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ogg_stream_init in -logg" >&5
+$as_echo_n "checking for ogg_stream_init in -logg... " >&6; }
+if ${ac_cv_lib_ogg_ogg_stream_init+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -24032,27 +24032,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
#ifdef __cplusplus
extern "C"
#endif
-char ogg_sync_init ();
+char ogg_stream_init ();
int
main ()
{
-return ogg_sync_init ();
+return ogg_stream_init ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_ogg_ogg_sync_init=yes
+ ac_cv_lib_ogg_ogg_stream_init=yes
else
- ac_cv_lib_ogg_ogg_sync_init=no
+ ac_cv_lib_ogg_ogg_stream_init=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ogg_ogg_sync_init" >&5
-$as_echo "$ac_cv_lib_ogg_ogg_sync_init" >&6; }
-if test "x$ac_cv_lib_ogg_ogg_sync_init" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ogg_ogg_stream_init" >&5
+$as_echo "$ac_cv_lib_ogg_ogg_stream_init" >&6; }
+if test "x$ac_cv_lib_ogg_ogg_stream_init" = xyes; then :
AST_OGG_FOUND=yes
else
AST_OGG_FOUND=no
@@ -24070,8 +24070,18 @@ fi
fi
OGG_INCLUDE="${OGG_INCLUDE} "
- # no header, assume found
- OGG_HEADER_FOUND="1"
+ # check for the header
+ ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}"
+ CPPFLAGS="${CPPFLAGS} ${OGG_INCLUDE}"
+ ac_fn_c_check_header_mongrel "$LINENO" "ogg/ogg.h" "ac_cv_header_ogg_ogg_h" "$ac_includes_default"
+if test "x$ac_cv_header_ogg_ogg_h" = xyes; then :
+ OGG_HEADER_FOUND=1
+else
+ OGG_HEADER_FOUND=0
+fi
+
+
+ CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}"
if test "x${OGG_HEADER_FOUND}" = "x0" ; then
OGG_LIB=""
diff --git a/configure.ac b/configure.ac
index 4b9b83038..805b78bc7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2181,7 +2181,7 @@ AST_C_DECLARE_CHECK([UNBOUND_CONST_PARAMS], [UNBOUND_VERSION_MAJOR], [unbound.h]
AST_EXT_LIB_CHECK([UNIXODBC], [odbc], [SQLConnect], [sql.h], [])
-AST_EXT_LIB_CHECK([OGG], [ogg], [ogg_sync_init], [])
+AST_EXT_LIB_CHECK([OGG], [ogg], [ogg_stream_init], [ogg/ogg.h])
# Non-glibc platforms require libexecinfo for backtrace support
AST_EXT_LIB_CHECK([BKTR], [execinfo], [backtrace], [execinfo.h])
diff --git a/formats/format_ogg_vorbis.c b/formats/format_ogg_vorbis.c
index be5bb2bf9..ba86842f7 100644
--- a/formats/format_ogg_vorbis.c
+++ b/formats/format_ogg_vorbis.c
@@ -33,6 +33,7 @@
#include "asterisk.h"
+#include <ogg/ogg.h>
#include <vorbis/codec.h>
#include <vorbis/vorbisenc.h>
#include <vorbis/vorbisfile.h>