List:Commits« Previous MessageNext Message »
From:mysqldev Date:September 8 2006 8:53pm
Subject:Connector/ODBC 3.51 commit: r78 - in trunk: . MYODBCCls/include myodbc3 myodbc3i
View as plain text  
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 myodbc3imysqldev8 Sep