From: Tilghman Lesher Date: Wed, 19 May 2010 17:49:44 +0000 (+0000) Subject: Merged revisions 264249 via svnmerge from X-Git-Tag: 1.6.2.9-rc1~2^2~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f134c6effe0ab6c377d7721603d4fcc996dafb3d;p=thirdparty%2Fasterisk.git Merged revisions 264249 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r264249 | tilghman | 2010-05-19 12:48:31 -0500 (Wed, 19 May 2010) | 24 lines Merged revisions 264248 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r264248 | tilghman | 2010-05-19 12:41:29 -0500 (Wed, 19 May 2010) | 17 lines Internal timing is now on by default, if you're using DAHDI 2.3 or above. The reason for ensuring DAHDI 2.3 or above is that this version ensures that a timer is always available, whereas in previous versions, it was possible for DAHDI to be loaded, but have no drivers to actually generate timing. If internal_timing was turned on in this circumstance, a complete lack of audio would result. This is the reason why internal_timing was not on by default. However, now that DAHDI ensures the availability of a timer, there is no reason for this setting to be off (and in fact, it solves a great many initial user problems). (closes issue #15932) Reported by: dimas Patches: 20100519__issue15932.diff.txt uploaded by tilghman (license 14) Tested by: tilghman ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@264250 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/configure b/configure index 28137a5fca..aff6c096c2 100755 --- a/configure +++ b/configure @@ -21266,6 +21266,158 @@ fi fi + if test "x${PBX_DAHDI}" != "x1"; then + { echo "$as_me:$LINENO: checking for DAHDI_RESET_COUNTERS in dahdi/user.h" >&5 +echo $ECHO_N "checking for DAHDI_RESET_COUNTERS in dahdi/user.h... $ECHO_C" >&6; } + saved_cppflags="${CPPFLAGS}" + if test "x${DAHDI_DIR}" != "x"; then + DAHDI_INCLUDE="-I${DAHDI_DIR}/include" + fi + CPPFLAGS="${CPPFLAGS} ${DAHDI_INCLUDE}" + + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +#if defined(DAHDI_RESET_COUNTERS) + int foo = 0; + #else + int foo = bar; + #endif + 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + PBX_DAHDI=1 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DAHDI 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DAHDI_VERSION 230 +_ACEOF + + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="${saved_cppflags}" + fi + + + + if test "x${PBX_DAHDI}" != "x1"; then + { echo "$as_me:$LINENO: checking for DAHDI_DEFAULT_MTU_MRU in dahdi/user.h" >&5 +echo $ECHO_N "checking for DAHDI_DEFAULT_MTU_MRU in dahdi/user.h... $ECHO_C" >&6; } + saved_cppflags="${CPPFLAGS}" + if test "x${DAHDI_DIR}" != "x"; then + DAHDI_INCLUDE="-I${DAHDI_DIR}/include" + fi + CPPFLAGS="${CPPFLAGS} ${DAHDI_INCLUDE}" + + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +#if defined(DAHDI_DEFAULT_MTU_MRU) + int foo = 0; + #else + int foo = bar; + #endif + 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + PBX_DAHDI=1 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DAHDI 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DAHDI_VERSION 220 +_ACEOF + + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="${saved_cppflags}" + fi + + + if test "x${PBX_DAHDI}" != "x1"; then { echo "$as_me:$LINENO: checking for DAHDI_CODE in dahdi/user.h" >&5 echo $ECHO_N "checking for DAHDI_CODE in dahdi/user.h... $ECHO_C" >&6; } @@ -21322,6 +21474,10 @@ cat >>confdefs.h <<\_ACEOF _ACEOF +cat >>confdefs.h <<\_ACEOF +#define HAVE_DAHDI_VERSION 200 +_ACEOF + else echo "$as_me: failed program was:" >&5 diff --git a/configure.ac b/configure.ac index 4b8051acb9..57913747c9 100644 --- a/configure.ac +++ b/configure.ac @@ -763,7 +763,9 @@ if test "x${OSARCH}" = "xlinux-gnu" ; then AST_EXT_LIB_CHECK([CAP], [cap], [cap_from_text], [sys/capability.h]) fi -AST_C_DEFINE_CHECK([DAHDI], [DAHDI_CODE], [dahdi/user.h]) +AST_C_DEFINE_CHECK([DAHDI], [DAHDI_RESET_COUNTERS], [dahdi/user.h], [230]) +AST_C_DEFINE_CHECK([DAHDI], [DAHDI_DEFAULT_MTU_MRU], [dahdi/user.h], [220]) +AST_C_DEFINE_CHECK([DAHDI], [DAHDI_CODE], [dahdi/user.h], [200]) AST_C_DEFINE_CHECK([DAHDI_HALF_FULL], [DAHDI_POLICY_HALF_FULL], [dahdi/user.h]) diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index 48ff4e783b..9bd4ca16bb 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -151,6 +151,9 @@ /* Define if your system has the DAHDI_LINEREVERSE_VMWI headers. */ #undef HAVE_DAHDI_LINEREVERSE_VMWI +/* Define DAHDI headers version */ +#undef HAVE_DAHDI_VERSION + /* Define to 1 if your system has /dev/urandom. */ #undef HAVE_DEV_URANDOM diff --git a/include/asterisk/options.h b/include/asterisk/options.h index 065d0c9a1b..45b896a648 100644 --- a/include/asterisk/options.h +++ b/include/asterisk/options.h @@ -23,6 +23,8 @@ #ifndef _ASTERISK_OPTIONS_H #define _ASTERISK_OPTIONS_H +#include "asterisk/autoconfig.h" + #if defined(__cplusplus) || defined(c_plusplus) extern "C" { #endif @@ -93,7 +95,11 @@ enum ast_option_flags { }; /*! These are the options that set by default when Asterisk starts */ +#if (defined(HAVE_DAHDI_VERSION) && HAVE_DAHDI_VERSION >= 230) +#define AST_DEFAULT_OPTIONS AST_OPT_FLAG_TRANSCODE_VIA_SLIN | AST_OPT_FLAG_INTERNAL_TIMING +#else #define AST_DEFAULT_OPTIONS AST_OPT_FLAG_TRANSCODE_VIA_SLIN +#endif #define ast_opt_exec_includes ast_test_flag(&ast_options, AST_OPT_FLAG_EXEC_INCLUDES) #define ast_opt_no_fork ast_test_flag(&ast_options, AST_OPT_FLAG_NO_FORK)