summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brand <mabrand@mabrand.nl>2010-09-16 11:40:27 (GMT)
committerMark Brand <mabrand@mabrand.nl>2010-09-16 11:40:27 (GMT)
commitb2e414cd59580ae7f93ec3efa5018697dbc03212 (patch)
treee0b1487a84a08c20aa6166307e8b733eb3a4e5b2
parentbad2d806e2e6fea0088260ec4960015ef55a05de (diff)
downloadmxe-b2e414cd59580ae7f93ec3efa5018697dbc03212.zip
mxe-b2e414cd59580ae7f93ec3efa5018697dbc03212.tar.gz
mxe-b2e414cd59580ae7f93ec3efa5018697dbc03212.tar.bz2
upgrade package freetds to cvs
-rw-r--r--src/freetds-1-fastforward.patch559
1 files changed, 559 insertions, 0 deletions
diff --git a/src/freetds-1-fastforward.patch b/src/freetds-1-fastforward.patch
index 2330a81..95cadfc 100644
--- a/src/freetds-1-fastforward.patch
+++ b/src/freetds-1-fastforward.patch
@@ -154749,3 +154749,562 @@ index 7c3b12d..c6f33be 100644
token_ptr, NULL, /* ignore mech type */
&send_tok, &ret_flags, NULL); /* ignore time_rec */
+
+commit 2ca6508a8c5874a321f7b42ba6d8396a40850996
+Author: freddy77 <freddy77>
+Date: Thu Sep 16 07:44:33 2010 +0000
+
+ add documentation for "enable gssapi delegation" option
+
+diff --git a/ChangeLog b/ChangeLog
+index cae3676..ad3094a 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,7 @@
++Thu Sep 16 09:44:12 CEST 2010 Frediano Ziglio <freddy77_A_gmail_D_com>
++ * doc/userguide.sgml:
++ - add documentation for "enable gssapi delegation" option
++
+ Thu Sep 16 09:36:57 CEST 2010 Frediano Ziglio <freddy77_A_gmail_D_com>
+ * include/tds.h src/tds/config.c src/tds/gssapi.c:
+ - add delegate option for Kerberos (patch from Peter C. Norton)
+@@ -2880,4 +2884,4 @@ Wed Jan 9 19:54:43 EST 2008 JK Lowden <jklowden@freetds.org>
+ * ChangeLog-0.82 added because of release
+
+ $FreeTDS$
+-$Id: ChangeLog,v 1.3124 2010/09/16 07:37:23 freddy77 Exp $
++$Id: ChangeLog,v 1.3125 2010/09/16 07:44:33 freddy77 Exp $
+diff --git a/doc/userguide.sgml b/doc/userguide.sgml
+index 39ed977..01a6d5b 100644
+--- a/doc/userguide.sgml
++++ b/doc/userguide.sgml
+@@ -9,8 +9,8 @@
+ ]>
+ <book>
+ <bookinfo>
+- <date>$Date: 2010/02/07 21:55:49 $</date>
+- <releaseinfo>$Revision: 1.129 $</releaseinfo>
++ <date>$Date: 2010/09/16 07:44:33 $</date>
++ <releaseinfo>$Revision: 1.130 $</releaseinfo>
+ <title>&freetds; User Guide</title>
+ <subtitle>A Guide to Installing, Configuring, and Running &freetds;</subtitle>
+ <author>
+@@ -62,9 +62,9 @@ This guide is here for you, and we hope that you will be here for it, that other
+ The version you're reading is:
+ </para>
+ <simplelist type='vert'>
+-<member>$Revision: 1.129 $</>
+-<member>$Date: 2010/02/07 21:55:49 $</>
+-<member>CVS control number $Id: userguide.sgml,v 1.129 2010/02/07 21:55:49 jklowden Exp $.</>
++<member>$Revision: 1.130 $</>
++<member>$Date: 2010/09/16 07:44:33 $</>
++<member>CVS control number $Id: userguide.sgml,v 1.130 2010/09/16 07:44:33 freddy77 Exp $.</>
+ </simplelist>
+ </footnote>
+ can be found on the &freetds;
+@@ -617,7 +617,7 @@ url="http://www.madgoat.com">www.madgoat.com</ulink>).</para>
+ </sect3>
+ </sect2>
+ <sect2 id="osx"><title>OS X&reg;</title>
+- <para>As of this writing ($Date: 2010/02/07 21:55:49 $), the regular distribution compiles on OS X. Releases prior to 0.63 either did not compile or required patching. </para>
++ <para>As of this writing ($Date: 2010/09/16 07:44:33 $), the regular distribution compiles on OS X. Releases prior to 0.63 either did not compile or required patching. </para>
+
+ <sect3 id="OSX.Build.Update">
+ <title>Alternative build procedure</title>
+@@ -1043,6 +1043,12 @@ As of 0.62 FreeTDS uses iconv to convert all character data, so there's no need
+ <entry>off</entry>
+ <entry>Specify if encryption is desidered. Supported for Microsoft servers. <symbol>off</> disables encryption (only if needed); <symbol>request</> means use if available; <symbol>required</> means create and allow encrypted connections only.</entry>
+ </row>
++ <row>
++ <entry>enable gssapi delegation</entry>
++ <entry>on/off</entry>
++ <entry>off</entry>
++ <entry>Enable delegation flag using Kerberos.</entry>
++ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+commit c8c8c374592dcd99334ce0c5d99a0ce3250ab27e
+Author: freddy77 <freddy77>
+Date: Thu Sep 16 08:15:06 2010 +0000
+
+ remove depracate file
+
+diff --git a/win32/FreeTDSW.def b/win32/FreeTDSW.def
+deleted file mode 100644
+index 43bca48..0000000
+--- a/win32/FreeTDSW.def
++++ /dev/null
+@@ -1,114 +0,0 @@
+-EXPORTS
+- SQLAllocConnect
+- SQLAllocEnv
+- SQLAllocHandle
+- SQLAllocStmt
+- SQLBindCol
+- SQLBindParam
+- SQLBindParameter
+-; SQLBrowseConnect
+- SQLCancel
+- SQLCloseCursor
+- SQLColAttribute
+- SQLColAttributes
+- SQLColumnPrivileges
+- SQLColumns
+- SQLConnect
+- SQLCopyDesc
+- SQLDescribeCol
+-; SQLDescribeParam
+- SQLDisconnect
+- SQLDriverConnect
+- SQLEndTran
+- SQLError
+- SQLExecDirect
+- SQLExecute
+- SQLExtendedFetch
+- SQLFetch
+- SQLFetchScroll
+- SQLForeignKeys
+- SQLFreeConnect
+- SQLFreeEnv
+- SQLFreeHandle
+- SQLFreeStmt
+- SQLGetConnectAttr
+- SQLGetConnectOption
+- SQLGetCursorName
+- SQLGetData
+- SQLGetDescField
+- SQLGetDescRec
+- SQLGetDiagField
+- SQLGetDiagRec
+- SQLGetEnvAttr
+- SQLGetFunctions
+- SQLGetInfo
+- SQLGetStmtAttr
+- SQLGetStmtOption
+- SQLGetTypeInfo
+- SQLMoreResults
+- SQLNativeSql
+- SQLNumParams
+- SQLNumResultCols
+- SQLParamData
+- SQLParamOptions
+- SQLPrepare
+- SQLPrimaryKeys
+- SQLProcedureColumns
+- SQLProcedures
+- SQLPutData
+- SQLRowCount
+- SQLSetConnectAttr
+- SQLSetConnectOption
+- SQLSetCursorName
+- SQLSetDescField
+- SQLSetDescRec
+- SQLSetEnvAttr
+- SQLSetParam
+- SQLSetPos
+- SQLSetScrollOptions
+- SQLSetStmtAttr
+- SQLSetStmtOption
+- SQLSpecialColumns
+- SQLStatistics
+- SQLTablePrivileges
+- SQLTables
+- SQLTransact
+- ConfigDSN
+- ConfigDriver
+- ConfigTranslator
+- DllRegisterServer
+- DllUnregisterServer
+- SQLColAttributeW
+- SQLColumnPrivilegesW
+- SQLColumnsW
+- SQLConnectW
+- SQLDescribeColW
+- SQLDriverConnectW
+- SQLErrorW
+- SQLExecDirectW
+- SQLForeignKeysW
+- SQLGetConnectAttrW
+- SQLGetConnectOptionW
+- SQLGetCursorNameW
+- SQLGetDescFieldW
+- SQLGetDescRecW
+- SQLGetDiagFieldW
+- SQLGetDiagRecW
+- SQLGetInfoW
+- SQLGetTypeInfoW = SQLGetTypeInfo
+- SQLGetStmtAttrW
+- SQLNativeSqlW
+- SQLPrepareW
+- SQLPrimaryKeysW
+- SQLProcedureColumnsW
+- SQLProceduresW
+- SQLSetConnectAttrW
+- SQLSetConnectOptionW
+- SQLSetCursorNameW
+- SQLSetDescFieldW
+- SQLSetStmtAttrW
+- SQLSpecialColumnsW
+- SQLStatisticsW
+- SQLTablePrivilegesW
+- SQLTablesW
+-
+
+commit 5039f55c14a47535aa5007d59dee203f7b0db1ca
+Author: freddy77 <freddy77>
+Date: Thu Sep 16 11:10:01 2010 +0000
+
+ add project and definition file for dblib dll (patch from LacaK)
+
+diff --git a/ChangeLog b/ChangeLog
+index ad3094a..cab0a7f 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,8 @@
++Thu Sep 16 13:09:29 CEST 2010 Frediano Ziglio <freddy77_A_gmail_D_com>
++ * win32/Makefile.am win32/dblib.def win32/msvc6/FreeTDS.dsw:
++ * win32/msvc6/Makefile.am win32/msvc6/dblib_dll.dsp:
++ - add project and definition file for dblib dll (patch from LacaK)
++
+ Thu Sep 16 09:44:12 CEST 2010 Frediano Ziglio <freddy77_A_gmail_D_com>
+ * doc/userguide.sgml:
+ - add documentation for "enable gssapi delegation" option
+@@ -2884,4 +2889,4 @@ Wed Jan 9 19:54:43 EST 2008 JK Lowden <jklowden@freetds.org>
+ * ChangeLog-0.82 added because of release
+
+ $FreeTDS$
+-$Id: ChangeLog,v 1.3125 2010/09/16 07:44:33 freddy77 Exp $
++$Id: ChangeLog,v 1.3126 2010/09/16 11:10:01 freddy77 Exp $
+diff --git a/win32/Makefile.am b/win32/Makefile.am
+index 3febb6c..4c57bb7 100644
+--- a/win32/Makefile.am
++++ b/win32/Makefile.am
+@@ -5,7 +5,8 @@ EXTRA_DIST = config.h FreeTDS.def FreeTDS_w.def initnet.c \
+ setup.rc resource.h \
+ version.rc version.rc.in \
+ freetds.nsh freetds.nsh.in \
+- installfreetds.bat freetds.nsi
++ installfreetds.bat freetds.nsi \
++ dblib.def
+
+ CLEANFILES = setup.res
+
+diff --git a/win32/dblib.def b/win32/dblib.def
+new file mode 100644
+index 0000000..a06feac
+--- /dev/null
++++ b/win32/dblib.def
+@@ -0,0 +1,74 @@
++EXPORTS
++ dbbind
++ dbcancel
++ dbcanquery
++ dbclose
++ dbclrbuf
++ dbcmd
++ dbcmdrow
++ dbtablecolinfo
++ dbcolinfo
++ dbcollen
++ dbcolname
++ dbcolsource
++ dbcoltype
++ dbcoltypeinfo
++ dbcolutype
++ dbconvert
++ dbcount
++ dbcurcmd
++ dbcurrow
++ dbdata
++ dbdatecmp
++ dbdatecrack
++ dbdatlen
++ dbdead
++ dberrhandle
++ dbexit
++ dbfcmd
++ dbfirstrow
++ dbfreebuf
++ dbinit
++ dbisavail
++ dbiscount
++ dbisopt
++ dblastrow
++ dblogin
++ dbloginfree
++ dbmorecmds
++ dbmoretext
++ dbmsghandle
++ dbname
++ dbnextrow
++ dbnullbind
++ dbnumalts
++ dbnumcols
++ dbnumcompute
++ dbnumrets
++ tdsdbopen
++ dbopen
++ dbprtype
++ dbresults
++ dbrows
++ dbrowtype
++
++ dbsetlname
++ dbsetlversion
++ dbsetlogintime
++ dbsetopt
++ dbsetrow
++ dbsettime
++ dbsetuserdata
++ dbsetversion
++ dbservcharset
++
++ dbsqlexec
++ dbsqlok
++ dbsqlsend
++
++ dbstrlen
++ dbtds
++ dbvarylen
++
++ dbuse
++ dbwillconvert
+diff --git a/win32/msvc6/FreeTDS.dsw b/win32/msvc6/FreeTDS.dsw
+index db86aef..c72be60 100644
+--- a/win32/msvc6/FreeTDS.dsw
++++ b/win32/msvc6/FreeTDS.dsw
+@@ -33,6 +33,21 @@ Package=<4>
+
+ ###############################################################################
+
++Project: "dblib_dll"=".\dblib_dll.dsp" - Package Owner=<4>
++
++Package=<5>
++{{{
++}}}
++
++Package=<4>
++{{{
++ Begin Project Dependency
++ Project_Dep_Name libTDS
++ End Project Dependency
++}}}
++
++###############################################################################
++
+ Project: "libTDS"=".\libTDS.dsp" - Package Owner=<4>
+
+ Package=<5>
+diff --git a/win32/msvc6/Makefile.am b/win32/msvc6/Makefile.am
+index 39aefda..cd94d30 100644
+--- a/win32/msvc6/Makefile.am
++++ b/win32/msvc6/Makefile.am
+@@ -1,3 +1,3 @@
+ EXTRA_DIST = FreeTDS.dsp FreeTDS.dsw iconv_replacement.c \
+- libTDS.dsp dblib.dsp libct.dsp
++ libTDS.dsp dblib.dsp dblib_dll.dsp libct.dsp
+
+diff --git a/win32/msvc6/dblib_dll.dsp b/win32/msvc6/dblib_dll.dsp
+new file mode 100644
+index 0000000..d1801f3
+--- /dev/null
++++ b/win32/msvc6/dblib_dll.dsp
+@@ -0,0 +1,128 @@
++# Microsoft Developer Studio Project File - Name="dblib_dll" - Package Owner=<4>
++# Microsoft Developer Studio Generated Build File, Format Version 6.00
++# ** DO NOT EDIT **
++
++# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
++
++CFG=dblib_dll - Win32 Release
++!MESSAGE This is not a valid makefile. To build this project using NMAKE,
++!MESSAGE use the Export Makefile command and run
++!MESSAGE
++!MESSAGE NMAKE /f "dblib.mak".
++!MESSAGE
++!MESSAGE You can specify a configuration when running NMAKE
++!MESSAGE by defining the macro CFG on the command line. For example:
++!MESSAGE
++!MESSAGE NMAKE /f "dblib.mak" CFG="dblib_dll - Win32 Release"
++!MESSAGE
++!MESSAGE Possible choices for configuration are:
++!MESSAGE
++!MESSAGE "dblib_dll - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
++!MESSAGE "dblib_dll - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
++!MESSAGE
++
++# Begin Project
++# PROP AllowPerConfigDependencies 0
++# PROP Scc_ProjName ""
++# PROP Scc_LocalPath ""
++CPP=cl.exe
++RSC=rc.exe
++
++!IF "$(CFG)" == "dblib_dll - Win32 Release"
++
++# PROP BASE Use_MFC 0
++# PROP BASE Use_Debug_Libraries 0
++# PROP BASE Output_Dir "dbdll_Release"
++# PROP BASE Intermediate_Dir "dbdll_Release"
++# PROP BASE Target_Dir ""
++# PROP Use_MFC 0
++# PROP Use_Debug_Libraries 0
++# PROP Output_Dir "dbdll_Release"
++# PROP Intermediate_Dir "dbdll_Release"
++# PROP Target_Dir ""
++# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
++# ADD CPP /nologo /MD /W3 /GX /O2 /I ".." /I "../../include" /I "../../src" /D "HAVE_CONFIG_H" /D "UNIXODBC" /D "_FREETDS_LIBRARY_SOURCE" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FREETDS_EXPORTS" /D "HAVE_SQLGETPRIVATEPROFILESTRING" /FR /YX /FD /c
++# ADD BASE RSC /l 0x409 /d "NDEBUG"
++# ADD RSC /l 0x409 /d "NDEBUG"
++BSC32=bscmake.exe
++# ADD BASE BSC32 /nologo
++# ADD BSC32 /nologo
++LINK32=link.exe
++# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib /nologo /dll /machine:I386
++# ADD LINK32 ws2_32.lib /nologo /dll /machine:I386
++
++!ELSEIF "$(CFG)" == "dblib_dll - Win32 Debug"
++
++# PROP BASE Use_MFC 0
++# PROP BASE Use_Debug_Libraries 1
++# PROP BASE Output_Dir "dbdll_Debug"
++# PROP BASE Intermediate_Dir "dbdll_Debug"
++# PROP BASE Target_Dir ""
++# PROP Use_MFC 0
++# PROP Use_Debug_Libraries 1
++# PROP Output_Dir "dbdll_Debug"
++# PROP Intermediate_Dir "dbdll_Debug"
++# PROP Target_Dir ""
++# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
++# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I ".." /I "../../include" /D "HAVE_CONFIG_H" /D "UNIXODBC" /D "_FREETDS_LIBRARY_SOURCE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FREETDS_EXPORTS" /D "HAVE_SQLGETPRIVATEPROFILESTRING" /FR /YX /FD /GZ /c
++# ADD BASE RSC /l 0x409 /d "_DEBUG"
++# ADD RSC /l 0x409 /d "_DEBUG"
++BSC32=bscmake.exe
++# ADD BASE BSC32 /nologo
++# ADD BSC32 /nologo
++LINK32=link.exe
++# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib /nologo /dll /machine:I386
++# ADD LINK32 ws2_32.lib /nologo /dll /machine:I386
++
++!ENDIF
++
++# Begin Target
++
++# Name "dblib_dll - Win32 Release"
++# Name "dblib_dll - Win32 Debug"
++# Begin Group "Source Files"
++
++# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
++# Begin Source File
++
++SOURCE=..\..\src\dblib\dblib.c
++# End Source File
++# Begin Source File
++
++SOURCE=..\..\src\dblib\dbopen.c
++# End Source File
++# Begin Source File
++
++SOURCE=..\..\src\dblib\dbutil.c
++# End Source File
++# Begin Source File
++
++SOURCE=..\..\src\dblib\rpc.c
++# End Source File
++# End Group
++# Begin Group "Header Files"
++
++# PROP Default_Filter "h;hpp;hxx;hm;inl"
++# Begin Source File
++
++SOURCE=..\..\src\dblib\error_table.h
++# End Source File
++# Begin Source File
++
++SOURCE=..\..\include\sybdb.h
++# End Source File
++# Begin Source File
++
++SOURCE=..\..\include\syberror.h
++# End Source File
++# Begin Source File
++
++SOURCE=..\..\include\sybfront.h
++# End Source File
++# Begin Source File
++
++SOURCE=..\dblib.def
++# End Source File
++# End Group
++# End Target
++# End Project
+
+commit 77e7c6e9f3bbfe0689e0f9ef584e51404e8aacfe
+Author: freddy77 <freddy77>
+Date: Thu Sep 16 11:12:08 2010 +0000
+
+ init mutex fixes
+
+diff --git a/ChangeLog b/ChangeLog
+index cab0a7f..512adb0 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,6 @@
++Thu Sep 16 13:11:46 CEST 2010 Frediano Ziglio <freddy77_A_gmail_D_com>
++ * include/tdsthread.h: init mutex fixes
++
+ Thu Sep 16 13:09:29 CEST 2010 Frediano Ziglio <freddy77_A_gmail_D_com>
+ * win32/Makefile.am win32/dblib.def win32/msvc6/FreeTDS.dsw:
+ * win32/msvc6/Makefile.am win32/msvc6/dblib_dll.dsp:
+@@ -2889,4 +2892,4 @@ Wed Jan 9 19:54:43 EST 2008 JK Lowden <jklowden@freetds.org>
+ * ChangeLog-0.82 added because of release
+
+ $FreeTDS$
+-$Id: ChangeLog,v 1.3126 2010/09/16 11:10:01 freddy77 Exp $
++$Id: ChangeLog,v 1.3127 2010/09/16 11:12:08 freddy77 Exp $
+diff --git a/include/tdsthread.h b/include/tdsthread.h
+index 9b24677..bc3b903 100644
+--- a/include/tdsthread.h
++++ b/include/tdsthread.h
+@@ -22,7 +22,7 @@
+ #ifndef TDSTHREAD_H
+ #define TDSTHREAD_H 1
+
+-/* $Id: tdsthread.h,v 1.8 2010/07/31 11:20:35 freddy77 Exp $ */
++/* $Id: tdsthread.h,v 1.9 2010/09/16 11:12:08 freddy77 Exp $ */
+
+ #undef TDS_HAVE_MUTEX
+
+@@ -34,7 +34,7 @@
+ #define TDS_MUTEX_LOCK(mtx) pthread_mutex_lock(mtx)
+ #define TDS_MUTEX_UNLOCK(mtx) pthread_mutex_unlock(mtx)
+ #define TDS_MUTEX_DECLARE(name) pthread_mutex_t name
+-#define TDS_MUTEX_INIT(mtx) do { *(mtx) = PTHREAD_MUTEX_INITIALIZER; } while(0)
++#define TDS_MUTEX_INIT(mtx) pthread_mutex_init(mtx, NULL)
+ #define TDS_MUTEX_FREE(mtx) pthread_mutex_destroy(mtx)
+
+ #define TDS_HAVE_MUTEX 1
+@@ -50,6 +50,12 @@ typedef struct tds_win_mutex_t_ {
+ } tds_win_mutex_t;
+
+ void tds_win_mutex_lock(tds_win_mutex_t *mutex);
++static inline int tds_win_mutex_init(tds_win_mutex_t *mtx)
++{
++ mtx->lock = NULL;
++ mtx->done = 0;
++ return 0;
++}
+ /* void tds_win_mutex_unlock(tds_win_mutex_t *mutex); */
+
+ #define TDS_MUTEX_DEFINE(name) tds_win_mutex_t name = { NULL, 0 }
+@@ -57,7 +63,7 @@ void tds_win_mutex_lock(tds_win_mutex_t *mutex);
+ do { if ((mtx)->done) EnterCriticalSection(&(mtx)->crit); else tds_win_mutex_lock(mtx); } while(0)
+ #define TDS_MUTEX_UNLOCK(mtx) LeaveCriticalSection(&(mtx)->crit)
+ #define TDS_MUTEX_DECLARE(name) tds_win_mutex_t name
+-#define TDS_MUTEX_INIT(mtx) do { (mtx)->lock = NULL; (mtx)->done = 0; } while(0)
++#define TDS_MUTEX_INIT(mtx) tds_win_mutex_init(mtx)
+ #define TDS_MUTEX_FREE(mtx) do { if ((mtx)->done) { DeleteCriticalSection(&(mtx)->crit); (mtx)->done = 0; } } while(0)
+
+ #define TDS_HAVE_MUTEX 1