aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in172
-rw-r--r--src/interfaces/odbc/GNUmakefile.in5
-rw-r--r--src/interfaces/odbc/dlg_specific.c2
-rw-r--r--src/interfaces/odbc/misc.h3
4 files changed, 146 insertions, 36 deletions
diff --git a/configure.in b/configure.in
index 56959c2c07c..71a84bb9421 100644
--- a/configure.in
+++ b/configure.in
@@ -409,6 +409,23 @@ AC_ARG_WITH(
)
export USE_ODBC
+dnl check if we want to use unixODBC to provide access to the odbc.ini
+dnl files
+
+use_unixODBC=no
+AC_MSG_CHECKING(setting USE_UNIXODBC)
+AC_ARG_WITH(
+ unixODBC,
+ [ --with-unixODBC[=DIR] Use unixODBC located in DIR],
+ [
+ use_unixODBC=yes;
+ unixODBC="$withval";
+ USE_ODBC=true;
+ AC_MSG_RESULT(enabled);
+ ],
+ [ USE_ODBC=false; use_unixODBC=no; AC_MSG_RESULT(disabled) ]
+)
+export USE_ODBC
dnl Allow for overriding the default location of the odbcinst.ini
dnl file which is normally ${prefix}/share or ${prefix} if this is
@@ -436,53 +453,145 @@ 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)
+#check for unixODBC libs
if test "x$use_unixODBC" = "xyes"
then
-# default to /usr if not specified
-if test "x$unixODBC" = "x"
-then
- unixODBC="/usr";
+ # default to /usr/local if not specified
+ if test "x$unixODBC" = "x"
+ then
+ unixODBC="/usr/local";
+ fi
+
+ unixODBC_libs="$unixODBC/lib"
+ unixODBC_includes="$unixODBC/include"
+
+ 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 )
+
+ 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)
+ SHLIB_ODBC="$LDFLAGS_ODBC -L$unixODBC_libs -lodbcinst" ],
+ [LIBS="$save_LIBS"] )
fi
+export SHLIB_ODBC
-AC_ARG_WITH(unixODBC-includes,
- [ --with-unixODBC-includes=DIR Find unixODBC headers in DIR],
- unixODBC_includes="$withval",
- unixODBC_includes="$unixODBC/include")
+#check for unixODBC libs
-AC_ARG_WITH(unixODBC-libs,
- [ --with-unixODBC-libs=DIR Find unixODBC libraries in DIR],
- unixODBC_libs="$withval",
- unixODBC_libs="$unixODBC/lib")
+if test "x$use_unixODBC" = "xyes"
+then
-PGSQL_INCLUDES="$PGSQL_INCLUDES -I$unixODBC_includes"
+ # default to /usr/local if not specified
+ if test "x$unixODBC" = "x"
+ then
+ unixODBC="/usr/local";
+ fi
+
+ unixODBC_libs="$unixODBC/lib"
+ unixODBC_includes="$unixODBC/include"
+
+ 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 )
+
+ 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)
+ SHLIB_ODBC="$LDFLAGS_ODBC -L$unixODBC_libs -lodbcinst" ],
+ [LIBS="$save_LIBS"] )
+fi
+export SHLIB_ODBC
-AC_CHECK_HEADERS(sql.h sqlext.h odbcinst.h,
- [unixODBC_ok=yes; odbc_headers="$odbc_headers $ac_hdr"],
- [unixODBC_ok=no; break])
+#check for unixODBC libs
-if test "x$unixODBC_ok" != "xyes"
+if test "x$use_unixODBC" = "xyes"
then
- AC_MSG_ERROR([Unable to find the unixODBC headers in $1])
+
+ # default to /usr/local if not specified
+ if test "x$unixODBC" = "x"
+ then
+ unixODBC="/usr/local";
+ fi
+
+ unixODBC_libs="$unixODBC/lib"
+ unixODBC_includes="$unixODBC/include"
+
+ 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 )
+
+ 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)
+ SHLIB_ODBC="$LDFLAGS_ODBC -L$unixODBC_libs -lodbcinst" ],
+ [LIBS="$save_LIBS"] )
fi
+export SHLIB_ODBC
-save_LIBS="$LIBS"
-LIBS="$LIBS -L$unixODBC_libs"
+#check for unixODBC libs
-AC_CHECK_LIB(odbcinst, SQLGetPrivateProfileString,
- [AC_DEFINE(HAVE_SQLGETPRIVATEPROFILESTRING)
- LIBS="$LIBS -lodbcinst"],
- [LIBS="$save_LIBS"])
+if test "x$use_unixODBC" = "xyes"
+then
+ # default to /usr/local if not specified
+ if test "x$unixODBC" = "x"
+ then
+ unixODBC="/usr/local";
+ fi
+
+ unixODBC_libs="$unixODBC/lib"
+ unixODBC_includes="$unixODBC/include"
+
+ 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 )
+
+ 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)
+ SHLIB_ODBC="$LDFLAGS_ODBC -L$unixODBC_libs -lodbcinst" ],
+ [LIBS="$save_LIBS"] )
fi
+export SHLIB_ODBC
dnl Unless we specify the command line options
dnl --enable cassert to explicitly enable it
@@ -554,6 +663,7 @@ AC_SUBST(USE_TCL)
AC_SUBST(USE_TK)
AC_SUBST(WISH)
AC_SUBST(USE_ODBC)
+AC_SUBST(SHLIB_ODBC)
AC_SUBST(MULTIBYTE)
diff --git a/src/interfaces/odbc/GNUmakefile.in b/src/interfaces/odbc/GNUmakefile.in
index 819402c30ba..23a84c57672 100644
--- a/src/interfaces/odbc/GNUmakefile.in
+++ b/src/interfaces/odbc/GNUmakefile.in
@@ -7,7 +7,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile.in,v 1.13 2000/06/06 22:01:09 petere Exp $
+# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile.in,v 1.14 2000/06/12 17:58:20 momjian Exp $
#
#-------------------------------------------------------------------------
@SET_MAKE@
@@ -38,12 +38,11 @@ OBJS = info.o bind.o columninfo.o connection.o convert.o drvconn.o \
gpps.o tuple.o tuplelist.o dlg_specific.o $(OBJX)
SHLIB_LINK= $(LD_FLAGS)
+SHLIB_LINK+= $(SHLIB_ODBC)
# Shared library stuff, also default 'all' target
include $(SRCDIR)/Makefile.shlib
-LDFLAGS_SL+= $(LDFLAGS_ODBC)
-
.PHONY: install install-ini beforeinstall-headers install-headers
install: $(HEADERDIR) $(LIBDIR) $(ODBCINST) install-headers \
diff --git a/src/interfaces/odbc/dlg_specific.c b/src/interfaces/odbc/dlg_specific.c
index ebe16c1c6e3..96a045e1751 100644
--- a/src/interfaces/odbc/dlg_specific.c
+++ b/src/interfaces/odbc/dlg_specific.c
@@ -23,7 +23,7 @@
#ifndef WIN32
#include <string.h>
#include "gpps.h"
-#ifndef HAVE_SQLGETPRIVATEPROFILESTRING
+#ifdef 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
diff --git a/src/interfaces/odbc/misc.h b/src/interfaces/odbc/misc.h
index 700e951e917..8d0ad630bdf 100644
--- a/src/interfaces/odbc/misc.h
+++ b/src/interfaces/odbc/misc.h
@@ -15,7 +15,8 @@
#endif
#ifndef WIN32
-#ifndef HAVE_SQLGETPRIVATEPROFILESTRING
+#include "gpps.h"
+#ifdef HAVE_SQLGETPRIVATEPROFILESTRING
#define SQLGetPrivateProfileString(a,b,c,d,e,f) GetPrivateProfileString(a,b,c,d,e,f)
#endif
#endif