Modified:
trunk/MYODBCCls/include/MYODBCObject.h
trunk/MYODBC_ODBC.h
trunk/acinclude.m4
trunk/configure.in
trunk/myodbc3/Makefile.am
trunk/myodbc3/connect.c
trunk/myodbc3i/Makefile.am
trunk/myodbc3i/myodbc3i.c
Log:
- Set USE_UNIXODBC/USE_IODBC from configure, don't use Q_WS_MACX.
- Added includes of "iodbcinst.h", conditionally if USE_IODBC.
- Build both threaded and non threaded library in same build.
- Put back --enable-threads option enabled by defaul, if disabled
will not build separate thread safe "libmyodbc_r" library.
- Added "--with-ltdl-path=DIR" flag, and pick up the "libltdl.la"
file if it exists, to let libtool handle its dependency.
- When searching for "isql" executable, use "--with-unixODBC[=DIR]"
directory argument if given.
- Put -L<path> flags info LDFLAGS, not LIBS.
Modified: trunk/MYODBCCls/include/MYODBCObject.h
===================================================================
--- trunk/MYODBCCls/include/MYODBCObject.h 2006-09-08 18:12:10 UTC (rev 77)
+++ trunk/MYODBCCls/include/MYODBCObject.h 2006-09-08 20:53:23 UTC (rev 78)
@@ -31,7 +31,7 @@
#include <sqlext.h>
-#ifdef Q_WS_MACX
+#ifdef USE_IODBC
#include <iodbcinst.h>
#else
#include <odbcinst.h>
Modified: trunk/MYODBC_ODBC.h
===================================================================
--- trunk/MYODBC_ODBC.h 2006-09-08 18:12:10 UTC (rev 77)
+++ trunk/MYODBC_ODBC.h 2006-09-08 20:53:23 UTC (rev 78)
@@ -7,7 +7,11 @@
#include <ltdl.h>
#include <sql.h>
#include <sqlext.h>
- #include <odbcinst.h>
+ #ifdef USE_IODBC
+ #include <iodbcinst.h>
+ #else
+ #include <odbcinst.h>
+ #endif
#ifndef SYSTEM_ODBC_INI
#define BOTH_ODBC_INI ODBC_BOTH_DSN
Modified: trunk/acinclude.m4
===================================================================
--- trunk/acinclude.m4 2006-09-08 18:12:10 UTC (rev 77)
+++ trunk/acinclude.m4 2006-09-08 20:53:23 UTC (rev 78)
@@ -113,18 +113,21 @@
odbc_headers="$odbc_headers iodbcinst.h"
save_LIBS="$LIBS"
- LIBS="-L$2 $LIBS"
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="-L$2 $LDFLAGS"
AC_CHECK_LIB(iodbcadm,_iodbcdm_admin_dialbox,
[LIBS="$LIBS -liodbcadm"
have_iodbcadm=yes],
- [LIBS="$save_LIBS"])
+ [LIBS="$save_LIBS"
+ LDFLAGS="$save_LDFLAGS"])
AC_CHECK_LIB(iodbcinst,SQLGetPrivateProfileString,
[AC_DEFINE(HAVE_SQLGETPRIVATEPROFILESTRING,1,[Define if SQLGetPrivateProfileString is
defined])
LIBS="$LIBS -liodbcinst"
have_iodbcinst=yes],
- [LIBS="$save_LIBS"])
+ [LIBS="$save_LIBS"
+ LDFLAGS="$save_LDFLAGS"])
fi
])
@@ -168,13 +171,15 @@
odbc_headers="$odbc_headers odbcinst.h"
save_LIBS="$LIBS"
- LIBS="-L$2 $LIBS"
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="-L$2 $LDFLAGS"
AC_CHECK_LIB(odbcinst,SQLGetPrivateProfileString,
[AC_DEFINE(HAVE_SQLGETPRIVATEPROFILESTRING,1,[Define if SQLGetPrivateProfileString is
defined])
LIBS="$LIBS -lodbcinst"
have_odbcinst=yes],
- [LIBS="$save_LIBS"])
+ [LIBS="$save_LIBS"
+ LDFLAGS="$save_LDFLAGS"])
fi
])
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2006-09-08 18:12:10 UTC (rev 77)
+++ trunk/configure.in 2006-09-08 20:53:23 UTC (rev 78)
@@ -140,32 +140,40 @@
# THREADED
#
###################################################################
-# AC_MSG_CHECKING([if building of thread safe library is enabled])
-# AC_ARG_ENABLE( threads,
-# [AC_HELP_STRING([--enable-threads],[Build with thread support [default=yes]])],
-# [ case "${enableval}" in
-# yes) thread=true ;;
-# no) thread=false ;;
-# *) AC_MSG_ERROR(bad value ${enableval} for --enable-threads) ;;
-# esac],[thread=true])
+AC_ARG_ENABLE(threads,
+ [AC_HELP_STRING(
+ [--enable-threads],
+ [Build separate thread safe driver [default=yes]])],
+ [ gotthread=$enableval ],
+ [ gotthread=yes ])
-# AC_MSG_RESULT([$thread])
+AM_CONDITIONAL(SEPARATE_THREAD_SAFE_DRIVER, test "x$gotthread" != "xno")
-# pass it along to qt.m4
-# if test "x$thread" = "xtrue"; then
- gotthread="yes";
-# else
-# gotthread="no";
-# fi
-
###################################################################
#
# LTDL
#
###################################################################
-AC_CHECK_LIB(ltdl, lt_dlinit, [0], [AC_MSG_WARN([libltdl not installed])])
-LDFLAGS="$LDFLAGS -lltdl"
+# FIXME don't set LDFLAGS, add -Lpath when linking
+# FIXME handle 64 bit if other than "lib" directory
+AC_ARG_WITH(ltdl-path,
+[AC_HELP_STRING([--with-ltdl-path=DIR],
+ [Where libtool "libltdl" and "ltdl.h" are installed])],
+[
+ CPPFLAGS="$CPPFLAGS -I$withval/include"
+ LDFLAGS="$LDFLAGS -L$withval/lib"
+ # We prefer the libtool .la file that define dependencies
+ if test -f "$withval/lib/libltdl.la" ; then
+ LTDL_LIB="$withval/lib/libltdl.la"
+ else
+ LTDL_LIB="-L$withval/lib -lltdl"
+ fi
+], [])
+AC_SUBST(LTDL_LIB)
+dnl AC_CHECK_LIB(ltdl, lt_dlinit, [],
+dnl [ AC_MSG_ERROR([Could not use libtool "libltdl" library, please check config.log for
errors])])
+
###################################################################
#
# X
@@ -551,13 +559,13 @@
SAVE_LIBS=$LIBS
LIBS="$LIBS $MYSQL_LIB"
AC_CHECK_FUNC(mysql_real_query,[],
-[ AC_MSG_ERROR([Could not find compile MySQL single user test program. Please check
config.log for errors]) ])
+[ AC_MSG_ERROR([Could not use the single thread MySQL client library, please check
config.log for errors]) ])
-if test "x$gotthread" = "xyes"
+if test "x$gotthread" != "xno"
then
LIBS="$LIBS $MYSQL_THREADSAFE_LIB"
AC_CHECK_FUNC(mysql_real_query,[],
- [ AC_MSG_ERROR([Could not find compile MySQL single user test program. Please check
config.log for errors]) ])
+ [ AC_MSG_ERROR([Could not use the thread safe MySQL client library, please check
config.log for errors]) ])
fi
LIBS=$SAVE_LIBS
@@ -573,11 +581,13 @@
use_iODBC=no
AC_ARG_WITH(iODBC,
[ --with-iODBC[=DIR] Use iODBC located in DIR],
-[use_iODBC=yes;iODBC="$withval"],use_iODBC=no)
+[use_iODBC=yes;iODBC="$withval"],use_iODBC="")
if test "x$use_iODBC" = "xyes"
then
+AC_DEFINE([USE_IODBC], [1], [use iODBC])
+
myodbc_link_dmlib="-liodbc"
AC_ARG_WITH(iodbc-includes,
@@ -641,11 +651,20 @@
AC_ARG_WITH(unixODBC,
[ --with-unixODBC[=DIR] Use unixODBC located in DIR],
-unixODBC="$withval",unixODBC="/usr/local/")
+[ unixODBC="$withval" ],
+[ unixODBC="" ])
+AC_DEFINE([USE_UNIXODBC], [1], [use iODBC])
+
+# Default to /usr if not specified
+if test "x$unixODBC" = "x"
+then
+ unixODBC="/usr";
+fi
+
myodbc_link_dmlib="-lodbc"
# add unixodbc version
-AC_PATH_PROG(isql,isql,no)
+AC_PATH_PROG(isql,isql,no,["$unixODBC/bin:$PATH"])
if test "$isql" != "no"
then
unixodbc_version=`$isql --version`
@@ -655,12 +674,6 @@
AC_MSG_CHECKING([for unixODBC version])
AC_MSG_RESULT([$unixodbc_version])
-# Default to /usr if not specified
-if test "x$unixODBC" = "x"
-then
- unixODBC="/usr";
-fi
-
# if gcc 3.x used, and system search paths specified for
# unixodbc / iodbc, then overcome the gcc error by specifying
# -isystem
Modified: trunk/myodbc3/Makefile.am
===================================================================
--- trunk/myodbc3/Makefile.am 2006-09-08 18:12:10 UTC (rev 77)
+++ trunk/myodbc3/Makefile.am 2006-09-08 20:53:23 UTC (rev 78)
@@ -29,7 +29,11 @@
##########################################################################
AUTOMAKE_OPTIONS=foreign
+if SEPARATE_THREAD_SAFE_DRIVER
+lib_LTLIBRARIES=libmyodbc3.la libmyodbc3_r.la
+else
lib_LTLIBRARIES=libmyodbc3.la
+endif
###################################################################
# #
@@ -54,22 +58,31 @@
utility.c \
myodbc3.h
+libmyodbc3_r_la_SOURCES=$(libmyodbc3_la_SOURCES)
+
###################################################################
# #
# Linker options #
# #
###################################################################
if ENABLE_BUNDLES
- libmyodbc3_la_LDFLAGS = \
- -release @myodbc_version@ \
- -module
+libmyodbc3_la_LDFLAGS = -release @myodbc_version@ -module
+libmyodbc3_r_la_LDFLAGS = -release @myodbc_version@ -module
else
- libmyodbc3_la_LDFLAGS = -release @myodbc_version@
+libmyodbc3_la_LDFLAGS = -release @myodbc_version@
+libmyodbc3_r_la_LDFLAGS = -release @myodbc_version@
endif
-libmyodbc3_la_LIBADD=@MYSQL_LIB@ ../myodbc3u/libmyodbc3u.la
../MYODBCDbg/MYODBCDbgLib/libMYODBCDbg.la
-libmyodbc3_la_DEPENDENCIES = ../myodbc3u/libmyodbc3u.la
../MYODBCDbg/MYODBCDbgLib/libMYODBCDbg.la
+LTLIBS_DEPS=\
+ ../myodbc3u/libmyodbc3u.la \
+ ../MYODBCDbg/MYODBCDbgLib/libMYODBCDbg.la
+libmyodbc3_la_LIBADD = $(LTLIBS_DEPS) @LTDL_LIB@ @MYSQL_LIB@
+libmyodbc3_la_DEPENDENCIES = $(LTLIBS_DEPS)
+
+libmyodbc3_r_la_LIBADD = $(LTLIBS_DEPS) @LTDL_LIB@ @MYSQL_THREADSAFE_LIB@
+libmyodbc3_r_la_DEPENDENCIES = $(LTLIBS_DEPS)
+
LDFLAGS=@EXTRA_LDFLAGS@
EXTRA_DIST = error.h \
Modified: trunk/myodbc3/connect.c
===================================================================
--- trunk/myodbc3/connect.c 2006-09-08 18:12:10 UTC (rev 77)
+++ trunk/myodbc3/connect.c 2006-09-08 20:53:23 UTC (rev 78)
@@ -41,7 +41,11 @@
#include "myodbc3.h"
#ifndef _UNIX_
- #include <odbcinst.h>
+ #ifdef USE_IODBC
+ #include <iodbcinst.h>
+ #else
+ #include <odbcinst.h>
+ #endif
#endif
#include "../myodbc3u/MYODBCUtil.h"
Modified: trunk/myodbc3i/Makefile.am
===================================================================
--- trunk/myodbc3i/Makefile.am 2006-09-08 18:12:10 UTC (rev 77)
+++ trunk/myodbc3i/Makefile.am 2006-09-08 20:53:23 UTC (rev 78)
@@ -20,7 +20,7 @@
bin_PROGRAMS = myodbc3i
myodbc3i_SOURCES = myodbc3i.c
-myodbc3i_LDADD=@LIBS@ ../myodbc3u/libmyodbc3u.la
+myodbc3i_LDADD = ../myodbc3u/libmyodbc3u.la @LTDL_LIB@
myodbc3i_DEPENDENCIES = ../myodbc3u/libmyodbc3u.la
# LDFLAGS=@EXTRA_LDFLAGS@
Modified: trunk/myodbc3i/myodbc3i.c
===================================================================
--- trunk/myodbc3i/myodbc3i.c 2006-09-08 18:12:10 UTC (rev 77)
+++ trunk/myodbc3i/myodbc3i.c 2006-09-08 20:53:23 UTC (rev 78)
@@ -52,10 +52,13 @@
#include <ltdl.h>
#endif
-#include <odbcinst.h>
-
#include "../myodbc3u/MYODBCUtil.h"
+#ifdef USE_IODBC
+#include <iodbcinst.h>
+#else
+#include <odbcinst.h>
+#endif
/*! Our syntax. This is likely to expand over time. */
char *szSyntax =
| Thread |
|---|
| • Connector/ODBC 3.51 commit: r78 - in trunk: . MYODBCCls/include myodbc3 myodbc3i | mysqldev | 8 Sep |