forked from Mirrors/freeswitch
ce7cea4cbf
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5305 d0543943-73ff-0310-b7d9-9358b9ac24b2
324 lines
9.5 KiB
Plaintext
324 lines
9.5 KiB
Plaintext
dnl ODBC.m4 generated automatically by aclocal 1.4a
|
|
|
|
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
|
dnl This file is free software; the Free Software Foundation
|
|
dnl gives unlimited permission to copy and/or distribute it,
|
|
dnl with or without modifications, as long as this notice is preserved.
|
|
|
|
dnl This program is distributed in the hope that it will be useful,
|
|
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
dnl PARTICULAR PURPOSE.
|
|
|
|
# Copyright (c) 1999-2000 Ajuba Solutions
|
|
# Copyright (c) 2004 ActiveState
|
|
|
|
|
|
#------------------------------------------------------------------------
|
|
# AX_PATH_ODBC --
|
|
#
|
|
# Locate the ODBC files (includes and libraries).
|
|
#
|
|
# Arguments:
|
|
#
|
|
# Requires:
|
|
#
|
|
# Results:
|
|
#
|
|
# Adds ODBC include and libs to PKG info
|
|
#------------------------------------------------------------------------
|
|
|
|
dnl the alternative search directory is invoked by --with-odbcinclude
|
|
dnl and --with-odbclibrary
|
|
AC_DEFUN(AX_PATH_ODBC, [
|
|
case "$host" in
|
|
*darwin*)
|
|
DYNAMIC_LIB_EXTEN="dylib"
|
|
;;
|
|
*cygwin* | *mingw*)
|
|
DYNAMIC_LIB_EXTEN="dll"
|
|
;;
|
|
*)
|
|
DYNAMIC_LIB_EXTEN="so"
|
|
;;
|
|
esac
|
|
AX_PATH_ODBCH
|
|
AX_PATH_ODBCLIB
|
|
AC_SUBST(ODBC_INCLUDE_DIR)
|
|
AC_SUBST(ODBC_LIB_DIR)
|
|
AC_SUBST(ODBC_LIB)
|
|
])
|
|
|
|
dnl Find the ODBC headers. This code may not work for certain
|
|
dnl intallations.
|
|
AC_DEFUN(AX_PATH_ODBCH, [
|
|
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
|
|
no_odbc=true
|
|
ac_cv_c_odbch=""
|
|
ODBCTYPE=""
|
|
|
|
AC_ARG_WITH(odbcinclude, [ --with-odbcinclude directory where odbc headers are], with_odbcinclude=${withval})
|
|
|
|
if test x"${with_odbcinclude}" != x ; then
|
|
# first check to see if --with-odbcinclude was specified
|
|
list="/odbc/sql.h /ODBC/sql.h /unixodbc/sql.h /unixODBC/sql.h \
|
|
/iodbc/isql.h"
|
|
for i in $list ; do
|
|
if test -f "${with_odbcinclude}$i" ; then
|
|
ac_cv_c_odbch=`dirname ${with_odbcinclude}$i`
|
|
ac_cv_c_odbch=`(cd ${ac_cv_c_odbch}; pwd)`
|
|
break
|
|
fi
|
|
done
|
|
if test x"${ac_cv_c_odbch}" = x; then
|
|
AC_MSG_ERROR([${with_odbcinclude} directory does not contain headers])
|
|
fi
|
|
fi
|
|
|
|
dnl ===============================
|
|
dnl IODBC... I have not tested this a whole lot
|
|
dnl ===============================
|
|
dn`l Check in the source tree
|
|
for i in $dirlist; do
|
|
if test -f "${srcdir}/$i/postodbc/isql.h" ; then
|
|
ac_cv_c_odbch=`(cd ${srcdir}/$i/postodbc/; pwd)`
|
|
ODBCTYPE=iodbc
|
|
fi
|
|
done
|
|
|
|
dnl Check a few common places in the file system
|
|
if test x"${ac_cv_c_odbch}" = x ; then
|
|
for i in \
|
|
/usr/local/mysql/include \
|
|
/usr/local/include/iodbc \
|
|
/usr/local/share/iodbc \
|
|
${prefix}/include/iodbc \
|
|
/usr/local/include \
|
|
/usr/include \
|
|
${prefix}/include ; do
|
|
if test -f $i/isql.h; then
|
|
ac_cv_c_odbch=`(cd $i; pwd)`
|
|
ODBCTYPE=iodbc
|
|
fi
|
|
done
|
|
fi
|
|
|
|
dnl check if its installed with the compiler
|
|
if test x"${ac_cv_c_odbch}" = x ; then
|
|
dnl Get the path to the compiler, strip off any args in ${CC}
|
|
ccprog=`echo ${CC} | sed -e 's: .*::'`
|
|
ccpath=`which ${ccprog} | sed -e 's:/bin/.*::'`/include/iodbc
|
|
if test -f $ccpath/isql.h; then
|
|
ac_cv_c_odbch=$ccpath
|
|
ODBCTYPE=iodbc
|
|
fi
|
|
fi
|
|
|
|
dnl see if one is installed
|
|
if test x"${ac_cv_c_odbch}" = x ; then
|
|
AC_CHECK_HEADER(isql.h, ac_cv_c_odbch=installed, ac_cv_c_odbch="")
|
|
if test x"${ac_cv_c_odbch}" != x ; then
|
|
ODBCTYPE=iodbc
|
|
fi
|
|
fi
|
|
|
|
dnl ===============================
|
|
dnl unixODBC or Intersolv... I have tested this
|
|
dnl ===============================
|
|
dnl Check for unixODBC headers
|
|
if test x"${ac_cv_c_odbch}" = x ; then
|
|
for i in \
|
|
/opt/odbc/include \
|
|
/opt/ODBC/include \
|
|
${prefix}/include/odbc \
|
|
${prefix}/include/ODBC \
|
|
/opt/unixodbc/include \
|
|
/opt/unixODBC/include \
|
|
${prefix}/include/unixodbc \
|
|
${prefix}/include/unixODBC \
|
|
/usr/local/mysql/include \
|
|
/usr/local/include \
|
|
/usr/include \
|
|
${prefix}/include ; do
|
|
if test -f "$i/sql.h"; then
|
|
ac_cv_c_odbch=`(cd $i; pwd)`
|
|
ODBCTYPE=unixODBC
|
|
fi
|
|
done
|
|
fi
|
|
|
|
dnl see if one is installed
|
|
if test x"${ac_cv_c_odbch}" = x ; then
|
|
AC_CHECK_HEADER(sql.h, ac_cv_c_odbch=installed, ac_cv_c_odbch="")
|
|
if test x"${ac_cv_c_odbch}" != x ; then
|
|
ODBCTYPE=unixODBC
|
|
fi
|
|
fi
|
|
|
|
dnl Figure out whether this is unixODBC or Intersolv
|
|
if test x"${ODBCTYPE}" = xunixODBC ; then
|
|
if test -f "${ac_cv_c_odbch}/odbcver.h" ; then
|
|
ODBCTYPE=intersolv
|
|
fi
|
|
fi
|
|
|
|
ODBC_INCLUDE_DIR=""
|
|
if test x"${ac_cv_c_odbch}" = x ; then
|
|
AC_MSG_ERROR([Cannot find any ODBC headers])
|
|
else
|
|
if test x"${ODBCTYPE}" = x ; then
|
|
if test -f "${ac_cv_c_odbch}/odbcver.h" ; then
|
|
ODBCTYPE=intersolv
|
|
elif test -f "${ac_cv_c_odbch}/sql.h" ; then
|
|
ODBCTYPE=unixODBC
|
|
elif test -f "${ac_cv_c_odbch}/isql.h" ; then
|
|
ODBCTYPE=iodbc
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
AC_MSG_CHECKING([for ODBC headers files])
|
|
if test x"${ac_cv_c_odbch}" != x ; then
|
|
no_odbc=""
|
|
if test x"${ac_cv_c_odbch}" != xinstalled ; then
|
|
AC_MSG_RESULT(${ac_cv_c_odbch})
|
|
ODBC_INCLUDE_DIR="-I${ac_cv_c_odbch}"
|
|
else
|
|
AC_MSG_RESULT(none)
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(ODBC_INCLUDE_DIR)
|
|
AC_SUBST(ODBCTYPE)
|
|
])
|
|
|
|
dnl Find the ODBC library. This code may not work for certain
|
|
dnl intallations.
|
|
AC_DEFUN(AX_PATH_ODBCLIB, [
|
|
dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
|
|
no_odbc=true
|
|
ac_cv_c_odbc_libdir=""
|
|
ac_cv_c_odbc_lib=""
|
|
ODBC_LIB_NAME=""
|
|
|
|
AC_ARG_WITH(odbclibrary, [ --with-odbclibrary directory where odbc libraries are], with_odbclibrary=${withval})
|
|
|
|
dnl first check to see if --with-odbclibrary was specified
|
|
if test x"${with_odbclibrary}" != x ; then
|
|
if test -f ${with_odbclibrary} ; then
|
|
ac_cv_c_odbc_libdir=`echo ${with_odbclibrary} | sed -e 's:/libpsqlodbc.*::'`
|
|
ac_cv_c_odbc_libdir=`(cd ${ac_cv_c_odbc_libdir}; pwd)`
|
|
ac_cv_c_odbc_lib=`echo ${with_odbclibrary} | sed -e 's:.*/::'`
|
|
elif test -f ${with_odbclibrary}/libodbc.${DYNAMIC_LIB_EXTEN} ; then
|
|
ac_cv_c_odbc_libdir=`(cd ${with_odbclibrary}; pwd)`
|
|
ac_cv_c_odbc_lib='-lodbc'
|
|
elif test -f ${with_odbclibrary}/libpsqlodbc.${DYNAMIC_LIB_EXTEN} ; then
|
|
ac_cv_c_odbc_libdir=`(cd ${with_odbclibrary}; pwd)`
|
|
elif test -f ${with_odbclibrary}/iodbc/libpsqlodbc.${DYNAMIC_LIB_EXTEN} ; then
|
|
ac_cv_c_odbc_libdir=`(cd ${with_odbclibrary}/iodbc; pwd)`
|
|
ac_cv_c_odbc_lib='-llibpsqlodbc'
|
|
else
|
|
AC_MSG_ERROR([${with_odbclibrary} directory does not contain library])
|
|
fi
|
|
fi
|
|
|
|
dnl Check for multiple library names depending on the ODBC type
|
|
if test x"${ODBCTYPE}" = xiodbc ; then
|
|
liblist="libpsqlodbc libmysqlodbc librbodbc libiodbc iodbc"
|
|
libpathlist="/usr/local/lib/iodbc ${prefix}/iodbc/lib \
|
|
${prefix}/lib/iodbc /usr/local/mysql/lib /usr/local/lib /usr/lib ${prefix}/lib"
|
|
elif test x"${ODBCTYPE}" = xunixODBC ; then
|
|
liblist="libodbc"
|
|
libpathlist="/opt/unixodbc/lib /opt/unixODBC/lib /usr/include/odbc \
|
|
/usr/include/ODBC /usr/local/mysql/lib /usr/local/lib \
|
|
${prefix}/lib"
|
|
elif test x"${ODBCTYPE}" = xintersolv ; then
|
|
liblist="libodbc"
|
|
libpathlist="/opt/odbc/lib /opt/ODBC/lib /usr/include/unixodbc \
|
|
/usr/include/unixODBC /usr/local/mysql/lib /usr/local/lib \
|
|
${prefix}/lib"
|
|
else
|
|
AC_MSG_ERROR([ODBC support could not be identified.])
|
|
fi
|
|
|
|
for libname in $liblist; do
|
|
dnl Check in the build tree
|
|
for i in $dirlist; do
|
|
if test -f "$i/postodbc/${libname}.${DYNAMIC_LIB_EXTEN}" ; then
|
|
ac_cv_c_odbc_libdir=`(cd $i/postodbc/; pwd)`
|
|
break
|
|
fi
|
|
done
|
|
|
|
dnl Check a few common places in the file system
|
|
if test x"${ac_cv_c_odbc_libdir}" = x ; then
|
|
for i in $libpathlist; do
|
|
if test -f $i/${libname}.${DYNAMIC_LIB_EXTEN}; then
|
|
ac_cv_c_odbc_libdir=`(cd $i; pwd)`
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
|
|
dnl check if its installed with the compiler
|
|
if test x"${ac_cv_c_odbc_libdir}" = x ; then
|
|
dnl Get the path to the compiler, strip off any args in ${CC}
|
|
ccprog=`echo ${CC} | sed -e 's: .*::'`
|
|
ccpath=`which ${ccprog} | sed -e 's:/bin/.*::'`/lib
|
|
if test -f $ccpath/${libname}.${DYNAMIC_LIB_EXTEN}; then
|
|
ac_cv_c_odbc_libdir=$ccpath
|
|
fi
|
|
fi
|
|
|
|
dnl see if one is installed
|
|
if test x"${ac_cv_c_odbc_libdir}" = x ; then
|
|
AC_CHECK_LIB(${libname}, main)
|
|
fi
|
|
|
|
dnl do not keep searching for the other libraries, cause we found one
|
|
if test x"${ac_cv_c_odbc_libdir}" != x ; then
|
|
ac_cv_c_odbc_lib=${libname}
|
|
break
|
|
fi
|
|
done
|
|
|
|
ODBC_LIB_DIR=""
|
|
AC_MSG_CHECKING(for ODBC library files)
|
|
if test x"${ac_cv_c_odbc_libdir}" = x ; then
|
|
AC_MSG_ERROR([Cannot find an ODBC library path])
|
|
fi
|
|
if test x"${ac_cv_c_odbc_lib}" = x ; then
|
|
AC_MSG_ERROR([Cannot find an ODBC library])
|
|
fi
|
|
if test x"${ac_cv_c_odbc_libdir}" != x ; then
|
|
AC_MSG_RESULT(${ac_cv_c_odbc_libdir})
|
|
ODBC_LIB_DIR="-L${ac_cv_c_odbc_libdir}"
|
|
fi
|
|
|
|
AC_MSG_CHECKING(for ODBC library name)
|
|
ODBC_LIB=-l`echo $ac_cv_c_odbc_lib | sed -e 's:^lib::'`
|
|
AC_MSG_RESULT($ODBC_LIB)
|
|
|
|
if test x"${ODBCTYPE}" = xiodbc ; then
|
|
AC_MSG_RESULT(Using IODBC driver)
|
|
AC_DEFINE(HAVE_IODBC)
|
|
ODBC_LIB="$ODBC_LIB -liodbcinst"
|
|
fi
|
|
|
|
if test x"${ODBCTYPE}" = xunixODBC ; then
|
|
AC_MSG_RESULT(Using UnixODBC driver)
|
|
AC_DEFINE(HAVE_UNIXODBC)
|
|
AC_DEFINE(DONT_TD_VOID)
|
|
fi
|
|
|
|
if test x"${ODBCTYPE}" = xintersolv ; then
|
|
AC_MSG_RESULT(Using Intersolv driver)
|
|
AC_DEFINE(HAVE_INTERSOLV)
|
|
fi
|
|
|
|
AC_SUBST(ODBC_LIB)
|
|
AC_SUBST(ODBC_LIB_DIR)
|
|
])
|
|
|
|
|