]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/autoconf/bacula-macros/db.m4
Apply patch (with some difficulties) from Joao Henrique Freitas
[bacula/bacula] / bacula / autoconf / bacula-macros / db.m4
index f3cc016021680109d0e1e7a784c9ec4924854aaf..dbc95336580429e43a335c0f58636106c0ee4ad5 100644 (file)
-AC_DEFUN(BA_CHECK_MYSQL_DB,
+AC_DEFUN([BA_CHECK_DBI_DB],
+[
+db_found=no
+AC_MSG_CHECKING(for DBI support)
+AC_ARG_WITH(dbi,
+[
+  --with-dbi@<:@=DIR@:>@     Include DBI support.  DIR is the DBD base
+                          install directory, default is to search through
+                          a number of common places for the DBI files.],
+[
+  if test "$withval" != "no"; then
+     if test "$withval" = "yes"; then
+        if test -f /usr/local/include/dbi/dbi.h; then
+           DBI_INCDIR=/usr/local/dbi/include
+           if test -d /usr/local/lib64; then
+              DBI_LIBDIR=/usr/local/lib64
+           else
+              DBI_LIBDIR=/usr/local/lib
+           fi
+           DBI_BINDIR=/usr/local/bin
+        elif test -f /usr/include/dbi/dbi.h; then
+           DBI_INCDIR=/usr/include
+           if test -d /usr/lib64; then
+              DBI_LIBDIR=/usr/lib64
+           else
+              DBI_LIBDIR=/usr/lib
+           fi
+           DBI_BINDIR=/usr/bin      
+        elif test -f $prefix/include/dbi/dbi.h; then
+           DBI_INCDIR=$prefix/include
+           if test -d $prefix/lib64; then
+              DBI_LIBDIR=$prefix/lib64
+           else
+              DBI_LIBDIR=$prefix/lib
+           fi
+           DBI_BINDIR=$prefix/bin      
+        else
+           AC_MSG_RESULT(no)
+           AC_MSG_ERROR(Unable to find dbi.h in standard locations)
+        fi
+        if test -d /usr/local/lib/dbd; then
+           DRIVERDIR=/usr/local/lib/dbd
+           if test -d /usr/local/lib64/dbd; then
+              DRIVERDIR=/usr/local/lib64/dbd
+           else
+              DRIVERDIR=/usr/local/lib/dbd
+           fi
+        elif test -d /usr/lib/dbd; then
+           DRIVERDIR=/usr/lib/dbd
+           if test -d /usr/lib64/dbd; then
+              DRIVERDIR=/usr/lib64/dbd
+           else
+              DRIVERDIR=/usr/lib/dbd
+           fi
+        elif test -d $prefix/lib/dbd; then
+           if test -d $prefix/lib64/dbd; then
+              DRIVERDIR=$prefix/lib64/dbd
+           else
+              DRIVERDIR=$prefix/lib/dbd
+           fi
+        else
+           AC_MSG_RESULT(no)
+           AC_MSG_ERROR(Unable to find DBD drivers in standard locations)
+        fi
+     else
+        if test -f $withval/dbi.h; then
+           DBI_INCDIR=$withval
+           DBI_LIBDIR=$withval
+           DBI_BINDIR=$withval
+        elif test -f $withval/include/dbi/dbi.h; then
+           DBI_INCDIR=$withval/include
+           if test -d $withval/lib64; then
+              DBI_LIBDIR=$withval/lib64
+           else
+              DBI_LIBDIR=$withval/lib
+           fi
+           DBI_BINDIR=$withval/bin
+        else
+           AC_MSG_RESULT(no)
+           AC_MSG_ERROR(Invalid DBI directory $withval - unable to find dbi.h under $withval)
+        fi
+        if test -d $withval/dbd; then
+           DRIVERDIR=$withval/dbd
+        elif test -d $withval/lib/; then
+           if test -d $withval/lib64/dbd; then
+              DRIVERDIR=$withval/lib64/dbd
+           else
+              DRIVERDIR=$withval/lib/dbd
+           fi
+        else
+           AC_MSG_RESULT(no)
+           AC_MSG_ERROR(Invalid DBD driver directory $withval - unable to find DBD drivers under $withval)
+        fi
+     fi
+     SQL_INCLUDE=-I$DBI_INCDIR
+     SQL_LFLAGS="-L$DBI_LIBDIR -ldbi"
+     SQL_BINDIR=$DBI_BINDIR
+     SQL_LIB=$DBI_LIBDIR/libdbi.a
+     DBI_DBD_DRIVERDIR="-D DBI_DRIVER_DIR=\\\"$DRIVERDIR\\\""
+
+     AC_DEFINE(HAVE_DBI)
+     AC_MSG_RESULT(yes)
+     db_found=yes
+     support_dbi=yes
+     db_type=DBI
+     DB_TYPE=dbi
+
+  else
+     AC_MSG_RESULT(no)
+  fi
+],[
+  AC_MSG_RESULT(no)
+])
+AC_SUBST(SQL_LFLAGS)
+AC_SUBST(SQL_INCLUDE)
+AC_SUBST(SQL_BINDIR)
+AC_SUBST(DBI_DBD_DRIVERDIR)  
+
+])
+
+
+AC_DEFUN([BA_CHECK_MYSQL_DB],
 [
 db_found=no
 AC_MSG_CHECKING(for MySQL support)
 AC_ARG_WITH(mysql,
 [
-  --with-mysql[=DIR]      Include MySQL support.  DIR is the MySQL base
+  --with-mysql@<:@=DIR@:>@      Include MySQL support.  DIR is the MySQL base
                           install directory, default is to search through
                           a number of common places for the MySQL files.],
 [
   if test "$withval" != "no"; then
         if test "$withval" = "yes"; then
-                if test -f /usr/local/mysql/include/mysql/mysql.h; then
-                        MYSQL_INCDIR=/usr/local/mysql/include/mysql
-                        MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
-                        MYSQL_BINDIR=/usr/local/mysql/bin
-                elif test -f /usr/include/mysql/mysql.h; then
-                        MYSQL_INCDIR=/usr/include/mysql
-                        MYSQL_LIBDIR=/usr/lib/mysql
-                        MYSQL_BINDIR=/usr/bin      
-                elif test -f /usr/include/mysql.h; then
-                        MYSQL_INCDIR=/usr/include
-                        MYSQL_LIBDIR=/usr/lib
-                        MYSQL_BINDIR=/usr/bin
-                elif test -f /usr/local/include/mysql/mysql.h; then
-                        MYSQL_INCDIR=/usr/local/include/mysql
-                        MYSQL_LIBDIR=/usr/local/lib/mysql
-                        MYSQL_BINDIR=/usr/local/bin
-                elif test -f /usr/local/include/mysql.h; then
-                        MYSQL_INCDIR=/usr/local/include
-                        MYSQL_LIBDIR=/usr/local/lib
-                        MYSQL_BINDIR=/usr/local/bin
-                else
-                   AC_MSG_RESULT(no)
-                   AC_MSG_ERROR(Unable to find mysql.h in standard locations)
-                fi
+           if test -f /usr/local/mysql/include/mysql/mysql.h; then
+                   MYSQL_INCDIR=/usr/local/mysql/include/mysql
+                   if test -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.a \
+                        -o -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.so; then
+                           MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
+                   else
+                           MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
+                   fi
+                   MYSQL_BINDIR=/usr/local/mysql/bin
+           elif test -f /usr/include/mysql/mysql.h; then
+                   MYSQL_INCDIR=/usr/include/mysql
+                   if test -f /usr/lib64/mysql/libmysqlclient_r.a \
+                        -o -f /usr/lib64/mysql/libmysqlclient_r.so; then  
+                           MYSQL_LIBDIR=/usr/lib64/mysql
+                   elif test -f /usr/lib/mysql/libmysqlclient_r.a \
+                          -o -f /usr/lib/mysql/libmysqlclient_r.so; then
+                           MYSQL_LIBDIR=/usr/lib/mysql
+                   else
+                           MYSQL_LIBDIR=/usr/lib
+                   fi
+                   MYSQL_BINDIR=/usr/bin
+           elif test -f /usr/include/mysql.h; then
+                   MYSQL_INCDIR=/usr/include
+                   if test -f /usr/lib64/libmysqlclient_r.a \
+                        -o -f /usr/lib64/libmysqlclient_r.so; then
+                           MYSQL_LIBDIR=/usr/lib64
+                   else
+                           MYSQL_LIBDIR=/usr/lib
+                   fi
+                   MYSQL_BINDIR=/usr/bin
+           elif test -f /usr/local/include/mysql/mysql.h; then
+                   MYSQL_INCDIR=/usr/local/include/mysql
+                   if test -f /usr/local/lib64/mysql/libmysqlclient_r.a \
+                        -o -f /usr/local/lib64/mysql/libmysqlclient_r.so; then
+                           MYSQL_LIBDIR=/usr/local/lib64/mysql
+                   else
+                           MYSQL_LIBDIR=/usr/local/lib/mysql
+                   fi
+                   MYSQL_BINDIR=/usr/local/bin
+           elif test -f /usr/local/include/mysql.h; then
+                   MYSQL_INCDIR=/usr/local/include
+                   if test -f /usr/local/lib64/libmysqlclient_r.a \
+                        -o -f /usr/local/lib64/libmysqlclient_r.so; then
+                           MYSQL_LIBDIR=/usr/local/lib64
+                   else
+                           MYSQL_LIBDIR=/usr/local/lib
+                   fi
+                   MYSQL_BINDIR=/usr/local/bin
+           else
+              AC_MSG_RESULT(no)
+              AC_MSG_ERROR(Unable to find mysql.h in standard locations)
+           fi
         else
-                if test -f $withval/include/mysql/mysql.h; then
-                        MYSQL_INCDIR=$withval/include/mysql
-                        MYSQL_LIBDIR=$withval/lib/mysql
-                        MYSQL_BINDIR=$withval/bin
-                elif test -f $withval/include/mysql.h; then
-                        MYSQL_INCDIR=$withval/include
-                        MYSQL_LIBDIR=$withval/lib
-                        MYSQL_BINDIR=$withval/bin
-                else
-                   AC_MSG_RESULT(no)
-                   AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
-                fi
+           if test -f $withval/include/mysql/mysql.h; then
+              MYSQL_INCDIR=$withval/include/mysql
+              if test -f $withval/lib64/mysql/libmysqlclient_r.a \
+                   -o -f $withval/lib64/mysql/libmysqlclient_r.so; then
+                 MYSQL_LIBDIR=$withval/lib64/mysql
+              else
+                 MYSQL_LIBDIR=$withval/lib/mysql
+                 # Solaris ...
+                 if test -f $withval/lib/libmysqlclient_r.so; then
+                    MYSQL_LIBDIR=$withval/lib
+                 fi
+              fi
+              MYSQL_BINDIR=$withval/bin
+           elif test -f $withval/include/mysql.h; then
+              MYSQL_INCDIR=$withval/include
+              if test -f $withval/lib64/libmysqlclient_r.a \
+                   -o -f $withval/lib64/libmysqlclient_r.so; then
+                 MYSQL_LIBDIR=$withval/lib64
+              else
+                 MYSQL_LIBDIR=$withval/lib
+              fi
+              MYSQL_BINDIR=$withval/bin
+           else
+              AC_MSG_RESULT(no)
+              AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
+           fi
         fi
     SQL_INCLUDE=-I$MYSQL_INCDIR
-    if test -f $MYSQL_LIBDIR/libmysqlclient_r.a; then
+    if test -f $MYSQL_LIBDIR/libmysqlclient_r.a \
+         -o -f $MYSQL_LIBDIR/libmysqlclient_r.so; then
        SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz"
        AC_DEFINE(HAVE_THREAD_SAFE_MYSQL)
-    else
-       SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient -lz"
     fi
     SQL_BINDIR=$MYSQL_BINDIR
+    SQL_LIB=$MYSQL_LIBDIR/libmysqlclient_r.a
 
     AC_DEFINE(HAVE_MYSQL)
     AC_MSG_RESULT(yes)
     db_found=yes
     support_mysql=yes
-    db_name=MySQL
-    DB_NAME=mysql
+    db_type=MySQL
+    DB_TYPE=mysql
 
   else
         AC_MSG_RESULT(no)
@@ -72,7 +235,7 @@ AC_ARG_WITH(mysql,
 
 AC_ARG_WITH(embedded-mysql,
 [
-  --with-embedded-mysql[=DIR] Include MySQL support.  DIR is the MySQL base
+  --with-embedded-mysql@<:@=DIR@:>@ Include MySQL support.  DIR is the MySQL base
                           install directory, default is to search through
                           a number of common places for the MySQL files.],
 [
@@ -80,23 +243,43 @@ AC_ARG_WITH(embedded-mysql,
         if test "$withval" = "yes"; then
                 if test -f /usr/local/mysql/include/mysql/mysql.h; then
                         MYSQL_INCDIR=/usr/local/mysql/include/mysql
-                        MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
+                        if test -d /usr/local/mysql/lib64/mysql; then
+                                MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
+                        else
+                                MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
+                        fi
                         MYSQL_BINDIR=/usr/local/mysql/bin
                 elif test -f /usr/include/mysql/mysql.h; then
                         MYSQL_INCDIR=/usr/include/mysql
-                        MYSQL_LIBDIR=/usr/lib/mysql
-                        MYSQL_BINDIR=/usr/bin      
+                        if test -d /usr/lib64/mysql; then
+                                MYSQL_LIBDIR=/usr/lib64/mysql
+                        else
+                                MYSQL_LIBDIR=/usr/lib/mysql
+                        fi
+                        MYSQL_BINDIR=/usr/bin
                 elif test -f /usr/include/mysql.h; then
                         MYSQL_INCDIR=/usr/include
-                        MYSQL_LIBDIR=/usr/lib
+                        if test -d /usr/lib64; then
+                                MYSQL_LIBDIR=/usr/lib64
+                        else
+                                MYSQL_LIBDIR=/usr/lib
+                        fi
                         MYSQL_BINDIR=/usr/bin
                 elif test -f /usr/local/include/mysql/mysql.h; then
                         MYSQL_INCDIR=/usr/local/include/mysql
-                        MYSQL_LIBDIR=/usr/local/lib/mysql
+                        if test -d /usr/local/lib64/mysql; then
+                                MYSQL_LIBDIR=/usr/local/lib64/mysql
+                        else
+                                MYSQL_LIBDIR=/usr/local/lib/mysql
+                        fi
                         MYSQL_BINDIR=/usr/local/bin
                 elif test -f /usr/local/include/mysql.h; then
                         MYSQL_INCDIR=/usr/local/include
-                        MYSQL_LIBDIR=/usr/local/lib
+                        if test -d /usr/local/lib64; then
+                                MYSQL_LIBDIR=/usr/local/lib64
+                        else
+                                MYSQL_LIBDIR=/usr/local/lib
+                        fi
                         MYSQL_BINDIR=/usr/local/bin
                 else
                    AC_MSG_RESULT(no)
@@ -105,11 +288,19 @@ AC_ARG_WITH(embedded-mysql,
         else
                 if test -f $withval/include/mysql/mysql.h; then
                         MYSQL_INCDIR=$withval/include/mysql
-                        MYSQL_LIBDIR=$withval/lib/mysql
+                        if test -d $withval/lib64/mysql; then
+                                MYSQL_LIBDIR=$withval/lib64/mysql
+                        else
+                                MYSQL_LIBDIR=$withval/lib/mysql
+                        fi
                         MYSQL_BINDIR=$withval/bin
                 elif test -f $withval/include/mysql.h; then
                         MYSQL_INCDIR=$withval/include
-                        MYSQL_LIBDIR=$withval/lib
+                        if test -d $withval/lib64; then
+                                MYSQL_LIBDIR=$withval/lib64
+                        else
+                                MYSQL_LIBDIR=$withval/lib
+                        fi
                         MYSQL_BINDIR=$withval/bin
                 else
                    AC_MSG_RESULT(no)
@@ -119,14 +310,15 @@ AC_ARG_WITH(embedded-mysql,
     SQL_INCLUDE=-I$MYSQL_INCDIR
     SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqld -lz -lm -lcrypt"
     SQL_BINDIR=$MYSQL_BINDIR
+    SQL_LIB=$MYSQL_LIBDIR/libmysqld.a
 
     AC_DEFINE(HAVE_MYSQL)
     AC_DEFINE(HAVE_EMBEDDED_MYSQL)
     AC_MSG_RESULT(yes)
     db_found=yes
     support_mysql=yes
-    db_name=MySQL
-    DB_NAME=mysql
+    db_type=MySQL
+    DB_TYPE=mysql
 
   else
         AC_MSG_RESULT(no)
@@ -142,13 +334,13 @@ AC_SUBST(SQL_BINDIR)
 ])
 
 
-AC_DEFUN(BA_CHECK_SQLITE_DB,
+AC_DEFUN([BA_CHECK_SQLITE_DB],
 [
 db_found=no
 AC_MSG_CHECKING(for SQLite support)
 AC_ARG_WITH(sqlite,
 [
-  --with-sqlite[=DIR]     Include SQLite support.  DIR is the SQLite base
+  --with-sqlite@<:@=DIR@:>@     Include SQLite support.  DIR is the SQLite base
                           install directory, default is to search through
                           a number of common places for the SQLite files.],
 [
@@ -156,15 +348,27 @@ AC_ARG_WITH(sqlite,
      if test "$withval" = "yes"; then
         if test -f /usr/local/include/sqlite.h; then
            SQLITE_INCDIR=/usr/local/include
-           SQLITE_LIBDIR=/usr/local/lib
+           if test -d /usr/local/lib64; then
+              SQLITE_LIBDIR=/usr/local/lib64
+           else
+              SQLITE_LIBDIR=/usr/local/lib
+           fi
            SQLITE_BINDIR=/usr/local/bin
         elif test -f /usr/include/sqlite.h; then
            SQLITE_INCDIR=/usr/include
-           SQLITE_LIBDIR=/usr/lib
+           if test -d /usr/lib64; then
+              SQLITE_LIBDIR=/usr/lib64
+           else
+              SQLITE_LIBDIR=/usr/lib
+           fi
            SQLITE_BINDIR=/usr/bin      
         elif test -f $prefix/include/sqlite.h; then
            SQLITE_INCDIR=$prefix/include
-           SQLITE_LIBDIR=$prefix/lib
+           if test -d $prefix/lib64; then
+              SQLITE_LIBDIR=$prefix/lib64
+           else
+              SQLITE_LIBDIR=$prefix/lib
+           fi
            SQLITE_BINDIR=$prefix/bin      
         else
            AC_MSG_RESULT(no)
@@ -177,7 +381,11 @@ AC_ARG_WITH(sqlite,
            SQLITE_BINDIR=$withval
         elif test -f $withval/include/sqlite.h; then
            SQLITE_INCDIR=$withval/include
-           SQLITE_LIBDIR=$withval/lib
+           if test -d $withval/lib64; then
+              SQLITE_LIBDIR=$withval/lib64
+           else
+              SQLITE_LIBDIR=$withval/lib
+           fi
            SQLITE_BINDIR=$withval/bin
         else
            AC_MSG_RESULT(no)
@@ -187,13 +395,14 @@ AC_ARG_WITH(sqlite,
      SQL_INCLUDE=-I$SQLITE_INCDIR
      SQL_LFLAGS="-L$SQLITE_LIBDIR -lsqlite"
      SQL_BINDIR=$SQLITE_BINDIR
+     SQL_LIB=$SQLITE_LIBDIR/libsqlite.a
 
      AC_DEFINE(HAVE_SQLITE)
      AC_MSG_RESULT(yes)
      db_found=yes
      support_sqlite=yes
-     db_name=SQLite
-     DB_NAME=sqlite
+     db_type=SQLite
+     DB_TYPE=sqlite
 
   else
      AC_MSG_RESULT(no)
@@ -207,13 +416,13 @@ AC_SUBST(SQL_BINDIR)
   
 ])
 
-AC_DEFUN(BA_CHECK_SQLITE3_DB,
+AC_DEFUN([BA_CHECK_SQLITE3_DB],
 [
 db_found=no
 AC_MSG_CHECKING(for SQLite3 support)
 AC_ARG_WITH(sqlite3,
 [
-  --with-sqlite3[=DIR]    Include SQLite3 support.  DIR is the SQLite3 base
+  --with-sqlite3@<:@=DIR@:>@    Include SQLite3 support.  DIR is the SQLite3 base
                           install directory, default is to search through
                           a number of common places for the SQLite3 files.],
 [
@@ -221,15 +430,27 @@ AC_ARG_WITH(sqlite3,
      if test "$withval" = "yes"; then
         if test -f /usr/local/include/sqlite3.h; then
            SQLITE_INCDIR=/usr/local/include
-           SQLITE_LIBDIR=/usr/local/lib
+           if test -d /usr/local/lib64; then
+              SQLITE_LIBDIR=/usr/local/lib64
+           else
+              SQLITE_LIBDIR=/usr/local/lib
+           fi
            SQLITE_BINDIR=/usr/local/bin
         elif test -f /usr/include/sqlite3.h; then
            SQLITE_INCDIR=/usr/include
-           SQLITE_LIBDIR=/usr/lib
+           if test -d /usr/lib64; then
+              SQLITE_LIBDIR=/usr/lib64
+           else
+              SQLITE_LIBDIR=/usr/lib
+           fi
            SQLITE_BINDIR=/usr/bin      
         elif test -f $prefix/include/sqlite3.h; then
            SQLITE_INCDIR=$prefix/include
-           SQLITE_LIBDIR=$prefix/lib
+           if test -d $prefix/lib64; then
+              SQLITE_LIBDIR=$prefix/lib64
+           else
+              SQLITE_LIBDIR=$prefix/lib
+           fi
            SQLITE_BINDIR=$prefix/bin      
         else
            AC_MSG_RESULT(no)
@@ -242,7 +463,11 @@ AC_ARG_WITH(sqlite3,
            SQLITE_BINDIR=$withval
         elif test -f $withval/include/sqlite3.h; then
            SQLITE_INCDIR=$withval/include
-           SQLITE_LIBDIR=$withval/lib
+           if test -d $withval/lib64; then
+              SQLITE_LIBDIR=$withval/lib64
+           else
+              SQLITE_LIBDIR=$withval/lib
+           fi
            SQLITE_BINDIR=$withval/bin
         else
            AC_MSG_RESULT(no)
@@ -252,13 +477,14 @@ AC_ARG_WITH(sqlite3,
      SQL_INCLUDE=-I$SQLITE_INCDIR
      SQL_LFLAGS="-L$SQLITE_LIBDIR -lsqlite3"
      SQL_BINDIR=$SQLITE_BINDIR
+     SQL_LIB=$SQLITE_LIBDIR/libsqlite3.a
 
      AC_DEFINE(HAVE_SQLITE3)
      AC_MSG_RESULT(yes)
      db_found=yes
      support_sqlite3=yes
-     db_name=SQLite3
-     DB_NAME=sqlite3
+     db_type=SQLite3
+     DB_TYPE=sqlite3
 
   else
      AC_MSG_RESULT(no)
@@ -274,12 +500,12 @@ AC_SUBST(SQL_BINDIR)
 
 
 
-AC_DEFUN(BA_CHECK_POSTGRESQL_DB,
+AC_DEFUN([BA_CHECK_POSTGRESQL_DB],
 [
 db_found=no
 AC_MSG_CHECKING(for PostgreSQL support)
 AC_ARG_WITH(postgresql,
-[  --with-postgresql[=DIR]      Include PostgreSQL support.  DIR is the PostgreSQL
+[  --with-postgresql@<:@=DIR@:>@      Include PostgreSQL support.  DIR is the PostgreSQL
                           base install directory, defaults to /usr/local/pgsql],
 [
   if test "$withval" != "no"; then
@@ -295,19 +521,35 @@ AC_ARG_WITH(postgresql,
               POSTGRESQL_BINDIR=`"$PG_CONFIG" --bindir`
           elif test -f /usr/local/include/libpq-fe.h; then
               POSTGRESQL_INCDIR=/usr/local/include
-              POSTGRESQL_LIBDIR=/usr/local/lib
+              if test -d /usr/local/lib64; then
+                 POSTGRESQL_LIBDIR=/usr/local/lib64
+              else
+                 POSTGRESQL_LIBDIR=/usr/local/lib
+              fi
               POSTGRESQL_BINDIR=/usr/local/bin
           elif test -f /usr/include/libpq-fe.h; then
               POSTGRESQL_INCDIR=/usr/include
-              POSTGRESQL_LIBDIR=/usr/lib
+              if test -d /usr/lib64; then
+                 POSTGRESQL_LIBDIR=/usr/lib64
+              else
+                 POSTGRESQL_LIBDIR=/usr/lib
+              fi
               POSTGRESQL_BINDIR=/usr/bin
           elif test -f /usr/include/pgsql/libpq-fe.h; then
               POSTGRESQL_INCDIR=/usr/include/pgsql
-              POSTGRESQL_LIBDIR=/usr/lib/pgsql
+              if test -d /usr/lib64/pgsql; then
+                 POSTGRESQL_LIBDIR=/usr/lib64/pgsql
+              else
+                 POSTGRESQL_LIBDIR=/usr/lib/pgsql
+              fi
               POSTGRESQL_BINDIR=/usr/bin
           elif test -f /usr/include/postgresql/libpq-fe.h; then
               POSTGRESQL_INCDIR=/usr/include/postgresql
-              POSTGRESQL_LIBDIR=/usr/lib/postgresql
+              if test -d /usr/lib64/postgresql; then
+                 POSTGRESQL_LIBDIR=/usr/lib64/postgresql
+              else
+                 POSTGRESQL_LIBDIR=/usr/lib/postgresql
+              fi
               POSTGRESQL_BINDIR=/usr/bin
           else
               AC_MSG_RESULT(no)
@@ -319,7 +561,11 @@ AC_ARG_WITH(postgresql,
           POSTGRESQL_BINDIR=$withval/bin
       elif test -f $withval/include/postgresql/libpq-fe.h; then
           POSTGRESQL_INCDIR=$withval/include/postgresql
-          POSTGRESQL_LIBDIR=$withval/lib
+     if test -d $withval/lib64; then
+         POSTGRESQL_LIBDIR=$withval/lib64
+     else
+         POSTGRESQL_LIBDIR=$withval/lib
+     fi
           POSTGRESQL_BINDIR=$withval/bin
       else
           AC_MSG_RESULT(no)
@@ -330,12 +576,14 @@ AC_ARG_WITH(postgresql,
       SQL_INCLUDE=-I$POSTGRESQL_INCDIR
       SQL_LFLAGS=$POSTGRESQL_LFLAGS
       SQL_BINDIR=$POSTGRESQL_BINDIR
+      SQL_LIB=$POSTGRESQL_LIBDIR/libpq.a
+
       AC_DEFINE(HAVE_POSTGRESQL)
       AC_MSG_RESULT(yes)
       db_found=yes
       support_postgresql=yes
-      db_name=PostgreSQL
-      DB_NAME=postgresql
+      db_type=PostgreSQL
+      DB_TYPE=postgresql
   else
       AC_MSG_RESULT(no)
   fi
@@ -350,7 +598,7 @@ AC_SUBST(SQL_BINDIR)
 
 
 
-AC_DEFUN(BA_CHECK_SQL_DB
+AC_DEFUN([BA_CHECK_SQL_DB]
 [AC_MSG_CHECKING(Checking for various databases)
 dnl# --------------------------------------------------------------------------
 dnl# CHECKING FOR VARIOUS DATABASES (thanks to UdmSearch team)
@@ -358,7 +606,7 @@ dnl# --------------------------------------------------------------------------
 dnl Check for some DBMS backend
 dnl NOTE: we can use only one backend at a time
 db_found=no
-db_name=none
+DB_TYPE=none
 
 if test x$support_mysql = xyes; then
    cats=cats
@@ -367,7 +615,7 @@ fi
 AC_MSG_CHECKING(for Berkeley DB support)
 AC_ARG_WITH(berkeleydb,
 [
-  --with-berkeleydb[=DIR] Include Berkeley DB support.  DIR is the Berkeley DB base
+  --with-berkeleydb@<:@=DIR@:>@ Include Berkeley DB support.  DIR is the Berkeley DB base
                           install directory, default is to search through
                           a number of common places for the DB files.],
 [
@@ -375,7 +623,11 @@ AC_ARG_WITH(berkeleydb,
         if test "$withval" = "yes"; then
                 if test -f /usr/include/db.h; then
                         BERKELEYDB_INCDIR=/usr/include
-                        BERKELEYDB_LIBDIR=/usr/lib
+                        if test -d /usr/lib64; then
+                                BERKELEYDB_LIBDIR=/usr/lib64
+                        else
+                                BERKELEYDB_LIBDIR=/usr/lib
+                        fi
                 else
                 AC_MSG_RESULT(no)
                 AC_MSG_ERROR(Invalid Berkeley DB directory - unable to find db.h)
@@ -383,7 +635,11 @@ AC_ARG_WITH(berkeleydb,
         else
                 if test -f $withval/include/db.h; then
                         BERKELEYDB_INCDIR=$withval/include
-                        BERKELEYDBL_LIBDIR=$withval/lib
+                        if test -d $withval/lib64; then
+                                BERKELEYDB_LIBDIR=$withval/lib64
+                        else
+                                BERKELEYDB_LIBDIR=$withval/lib
+                        fi
                 else
                 AC_MSG_RESULT(no)
                 AC_MSG_ERROR(Invalid Berkeley DB directory - unable to find db.h under $withval)
@@ -396,7 +652,7 @@ AC_ARG_WITH(berkeleydb,
     AC_MSG_RESULT(yes)
     have_db=yes
     support_mysql=yes
-    db_name=BerkelyDB
+    DB_TYPE=BerkelyDB
 
   else
         AC_MSG_RESULT(no)
@@ -416,7 +672,7 @@ fi
 
 AC_MSG_CHECKING(for mSQL support)
 AC_ARG_WITH(msql,
-[  --with-msql[=DIR]       Include mSQL support.  DIR is the mSQL base
+[  --with-msql@<:@=DIR@:>       Include mSQL support.  DIR is the mSQL base
                           install directory, defaults to /usr/local/Hughes.],
 [
   if test "$withval" != "no"; then
@@ -427,10 +683,18 @@ AC_ARG_WITH(msql,
 
     if test "$withval" = "yes"; then
         MSQL_INCDIR=/usr/local/Hughes/include
-        MSQL_LIBDIR=/usr/local/Hughes/lib
+        if test -d /usr/local/Hughes/lib64; then
+            MSQL_LIBDIR=/usr/local/Hughes/lib64
+        else
+            MSQL_LIBDIR=/usr/local/Hughes/lib
+        fi
     else
         MSQL_INCDIR=$withval/include
-        MSQL_LIBDIR=$withval/lib
+        if test -d $withval/lib64; then
+            MSQL_LIBDIR=$withval/lib64
+        else
+            MSQL_LIBDIR=$withval/lib
+        fi
     fi
     MSQL_INCLUDE=-I$MSQL_INCDIR
     MSQL_LFLAGS="-L$MSQL_LIBDIR -lmsql"
@@ -450,7 +714,7 @@ AC_SUBST(MSQL_INCLUDE)
 
 AC_MSG_CHECKING(for iODBC support)
 AC_ARG_WITH(iodbc,
-[  --with-iodbc[=DIR]      Include iODBC support.  DIR is the iODBC base
+[  --with-iodbc@<:@=DIR@:>      Include iODBC support.  DIR is the iODBC base
                           install directory, defaults to /usr/local.],
 [
         if test "$withval" != "no"; then
@@ -467,7 +731,11 @@ AC_ARG_WITH(iodbc,
         if test "$withval" != "no"; then
                 if test -f $withval/include/isql.h; then
                         IODBC_INCDIR=$withval/include
-                        IODBC_LIBDIR=$withval/lib
+                        if test -d $withval/lib64; then
+                                IODBC_LIBDIR=$withval/lib64
+                        else
+                                IODBC_LIBDIR=$withval/lib
+                        fi
                 else
                         AC_MSG_RESULT(no)
                         AC_MSG_ERROR(Invalid iODBC directory - unable to find isql.h)
@@ -487,7 +755,7 @@ AC_SUBST(IODBC_INCLUDE)
 
 AC_MSG_CHECKING(for unixODBC support)
 AC_ARG_WITH(unixODBC,
-[  --with-unixODBC[=DIR]   Include unixODBC support.  DIR is the unixODBC base
+[  --with-unixODBC@<:@=DIR@:>   Include unixODBC support.  DIR is the unixODBC base
                           install directory, defaults to /usr/local.],
 [
         if test "$withval" != "no"; then
@@ -504,7 +772,11 @@ AC_ARG_WITH(unixODBC,
         if test "$withval" != "no"; then
                 if test -f $withval/include/sql.h; then
                         UNIXODBC_INCDIR=$withval/include
-                        UNIXODBC_LIBDIR=$withval/lib
+                        if test -d $withval/lib64; then
+                                UNIXODBC_LIBDIR=$withval/lib64
+                        else
+                                UNIXODBC_LIBDIR=$withval/lib
+                        fi
                 else
                         AC_MSG_RESULT(no)
                         AC_MSG_ERROR(Invalid unixODBC directory - unable to find sql.h)
@@ -524,7 +796,7 @@ AC_SUBST(UNIXODBC_INCLUDE)
 
 AC_MSG_CHECKING(for Solid support)
 AC_ARG_WITH(solid,
-[  --with-solid[=DIR]      Include Solid support.  DIR is the Solid base
+[  --with-solid@<:@=DIR@:>      Include Solid support.  DIR is the Solid base
                           install directory, defaults to /usr/local.],
 [
         if test "$withval" != "no"; then
@@ -541,7 +813,11 @@ AC_ARG_WITH(solid,
         if test "$withval" != "no"; then
                 if test -f $withval/include/cli0cli.h; then
                         SOLID_INCDIR=$withval/include
-                        SOLID_LIBDIR=$withval/lib
+                        if test -d $withval/lib64; then
+                                SOLID_LIBDIR=$withval/lib64
+                        else
+                                SOLID_LIBDIR=$withval/lib
+                        fi
                 else
                         AC_MSG_RESULT(no)
                         AC_MSG_ERROR(Invalid Solid directory - unable to find cli0cli.h)
@@ -560,7 +836,7 @@ AC_SUBST(SOLID_INCLUDE)
 
 AC_MSG_CHECKING(for OpenLink ODBC support)
 AC_ARG_WITH(openlink,
-[  --with-openlink[=DIR]   Include OpenLink ODBC support. 
+[  --with-openlink@<:@=DIR@:>   Include OpenLink ODBC support. 
                           DIR is the base OpenLink ODBC install directory],
 [
   if test "$withval" != "no"; then
@@ -573,13 +849,25 @@ AC_ARG_WITH(openlink,
 
                 if test -f /usr/local/virtuoso-ent/odbcsdk/include/isql.h; then
                         VIRT_INCDIR=/usr/local/virtuoso-ent/odbcsdk/include/
-                        VIRT_LIBDIR=/usr/local/virtuoso-ent/odbcsdk/lib/
+                        if test -d /usr/local/virtuoso-ent/odbcsdk/lib64/; then
+                                VIRT_LIBDIR=/usr/local/virtuoso-ent/odbcsdk/lib64/
+                        else
+                                VIRT_LIBDIR=/usr/local/virtuoso-ent/odbcsdk/lib/
+                        fi
                 elif test -f /usr/local/virtuoso-lite/odbcsdk/include/isql.h; then
                         VIRT_INCDIR=/usr/local/virtuoso-lite/odbcsdk/include/
-                        VIRT_LIBDIR=/usr/local/virtuoso-lite/odbcsdk/lib/
+                        if test -d /usr/local/virtuoso-lite/odbcsdk/lib64/; then
+                                VIRT_LIBDIR=/usr/local/virtuoso-lite/odbcsdk/lib64/
+                        else
+                                VIRT_LIBDIR=/usr/local/virtuoso-lite/odbcsdk/lib/
+                        fi
                 elif test -f /usr/local/virtuoso/odbcsdk/include/isql.h; then
                         VIRT_INCDIR=/usr/local/virtuoso/odbcsdk/include/
-                        VIRT_LIBDIR=/usr/local/virtuoso/odbcsdk/lib/
+                        if test -d /usr/local/virtuoso/odbcsdk/lib64/; then
+                                VIRT_LIBDIR=/usr/local/virtuoso/odbcsdk/lib64/
+                        else
+                                VIRT_LIBDIR=/usr/local/virtuoso/odbcsdk/lib/
+                        fi
                 else
                 AC_MSG_RESULT(no)
                 AC_MSG_ERROR(Invalid OpenLink ODBC directory - unable to find isql.h)
@@ -587,10 +875,18 @@ AC_ARG_WITH(openlink,
         else
                 if test -f $withval/odbcsdk/include/isql.h; then
                         VIRT_INCDIR=$withval/odbcsdk/include/
-                        VIRT_LIBDIR=$withval/odbcsdk/lib/
+                        if test -d $withval/odbcsdk/lib64/; then
+                                VIRT_LIBDIR=$withval/odbcsdk/lib64/
+                        else
+                                VIRT_LIBDIR=$withval/odbcsdk/lib/
+                        fi
                 elif test -f $withval/include/isql.h; then
                         VIRT_INCDIR=$withval/include/
-                        VIRT_LIBDIR=$withval/lib/
+                        if test -d $withval/lib64/; then
+                                VIRT_LIBDIR=$withval/lib64/
+                        else
+                                VIRT_LIBDIR=$withval/lib/
+                        fi
                 else
                 AC_MSG_RESULT(no)
                 AC_MSG_ERROR(Invalid OpenLink ODBC directory - unable to find isql.h under $withval)
@@ -615,7 +911,7 @@ AC_SUBST(VIRT_INCLUDE)
 
 AC_MSG_CHECKING(for EasySoft ODBC support)
 AC_ARG_WITH(easysoft,
-[  --with-easysoft[=DIR]   Include EasySoft ODBC support. 
+[  --with-easysoft@<:@=DIR@:>   Include EasySoft ODBC support. 
                           DIR is the base EasySoft ODBC install directory],
 [
   if test "$withval" != "no"; then
@@ -628,7 +924,11 @@ AC_ARG_WITH(easysoft,
 
                 if test -f /usr/local/easysoft/oob/client/include/sql.h; then
                         EASYSOFT_INCDIR=/usr/local/easysoft/oob/client/include/
-                        EASYSOFT_LFLAGS="-L/usr/local/easysoft/oob/client/lib/ -L/usr/local/easysoft/lib"
+                        if test -d /usr/local/easysoft/oob/client/lib64/; then
+                                EASYSOFT_LFLAGS="-L/usr/local/easysoft/oob/client/lib64/ -L/usr/local/easysoft/lib64"
+                        else
+                                EASYSOFT_LFLAGS="-L/usr/local/easysoft/oob/client/lib/ -L/usr/local/easysoft/lib"
+                        fi
                 else
                 AC_MSG_RESULT(no)
                 AC_MSG_ERROR(Invalid EasySoft ODBC directory - unable to find sql.h)
@@ -636,7 +936,11 @@ AC_ARG_WITH(easysoft,
         else
                 if test -f $withval/easysoft/oob/client/include/sql.h; then
                         EASYSOFT_INCDIR=$withval/easysoft/oob/client/include/
-                        EASYSOFT_LFLAGS="-L$withval/easysoft/oob/client/lib/ -L$withval/easysoft/lib"
+                        if test -d $withval/easysoft/oob/client/lib64/; then
+                                EASYSOFT_LFLAGS="-L$withval/easysoft/oob/client/lib64/ -L$withval/easysoft/lib64"
+                        else
+                                EASYSOFT_LFLAGS="-L$withval/easysoft/oob/client/lib/ -L$withval/easysoft/lib"
+                        fi
                 else
                 AC_MSG_RESULT(no)
                 AC_MSG_ERROR(Invalid EasySoft ODBC directory - unable to find sql.h under $withval)
@@ -662,7 +966,7 @@ AC_SUBST(EASYSOFT_INCLUDE)
 
 AC_MSG_CHECKING(for InterBase support)
 AC_ARG_WITH(ibase,
-[  --with-ibase[=DIR]      Include InterBase support.  DIR is the InterBase
+[  --with-ibase@<:@=DIR@:>      Include InterBase support.  DIR is the InterBase
                           install directory, defaults to /usr/interbase.],
 [
         if test "$withval" != "no"; then
@@ -679,7 +983,11 @@ AC_ARG_WITH(ibase,
         if test "$withval" != "no"; then
                 if test -f $withval/include/ibase.h; then
                         IBASE_INCDIR=$withval/include
-                        IBASE_LIBDIR=$withval/lib
+                        if test -d $withval/lib64; then
+                                IBASE_LIBDIR=$withval/lib64
+                        else
+                                IBASE_LIBDIR=$withval/lib
+                        fi
                 else
                         AC_MSG_RESULT(no)
                         AC_MSG_ERROR(Invalid InterBase directory - unable to find ibase.h)
@@ -698,7 +1006,7 @@ AC_SUBST(IBASE_INCLUDE)
 
 AC_MSG_CHECKING(for Oracle8 support)
 AC_ARG_WITH(oracle8,
-[  --with-oracle8[=DIR]    Include Oracle8 support.  DIR is the Oracle
+[  --with-oracle8@<:@=DIR@:>    Include Oracle8 support.  DIR is the Oracle
                           home directory, defaults to $ORACLE_HOME or
                           /oracle8/app/oracle/product/8.0.5.],
 [
@@ -722,13 +1030,25 @@ AC_ARG_WITH(oracle8,
                         ORACLE8_INCDIR2=$withval/rdbms/public/:
                         ORACLE8_INCDIR3=$withval/network/public/
                         ORACLE8_INCDIR4=$withval/plsql/public/
-                        ORACLE8_LIBDIR1=$withval/lib
-                        ORACLE8_LIBDIR2=$withval/rdbms/lib
+                        if test -d $withval/lib64; then
+                                ORACLE8_LIBDIR1=$withval/lib64
+                        else
+                                ORACLE8_LIBDIR1=$withval/lib
+                        fi
+                        if test -d $withval/rdbms/lib64; then
+                               ORACLE8_LIBDIR2=$withval/rdbms/lib64
+                        else
+                                ORACLE8_LIBDIR2=$withval/rdbms/lib
+                        fi
                 else
                         AC_MSG_RESULT(no)
                         AC_MSG_ERROR(Invalid ORACLE directory - unable to find oci.h)
                 fi
-                ORACLE8_LFLAGS="-L$ORACLE8_LIBDIR1 -L$ORACLE8_LIBDIR2 $withval/lib/libclntsh.so -lmm -lepc -lclient -lvsn -lcommon -lgeneric -lcore4 -lnlsrtl3 -lnsl -lm -ldl -lnetv2 -lnttcp -lnetwork -lncr -lsql"
+                if test -f $withval/lib64/libclntsh.so; then
+                        ORACLE8_LFLAGS="-L$ORACLE8_LIBDIR1 -L$ORACLE8_LIBDIR2 $withval/lib64/libclntsh.so -lmm -lepc -lclient -lvsn -lcommon -lgeneric -lcore4 -lnlsrtl3 -lnsl -lm -ldl -lnetv2 -lnttcp -lnetwork -lncr -lsql"
+                else
+                        ORACLE8_LFLAGS="-L$ORACLE8_LIBDIR1 -L$ORACLE8_LIBDIR2 $withval/lib/libclntsh.so -lmm -lepc -lclient -lvsn -lcommon -lgeneric -lcore4 -lnlsrtl3 -lnsl -lm -ldl -lnetv2 -lnttcp -lnetwork -lncr -lsql"
+                fi
                 ORACLE8_INCLUDE="-I$ORACLE8_INCDIR1 -I$ORACLE8_INCDIR2 -I$ORACLE8_INCDIR3 -I$ORACLE8_INCDIR4"
                 AC_DEFINE(HAVE_ORACLE8)
                 AC_MSG_RESULT(yes)
@@ -743,7 +1063,7 @@ AC_SUBST(ORACLE8_INCLUDE)
 
 AC_MSG_CHECKING(for Oracle7 support)
 AC_ARG_WITH(oracle7,
-[  --with-oracle7[=DIR]    Include Oracle 7.3 support.  DIR is the Oracle
+[  --with-oracle7@<:@=DIR@:>    Include Oracle 7.3 support.  DIR is the Oracle
                           home directory, defaults to 
                           ORACLE_HOME [$ORACLE_HOME]],
 [
@@ -761,8 +1081,16 @@ AC_ARG_WITH(oracle7,
         if test "$withval" != "no"; then
                 if test -f $withval/rdbms/demo/ocidfn.h; then
                         ORACLE7_INCDIR=$withval/rdbms/demo/
-                        ORACLE7_LIBDIR1=$withval/lib
-                        ORACLE7_LIBDIR2=$withval/rdbms/lib
+                        if test -d $withval/lib64; then
+                                ORACLE7_LIBDIR1=$withval/lib64
+                        else
+                                ORACLE7_LIBDIR1=$withval/lib
+                        fi
+                        if test -d $withval/rdbms/lib64; then
+                                ORACLE7_LIBDIR2=$withval/rdbms/lib64
+                        else
+                                ORACLE7_LIBDIR2=$withval/rdbms/lib
+                        fi
                 else
                         AC_MSG_RESULT(no)
                         AC_MSG_ERROR(Invalid ORACLE directory - unable to find ocidfn.h)
@@ -772,9 +1100,15 @@ AC_ARG_WITH(oracle7,
         if test -f "$ORACLEINST_TOP/rdbms/lib/sysliblist"
         then
           ORA_SYSLIB="`cat $ORACLEINST_TOP/rdbms/lib/sysliblist`"
+        elif test -f "$ORACLEINST_TOP/rdbms/lib64/sysliblist"
+        then
+          ORA_SYSLIB="`cat $ORACLEINST_TOP/rdbms/lib64/sysliblist`"
         elif test -f "$ORACLEINST_TOP/lib/sysliblist"
             then
           ORA_SYSLIB="`cat $ORACLEINST_TOP/lib/sysliblist`"
+        elif test -f "$ORACLEINST_TOP/lib64/sysliblist"
+            then
+          ORA_SYSLIB="`cat $ORACLEINST_TOP/lib64/sysliblist`"
         else
           ORA_SYSLIB="-lm"
         fi
@@ -797,7 +1131,7 @@ AC_SUBST(ORACLE7_INCLUDE)
 ])
   
 
-AC_DEFUN(AM_CONDITIONAL,
+AC_DEFUN([AM_CONDITIONAL],
 [AC_SUBST($1_TRUE)
 AC_SUBST($1_FALSE)
 if $2; then