提交 3fe3acb8 编写于 作者: B Bruce Momjian

I have made the couple of mods required to make the odbc driver with
postgres build and use unixODBC (http://www.unixodbc.org)

This patch was applied against the postgresql-7.0beta1 build

Any problems let me know.

Nick Gorham
上级 85add42a
...@@ -396,6 +396,48 @@ then ...@@ -396,6 +396,48 @@ then
fi fi
AC_SUBST(ODBCINSTDIR) AC_SUBST(ODBCINSTDIR)
#check for unixODBC
use_unixODBC=no
AC_ARG_WITH(unixODBC,
[ --with-unixODBC[=DIR] Use unixODBC located in DIR],
[use_unixODBC=yes;unixODBC="$withval"],use_unixODBC=no)
if test "x$use_unixODBC" = "xyes"
then
# default to /usr if not specified
if test "x$unixODBC" = "x"
then
unixODBC="/usr";
fi
AC_ARG_WITH(unixODBC-includes,
[ --with-unixODBC-includes=DIR Find unixODBC headers in DIR],
unixODBC_includes="$withval",unixODBC_includes="$unixODBC/include")
AC_ARG_WITH(unixODBC-libs,
[ --with-unixODBC-libs=DIR Find unixODBC libraries in DIR],
unixODBC_libs="$withval",unixODBC_libs="$unixODBC/lib")
CPPFLAGS="$CPPFLAGS -I$unixODBC_includes"
AC_CHECK_HEADERS(sql.h sqlext.h odbcinst.h,
unixODBC_ok=yes;odbc_headers="$odbc_headers $ac_hdr",unixODBC_ok=no; break)
if test "x$unixODBC_ok" != "xyes"
then
AC_MSG_ERROR([Unable to find the unixODBC headers in $1])
fi
save_LIBS="$LIBS"
LIBS="-L$unixODBC_libs $LIBS"
AC_CHECK_LIB(odbcinst,SQLGetPrivateProfileString,
[AC_DEFINE(HAVE_SQLGETPRIVATEPROFILESTRING)
LIBS="$LIBS -lodbcinst"],
[LIBS="$save_LIBS"])
fi
dnl Unless we specify the command line options dnl Unless we specify the command line options
dnl --enable cassert to explicitly enable it dnl --enable cassert to explicitly enable it
dnl If you do not explicitly do it, it defaults to disabled dnl If you do not explicitly do it, it defaults to disabled
......
...@@ -63,7 +63,7 @@ URGENT ...@@ -63,7 +63,7 @@ URGENT
ADMIN ADMIN
* More access control over who can create tables and access the database * -More access control over who can create tables and use locks(Karal)
* Test syslog functionality * Test syslog functionality
* Allow elog() to return error codes, not just messages * Allow elog() to return error codes, not just messages
* Allow international error message support and add error codes * Allow international error message support and add error codes
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* or in config.h afterwards. Of course, if you edit config.h, then your * or in config.h afterwards. Of course, if you edit config.h, then your
* changes will be overwritten the next time you run configure. * changes will be overwritten the next time you run configure.
* *
* $Id: config.h.in,v 1.116 2000/06/04 15:06:32 petere Exp $ * $Id: config.h.in,v 1.117 2000/06/09 16:03:07 momjian Exp $
*/ */
#ifndef CONFIG_H #ifndef CONFIG_H
...@@ -305,6 +305,9 @@ ...@@ -305,6 +305,9 @@
* Block of parameters for the ODBC code. * Block of parameters for the ODBC code.
*/ */
/* are we building against a libodbcinst */
#undef HAVE_SQLGETPRIVATEPROFILESTRING
/* Set to 1 if you have <pwd.h> */ /* Set to 1 if you have <pwd.h> */
#undef HAVE_PWD_H #undef HAVE_PWD_H
......
...@@ -23,8 +23,10 @@ ...@@ -23,8 +23,10 @@
#ifndef WIN32 #ifndef WIN32
#include <string.h> #include <string.h>
#include "gpps.h" #include "gpps.h"
#ifndef HAVE_SQLGETPRIVATEPROFILESTRING
#define SQLGetPrivateProfileString(a,b,c,d,e,f) GetPrivateProfileString(a,b,c,d,e,f) #define SQLGetPrivateProfileString(a,b,c,d,e,f) GetPrivateProfileString(a,b,c,d,e,f)
#define SQLWritePrivateProfileString(a,b,c,d) WritePrivateProfileString(a,b,c,d) #define SQLWritePrivateProfileString(a,b,c,d) WritePrivateProfileString(a,b,c,d)
#endif
#ifndef HAVE_STRICMP #ifndef HAVE_STRICMP
#define stricmp(s1,s2) strcasecmp(s1,s2) #define stricmp(s1,s2) strcasecmp(s1,s2)
#define strnicmp(s1,s2,n) strncasecmp(s1,s2,n) #define strnicmp(s1,s2,n) strncasecmp(s1,s2,n)
......
...@@ -15,9 +15,10 @@ ...@@ -15,9 +15,10 @@
#endif #endif
#ifndef WIN32 #ifndef WIN32
#include "gpps.h" #ifndef HAVE_SQLGETPRIVATEPROFILESTRING
#define SQLGetPrivateProfileString(a,b,c,d,e,f) GetPrivateProfileString(a,b,c,d,e,f) #define SQLGetPrivateProfileString(a,b,c,d,e,f) GetPrivateProfileString(a,b,c,d,e,f)
#endif #endif
#endif
#include <stdio.h> #include <stdio.h>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册