aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2000-06-09 16:03:09 +0000
committerBruce Momjian <bruce@momjian.us>2000-06-09 16:03:09 +0000
commit3fe3acb844995e44ac0eba9d06dc70061e769145 (patch)
tree62b57d95736340c1ded1b7f25785d9ee47c4f951
parent85add42a570cdb4be2d674e62535eb54b4dcd5cf (diff)
downloadpostgresql-3fe3acb844995e44ac0eba9d06dc70061e769145.tar.gz
postgresql-3fe3acb844995e44ac0eba9d06dc70061e769145.zip
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
-rw-r--r--configure.in42
-rw-r--r--doc/TODO2
-rw-r--r--src/include/config.h.in5
-rw-r--r--src/interfaces/odbc/dlg_specific.c2
-rw-r--r--src/interfaces/odbc/misc.h3
5 files changed, 51 insertions, 3 deletions
diff --git a/configure.in b/configure.in
index e374870b0a3..1be4e7967f2 100644
--- a/configure.in
+++ b/configure.in
@@ -396,6 +396,48 @@ then
fi
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 --enable cassert to explicitly enable it
dnl If you do not explicitly do it, it defaults to disabled
diff --git a/doc/TODO b/doc/TODO
index 3373059270f..5c177b0498e 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -63,7 +63,7 @@ URGENT
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
* Allow elog() to return error codes, not just messages
* Allow international error message support and add error codes
diff --git a/src/include/config.h.in b/src/include/config.h.in
index 4b6e58cf8a3..0d913101904 100644
--- a/src/include/config.h.in
+++ b/src/include/config.h.in
@@ -8,7 +8,7 @@
* or in config.h afterwards. Of course, if you edit config.h, then your
* 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
@@ -305,6 +305,9 @@
* Block of parameters for the ODBC code.
*/
+/* are we building against a libodbcinst */
+#undef HAVE_SQLGETPRIVATEPROFILESTRING
+
/* Set to 1 if you have <pwd.h> */
#undef HAVE_PWD_H
diff --git a/src/interfaces/odbc/dlg_specific.c b/src/interfaces/odbc/dlg_specific.c
index a6836563812..ebe16c1c6e3 100644
--- a/src/interfaces/odbc/dlg_specific.c
+++ b/src/interfaces/odbc/dlg_specific.c
@@ -23,8 +23,10 @@
#ifndef WIN32
#include <string.h>
#include "gpps.h"
+#ifndef HAVE_SQLGETPRIVATEPROFILESTRING
#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)
+#endif
#ifndef HAVE_STRICMP
#define stricmp(s1,s2) strcasecmp(s1,s2)
#define strnicmp(s1,s2,n) strncasecmp(s1,s2,n)
diff --git a/src/interfaces/odbc/misc.h b/src/interfaces/odbc/misc.h
index ebe56ea9d80..700e951e917 100644
--- a/src/interfaces/odbc/misc.h
+++ b/src/interfaces/odbc/misc.h
@@ -15,9 +15,10 @@
#endif
#ifndef WIN32
-#include "gpps.h"
+#ifndef HAVE_SQLGETPRIVATEPROFILESTRING
#define SQLGetPrivateProfileString(a,b,c,d,e,f) GetPrivateProfileString(a,b,c,d,e,f)
#endif
+#endif
#include <stdio.h>