]> git.sur5r.net Git - bacula/bacula/blob - bacula/autoconf/bacula-macros/db.m4
dbc95336580429e43a335c0f58636106c0ee4ad5
[bacula/bacula] / bacula / autoconf / bacula-macros / db.m4
1 AC_DEFUN([BA_CHECK_DBI_DB],
2 [
3 db_found=no
4 AC_MSG_CHECKING(for DBI support)
5 AC_ARG_WITH(dbi,
6 [
7   --with-dbi@<:@=DIR@:>@     Include DBI support.  DIR is the DBD base
8                           install directory, default is to search through
9                           a number of common places for the DBI files.],
10 [
11   if test "$withval" != "no"; then
12      if test "$withval" = "yes"; then
13         if test -f /usr/local/include/dbi/dbi.h; then
14            DBI_INCDIR=/usr/local/dbi/include
15            if test -d /usr/local/lib64; then
16               DBI_LIBDIR=/usr/local/lib64
17            else
18               DBI_LIBDIR=/usr/local/lib
19            fi
20            DBI_BINDIR=/usr/local/bin
21         elif test -f /usr/include/dbi/dbi.h; then
22            DBI_INCDIR=/usr/include
23            if test -d /usr/lib64; then
24               DBI_LIBDIR=/usr/lib64
25            else
26               DBI_LIBDIR=/usr/lib
27            fi
28            DBI_BINDIR=/usr/bin      
29         elif test -f $prefix/include/dbi/dbi.h; then
30            DBI_INCDIR=$prefix/include
31            if test -d $prefix/lib64; then
32               DBI_LIBDIR=$prefix/lib64
33            else
34               DBI_LIBDIR=$prefix/lib
35            fi
36            DBI_BINDIR=$prefix/bin      
37         else
38            AC_MSG_RESULT(no)
39            AC_MSG_ERROR(Unable to find dbi.h in standard locations)
40         fi
41         if test -d /usr/local/lib/dbd; then
42            DRIVERDIR=/usr/local/lib/dbd
43            if test -d /usr/local/lib64/dbd; then
44               DRIVERDIR=/usr/local/lib64/dbd
45            else
46               DRIVERDIR=/usr/local/lib/dbd
47            fi
48         elif test -d /usr/lib/dbd; then
49            DRIVERDIR=/usr/lib/dbd
50            if test -d /usr/lib64/dbd; then
51               DRIVERDIR=/usr/lib64/dbd
52            else
53               DRIVERDIR=/usr/lib/dbd
54            fi
55         elif test -d $prefix/lib/dbd; then
56            if test -d $prefix/lib64/dbd; then
57               DRIVERDIR=$prefix/lib64/dbd
58            else
59               DRIVERDIR=$prefix/lib/dbd
60            fi
61         else
62            AC_MSG_RESULT(no)
63            AC_MSG_ERROR(Unable to find DBD drivers in standard locations)
64         fi
65      else
66         if test -f $withval/dbi.h; then
67            DBI_INCDIR=$withval
68            DBI_LIBDIR=$withval
69            DBI_BINDIR=$withval
70         elif test -f $withval/include/dbi/dbi.h; then
71            DBI_INCDIR=$withval/include
72            if test -d $withval/lib64; then
73               DBI_LIBDIR=$withval/lib64
74            else
75               DBI_LIBDIR=$withval/lib
76            fi
77            DBI_BINDIR=$withval/bin
78         else
79            AC_MSG_RESULT(no)
80            AC_MSG_ERROR(Invalid DBI directory $withval - unable to find dbi.h under $withval)
81         fi
82         if test -d $withval/dbd; then
83            DRIVERDIR=$withval/dbd
84         elif test -d $withval/lib/; then
85            if test -d $withval/lib64/dbd; then
86               DRIVERDIR=$withval/lib64/dbd
87            else
88               DRIVERDIR=$withval/lib/dbd
89            fi
90         else
91            AC_MSG_RESULT(no)
92            AC_MSG_ERROR(Invalid DBD driver directory $withval - unable to find DBD drivers under $withval)
93         fi
94      fi
95      SQL_INCLUDE=-I$DBI_INCDIR
96      SQL_LFLAGS="-L$DBI_LIBDIR -ldbi"
97      SQL_BINDIR=$DBI_BINDIR
98      SQL_LIB=$DBI_LIBDIR/libdbi.a
99      DBI_DBD_DRIVERDIR="-D DBI_DRIVER_DIR=\\\"$DRIVERDIR\\\""
100
101      AC_DEFINE(HAVE_DBI)
102      AC_MSG_RESULT(yes)
103      db_found=yes
104      support_dbi=yes
105      db_type=DBI
106      DB_TYPE=dbi
107
108   else
109      AC_MSG_RESULT(no)
110   fi
111 ],[
112   AC_MSG_RESULT(no)
113 ])
114 AC_SUBST(SQL_LFLAGS)
115 AC_SUBST(SQL_INCLUDE)
116 AC_SUBST(SQL_BINDIR)
117 AC_SUBST(DBI_DBD_DRIVERDIR)  
118
119 ])
120
121
122 AC_DEFUN([BA_CHECK_MYSQL_DB],
123 [
124 db_found=no
125 AC_MSG_CHECKING(for MySQL support)
126 AC_ARG_WITH(mysql,
127 [
128   --with-mysql@<:@=DIR@:>@      Include MySQL support.  DIR is the MySQL base
129                           install directory, default is to search through
130                           a number of common places for the MySQL files.],
131 [
132   if test "$withval" != "no"; then
133         if test "$withval" = "yes"; then
134            if test -f /usr/local/mysql/include/mysql/mysql.h; then
135                    MYSQL_INCDIR=/usr/local/mysql/include/mysql
136                    if test -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.a \
137                         -o -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.so; then
138                            MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
139                    else
140                            MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
141                    fi
142                    MYSQL_BINDIR=/usr/local/mysql/bin
143            elif test -f /usr/include/mysql/mysql.h; then
144                    MYSQL_INCDIR=/usr/include/mysql
145                    if test -f /usr/lib64/mysql/libmysqlclient_r.a \
146                         -o -f /usr/lib64/mysql/libmysqlclient_r.so; then  
147                            MYSQL_LIBDIR=/usr/lib64/mysql
148                    elif test -f /usr/lib/mysql/libmysqlclient_r.a \
149                           -o -f /usr/lib/mysql/libmysqlclient_r.so; then
150                            MYSQL_LIBDIR=/usr/lib/mysql
151                    else
152                            MYSQL_LIBDIR=/usr/lib
153                    fi
154                    MYSQL_BINDIR=/usr/bin
155            elif test -f /usr/include/mysql.h; then
156                    MYSQL_INCDIR=/usr/include
157                    if test -f /usr/lib64/libmysqlclient_r.a \
158                         -o -f /usr/lib64/libmysqlclient_r.so; then
159                            MYSQL_LIBDIR=/usr/lib64
160                    else
161                            MYSQL_LIBDIR=/usr/lib
162                    fi
163                    MYSQL_BINDIR=/usr/bin
164            elif test -f /usr/local/include/mysql/mysql.h; then
165                    MYSQL_INCDIR=/usr/local/include/mysql
166                    if test -f /usr/local/lib64/mysql/libmysqlclient_r.a \
167                         -o -f /usr/local/lib64/mysql/libmysqlclient_r.so; then
168                            MYSQL_LIBDIR=/usr/local/lib64/mysql
169                    else
170                            MYSQL_LIBDIR=/usr/local/lib/mysql
171                    fi
172                    MYSQL_BINDIR=/usr/local/bin
173            elif test -f /usr/local/include/mysql.h; then
174                    MYSQL_INCDIR=/usr/local/include
175                    if test -f /usr/local/lib64/libmysqlclient_r.a \
176                         -o -f /usr/local/lib64/libmysqlclient_r.so; then
177                            MYSQL_LIBDIR=/usr/local/lib64
178                    else
179                            MYSQL_LIBDIR=/usr/local/lib
180                    fi
181                    MYSQL_BINDIR=/usr/local/bin
182            else
183               AC_MSG_RESULT(no)
184               AC_MSG_ERROR(Unable to find mysql.h in standard locations)
185            fi
186         else
187            if test -f $withval/include/mysql/mysql.h; then
188               MYSQL_INCDIR=$withval/include/mysql
189               if test -f $withval/lib64/mysql/libmysqlclient_r.a \
190                    -o -f $withval/lib64/mysql/libmysqlclient_r.so; then
191                  MYSQL_LIBDIR=$withval/lib64/mysql
192               else
193                  MYSQL_LIBDIR=$withval/lib/mysql
194                  # Solaris ...
195                  if test -f $withval/lib/libmysqlclient_r.so; then
196                     MYSQL_LIBDIR=$withval/lib
197                  fi
198               fi
199               MYSQL_BINDIR=$withval/bin
200            elif test -f $withval/include/mysql.h; then
201               MYSQL_INCDIR=$withval/include
202               if test -f $withval/lib64/libmysqlclient_r.a \
203                    -o -f $withval/lib64/libmysqlclient_r.so; then
204                  MYSQL_LIBDIR=$withval/lib64
205               else
206                  MYSQL_LIBDIR=$withval/lib
207               fi
208               MYSQL_BINDIR=$withval/bin
209            else
210               AC_MSG_RESULT(no)
211               AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
212            fi
213         fi
214     SQL_INCLUDE=-I$MYSQL_INCDIR
215     if test -f $MYSQL_LIBDIR/libmysqlclient_r.a \
216          -o -f $MYSQL_LIBDIR/libmysqlclient_r.so; then
217        SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz"
218        AC_DEFINE(HAVE_THREAD_SAFE_MYSQL)
219     fi
220     SQL_BINDIR=$MYSQL_BINDIR
221     SQL_LIB=$MYSQL_LIBDIR/libmysqlclient_r.a
222
223     AC_DEFINE(HAVE_MYSQL)
224     AC_MSG_RESULT(yes)
225     db_found=yes
226     support_mysql=yes
227     db_type=MySQL
228     DB_TYPE=mysql
229
230   else
231         AC_MSG_RESULT(no)
232   fi
233 ]
234 )
235
236 AC_ARG_WITH(embedded-mysql,
237 [
238   --with-embedded-mysql@<:@=DIR@:>@ Include MySQL support.  DIR is the MySQL base
239                           install directory, default is to search through
240                           a number of common places for the MySQL files.],
241 [
242   if test "$withval" != "no"; then
243         if test "$withval" = "yes"; then
244                 if test -f /usr/local/mysql/include/mysql/mysql.h; then
245                         MYSQL_INCDIR=/usr/local/mysql/include/mysql
246                         if test -d /usr/local/mysql/lib64/mysql; then
247                                 MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
248                         else
249                                 MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
250                         fi
251                         MYSQL_BINDIR=/usr/local/mysql/bin
252                 elif test -f /usr/include/mysql/mysql.h; then
253                         MYSQL_INCDIR=/usr/include/mysql
254                         if test -d /usr/lib64/mysql; then
255                                 MYSQL_LIBDIR=/usr/lib64/mysql
256                         else
257                                 MYSQL_LIBDIR=/usr/lib/mysql
258                         fi
259                         MYSQL_BINDIR=/usr/bin
260                 elif test -f /usr/include/mysql.h; then
261                         MYSQL_INCDIR=/usr/include
262                         if test -d /usr/lib64; then
263                                 MYSQL_LIBDIR=/usr/lib64
264                         else
265                                 MYSQL_LIBDIR=/usr/lib
266                         fi
267                         MYSQL_BINDIR=/usr/bin
268                 elif test -f /usr/local/include/mysql/mysql.h; then
269                         MYSQL_INCDIR=/usr/local/include/mysql
270                         if test -d /usr/local/lib64/mysql; then
271                                 MYSQL_LIBDIR=/usr/local/lib64/mysql
272                         else
273                                 MYSQL_LIBDIR=/usr/local/lib/mysql
274                         fi
275                         MYSQL_BINDIR=/usr/local/bin
276                 elif test -f /usr/local/include/mysql.h; then
277                         MYSQL_INCDIR=/usr/local/include
278                         if test -d /usr/local/lib64; then
279                                 MYSQL_LIBDIR=/usr/local/lib64
280                         else
281                                 MYSQL_LIBDIR=/usr/local/lib
282                         fi
283                         MYSQL_BINDIR=/usr/local/bin
284                 else
285                    AC_MSG_RESULT(no)
286                    AC_MSG_ERROR(Unable to find mysql.h in standard locations)
287                 fi
288         else
289                 if test -f $withval/include/mysql/mysql.h; then
290                         MYSQL_INCDIR=$withval/include/mysql
291                         if test -d $withval/lib64/mysql; then
292                                 MYSQL_LIBDIR=$withval/lib64/mysql
293                         else
294                                 MYSQL_LIBDIR=$withval/lib/mysql
295                         fi
296                         MYSQL_BINDIR=$withval/bin
297                 elif test -f $withval/include/mysql.h; then
298                         MYSQL_INCDIR=$withval/include
299                         if test -d $withval/lib64; then
300                                 MYSQL_LIBDIR=$withval/lib64
301                         else
302                                 MYSQL_LIBDIR=$withval/lib
303                         fi
304                         MYSQL_BINDIR=$withval/bin
305                 else
306                    AC_MSG_RESULT(no)
307                    AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
308                 fi
309         fi
310     SQL_INCLUDE=-I$MYSQL_INCDIR
311     SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqld -lz -lm -lcrypt"
312     SQL_BINDIR=$MYSQL_BINDIR
313     SQL_LIB=$MYSQL_LIBDIR/libmysqld.a
314
315     AC_DEFINE(HAVE_MYSQL)
316     AC_DEFINE(HAVE_EMBEDDED_MYSQL)
317     AC_MSG_RESULT(yes)
318     db_found=yes
319     support_mysql=yes
320     db_type=MySQL
321     DB_TYPE=mysql
322
323   else
324         AC_MSG_RESULT(no)
325   fi
326 ]
327 )
328
329
330 AC_SUBST(SQL_LFLAGS)
331 AC_SUBST(SQL_INCLUDE)
332 AC_SUBST(SQL_BINDIR)
333   
334 ])
335
336
337 AC_DEFUN([BA_CHECK_SQLITE_DB],
338 [
339 db_found=no
340 AC_MSG_CHECKING(for SQLite support)
341 AC_ARG_WITH(sqlite,
342 [
343   --with-sqlite@<:@=DIR@:>@     Include SQLite support.  DIR is the SQLite base
344                           install directory, default is to search through
345                           a number of common places for the SQLite files.],
346 [
347   if test "$withval" != "no"; then
348      if test "$withval" = "yes"; then
349         if test -f /usr/local/include/sqlite.h; then
350            SQLITE_INCDIR=/usr/local/include
351            if test -d /usr/local/lib64; then
352               SQLITE_LIBDIR=/usr/local/lib64
353            else
354               SQLITE_LIBDIR=/usr/local/lib
355            fi
356            SQLITE_BINDIR=/usr/local/bin
357         elif test -f /usr/include/sqlite.h; then
358            SQLITE_INCDIR=/usr/include
359            if test -d /usr/lib64; then
360               SQLITE_LIBDIR=/usr/lib64
361            else
362               SQLITE_LIBDIR=/usr/lib
363            fi
364            SQLITE_BINDIR=/usr/bin      
365         elif test -f $prefix/include/sqlite.h; then
366            SQLITE_INCDIR=$prefix/include
367            if test -d $prefix/lib64; then
368               SQLITE_LIBDIR=$prefix/lib64
369            else
370               SQLITE_LIBDIR=$prefix/lib
371            fi
372            SQLITE_BINDIR=$prefix/bin      
373         else
374            AC_MSG_RESULT(no)
375            AC_MSG_ERROR(Unable to find sqlite.h in standard locations)
376         fi
377      else
378         if test -f $withval/sqlite.h; then
379            SQLITE_INCDIR=$withval
380            SQLITE_LIBDIR=$withval
381            SQLITE_BINDIR=$withval
382         elif test -f $withval/include/sqlite.h; then
383            SQLITE_INCDIR=$withval/include
384            if test -d $withval/lib64; then
385               SQLITE_LIBDIR=$withval/lib64
386            else
387               SQLITE_LIBDIR=$withval/lib
388            fi
389            SQLITE_BINDIR=$withval/bin
390         else
391            AC_MSG_RESULT(no)
392            AC_MSG_ERROR(Invalid SQLite directory $withval - unable to find sqlite.h under $withval)
393         fi
394      fi
395      SQL_INCLUDE=-I$SQLITE_INCDIR
396      SQL_LFLAGS="-L$SQLITE_LIBDIR -lsqlite"
397      SQL_BINDIR=$SQLITE_BINDIR
398      SQL_LIB=$SQLITE_LIBDIR/libsqlite.a
399
400      AC_DEFINE(HAVE_SQLITE)
401      AC_MSG_RESULT(yes)
402      db_found=yes
403      support_sqlite=yes
404      db_type=SQLite
405      DB_TYPE=sqlite
406
407   else
408      AC_MSG_RESULT(no)
409   fi
410 ],[
411   AC_MSG_RESULT(no)
412 ])
413 AC_SUBST(SQL_LFLAGS)
414 AC_SUBST(SQL_INCLUDE)
415 AC_SUBST(SQL_BINDIR)
416   
417 ])
418
419 AC_DEFUN([BA_CHECK_SQLITE3_DB],
420 [
421 db_found=no
422 AC_MSG_CHECKING(for SQLite3 support)
423 AC_ARG_WITH(sqlite3,
424 [
425   --with-sqlite3@<:@=DIR@:>@    Include SQLite3 support.  DIR is the SQLite3 base
426                           install directory, default is to search through
427                           a number of common places for the SQLite3 files.],
428 [
429   if test "$withval" != "no"; then
430      if test "$withval" = "yes"; then
431         if test -f /usr/local/include/sqlite3.h; then
432            SQLITE_INCDIR=/usr/local/include
433            if test -d /usr/local/lib64; then
434               SQLITE_LIBDIR=/usr/local/lib64
435            else
436               SQLITE_LIBDIR=/usr/local/lib
437            fi
438            SQLITE_BINDIR=/usr/local/bin
439         elif test -f /usr/include/sqlite3.h; then
440            SQLITE_INCDIR=/usr/include
441            if test -d /usr/lib64; then
442               SQLITE_LIBDIR=/usr/lib64
443            else
444               SQLITE_LIBDIR=/usr/lib
445            fi
446            SQLITE_BINDIR=/usr/bin      
447         elif test -f $prefix/include/sqlite3.h; then
448            SQLITE_INCDIR=$prefix/include
449            if test -d $prefix/lib64; then
450               SQLITE_LIBDIR=$prefix/lib64
451            else
452               SQLITE_LIBDIR=$prefix/lib
453            fi
454            SQLITE_BINDIR=$prefix/bin      
455         else
456            AC_MSG_RESULT(no)
457            AC_MSG_ERROR(Unable to find sqlite3.h in standard locations)
458         fi
459      else
460         if test -f $withval/sqlite3.h; then
461            SQLITE_INCDIR=$withval
462            SQLITE_LIBDIR=$withval
463            SQLITE_BINDIR=$withval
464         elif test -f $withval/include/sqlite3.h; then
465            SQLITE_INCDIR=$withval/include
466            if test -d $withval/lib64; then
467               SQLITE_LIBDIR=$withval/lib64
468            else
469               SQLITE_LIBDIR=$withval/lib
470            fi
471            SQLITE_BINDIR=$withval/bin
472         else
473            AC_MSG_RESULT(no)
474            AC_MSG_ERROR(Invalid SQLite3 directory $withval - unable to find sqlite3.h under $withval)
475         fi
476      fi
477      SQL_INCLUDE=-I$SQLITE_INCDIR
478      SQL_LFLAGS="-L$SQLITE_LIBDIR -lsqlite3"
479      SQL_BINDIR=$SQLITE_BINDIR
480      SQL_LIB=$SQLITE_LIBDIR/libsqlite3.a
481
482      AC_DEFINE(HAVE_SQLITE3)
483      AC_MSG_RESULT(yes)
484      db_found=yes
485      support_sqlite3=yes
486      db_type=SQLite3
487      DB_TYPE=sqlite3
488
489   else
490      AC_MSG_RESULT(no)
491   fi
492 ],[
493   AC_MSG_RESULT(no)
494 ])
495 AC_SUBST(SQL_LFLAGS)
496 AC_SUBST(SQL_INCLUDE)
497 AC_SUBST(SQL_BINDIR)
498   
499 ])
500
501
502
503 AC_DEFUN([BA_CHECK_POSTGRESQL_DB],
504 [
505 db_found=no
506 AC_MSG_CHECKING(for PostgreSQL support)
507 AC_ARG_WITH(postgresql,
508 [  --with-postgresql@<:@=DIR@:>@      Include PostgreSQL support.  DIR is the PostgreSQL
509                           base install directory, defaults to /usr/local/pgsql],
510 [
511   if test "$withval" != "no"; then
512       if test "$db_found" = "yes"; then
513           AC_MSG_RESULT(error)
514           AC_MSG_ERROR("You can configure for only one database.");
515       fi
516       if test "$withval" = "yes"; then
517           PG_CONFIG=`which pg_config`
518           if test -n "$PG_CONFIG";then
519               POSTGRESQL_INCDIR=`"$PG_CONFIG" --includedir`
520               POSTGRESQL_LIBDIR=`"$PG_CONFIG" --libdir`
521               POSTGRESQL_BINDIR=`"$PG_CONFIG" --bindir`
522           elif test -f /usr/local/include/libpq-fe.h; then
523               POSTGRESQL_INCDIR=/usr/local/include
524               if test -d /usr/local/lib64; then
525                  POSTGRESQL_LIBDIR=/usr/local/lib64
526               else
527                  POSTGRESQL_LIBDIR=/usr/local/lib
528               fi
529               POSTGRESQL_BINDIR=/usr/local/bin
530           elif test -f /usr/include/libpq-fe.h; then
531               POSTGRESQL_INCDIR=/usr/include
532               if test -d /usr/lib64; then
533                  POSTGRESQL_LIBDIR=/usr/lib64
534               else
535                  POSTGRESQL_LIBDIR=/usr/lib
536               fi
537               POSTGRESQL_BINDIR=/usr/bin
538           elif test -f /usr/include/pgsql/libpq-fe.h; then
539               POSTGRESQL_INCDIR=/usr/include/pgsql
540               if test -d /usr/lib64/pgsql; then
541                  POSTGRESQL_LIBDIR=/usr/lib64/pgsql
542               else
543                  POSTGRESQL_LIBDIR=/usr/lib/pgsql
544               fi
545               POSTGRESQL_BINDIR=/usr/bin
546           elif test -f /usr/include/postgresql/libpq-fe.h; then
547               POSTGRESQL_INCDIR=/usr/include/postgresql
548               if test -d /usr/lib64/postgresql; then
549                  POSTGRESQL_LIBDIR=/usr/lib64/postgresql
550               else
551                  POSTGRESQL_LIBDIR=/usr/lib/postgresql
552               fi
553               POSTGRESQL_BINDIR=/usr/bin
554           else
555               AC_MSG_RESULT(no)
556               AC_MSG_ERROR(Unable to find libpq-fe.h in standard locations)
557           fi
558       elif test -f $withval/include/libpq-fe.h; then
559           POSTGRESQL_INCDIR=$withval/include
560           POSTGRESQL_LIBDIR=$withval/lib
561           POSTGRESQL_BINDIR=$withval/bin
562       elif test -f $withval/include/postgresql/libpq-fe.h; then
563           POSTGRESQL_INCDIR=$withval/include/postgresql
564      if test -d $withval/lib64; then
565          POSTGRESQL_LIBDIR=$withval/lib64
566      else
567          POSTGRESQL_LIBDIR=$withval/lib
568      fi
569           POSTGRESQL_BINDIR=$withval/bin
570       else
571           AC_MSG_RESULT(no)
572           AC_MSG_ERROR(Invalid PostgreSQL directory $withval - unable to find libpq-fe.h under $withval)
573       fi
574       POSTGRESQL_LFLAGS="-L$POSTGRESQL_LIBDIR -lpq"
575       AC_CHECK_FUNC(crypt, , AC_CHECK_LIB(crypt, crypt, [POSTGRESQL_LFLAGS="$POSTGRESQL_LFLAGS -lcrypt"]))
576       SQL_INCLUDE=-I$POSTGRESQL_INCDIR
577       SQL_LFLAGS=$POSTGRESQL_LFLAGS
578       SQL_BINDIR=$POSTGRESQL_BINDIR
579       SQL_LIB=$POSTGRESQL_LIBDIR/libpq.a
580
581       AC_DEFINE(HAVE_POSTGRESQL)
582       AC_MSG_RESULT(yes)
583       db_found=yes
584       support_postgresql=yes
585       db_type=PostgreSQL
586       DB_TYPE=postgresql
587   else
588       AC_MSG_RESULT(no)
589   fi
590 ],[
591   AC_MSG_RESULT(no)
592 ])
593 AC_SUBST(SQL_LFLAGS)
594 AC_SUBST(SQL_INCLUDE)
595 AC_SUBST(SQL_BINDIR)
596
597 ])
598
599
600
601 AC_DEFUN([BA_CHECK_SQL_DB], 
602 [AC_MSG_CHECKING(Checking for various databases)
603 dnl# --------------------------------------------------------------------------
604 dnl# CHECKING FOR VARIOUS DATABASES (thanks to UdmSearch team)
605 dnl# --------------------------------------------------------------------------
606 dnl Check for some DBMS backend
607 dnl NOTE: we can use only one backend at a time
608 db_found=no
609 DB_TYPE=none
610
611 if test x$support_mysql = xyes; then
612    cats=cats
613 fi
614
615 AC_MSG_CHECKING(for Berkeley DB support)
616 AC_ARG_WITH(berkeleydb,
617 [
618   --with-berkeleydb@<:@=DIR@:>@ Include Berkeley DB support.  DIR is the Berkeley DB base
619                           install directory, default is to search through
620                           a number of common places for the DB files.],
621 [
622   if test "$withval" != "no"; then
623         if test "$withval" = "yes"; then
624                 if test -f /usr/include/db.h; then
625                         BERKELEYDB_INCDIR=/usr/include
626                         if test -d /usr/lib64; then
627                                 BERKELEYDB_LIBDIR=/usr/lib64
628                         else
629                                 BERKELEYDB_LIBDIR=/usr/lib
630                         fi
631                 else
632                 AC_MSG_RESULT(no)
633                 AC_MSG_ERROR(Invalid Berkeley DB directory - unable to find db.h)
634                 fi
635         else
636                 if test -f $withval/include/db.h; then
637                         BERKELEYDB_INCDIR=$withval/include
638                         if test -d $withval/lib64; then
639                                 BERKELEYDB_LIBDIR=$withval/lib64
640                         else
641                                 BERKELEYDB_LIBDIR=$withval/lib
642                         fi
643                 else
644                 AC_MSG_RESULT(no)
645                 AC_MSG_ERROR(Invalid Berkeley DB directory - unable to find db.h under $withval)
646                 fi
647         fi
648     SQL_INCLUDE=-I$BERKELEYDB_INCDIR
649     SQL_LFLAGS="-L$BERKELEYDB_LIBDIR -ldb"
650
651     AC_DEFINE(HAVE_BERKELEY_DB)
652     AC_MSG_RESULT(yes)
653     have_db=yes
654     support_mysql=yes
655     DB_TYPE=BerkelyDB
656
657   else
658         AC_MSG_RESULT(no)
659   fi
660 ],[
661   AC_MSG_RESULT(no)
662 ])
663 AC_SUBST(SQL_LFLAGS)
664 AC_SUBST(SQL_INCLUDE)
665
666 if test x$support_berkleydb = xyes; then
667    cats=cats
668 fi
669
670
671
672
673 AC_MSG_CHECKING(for mSQL support)
674 AC_ARG_WITH(msql,
675 [  --with-msql@<:@=DIR@:>       Include mSQL support.  DIR is the mSQL base
676                           install directory, defaults to /usr/local/Hughes.],
677 [
678   if test "$withval" != "no"; then
679     if test "$have_db" = "yes"; then
680         AC_MSG_RESULT(error)
681         AC_MSG_ERROR("You can configure for only one database.");
682     fi
683
684     if test "$withval" = "yes"; then
685         MSQL_INCDIR=/usr/local/Hughes/include
686         if test -d /usr/local/Hughes/lib64; then
687             MSQL_LIBDIR=/usr/local/Hughes/lib64
688         else
689             MSQL_LIBDIR=/usr/local/Hughes/lib
690         fi
691     else
692         MSQL_INCDIR=$withval/include
693         if test -d $withval/lib64; then
694             MSQL_LIBDIR=$withval/lib64
695         else
696             MSQL_LIBDIR=$withval/lib
697         fi
698     fi
699     MSQL_INCLUDE=-I$MSQL_INCDIR
700     MSQL_LFLAGS="-L$MSQL_LIBDIR -lmsql"
701
702     AC_DEFINE(HAVE_MSQL)
703     AC_MSG_RESULT(yes)
704     have_db=yes
705   else
706         AC_MSG_RESULT(no)
707   fi
708 ],[
709   AC_MSG_RESULT(no)
710 ])
711 AC_SUBST(MSQL_LFLAGS)
712 AC_SUBST(MSQL_INCLUDE)
713
714
715 AC_MSG_CHECKING(for iODBC support)
716 AC_ARG_WITH(iodbc,
717 [  --with-iodbc@<:@=DIR@:>      Include iODBC support.  DIR is the iODBC base
718                           install directory, defaults to /usr/local.],
719 [
720         if test "$withval" != "no"; then
721             if test "$have_db" = "yes"; then
722                 AC_MSG_RESULT(error)
723                 AC_MSG_ERROR("You can configure for only one database.");
724             fi
725         fi
726         
727         if test "$withval" = "yes"; then
728                 withval=/usr/local
729         fi
730
731         if test "$withval" != "no"; then
732                 if test -f $withval/include/isql.h; then
733                         IODBC_INCDIR=$withval/include
734                         if test -d $withval/lib64; then
735                                 IODBC_LIBDIR=$withval/lib64
736                         else
737                                 IODBC_LIBDIR=$withval/lib
738                         fi
739                 else
740                         AC_MSG_RESULT(no)
741                         AC_MSG_ERROR(Invalid iODBC directory - unable to find isql.h)
742                 fi
743                 IODBC_LFLAGS="-L$IODBC_LIBDIR -liodbc"
744                 IODBC_INCLUDE=-I$IODBC_INCDIR
745                 AC_DEFINE(HAVE_IODBC)
746                 AC_MSG_RESULT(yes)
747                 have_db=yes
748         fi
749 ],[
750         AC_MSG_RESULT(no)
751 ])
752 AC_SUBST(IODBC_LFLAGS)
753 AC_SUBST(IODBC_INCLUDE)
754
755
756 AC_MSG_CHECKING(for unixODBC support)
757 AC_ARG_WITH(unixODBC,
758 [  --with-unixODBC@<:@=DIR@:>   Include unixODBC support.  DIR is the unixODBC base
759                           install directory, defaults to /usr/local.],
760 [
761         if test "$withval" != "no"; then
762             if test "$have_db" = "yes"; then
763                 AC_MSG_RESULT(error)
764                 AC_MSG_ERROR("You can configure for only one database.");
765             fi
766         fi
767         
768         if test "$withval" = "yes"; then
769                 withval=/usr/local
770         fi
771
772         if test "$withval" != "no"; then
773                 if test -f $withval/include/sql.h; then
774                         UNIXODBC_INCDIR=$withval/include
775                         if test -d $withval/lib64; then
776                                 UNIXODBC_LIBDIR=$withval/lib64
777                         else
778                                 UNIXODBC_LIBDIR=$withval/lib
779                         fi
780                 else
781                         AC_MSG_RESULT(no)
782                         AC_MSG_ERROR(Invalid unixODBC directory - unable to find sql.h)
783                 fi
784                 UNIXODBC_LFLAGS="-L$UNIXODBC_LIBDIR -lodbc"
785                 UNIXODBC_INCLUDE=-I$UNIXODBC_INCDIR
786                 AC_DEFINE(HAVE_UNIXODBC)
787                 AC_MSG_RESULT(yes)
788                 have_db=yes
789         fi
790 ],[
791         AC_MSG_RESULT(no)
792 ])
793 AC_SUBST(UNIXODBC_LFLAGS)
794 AC_SUBST(UNIXODBC_INCLUDE)
795
796
797 AC_MSG_CHECKING(for Solid support)
798 AC_ARG_WITH(solid,
799 [  --with-solid@<:@=DIR@:>      Include Solid support.  DIR is the Solid base
800                           install directory, defaults to /usr/local.],
801 [
802         if test "$withval" != "no"; then
803             if test "$have_db" = "yes"; then
804                 AC_MSG_RESULT(error)
805                 AC_MSG_ERROR("You can configure for only one database.");
806             fi
807         fi
808
809         if test "$withval" = "yes"; then
810                 withval=/usr/local
811         fi
812
813         if test "$withval" != "no"; then
814                 if test -f $withval/include/cli0cli.h; then
815                         SOLID_INCDIR=$withval/include
816                         if test -d $withval/lib64; then
817                                 SOLID_LIBDIR=$withval/lib64
818                         else
819                                 SOLID_LIBDIR=$withval/lib
820                         fi
821                 else
822                         AC_MSG_RESULT(no)
823                         AC_MSG_ERROR(Invalid Solid directory - unable to find cli0cli.h)
824                 fi
825                 SOLID_LFLAGS="-L$SOLID_LIBDIR -lsolcli"
826                 SOLID_INCLUDE="-I$SOLID_INCDIR"
827                 AC_DEFINE(HAVE_SOLID)
828                 AC_MSG_RESULT(yes)
829                 have_db=yes
830         fi
831 ],[
832         AC_MSG_RESULT(no)
833 ])
834 AC_SUBST(SOLID_LFLAGS)
835 AC_SUBST(SOLID_INCLUDE)
836
837 AC_MSG_CHECKING(for OpenLink ODBC support)
838 AC_ARG_WITH(openlink,
839 [  --with-openlink@<:@=DIR@:>   Include OpenLink ODBC support. 
840                           DIR is the base OpenLink ODBC install directory],
841 [
842   if test "$withval" != "no"; then
843         if test "$withval" = "yes"; then
844
845                 if test "$have_db" = "yes"; then
846                         AC_MSG_RESULT(error)
847                         AC_MSG_ERROR("You can configure for only one database.");
848                 fi
849
850                 if test -f /usr/local/virtuoso-ent/odbcsdk/include/isql.h; then
851                         VIRT_INCDIR=/usr/local/virtuoso-ent/odbcsdk/include/
852                         if test -d /usr/local/virtuoso-ent/odbcsdk/lib64/; then
853                                 VIRT_LIBDIR=/usr/local/virtuoso-ent/odbcsdk/lib64/
854                         else
855                                 VIRT_LIBDIR=/usr/local/virtuoso-ent/odbcsdk/lib/
856                         fi
857                 elif test -f /usr/local/virtuoso-lite/odbcsdk/include/isql.h; then
858                         VIRT_INCDIR=/usr/local/virtuoso-lite/odbcsdk/include/
859                         if test -d /usr/local/virtuoso-lite/odbcsdk/lib64/; then
860                                 VIRT_LIBDIR=/usr/local/virtuoso-lite/odbcsdk/lib64/
861                         else
862                                 VIRT_LIBDIR=/usr/local/virtuoso-lite/odbcsdk/lib/
863                         fi
864                 elif test -f /usr/local/virtuoso/odbcsdk/include/isql.h; then
865                         VIRT_INCDIR=/usr/local/virtuoso/odbcsdk/include/
866                         if test -d /usr/local/virtuoso/odbcsdk/lib64/; then
867                                 VIRT_LIBDIR=/usr/local/virtuoso/odbcsdk/lib64/
868                         else
869                                 VIRT_LIBDIR=/usr/local/virtuoso/odbcsdk/lib/
870                         fi
871                 else
872                 AC_MSG_RESULT(no)
873                 AC_MSG_ERROR(Invalid OpenLink ODBC directory - unable to find isql.h)
874                 fi
875         else
876                 if test -f $withval/odbcsdk/include/isql.h; then
877                         VIRT_INCDIR=$withval/odbcsdk/include/
878                         if test -d $withval/odbcsdk/lib64/; then
879                                 VIRT_LIBDIR=$withval/odbcsdk/lib64/
880                         else
881                                 VIRT_LIBDIR=$withval/odbcsdk/lib/
882                         fi
883                 elif test -f $withval/include/isql.h; then
884                         VIRT_INCDIR=$withval/include/
885                         if test -d $withval/lib64/; then
886                                 VIRT_LIBDIR=$withval/lib64/
887                         else
888                                 VIRT_LIBDIR=$withval/lib/
889                         fi
890                 else
891                 AC_MSG_RESULT(no)
892                 AC_MSG_ERROR(Invalid OpenLink ODBC directory - unable to find isql.h under $withval)
893                 fi
894         fi
895     VIRT_INCLUDE=-I$VIRT_INCDIR
896     VIRT_LFLAGS="-L$VIRT_LIBDIR -liodbc"
897
898     AC_DEFINE(HAVE_VIRT)
899     AC_MSG_RESULT(yes)
900     have_db=yes
901
902   else
903         AC_MSG_RESULT(no)
904   fi
905 ],[
906   AC_MSG_RESULT(no)
907 ])
908 AC_SUBST(VIRT_LFLAGS)
909 AC_SUBST(VIRT_INCLUDE)
910
911
912 AC_MSG_CHECKING(for EasySoft ODBC support)
913 AC_ARG_WITH(easysoft,
914 [  --with-easysoft@<:@=DIR@:>   Include EasySoft ODBC support. 
915                           DIR is the base EasySoft ODBC install directory],
916 [
917   if test "$withval" != "no"; then
918         if test "$withval" = "yes"; then
919
920                 if test "$have_db" = "yes"; then
921                         AC_MSG_RESULT(error)
922                         AC_MSG_ERROR("You can configure for only one database.");
923                 fi
924
925                 if test -f /usr/local/easysoft/oob/client/include/sql.h; then
926                         EASYSOFT_INCDIR=/usr/local/easysoft/oob/client/include/
927                         if test -d /usr/local/easysoft/oob/client/lib64/; then
928                                 EASYSOFT_LFLAGS="-L/usr/local/easysoft/oob/client/lib64/ -L/usr/local/easysoft/lib64"
929                         else
930                                 EASYSOFT_LFLAGS="-L/usr/local/easysoft/oob/client/lib/ -L/usr/local/easysoft/lib"
931                         fi
932                 else
933                 AC_MSG_RESULT(no)
934                 AC_MSG_ERROR(Invalid EasySoft ODBC directory - unable to find sql.h)
935                 fi
936         else
937                 if test -f $withval/easysoft/oob/client/include/sql.h; then
938                         EASYSOFT_INCDIR=$withval/easysoft/oob/client/include/
939                         if test -d $withval/easysoft/oob/client/lib64/; then
940                                 EASYSOFT_LFLAGS="-L$withval/easysoft/oob/client/lib64/ -L$withval/easysoft/lib64"
941                         else
942                                 EASYSOFT_LFLAGS="-L$withval/easysoft/oob/client/lib/ -L$withval/easysoft/lib"
943                         fi
944                 else
945                 AC_MSG_RESULT(no)
946                 AC_MSG_ERROR(Invalid EasySoft ODBC directory - unable to find sql.h under $withval)
947                 fi
948         fi
949     EASYSOFT_INCLUDE=-I$EASYSOFT_INCDIR
950     EASYSOFT_LFLAGS="$EASYSOFT_LFLAGS -lesoobclient -lesrpc -lsupport -lextra"
951
952     AC_DEFINE(HAVE_EASYSOFT)
953     AC_MSG_RESULT(yes)
954     have_db=yes
955
956   else
957         AC_MSG_RESULT(no)
958   fi
959 ],[
960   AC_MSG_RESULT(no)
961 ])
962 AC_SUBST(EASYSOFT_LFLAGS)
963 AC_SUBST(EASYSOFT_INCLUDE)
964
965
966
967 AC_MSG_CHECKING(for InterBase support)
968 AC_ARG_WITH(ibase,
969 [  --with-ibase@<:@=DIR@:>      Include InterBase support.  DIR is the InterBase
970                           install directory, defaults to /usr/interbase.],
971 [
972         if test "$withval" != "no"; then
973             if test "$have_db" = "yes"; then
974                 AC_MSG_RESULT(error)
975                 AC_MSG_ERROR("You can configure for only one database.");
976             fi
977         fi
978         
979         if test "$withval" = "yes"; then
980                 withval=/usr/interbase
981         fi
982
983         if test "$withval" != "no"; then
984                 if test -f $withval/include/ibase.h; then
985                         IBASE_INCDIR=$withval/include
986                         if test -d $withval/lib64; then
987                                 IBASE_LIBDIR=$withval/lib64
988                         else
989                                 IBASE_LIBDIR=$withval/lib
990                         fi
991                 else
992                         AC_MSG_RESULT(no)
993                         AC_MSG_ERROR(Invalid InterBase directory - unable to find ibase.h)
994                 fi
995                 IBASE_LFLAGS="-L$IBASE_LIBDIR -lgds"
996                 IBASE_INCLUDE=-I$IBASE_INCDIR
997                 AC_DEFINE(HAVE_IBASE)
998                 AC_MSG_RESULT(yes)
999                 have_db=yes
1000         fi
1001 ],[
1002         AC_MSG_RESULT(no)
1003 ])
1004 AC_SUBST(IBASE_LFLAGS)
1005 AC_SUBST(IBASE_INCLUDE)
1006
1007 AC_MSG_CHECKING(for Oracle8 support)
1008 AC_ARG_WITH(oracle8,
1009 [  --with-oracle8@<:@=DIR@:>    Include Oracle8 support.  DIR is the Oracle
1010                           home directory, defaults to $ORACLE_HOME or
1011                           /oracle8/app/oracle/product/8.0.5.],
1012 [
1013         if test "$withval" != "no"; then
1014             if test "$have_db" = "yes"; then
1015                 AC_MSG_RESULT(error)
1016                 AC_MSG_ERROR("You can configure for only one database.");
1017             fi
1018         fi
1019
1020         if test "$withval" = "yes"; then
1021                 withval="$ORACLE_HOME"
1022                 if test "$withval" = ""; then
1023                         withval=/oracle8/app/oracle/product/8.0.5
1024                 fi
1025         fi
1026
1027         if test "$withval" != "no"; then
1028                 if test -f $withval/rdbms/demo/oci.h; then
1029                         ORACLE8_INCDIR1=$withval/rdbms/demo/
1030                         ORACLE8_INCDIR2=$withval/rdbms/public/:
1031                         ORACLE8_INCDIR3=$withval/network/public/
1032                         ORACLE8_INCDIR4=$withval/plsql/public/
1033                         if test -d $withval/lib64; then
1034                                 ORACLE8_LIBDIR1=$withval/lib64
1035                         else
1036                                 ORACLE8_LIBDIR1=$withval/lib
1037                         fi
1038                         if test -d $withval/rdbms/lib64; then
1039                                ORACLE8_LIBDIR2=$withval/rdbms/lib64
1040                         else
1041                                 ORACLE8_LIBDIR2=$withval/rdbms/lib
1042                         fi
1043                 else
1044                         AC_MSG_RESULT(no)
1045                         AC_MSG_ERROR(Invalid ORACLE directory - unable to find oci.h)
1046                 fi
1047                 if test -f $withval/lib64/libclntsh.so; then
1048                         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"
1049                 else
1050                         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"
1051                 fi
1052                 ORACLE8_INCLUDE="-I$ORACLE8_INCDIR1 -I$ORACLE8_INCDIR2 -I$ORACLE8_INCDIR3 -I$ORACLE8_INCDIR4"
1053                 AC_DEFINE(HAVE_ORACLE8)
1054                 AC_MSG_RESULT(yes)
1055                 have_db=yes
1056         fi
1057 ],[
1058         AC_MSG_RESULT(no)
1059 ])
1060 AC_SUBST(ORACLE8_LFLAGS)
1061 AC_SUBST(ORACLE8_INCLUDE)
1062
1063
1064 AC_MSG_CHECKING(for Oracle7 support)
1065 AC_ARG_WITH(oracle7,
1066 [  --with-oracle7@<:@=DIR@:>    Include Oracle 7.3 support.  DIR is the Oracle
1067                           home directory, defaults to 
1068                           ORACLE_HOME [$ORACLE_HOME]],
1069 [
1070         if test "$withval" != "no"; then
1071             if test "$have_db" = "yes"; then
1072                 AC_MSG_RESULT(error)
1073                 AC_MSG_ERROR("You can configure for only one database.");
1074             fi
1075         fi
1076
1077         if test "$withval" = "yes"; then
1078                 withval="$ORACLE_HOME"
1079         fi
1080
1081         if test "$withval" != "no"; then
1082                 if test -f $withval/rdbms/demo/ocidfn.h; then
1083                         ORACLE7_INCDIR=$withval/rdbms/demo/
1084                         if test -d $withval/lib64; then
1085                                 ORACLE7_LIBDIR1=$withval/lib64
1086                         else
1087                                 ORACLE7_LIBDIR1=$withval/lib
1088                         fi
1089                         if test -d $withval/rdbms/lib64; then
1090                                 ORACLE7_LIBDIR2=$withval/rdbms/lib64
1091                         else
1092                                 ORACLE7_LIBDIR2=$withval/rdbms/lib
1093                         fi
1094                 else
1095                         AC_MSG_RESULT(no)
1096                         AC_MSG_ERROR(Invalid ORACLE directory - unable to find ocidfn.h)
1097                 fi
1098
1099         ORACLEINST_TOP=$withval
1100         if test -f "$ORACLEINST_TOP/rdbms/lib/sysliblist"
1101         then
1102           ORA_SYSLIB="`cat $ORACLEINST_TOP/rdbms/lib/sysliblist`"
1103         elif test -f "$ORACLEINST_TOP/rdbms/lib64/sysliblist"
1104         then
1105           ORA_SYSLIB="`cat $ORACLEINST_TOP/rdbms/lib64/sysliblist`"
1106         elif test -f "$ORACLEINST_TOP/lib/sysliblist"
1107             then
1108           ORA_SYSLIB="`cat $ORACLEINST_TOP/lib/sysliblist`"
1109         elif test -f "$ORACLEINST_TOP/lib64/sysliblist"
1110             then
1111           ORA_SYSLIB="`cat $ORACLEINST_TOP/lib64/sysliblist`"
1112         else
1113           ORA_SYSLIB="-lm"
1114         fi
1115           
1116                 ORACLE7_LFLAGS="-L$ORACLE7_LIBDIR1 -L$ORACLE7_LIBDIR2 \
1117             -lclient -lsqlnet -lncr -lsqlnet -lclient -lcommon \
1118             -lgeneric -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric \
1119             -lepc -lnlsrtl3 -lc3v6 -lcore3 -lnlsrtl3 -lcore3 -lnlsrtl3 \
1120             $ORA_SYSLIB -lcore3 $ORA_SYSLIB"
1121                 ORACLE7_INCLUDE="-I$ORACLE7_INCDIR "
1122                 AC_DEFINE(HAVE_ORACLE7)
1123                 AC_MSG_RESULT(yes)
1124                 have_db=yes
1125         fi
1126 ],[
1127         AC_MSG_RESULT(no)
1128 ])
1129 AC_SUBST(ORACLE7_LFLAGS)
1130 AC_SUBST(ORACLE7_INCLUDE)
1131 ])
1132   
1133
1134 AC_DEFUN([AM_CONDITIONAL],
1135 [AC_SUBST($1_TRUE)
1136 AC_SUBST($1_FALSE)
1137 if $2; then
1138   $1_TRUE=
1139   $1_FALSE='#'
1140 else
1141   $1_TRUE='#'
1142   $1_FALSE=
1143 fi])