From e61b50b67addc38498e607e451926071a8486018 Mon Sep 17 00:00:00 2001 From: Alexander Traud Date: Sat, 17 Mar 2018 16:49:11 +0100 Subject: 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 --- configure | 34 ++++++++++++++++++++++------------ configure.ac | 2 +- formats/format_ogg_vorbis.c | 1 + 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 #include #include #include -- cgit v1.2.3