aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b>2008-10-06 23:14:33 +0000
committermvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b>2008-10-06 23:14:33 +0000
commit7c30763fbebea919470b9348ab9d665dc7197ad7 (patch)
treed501a880f6e900346f7e2c9a221913c855db439c
parent99e4818e3c6e8bfc2f6c407ff388e68c117afa20 (diff)
All ODBC parts can now use either unixodbc or iodbc.
This allows for the ODBC parts to work on OpenBSD as well. 99.99% of the work is done by seanbright (bow, bow) and I actually did nothing but test and yell at him that it still didn't work :) Thanks for helping out ! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@146925 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--apps/app_voicemail.c4
-rw-r--r--build_tools/menuselect-deps.in2
-rw-r--r--cdr/cdr_adaptive_odbc.c4
-rw-r--r--cdr/cdr_odbc.c4
-rwxr-xr-xconfigure401
-rw-r--r--configure.ac13
-rw-r--r--funcs/func_odbc.c4
-rw-r--r--include/asterisk/autoconfig.h.in6
-rw-r--r--makeopts.in3
-rw-r--r--res/res_config_odbc.c4
-rw-r--r--res/res_odbc.c4
11 files changed, 394 insertions, 55 deletions
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 1e6799659..6e22f6c05 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -47,8 +47,10 @@ c-client (http://www.washington.edu/imap/
/*** MAKEOPTS
<category name="MENUSELECT_OPTS_app_voicemail" displayname="Voicemail Build Options" positive_output="yes" remove_on_change="apps/app_voicemail.o apps/app_directory.o">
<member name="ODBC_STORAGE" displayname="Storage of Voicemail using ODBC">
- <depend>unixodbc</depend>
+ <depend>unixodbc_or_iodbc</depend>
<depend>ltdl</depend>
+ <use>unixodbc</use>
+ <use>iodbc</use>
<conflict>IMAP_STORAGE</conflict>
<defaultenabled>no</defaultenabled>
</member>
diff --git a/build_tools/menuselect-deps.in b/build_tools/menuselect-deps.in
index f63f591d4..1e1319abd 100644
--- a/build_tools/menuselect-deps.in
+++ b/build_tools/menuselect-deps.in
@@ -13,6 +13,7 @@ HOARD=@PBX_HOARD@
ICONV=@PBX_ICONV@
IKSEMEL=@PBX_IKSEMEL@
IMAP_TK=@PBX_IMAP_TK@
+IODBC=@PBX_IODBC@
ISDNNET=@PBX_ISDNNET@
IXJUSER=@PBX_IXJUSER@
JACK=@PBX_JACK@
@@ -23,6 +24,7 @@ MISDN=@PBX_MISDN@
NBS=@PBX_NBS@
NETSNMP=@PBX_NETSNMP@
NEWT=@PBX_NEWT@
+UNIXODBC_OR_IODBC=@PBX_ODBC@
OGG=@PBX_OGG@
OPENH323=@PBX_OPENH323@
OSPTK=@PBX_OSPTK@
diff --git a/cdr/cdr_adaptive_odbc.c b/cdr/cdr_adaptive_odbc.c
index 92ca3364c..244a0380c 100644
--- a/cdr/cdr_adaptive_odbc.c
+++ b/cdr/cdr_adaptive_odbc.c
@@ -25,7 +25,9 @@
*/
/*** MODULEINFO
- <depend>unixodbc</depend>
+ <depend>unixodbc_or_iodbc</depend>
+ <use>unixodbc</use>
+ <use>iodbc</use>
***/
#include "asterisk.h"
diff --git a/cdr/cdr_odbc.c b/cdr/cdr_odbc.c
index 6b5b1b77b..df9329090 100644
--- a/cdr/cdr_odbc.c
+++ b/cdr/cdr_odbc.c
@@ -29,8 +29,10 @@
*/
/*** MODULEINFO
- <depend>unixodbc</depend>
+ <depend>unixodbc_or_iodbc</depend>
<depend>ltdl</depend>
+ <use>unixodbc</use>
+ <use>iodbc</use>
***/
#include "asterisk.h"
diff --git a/configure b/configure
index 22449fce2..f4f4ae850 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac Revision: 145771 .
+# From configure.ac Revision: 146738 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for asterisk 1.6.
#
@@ -205,7 +205,7 @@ if as_func_ret_failure; then
echo as_func_ret_failure succeeded.
fi
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+if (set x; as_func_ret_success y && test x = \"\$1\" ); then
:
else
exitcode=1
@@ -409,7 +409,7 @@ if as_func_ret_failure; then
echo as_func_ret_failure succeeded.
fi
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+if (set x; as_func_ret_success y && test x = \"\$1\" ); then
:
else
exitcode=1
@@ -784,6 +784,10 @@ IMAP_TK_LIB
IMAP_TK_INCLUDE
IMAP_TK_DIR
PBX_IMAP_TK
+IODBC_LIB
+IODBC_INCLUDE
+IODBC_DIR
+PBX_IODBC
ISDNNET_LIB
ISDNNET_INCLUDE
ISDNNET_DIR
@@ -824,10 +828,6 @@ NEWT_LIB
NEWT_INCLUDE
NEWT_DIR
PBX_NEWT
-UNIXODBC_LIB
-UNIXODBC_INCLUDE
-UNIXODBC_DIR
-PBX_UNIXODBC
OGG_LIB
OGG_INCLUDE
OGG_DIR
@@ -932,6 +932,10 @@ TONEZONE_LIB
TONEZONE_INCLUDE
TONEZONE_DIR
PBX_TONEZONE
+UNIXODBC_LIB
+UNIXODBC_INCLUDE
+UNIXODBC_DIR
+PBX_UNIXODBC
USB_LIB
USB_INCLUDE
USB_DIR
@@ -969,6 +973,7 @@ GSM_INTERNAL
PBX_MISDN_FAC_RESULT
PBX_MISDN_FAC_ERROR
CONFIG_NETSNMP
+PBX_ODBC
PG_CONFIG
PTLIB_CONFIG
PWLIBDIR
@@ -1606,6 +1611,7 @@ Optional Packages:
--with-iconv=PATH use Iconv Library files in PATH
--with-iksemel=PATH use Iksemel Jabber Library files in PATH
--with-imap=PATH use UW IMAP Toolkit files in PATH
+ --with-iodbc=PATH use iODBC files in PATH
--with-isdnnet=PATH use ISDN4Linux Library files in PATH
--with-jack=PATH use Jack Audio Connection Kit files in PATH
--with-ldap=PATH use OpenLDAP files in PATH
@@ -1616,7 +1622,6 @@ Optional Packages:
--with-ncurses=PATH use ncurses files in PATH
--with-netsnmp=PATH use Net-SNMP files in PATH
--with-newt=PATH use newt files in PATH
- --with-odbc=PATH use unixODBC files in PATH
--with-ogg=PATH use OGG files in PATH
--with-osptk=PATH use OSP Toolkit files in PATH
--with-oss=PATH use Open Sound System files in PATH
@@ -1644,6 +1649,7 @@ Optional Packages:
--with-termcap=PATH use Termcap files in PATH
--with-tinfo=PATH use Term Info files in PATH
--with-tonezone=PATH use tonezone files in PATH
+ --with-unixodbc=PATH use unixODBC files in PATH
--with-usb=PATH use usb files in PATH
--with-vorbis=PATH use Vorbis files in PATH
--with-vpb=PATH use Voicetronix API files in PATH
@@ -4047,7 +4053,7 @@ _ACEOF
# note- does not work on FreeBSD
case "${host_os}" in
- freebsd*)
+ freebsd*|openbsd*)
ac_default_prefix=/usr/local
CPPFLAGS=-I/usr/local/include
LDFLAGS=-L/usr/local/lib
@@ -6568,7 +6574,7 @@ else
GNU_MAKE_VERSION_MINOR=0 ;
for a in make gmake gnumake ; do
if test -z "$a" ; then continue ; fi ;
- if ( sh -c "$a --version" 2> /dev/null | grep GNU 2>&1 > /dev/null ) ; then
+ if (sh -c "$a --version" 2> /dev/null | grep GNU 2>&1 > /dev/null ) ; then
GNU_MAKE=$a ;
GNU_MAKE_VERSION_MAJOR=`$GNU_MAKE --version | grep "GNU Make" | cut -f3 -d' ' | cut -f1 -d'.'`
GNU_MAKE_VERSION_MINOR=`$GNU_MAKE --version | grep "GNU Make" | cut -f2 -d'.' | cut -c1-2`
@@ -8355,6 +8361,34 @@ fi
+ IODBC_DESCRIP="iODBC"
+ IODBC_OPTION="iodbc"
+
+# Check whether --with-iodbc was given.
+if test "${with_iodbc+set}" = set; then
+ withval=$with_iodbc;
+ case ${withval} in
+ n|no)
+ USE_IODBC=no
+ ;;
+ y|ye|yes)
+ ac_mandatory_list="${ac_mandatory_list} IODBC"
+ ;;
+ *)
+ IODBC_DIR="${withval}"
+ ac_mandatory_list="${ac_mandatory_list} IODBC"
+ ;;
+ esac
+
+fi
+
+ PBX_IODBC=0
+
+
+
+
+
+
ISDNNET_DESCRIP="ISDN4Linux Library"
ISDNNET_OPTION="isdnnet"
@@ -8635,34 +8669,6 @@ fi
- UNIXODBC_DESCRIP="unixODBC"
- UNIXODBC_OPTION="odbc"
-
-# Check whether --with-odbc was given.
-if test "${with_odbc+set}" = set; then
- withval=$with_odbc;
- case ${withval} in
- n|no)
- USE_UNIXODBC=no
- ;;
- y|ye|yes)
- ac_mandatory_list="${ac_mandatory_list} UNIXODBC"
- ;;
- *)
- UNIXODBC_DIR="${withval}"
- ac_mandatory_list="${ac_mandatory_list} UNIXODBC"
- ;;
- esac
-
-fi
-
- PBX_UNIXODBC=0
-
-
-
-
-
-
OGG_DESCRIP="OGG"
OGG_OPTION="ogg"
@@ -9391,6 +9397,34 @@ fi
+ UNIXODBC_DESCRIP="unixODBC"
+ UNIXODBC_OPTION="unixodbc"
+
+# Check whether --with-unixodbc was given.
+if test "${with_unixodbc+set}" = set; then
+ withval=$with_unixodbc;
+ case ${withval} in
+ n|no)
+ USE_UNIXODBC=no
+ ;;
+ y|ye|yes)
+ ac_mandatory_list="${ac_mandatory_list} UNIXODBC"
+ ;;
+ *)
+ UNIXODBC_DIR="${withval}"
+ ac_mandatory_list="${ac_mandatory_list} UNIXODBC"
+ ;;
+ esac
+
+fi
+
+ PBX_UNIXODBC=0
+
+
+
+
+
+
USB_DESCRIP="usb"
USB_OPTION="usb"
@@ -33347,6 +33381,268 @@ echo "${ECHO_T}no" >&6; }
fi
+if test "x${PBX_IODBC}" != "x1" -a "${USE_IODBC}" != "no"; then
+ pbxlibdir=""
+ # if --with-IODBC=DIR has been specified, use it.
+ if test "x${IODBC_DIR}" != "x"; then
+ if test -d ${IODBC_DIR}/lib; then
+ pbxlibdir="-L${IODBC_DIR}/lib"
+ else
+ pbxlibdir="-L${IODBC_DIR}"
+ fi
+ fi
+ pbxfuncname="SQLConnect"
+ if test "x${pbxfuncname}" = "x" ; then # empty lib, assume only headers
+ AST_IODBC_FOUND=yes
+ else
+ as_ac_Lib=`echo "ac_cv_lib_iodbc_${pbxfuncname}" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for ${pbxfuncname} in -liodbc" >&5
+echo $ECHO_N "checking for ${pbxfuncname} in -liodbc... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-liodbc ${pbxlibdir} -lpthread $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ${pbxfuncname} ();
+int
+main ()
+{
+return ${pbxfuncname} ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+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_link") 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_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_Lib=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+ AST_IODBC_FOUND=yes
+else
+ AST_IODBC_FOUND=no
+fi
+
+ fi
+
+ # now check for the header.
+ if test "${AST_IODBC_FOUND}" = "yes"; then
+ IODBC_LIB="${pbxlibdir} -liodbc -lpthread"
+ # if --with-IODBC=DIR has been specified, use it.
+ if test "x${IODBC_DIR}" != "x"; then
+ IODBC_INCLUDE="-I${IODBC_DIR}/include"
+ fi
+ IODBC_INCLUDE="${IODBC_INCLUDE} "
+ if test "xsql.h" = "x" ; then # no header, assume found
+ IODBC_HEADER_FOUND="1"
+ else # check for the header
+ saved_cppflags="${CPPFLAGS}"
+ CPPFLAGS="${CPPFLAGS} ${IODBC_INCLUDE}"
+ if test "${ac_cv_header_sql_h+set}" = set; then
+ { echo "$as_me:$LINENO: checking for sql.h" >&5
+echo $ECHO_N "checking for sql.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_sql_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_sql_h" >&5
+echo "${ECHO_T}$ac_cv_header_sql_h" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking sql.h usability" >&5
+echo $ECHO_N "checking sql.h usability... $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. */
+$ac_includes_default
+#include <sql.h>
+_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
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=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 sql.h presence" >&5
+echo $ECHO_N "checking sql.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 <sql.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_c_preproc_warn_flag$ac_c_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_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: sql.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: sql.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: sql.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: sql.h: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: sql.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: sql.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: sql.h: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: sql.h: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: sql.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: sql.h: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: sql.h: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: sql.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: sql.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: sql.h: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: sql.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: sql.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 sql.h" >&5
+echo $ECHO_N "checking for sql.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_sql_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_header_sql_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_sql_h" >&5
+echo "${ECHO_T}$ac_cv_header_sql_h" >&6; }
+
+fi
+if test $ac_cv_header_sql_h = yes; then
+ IODBC_HEADER_FOUND=1
+else
+ IODBC_HEADER_FOUND=0
+fi
+
+
+ CPPFLAGS="${saved_cppflags}"
+ fi
+ if test "x${IODBC_HEADER_FOUND}" = "x0" ; then
+ IODBC_LIB=""
+ IODBC_INCLUDE=""
+ else
+ if test "x${pbxfuncname}" = "x" ; then # only checking headers -> no library
+ IODBC_LIB=""
+ fi
+ PBX_IODBC=1
+ # XXX don't know how to evaluate the description (third argument) in AC_DEFINE_UNQUOTED
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_IODBC 1
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_IODBC_VERSION
+_ACEOF
+
+ fi
+ fi
+fi
+
+
+
if test "x${PBX_JACK}" != "x1" -a "${USE_JACK}" != "no"; then
pbxlibdir=""
# if --with-JACK=DIR has been specified, use it.
@@ -36442,6 +36738,12 @@ _ACEOF
fi
+PBX_ODBC=0
+if test "$PBX_IODBC" = "1" -o "$PBX_UNIXODBC" = "1"; then
+ PBX_ODBC=1
+fi
+
+
if test "x${PBX_OGG}" != "x1" -a "${USE_OGG}" != "no"; then
pbxlibdir=""
@@ -50683,6 +50985,10 @@ IMAP_TK_LIB!$IMAP_TK_LIB$ac_delim
IMAP_TK_INCLUDE!$IMAP_TK_INCLUDE$ac_delim
IMAP_TK_DIR!$IMAP_TK_DIR$ac_delim
PBX_IMAP_TK!$PBX_IMAP_TK$ac_delim
+IODBC_LIB!$IODBC_LIB$ac_delim
+IODBC_INCLUDE!$IODBC_INCLUDE$ac_delim
+IODBC_DIR!$IODBC_DIR$ac_delim
+PBX_IODBC!$PBX_IODBC$ac_delim
ISDNNET_LIB!$ISDNNET_LIB$ac_delim
ISDNNET_INCLUDE!$ISDNNET_INCLUDE$ac_delim
ISDNNET_DIR!$ISDNNET_DIR$ac_delim
@@ -50708,10 +51014,6 @@ MISDN_INCLUDE!$MISDN_INCLUDE$ac_delim
MISDN_DIR!$MISDN_DIR$ac_delim
PBX_MISDN!$PBX_MISDN$ac_delim
NBS_LIB!$NBS_LIB$ac_delim
-NBS_INCLUDE!$NBS_INCLUDE$ac_delim
-NBS_DIR!$NBS_DIR$ac_delim
-PBX_NBS!$PBX_NBS$ac_delim
-NCURSES_LIB!$NCURSES_LIB$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -50753,6 +51055,10 @@ _ACEOF
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
+NBS_INCLUDE!$NBS_INCLUDE$ac_delim
+NBS_DIR!$NBS_DIR$ac_delim
+PBX_NBS!$PBX_NBS$ac_delim
+NCURSES_LIB!$NCURSES_LIB$ac_delim
NCURSES_INCLUDE!$NCURSES_INCLUDE$ac_delim
NCURSES_DIR!$NCURSES_DIR$ac_delim
PBX_NCURSES!$PBX_NCURSES$ac_delim
@@ -50764,10 +51070,6 @@ NEWT_LIB!$NEWT_LIB$ac_delim
NEWT_INCLUDE!$NEWT_INCLUDE$ac_delim
NEWT_DIR!$NEWT_DIR$ac_delim
PBX_NEWT!$PBX_NEWT$ac_delim
-UNIXODBC_LIB!$UNIXODBC_LIB$ac_delim
-UNIXODBC_INCLUDE!$UNIXODBC_INCLUDE$ac_delim
-UNIXODBC_DIR!$UNIXODBC_DIR$ac_delim
-PBX_UNIXODBC!$PBX_UNIXODBC$ac_delim
OGG_LIB!$OGG_LIB$ac_delim
OGG_INCLUDE!$OGG_INCLUDE$ac_delim
OGG_DIR!$OGG_DIR$ac_delim
@@ -50913,6 +51215,10 @@ TONEZONE_LIB!$TONEZONE_LIB$ac_delim
TONEZONE_INCLUDE!$TONEZONE_INCLUDE$ac_delim
TONEZONE_DIR!$TONEZONE_DIR$ac_delim
PBX_TONEZONE!$PBX_TONEZONE$ac_delim
+UNIXODBC_LIB!$UNIXODBC_LIB$ac_delim
+UNIXODBC_INCLUDE!$UNIXODBC_INCLUDE$ac_delim
+UNIXODBC_DIR!$UNIXODBC_DIR$ac_delim
+PBX_UNIXODBC!$PBX_UNIXODBC$ac_delim
USB_LIB!$USB_LIB$ac_delim
USB_INCLUDE!$USB_INCLUDE$ac_delim
USB_DIR!$USB_DIR$ac_delim
@@ -50950,6 +51256,7 @@ GSM_INTERNAL!$GSM_INTERNAL$ac_delim
PBX_MISDN_FAC_RESULT!$PBX_MISDN_FAC_RESULT$ac_delim
PBX_MISDN_FAC_ERROR!$PBX_MISDN_FAC_ERROR$ac_delim
CONFIG_NETSNMP!$CONFIG_NETSNMP$ac_delim
+PBX_ODBC!$PBX_ODBC$ac_delim
PG_CONFIG!$PG_CONFIG$ac_delim
PTLIB_CONFIG!$PTLIB_CONFIG$ac_delim
PWLIBDIR!$PWLIBDIR$ac_delim
@@ -50976,7 +51283,7 @@ CURL_CONFIG!$CURL_CONFIG$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 83; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 88; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff --git a/configure.ac b/configure.ac
index b0d757360..ac0588f8e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -27,7 +27,7 @@ AC_GNU_SOURCE
AC_USE_SYSTEM_EXTENSIONS # note- does not work on FreeBSD
case "${host_os}" in
- freebsd*)
+ freebsd*|openbsd*)
ac_default_prefix=/usr/local
CPPFLAGS=-I/usr/local/include
LDFLAGS=-L/usr/local/lib
@@ -220,6 +220,7 @@ AST_EXT_LIB_SETUP([HOARD], [Hoard Memory Allocator], [hoard])
AST_EXT_LIB_SETUP([ICONV], [Iconv Library], [iconv])
AST_EXT_LIB_SETUP([IKSEMEL], [Iksemel Jabber Library], [iksemel])
AST_EXT_LIB_SETUP([IMAP_TK], [UW IMAP Toolkit], [imap])
+AST_EXT_LIB_SETUP([IODBC], [iODBC], [iodbc])
AST_EXT_LIB_SETUP([ISDNNET], [ISDN4Linux Library], [isdnnet])
AST_EXT_LIB_SETUP([JACK], [Jack Audio Connection Kit], [jack])
AST_EXT_LIB_SETUP([LDAP], [OpenLDAP], [ldap])
@@ -230,7 +231,6 @@ AST_EXT_LIB_SETUP([NBS], [Network Broadcast Sound], [nbs])
AST_EXT_LIB_SETUP([NCURSES], [ncurses], [ncurses])
AST_EXT_LIB_SETUP([NETSNMP], [Net-SNMP], [netsnmp])
AST_EXT_LIB_SETUP([NEWT], [newt], [newt])
-AST_EXT_LIB_SETUP([UNIXODBC], [unixODBC], [odbc])
AST_EXT_LIB_SETUP([OGG], [OGG], [ogg])
AST_EXT_LIB_SETUP([OSPTK], [OSP Toolkit], [osptk])
AST_EXT_LIB_SETUP([OSS], [Open Sound System], [oss])
@@ -257,6 +257,7 @@ AST_EXT_LIB_SETUP([FREETDS], [FreeTDS], [tds])
AST_EXT_LIB_SETUP([TERMCAP], [Termcap], [termcap])
AST_EXT_LIB_SETUP([TINFO], [Term Info], [tinfo])
AST_EXT_LIB_SETUP([TONEZONE], [tonezone], [tonezone])
+AST_EXT_LIB_SETUP([UNIXODBC], [unixODBC], [unixodbc])
AST_EXT_LIB_SETUP([USB], [usb], [usb])
AST_EXT_LIB_SETUP([VORBIS], [Vorbis], [vorbis])
AST_EXT_LIB_SETUP([VPB], [Voicetronix API], [vpb])
@@ -1226,6 +1227,8 @@ if test "${USE_IMAP_TK}" != "no"; then
LIBS="${saved_libs}"
fi
+AST_EXT_LIB_CHECK([IODBC], [iodbc], [SQLConnect], [sql.h], [-lpthread])
+
AST_EXT_LIB_CHECK([JACK], [jack], [jack_activate], [jack/jack.h])
# Needed by unixodbc
@@ -1257,6 +1260,12 @@ AST_EXT_LIB_CHECK([NEWT], [newt], [newtBell], [newt.h])
AST_EXT_LIB_CHECK([UNIXODBC], [odbc], [SQLConnect], [sql.h], [])
+PBX_ODBC=0
+if test "$PBX_IODBC" = "1" -o "$PBX_UNIXODBC" = "1"; then
+ PBX_ODBC=1
+fi
+AC_SUBST(PBX_ODBC)
+
AST_EXT_LIB_CHECK([OGG], [ogg], [ogg_sync_init], [])
# Non-glibc platforms require libexecinfo for backtrace support
diff --git a/funcs/func_odbc.c b/funcs/func_odbc.c
index da7e3eccd..37b27d59b 100644
--- a/funcs/func_odbc.c
+++ b/funcs/func_odbc.c
@@ -27,9 +27,11 @@
*/
/*** MODULEINFO
- <depend>unixodbc</depend>
+ <depend>unixodbc_or_iodbc</depend>
<depend>ltdl</depend>
<depend>res_odbc</depend>
+ <use>unixodbc</use>
+ <use>iodbc</use>
***/
#include "asterisk.h"
diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in
index cff934563..acc96f735 100644
--- a/include/asterisk/autoconfig.h.in
+++ b/include/asterisk/autoconfig.h.in
@@ -377,6 +377,12 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define this to indicate the ${IODBC_DESCRIP} library */
+#undef HAVE_IODBC
+
+/* Define to indicate the ${IODBC_DESCRIP} library version */
+#undef HAVE_IODBC_VERSION
+
/* Define if your system has the IP_MTU_DISCOVER headers. */
#undef HAVE_IP_MTU_DISCOVER
diff --git a/makeopts.in b/makeopts.in
index 57d7fedac..59f7f378d 100644
--- a/makeopts.in
+++ b/makeopts.in
@@ -106,6 +106,9 @@ IKSEMEL_LIB=@IKSEMEL_LIB@
IMAP_TK_INCLUDE=@IMAP_TK_INCLUDE@
IMAP_TK_LIB=@IMAP_TK_LIB@
+IODBC_INCLUDE=@IODBC_INCLUDE@
+IODBC_LIB=@IODBC_LIB@
+
JACK_INCLUDE=@JACK_INCLUDE@
JACK_LIB=@JACK_LIB@
diff --git a/res/res_config_odbc.c b/res/res_config_odbc.c
index d2f7f373b..82d6c989d 100644
--- a/res/res_config_odbc.c
+++ b/res/res_config_odbc.c
@@ -29,9 +29,11 @@
*/
/*** MODULEINFO
- <depend>unixodbc</depend>
+ <depend>unixodbc_or_iodbc</depend>
<depend>ltdl</depend>
<depend>res_odbc</depend>
+ <use>unixodbc</use>
+ <use>iodbc</use>
***/
#include "asterisk.h"
diff --git a/res/res_odbc.c b/res/res_odbc.c
index e7b50d627..0d257fcc6 100644
--- a/res/res_odbc.c
+++ b/res/res_odbc.c
@@ -30,8 +30,10 @@
*/
/*** MODULEINFO
- <depend>unixodbc</depend>
+ <depend>unixodbc_or_iodbc</depend>
<depend>ltdl</depend>
+ <use>unixodbc</use>
+ <use>iodbc</use>
***/
#include "asterisk.h"