diff --git a/autoconf/ast_check_openh323.m4 b/autoconf/ast_check_openh323.m4 index b3dfb925f..35f8a544b 100644 --- a/autoconf/ast_check_openh323.m4 +++ b/autoconf/ast_check_openh323.m4 @@ -16,19 +16,19 @@ if test "${HAS_OPENH323:-unset}" = "unset" ; then else saved_cppflags="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} -I${HOME}/openh323/include -I${PWLIB_INCDIR}" - AC_CHECK_HEADER(${HOME}/openh323/include/h323.h, HAS_OPENH323=1, ) + AC_CHECK_HEADER(${HOME}/openh323/include/h323.h, HAS_OPENH323=1, , [#include ]) CPPFLAGS="${saved_cppflags}" if test "${HAS_OPENH323:-unset}" != "unset" ; then OPENH323DIR="${HOME}/openh323" else saved_cppflags="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} -I/usr/local/include/openh323 -I${PWLIB_INCDIR}" - AC_CHECK_HEADER(/usr/local/include/openh323/h323.h, HAS_OPENH323=1, ) + AC_CHECK_HEADER(/usr/local/include/openh323/h323.h, HAS_OPENH323=1, , [#include ]) CPPFLAGS="${saved_cppflags}" if test "${HAS_OPENH323:-unset}" != "unset" ; then OPENH323DIR="/usr/local/share/openh323" OPENH323_INCDIR="/usr/local/include/openh323" - if test "x$LIB64" != "x"; then + if test "x$LIB64" != "x" && test -d "/usr/local/lib64"; then OPENH323_LIBDIR="/usr/local/lib64" else OPENH323_LIBDIR="/usr/local/lib" @@ -41,7 +41,7 @@ if test "${HAS_OPENH323:-unset}" = "unset" ; then if test "${HAS_OPENH323:-unset}" != "unset" ; then OPENH323DIR="/usr/share/openh323" OPENH323_INCDIR="/usr/include/openh323" - if test "x$LIB64" != "x"; then + if test "x$LIB64" != "x" && test -d "/usr/local/lib64"; then OPENH323_LIBDIR="/usr/lib64" else OPENH323_LIBDIR="/usr/lib" @@ -77,7 +77,12 @@ AC_DEFUN([AST_CHECK_OPENH323_BUILD], [ OPENH323_SUFFIX= prefixes="h323_${PWLIB_PLATFORM}_ h323_ openh323" for pfx in $prefixes; do + #files=`ls -l /usr/local/lib/lib${pfx}*.so* 2>/dev/null` files=`ls -l ${OPENH323_LIBDIR}/lib${pfx}*.so* 2>/dev/null` + if test -z "$files"; then + # check the default location + files=`ls -l /usr/local/lib/lib${pfx}*.so* 2>/dev/null` + fi libfile= if test -n "$files"; then for f in $files; do diff --git a/channels/chan_h323.c b/channels/chan_h323.c index 051166d4b..2342ecfbb 100644 --- a/channels/chan_h323.c +++ b/channels/chan_h323.c @@ -2729,12 +2729,34 @@ static char *handle_cli_h323_show_tokens(struct ast_cli_entry *e, int cmd, struc return CLI_SUCCESS; } +static char *handle_cli_h323_show_version(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) +{ + switch (cmd) { + case CLI_INIT: + e->command = "h323 show version"; + e->usage = + "Usage: h323 show version\n" + " Show the version of the H.323 library in use\n"; + return NULL; + case CLI_GENERATE: + return NULL; + } + + if (a->argc != 3) + return CLI_SHOWUSAGE; + + h323_show_version(); + + return CLI_SUCCESS; +} + static struct ast_cli_entry cli_h323[] = { - AST_CLI_DEFINE(handle_cli_h323_set_trace, "Enable/Disable H.323 Stack Tracing"), - AST_CLI_DEFINE(handle_cli_h323_set_debug, "Enable/Disable H.323 Debugging"), - AST_CLI_DEFINE(handle_cli_h323_cycle_gk, "Manually re-register with the Gatekeper"), - AST_CLI_DEFINE(handle_cli_h323_hangup, "Manually try to hang up a call"), - AST_CLI_DEFINE(handle_cli_h323_show_tokens, "Show all active call tokens"), + AST_CLI_DEFINE(handle_cli_h323_set_trace, "Enable/Disable H.323 Stack Tracing"), + AST_CLI_DEFINE(handle_cli_h323_set_debug, "Enable/Disable H.323 Debugging"), + AST_CLI_DEFINE(handle_cli_h323_cycle_gk, "Manually re-register with the Gatekeper"), + AST_CLI_DEFINE(handle_cli_h323_hangup, "Manually try to hang up a call"), + AST_CLI_DEFINE(handle_cli_h323_show_tokens, "Show all active call tokens"), + AST_CLI_DEFINE(handle_cli_h323_show_version, "Show the version of the H.323 library in use"), }; static void delete_users(void) diff --git a/channels/h323/ast_h323.cxx b/channels/h323/ast_h323.cxx index 0c31569f3..489cf7a12 100644 --- a/channels/h323/ast_h323.cxx +++ b/channels/h323/ast_h323.cxx @@ -30,6 +30,7 @@ */ #include "asterisk.h" +#define VERSION(a,b,c) ((a)*10000+(b)*100+(c)) #include @@ -42,6 +43,23 @@ #include #include #include + +/* H323 Plus */ +#if VERSION(OPENH323_MAJOR, OPENH323_MINOR, OPENH323_BUILD) > VERSION(1,19,4) + +#ifdef H323_H450 +#include "h450/h4501.h" +#include "h450/h4504.h" +#include "h450/h45011.h" +#include "h450/h450pdu.h" +#endif + +#ifdef H323_H460 +#include +#endif + +#else /* !H323 Plus */ + #include #ifdef H323_H450 #include "h4501.h" @@ -50,6 +68,10 @@ #include "h450pdu.h" #endif +#endif /* H323 Plus */ + +#include "compat_h323.h" + #ifdef __cplusplus extern "C" { #endif @@ -66,15 +88,40 @@ extern "C" { #include "cisco-h225.h" #include "caps_h323.h" -#if PWLIB_MAJOR * 10000 + PWLIB_MINOR * 100 + PWLIB_BUILD >= 1 * 10000 + 12 * 100 + 0 +#if VERSION(PWLIB_MAJOR, PWLIB_MINOR, PWLIB_BUILD) >= VERSION(1,12,0) #define SKIP_PWLIB_PIPE_BUG_WORKAROUND 1 #endif +/////////////////////////////////////////////// +/* We have to have a PProcess running for the life of the instance to give + * h323plus a static instance of PProcess to get system information. + * This class is defined with PDECLARE_PROCESS(). See pprocess.h from pwlib. + */ + /* PWlib Required Components */ +#if VERSION(OPENH323_MAJOR, OPENH323_MINOR, OPENH323_BUILD) > VERSION(1,19,4) +#define MAJOR_VERSION 1 +#define MINOR_VERSION 19 +#define BUILD_TYPE ReleaseCode +#define BUILD_NUMBER 6 +#else #define MAJOR_VERSION 1 #define MINOR_VERSION 0 #define BUILD_TYPE ReleaseCode #define BUILD_NUMBER 0 +#endif + +const char *h323manufact = "The NuFone Networks"; +const char *h323product = "H.323 Channel Driver for Asterisk"; + +PDECLARE_PROCESS(MyProcess,PProcess,h323manufact,h323product,MAJOR_VERSION,MINOR_VERSION,BUILD_TYPE,BUILD_NUMBER) +static MyProcess localProcess; // active for the life of the DLL +/* void MyProcess::Main() +{ +} +*/ +//////////////////////////////////////////////// + /** Counter for the number of connections */ static int channelsOpen; @@ -86,13 +133,6 @@ static int channelsOpen; */ static MyH323EndPoint *endPoint = NULL; -/** PWLib entry point */ -static MyProcess *localProcess = NULL; - -#ifndef SKIP_PWLIB_PIPE_BUG_WORKAROUND -static int _timerChangePipe[2]; -#endif - static unsigned traceOptions = PTrace::Timestamp | PTrace::Thread | PTrace::FileAndLine; class PAsteriskLog : public PObject, public iostream { @@ -177,36 +217,6 @@ static ostream &my_endl(ostream &os) (logstream ? (PTrace::ClearOptions((unsigned)-1), PTrace::Begin(0, __FILE__, __LINE__)) : std::cout) #define endl my_endl -/* Special class designed to call cleanup code on module destruction */ -class MyH323_Shutdown { - public: - MyH323_Shutdown() { }; - ~MyH323_Shutdown() - { - h323_end_process(); - }; -}; - -MyProcess::MyProcess(): PProcess("The NuFone Networks", - "H.323 Channel Driver for Asterisk", - MAJOR_VERSION, MINOR_VERSION, BUILD_TYPE, BUILD_NUMBER) -{ - /* Call shutdown when module being unload or asterisk has been stopped */ - static MyH323_Shutdown x; - - /* Fix missed one in PWLib */ - PX_firstTimeStart = FALSE; - Resume(); -} - -MyProcess::~MyProcess() -{ -#ifndef SKIP_PWLIB_PIPE_BUG_WORKAROUND - _timerChangePipe[0] = timerChangePipe[0]; - _timerChangePipe[1] = timerChangePipe[1]; -#endif -} - void MyProcess::Main() { PTrace::Initialise(PTrace::GetLevel(), NULL, traceOptions); @@ -2061,7 +2071,7 @@ PBoolean MyH323Connection::StartControlChannel(const H225_TransportAddress & h24 cout << "Using " << addr << " for outbound H.245 transport" << endl; controlChannel = new MyH323TransportTCP(endpoint, addr); } else - controlChannel = new H323TransportTCP(endpoint); + controlChannel = new MyH323TransportTCP(endpoint); if (!controlChannel->SetRemoteAddress(h245Address)) { PTRACE(1, "H225\tCould not extract H245 address"); delete controlChannel; @@ -2250,8 +2260,7 @@ void h323_end_point_create(void) { channelsOpen = 0; logstream = new PAsteriskLog(); - localProcess = new MyProcess(); - localProcess->Main(); + endPoint = new MyH323EndPoint(); } void h323_gk_urq(void) @@ -2359,6 +2368,33 @@ int h323_start_listener(int listenPort, struct sockaddr_in bindaddr) return 0; }; +/* Addition of functions just to make the channel driver compile with H323Plus */ +#if VERSION(OPENH323_MAJOR, OPENH323_MINOR, OPENH323_BUILD) > VERSION(1,19,4) +/* Alternate RTP port information for Same NAT */ +BOOL MyH323_ExternalRTPChannel::OnReceivedAltPDU(const H245_ArrayOf_GenericInformation & alternate ) +{ + return TRUE; +} + +/* Alternate RTP port information for Same NAT */ +BOOL MyH323_ExternalRTPChannel::OnSendingAltPDU(H245_ArrayOf_GenericInformation & alternate) const +{ + return TRUE; +} + +/* Alternate RTP port information for Same NAT */ +void MyH323_ExternalRTPChannel::OnSendOpenAckAlt(H245_ArrayOf_GenericInformation & alternate) const +{ +} + +/* Alternate RTP port information for Same NAT */ +BOOL MyH323_ExternalRTPChannel::OnReceivedAckAltPDU(const H245_ArrayOf_GenericInformation & alternate) +{ + return TRUE; +} +#endif + + int h323_set_alias(struct oh323_alias *alias) { char *p; @@ -2374,7 +2410,7 @@ int h323_set_alias(struct oh323_alias *alias) cout << "== Adding alias \"" << h323id << "\" to endpoint" << endl; endPoint->AddAliasName(h323id); - endPoint->RemoveAliasName(localProcess->GetUserName()); + endPoint->RemoveAliasName(PProcess::Current().GetName()); if (!e164.IsEmpty()) { cout << "== Adding E.164 \"" << e164 << "\" to endpoint" << endl; @@ -2409,6 +2445,11 @@ void h323_show_tokens(void) cout << "Current call tokens: " << setprecision(2) << endPoint->GetAllConnections() << endl; } +void h323_show_version(void) +{ + cout << "H.323 version: " << OPENH323_MAJOR << "." << OPENH323_MINOR << "." << OPENH323_BUILD << endl; +} + /** Establish Gatekeeper communiations, if so configured, * register aliases for the H.323 endpoint to respond to. */ @@ -2626,22 +2667,10 @@ int h323_hold_call(const char *token, int is_hold) void h323_end_process(void) { if (endPoint) { - endPoint->ClearAllCalls(); - endPoint->RemoveListener(NULL); delete endPoint; endPoint = NULL; } - if (localProcess) { - delete localProcess; - localProcess = NULL; -#ifndef SKIP_PWLIB_PIPE_BUG_WORKAROUND - close(_timerChangePipe[0]); - close(_timerChangePipe[1]); -#endif - } if (logstream) { - PTrace::SetLevel(0); - PTrace::SetStream(&cout); delete logstream; logstream = NULL; } diff --git a/channels/h323/ast_h323.h b/channels/h323/ast_h323.h index afc0f3d1b..b9e793c0f 100644 --- a/channels/h323/ast_h323.h +++ b/channels/h323/ast_h323.h @@ -151,26 +151,24 @@ protected: PIPSocket::Address localIpAddr; PIPSocket::Address remoteIpAddr; + /* Additional functions in order to have chan_h323 compile with H323Plus */ +#if VERSION(OPENH323_MAJOR, OPENH323_MINOR, OPENH323_BUILD) > VERSION(1,19,4) + BOOL OnReceivedAltPDU(const H245_ArrayOf_GenericInformation & alternate ); + BOOL OnSendingAltPDU(H245_ArrayOf_GenericInformation & alternate) const; + void OnSendOpenAckAlt(H245_ArrayOf_GenericInformation & alternate) const; + BOOL OnReceivedAckAltPDU(const H245_ArrayOf_GenericInformation & alternate); +#endif WORD localPort; WORD remotePort; }; -/** - * The MyProcess is a necessary descendant PProcess class so that the H323EndPoint - * objected to be created from within that class. (Solves the who owns main() problem). - */ -class MyProcess : public PProcess -{ - PCLASSINFO(MyProcess, PProcess); - -public: - MyProcess(); - ~MyProcess(); - void Main(); -}; - #ifdef H323_H450 + +#if VERSION(OPENH323_MAJOR, OPENH323_MINOR, OPENH323_BUILD) > VERSION(1,19,4) +#include +#else #include +#endif class MyH4504Handler : public H4504Handler { @@ -186,6 +184,4 @@ private: }; #endif -#include "compat_h323.h" - #endif /* !defined AST_H323_H */ diff --git a/channels/h323/chan_h323.h b/channels/h323/chan_h323.h index 95e8c491d..e121f02fb 100644 --- a/channels/h323/chan_h323.h +++ b/channels/h323/chan_h323.h @@ -242,6 +242,7 @@ extern "C" { int h323_set_gk(int, char *, char *); void h323_set_id(char *); void h323_show_tokens(void); + void h323_show_version(void); /* H323 listener related funcions */ int h323_start_listener(int, struct sockaddr_in); diff --git a/channels/h323/compat_h323.cxx b/channels/h323/compat_h323.cxx index 8eb73a98e..609d18e8a 100644 --- a/channels/h323/compat_h323.cxx +++ b/channels/h323/compat_h323.cxx @@ -33,6 +33,7 @@ #include #include "ast_h323.h" +#include "compat_h323.h" #if VERSION(OPENH323_MAJOR,OPENH323_MINOR,OPENH323_BUILD) < VERSION(1,17,3) MyH323TransportTCP::MyH323TransportTCP( diff --git a/channels/h323/compat_h323.h b/channels/h323/compat_h323.h index 53938350d..61076f1be 100644 --- a/channels/h323/compat_h323.h +++ b/channels/h323/compat_h323.h @@ -1,6 +1,8 @@ #ifndef COMPAT_H323_H #define COMPAT_H323_H +#include "ast_ptlib.h" + #if VERSION(OPENH323_MAJOR,OPENH323_MINOR,OPENH323_BUILD) < VERSION(1,17,3) /** * Workaround for broken (less than 1.17.3) OpenH323 stack to be able to diff --git a/configure b/configure index 664a70c3d..f27257f41 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac Revision: 182170 . +# From configure.ac Revision: 182355 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for asterisk 1.6. # @@ -1631,7 +1631,7 @@ Optional Packages: --with-crypto=PATH use OpenSSL Cryptography support files in PATH --with-dahdi=PATH use DAHDI files in PATH --with-avcodec=PATH use Ffmpeg and avcodec library files in PATH - --with-gsm=PATH use External GSM library files in PATH , use + --with-gsm=PATH use External GSM library files in PATH, use 'internal' GSM otherwise --with-gtk=PATH use gtk libraries files in PATH --with-gtk2=PATH use gtk2 libraries files in PATH @@ -44884,26 +44884,19 @@ fi saved_cppflags="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} -I${HOME}/openh323/include -I${PWLIB_INCDIR}" as_ac_Header=`echo "ac_cv_header_${HOME}/openh323/include/h323.h" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for ${HOME}/openh323/include/h323.h" >&5 +{ echo "$as_me:$LINENO: checking for ${HOME}/openh323/include/h323.h" >&5 echo $ECHO_N "checking for ${HOME}/openh323/include/h323.h... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking ${HOME}/openh323/include/h323.h usability" >&5 -echo $ECHO_N "checking ${HOME}/openh323/include/h323.h usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default +#include + #include <${HOME}/openh323/include/h323.h> _ACEOF rm -f conftest.$ac_objext @@ -44923,99 +44916,19 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then - ac_header_compiler=yes + eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no + eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking ${HOME}/openh323/include/h323.h presence" >&5 -echo $ECHO_N "checking ${HOME}/openh323/include/h323.h presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <${HOME}/openh323/include/h323.h> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -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_cpp conftest.$ac_ext") 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); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: ${HOME}/openh323/include/h323.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: ${HOME}/openh323/include/h323.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------- ## -## Report this to www.asterisk.org ## -## ------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for ${HOME}/openh323/include/h323.h" >&5 -echo $ECHO_N "checking for ${HOME}/openh323/include/h323.h... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } - -fi if test `eval echo '${'$as_ac_Header'}'` = yes; then HAS_OPENH323=1 fi @@ -45027,25 +44940,19 @@ fi else saved_cppflags="${CPPFLAGS}" CPPFLAGS="${CPPFLAGS} -I/usr/local/include/openh323 -I${PWLIB_INCDIR}" - if test "${ac_cv_header__usr_local_include_openh323_h323_h+set}" = set; then - { echo "$as_me:$LINENO: checking for /usr/local/include/openh323/h323.h" >&5 + { echo "$as_me:$LINENO: checking for /usr/local/include/openh323/h323.h" >&5 echo $ECHO_N "checking for /usr/local/include/openh323/h323.h... $ECHO_C" >&6; } if test "${ac_cv_header__usr_local_include_openh323_h323_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header__usr_local_include_openh323_h323_h" >&5 -echo "${ECHO_T}$ac_cv_header__usr_local_include_openh323_h323_h" >&6; } else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking /usr/local/include/openh323/h323.h usability" >&5 -echo $ECHO_N "checking /usr/local/include/openh323/h323.h usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_includes_default +#include + #include _ACEOF rm -f conftest.$ac_objext @@ -45065,98 +44972,18 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then - ac_header_compiler=yes + ac_cv_header__usr_local_include_openh323_h323_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 - ac_header_compiler=no + ac_cv_header__usr_local_include_openh323_h323_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking /usr/local/include/openh323/h323.h presence" >&5 -echo $ECHO_N "checking /usr/local/include/openh323/h323.h presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -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_cpp conftest.$ac_ext") 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); } >/dev/null && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: /usr/local/include/openh323/h323.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: /usr/local/include/openh323/h323.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------- ## -## Report this to www.asterisk.org ## -## ------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ echo "$as_me:$LINENO: checking for /usr/local/include/openh323/h323.h" >&5 -echo $ECHO_N "checking for /usr/local/include/openh323/h323.h... $ECHO_C" >&6; } -if test "${ac_cv_header__usr_local_include_openh323_h323_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header__usr_local_include_openh323_h323_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header__usr_local_include_openh323_h323_h" >&5 echo "${ECHO_T}$ac_cv_header__usr_local_include_openh323_h323_h" >&6; } - -fi if test $ac_cv_header__usr_local_include_openh323_h323_h = yes; then HAS_OPENH323=1 fi @@ -45166,7 +44993,7 @@ fi if test "${HAS_OPENH323:-unset}" != "unset" ; then OPENH323DIR="/usr/local/share/openh323" OPENH323_INCDIR="/usr/local/include/openh323" - if test "x$LIB64" != "x"; then + if test "x$LIB64" != "x" && test -d "/usr/local/lib64"; then OPENH323_LIBDIR="/usr/local/lib64" else OPENH323_LIBDIR="/usr/local/lib" @@ -45227,7 +45054,7 @@ fi if test "${HAS_OPENH323:-unset}" != "unset" ; then OPENH323DIR="/usr/share/openh323" OPENH323_INCDIR="/usr/include/openh323" - if test "x$LIB64" != "x"; then + if test "x$LIB64" != "x" && test -d "/usr/local/lib64"; then OPENH323_LIBDIR="/usr/lib64" else OPENH323_LIBDIR="/usr/lib" @@ -45295,7 +45122,12 @@ echo $ECHO_N "checking OpenH323 build option... $ECHO_C" >&6; } OPENH323_SUFFIX= prefixes="h323_${PWLIB_PLATFORM}_ h323_ openh323" for pfx in $prefixes; do + #files=`ls -l /usr/local/lib/lib${pfx}*.so* 2>/dev/null` files=`ls -l ${OPENH323_LIBDIR}/lib${pfx}*.so* 2>/dev/null` + if test -z "$files"; then + # check the default location + files=`ls -l /usr/local/lib/lib${pfx}*.so* 2>/dev/null` + fi libfile= if test -n "$files"; then for f in $files; do