]> git.sur5r.net Git - bacula/bacula/blob - bacula/autoconf/bacula-macros/db.m4
Backport of class based catalog backends into Branch-5.1.
[bacula/bacula] / bacula / autoconf / bacula-macros / db.m4
1 AC_DEFUN([BA_CHECK_DBI_DB],
2 [
3 AC_MSG_CHECKING(for DBI support)
4 AC_ARG_WITH(dbi,
5 AC_HELP_STRING([--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.]),
6 [
7   if test "$withval" != "no"; then
8      if test "$withval" = "yes"; then
9         if test -f /usr/local/include/dbi/dbi.h; then
10            DBI_INCDIR=/usr/local/dbi/include
11            if test -d /usr/local/lib64; then
12               DBI_LIBDIR=/usr/local/lib64
13            else
14               DBI_LIBDIR=/usr/local/lib
15            fi
16            DBI_BINDIR=/usr/local/bin
17         elif test -f /usr/include/dbi/dbi.h; then
18            DBI_INCDIR=/usr/include
19            if test -d /usr/lib64; then
20               DBI_LIBDIR=/usr/lib64
21            else
22               DBI_LIBDIR=/usr/lib
23            fi
24            DBI_BINDIR=/usr/bin      
25         elif test -f $prefix/include/dbi/dbi.h; then
26            DBI_INCDIR=$prefix/include
27            if test -d $prefix/lib64; then
28               DBI_LIBDIR=$prefix/lib64
29            else
30               DBI_LIBDIR=$prefix/lib
31            fi
32            DBI_BINDIR=$prefix/bin      
33         else
34            AC_MSG_RESULT(no)
35            AC_MSG_ERROR(Unable to find dbi.h in standard locations)
36         fi
37         if test -d /usr/local/lib/dbd; then
38            DRIVERDIR=/usr/local/lib/dbd
39            if test -d /usr/local/lib64/dbd; then
40               DRIVERDIR=/usr/local/lib64/dbd
41            else
42               DRIVERDIR=/usr/local/lib/dbd
43            fi
44         elif test -d /usr/lib/dbd; then
45            DRIVERDIR=/usr/lib/dbd
46            if test -d /usr/lib64/dbd; then
47               DRIVERDIR=/usr/lib64/dbd
48            else
49               DRIVERDIR=/usr/lib/dbd
50            fi
51         elif test -d $prefix/lib/dbd; then
52            if test -d $prefix/lib64/dbd; then
53               DRIVERDIR=$prefix/lib64/dbd
54            else
55               DRIVERDIR=$prefix/lib/dbd
56            fi
57         elif test -d /usr/local/lib64/dbd; then
58            DRIVERDIR=/usr/local/lib64/dbd
59         elif test -d /usr/lib64/dbd; then
60            DRIVERDIR=/usr/lib64/dbd
61         elif test -d $prefix/lib64/dbd; then
62            DRIVERDIR=$prefix/lib64/dbd
63         else
64            AC_MSG_RESULT(no)
65            AC_MSG_ERROR(Unable to find DBD drivers in standard locations)
66         fi
67      else
68         if test -f $withval/dbi.h; then
69            DBI_INCDIR=$withval
70            DBI_LIBDIR=$withval
71            DBI_BINDIR=$withval
72         elif test -f $withval/include/dbi/dbi.h; then
73            DBI_INCDIR=$withval/include
74            if test -d $withval/lib64; then
75               DBI_LIBDIR=$withval/lib64
76            else
77               DBI_LIBDIR=$withval/lib
78            fi
79            DBI_BINDIR=$withval/bin
80         else
81            AC_MSG_RESULT(no)
82            AC_MSG_ERROR(Invalid DBI directory $withval - unable to find dbi.h under $withval)
83         fi
84         if test -d $withval/dbd; then
85            DRIVERDIR=$withval/dbd
86         elif test -d $withval/lib/; then
87            if test -d $withval/lib64/dbd; then
88               DRIVERDIR=$withval/lib64/dbd
89            else
90               DRIVERDIR=$withval/lib/dbd
91            fi
92         elif test -d $withval/lib64/dbd; then
93            DRIVERDIR=$withval/lib64/dbd
94         else
95            AC_MSG_RESULT(no)
96            AC_MSG_ERROR(Invalid DBD driver directory $withval - unable to find DBD drivers under $withval)
97         fi
98      fi
99      DBI_INCLUDE=-I$DBI_INCDIR
100      DBI_LIBS="-R $DBI_LIBDIR -L$DBI_LIBDIR -ldbi"
101      DBI_LIB=$DBI_LIBDIR/libdbi.a
102      DBI_DBD_DRIVERDIR="-D DBI_DRIVER_DIR=\\\"$DRIVERDIR\\\""
103      DB_LIBS="${DB_LIBS} ${DBI_LIBS}"
104
105      AC_DEFINE(HAVE_DBI, 1, [Set if you have the DBI driver])
106      AC_MSG_RESULT(yes)
107
108      if test -z "${db_backends}"; then
109          db_backends="DBI"
110      else
111          db_backends="${db_backends} DBI"
112      fi
113      if test -z "${DB_BACKENDS}" ; then
114         DB_BACKENDS="dbi"
115      else
116         DB_BACKENDS="${DB_BACKENDS} dbi"
117      fi
118      uncomment_dbi=" "
119
120   else
121      AC_MSG_RESULT(no)
122   fi
123 ],[
124   AC_MSG_RESULT(no)
125 ])
126
127 AC_SUBST(DBI_LIBS)
128 AC_SUBST(DBI_INCLUDE)
129 AC_SUBST(DBI_BINDIR)
130 AC_SUBST(DBI_DBD_DRIVERDIR)  
131 AC_SUBST(uncomment_dbi)
132
133 ])
134
135 AC_DEFUN([BA_CHECK_DBI_DRIVER],
136 [
137 db_prog=no
138 AC_MSG_CHECKING(for DBI drivers support)
139 AC_ARG_WITH(dbi-driver,
140 AC_HELP_STRING([--with-dbi-driver@<:@=DRIVER@:>@], [Suport for DBI driver. DRIVER is the one DBI driver like Mysql, Postgresql, others. Default is to not configure any driver.]),
141 [
142   if test "$withval" != "no"; then
143      case $withval in
144         "mysql")
145            db_prog="mysql"
146            if test -f /usr/local/mysql/bin/mysql; then
147               SQL_BINDIR=/usr/local/mysql/bin
148               if test -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.a \
149                  -o -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.so; then
150                  MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
151               else
152                  MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
153               fi
154            elif test -f /usr/bin/mysql; then
155               SQL_BINDIR=/usr/bin
156               if test -f /usr/lib64/mysql/libmysqlclient_r.a \
157                   -o -f /usr/lib64/mysql/libmysqlclient_r.so; then  
158                   MYSQL_LIBDIR=/usr/lib64/mysql
159               elif test -f /usr/lib/mysql/libmysqlclient_r.a \
160                   -o -f /usr/lib/mysql/libmysqlclient_r.so; then
161                   MYSQL_LIBDIR=/usr/lib/mysql
162               else
163                   MYSQL_LIBDIR=/usr/lib
164               fi
165            elif test -f /usr/local/bin/mysql; then
166               SQL_BINDIR=/usr/local/bin
167               if test -f /usr/local/lib64/mysql/libmysqlclient_r.a \
168                   -o -f /usr/local/lib64/mysql/libmysqlclient_r.so; then  
169                   MYSQL_LIBDIR=/usr/local/lib64/mysql
170               elif test -f /usr/local/lib/mysql/libmysqlclient_r.a \
171                   -o -f /usr/local/lib/mysql/libmysqlclient_r.so; then
172                   MYSQL_LIBDIR=/usr/local/lib/mysql
173               else
174                   MYSQL_LIBDIR=/usr/local/lib
175               fi
176            elif test -f $withval/bin/mysql; then
177               SQL_BINDIR=$withval/bin
178               if test -f $withval/lib64/mysql/libmysqlclient_r.a \
179                   -o -f $withval/lib64/mysql/libmysqlclient_r.so; then
180                   MYSQL_LIBDIR=$withval/lib64/mysql
181               elif test -f $withval/lib64/libmysqlclient_r.a \
182                   -o -f $withval/lib64/libmysqlclient_r.so; then
183                   MYSQL_LIBDIR=$withval/lib64
184               elif test -f $withval/lib/libmysqlclient_r.a \
185                   -o -f $withval/lib/libmysqlclient_r.so; then
186                   MYSQL_LIBDIR=$withval/lib/
187               else
188                   MYSQL_LIBDIR=$withval/lib/mysql
189               fi
190            else
191               AC_MSG_RESULT(no)
192               AC_MSG_ERROR(Unable to find mysql in standard locations)
193            fi
194            if test -f $SQL_LIBDIR/libmysqlclient_r.so; then
195               DB_PROG_LIB=$SQL_LIBDIR/libmysqlclient_r.so
196            else
197               DB_PROG_LIB=$SQL_LIBDIR/libmysqlclient_r.a
198            fi
199         ;;
200         "postgresql")
201            db_prog="postgresql"
202            PG_CONFIG=`which pg_config`
203            if test -n "$PG_CONFIG"; then
204               POSTGRESQL_BINDIR=`"$PG_CONFIG" --bindir`
205               POSTGRESQL_LIBDIR=`"$PG_CONFIG" --libdir`
206            elif test -f /usr/local/bin/psql; then
207               POSTGRESQL_BINDIR=/usr/local/bin
208               if test -d /usr/local/lib64; then
209                  POSTGRESQL_LIBDIR=/usr/local/lib64
210               else
211                  POSTGRESQL_LIBDIR=/usr/local/lib
212               fi
213            elif test -f /usr/bin/psql; then
214               POSTGRESQL_BINDIR=/usr/local/bin
215               if test -d /usr/lib64/postgresql; then
216                  POSTGRESQL_LIBDIR=/usr/lib64/postgresql
217               elif test -d /usr/lib/postgresql; then
218                  POSTGRESQL_LIBDIR=/usr/lib/postgresql
219               elif test -d /usr/lib64; then
220                  POSTGRESQL_LIBDIR=/usr/lib64
221               else
222                  POSTGRESQL_LIBDIR=/usr/lib
223               fi
224            elif test -f $withval/bin/psql; then
225               POSTGRESQL_BINDIR=$withval/bin
226               if test -d $withval/lib64; then
227                  POSTGRESQL_LIBDIR=$withval/lib64
228               else
229                  POSTGRESQL_LIBDIR=$withval/lib
230               fi
231            else
232               AC_MSG_RESULT(no)
233               AC_MSG_ERROR(Unable to find psql in standard locations)
234            fi
235            if test -f $POSTGRESQL_LIBDIR/libpq.so; then
236               DB_PROG_LIB=$POSTGRESQL_LIBDIR/libpq.so
237            else
238               DB_PROG_LIB=$POSTGRESQL_LIBDIR/libpq.a
239            fi
240         ;;
241         "sqlite3")
242            db_prog="sqlite3"
243            if test -f /usr/local/bin/sqlite3; then
244               SQLITE_BINDIR=/usr/local/bin
245               if test -d /usr/local/lib64; then
246                  SQLITE_LIBDIR=/usr/local/lib64
247               else
248                  SQLITE_LIBDIR=/usr/local/lib
249               fi
250            elif test -f /usr/bin/sqlite3; then
251               SQLITE_BINDIR=/usr/bin
252               if test -d /usr/lib64; then
253                  SQLITE_LIBDIR=/usr/lib64
254               else
255                  SQLITE_LIBDIR=/usr/lib
256               fi                 
257            elif test -f $withval/bin/sqlite3; then
258               SQLITE_BINDIR=$withval/bin
259               if test -d $withval/lib64; then
260                  SQLITE_LIBDIR=$withval/lib64
261               else
262                  SQLITE_LIBDIR=$withval/lib
263               fi                 
264            else
265               AC_MSG_RESULT(no)
266               AC_MSG_ERROR(Unable to find sqlite in standard locations)
267            fi
268            if test -f $SQLITE_LIBDIR/libsqlite3.so; then
269               DB_PROG_LIB=$SQLITE_LIBDIR/libsqlite3.so
270            else
271               DB_PROG_LIB=$SQLITE_LIBDIR/libsqlite3.a
272            fi
273         ;;                
274         *)
275            AC_MSG_RESULT(no)
276            AC_MSG_ERROR(Unable to set DBI driver. $withval is not supported)
277         ;;
278      esac
279
280      AC_MSG_RESULT(yes)
281      DB_PROG=$db_prog
282   else
283      AC_MSG_RESULT(no)
284   fi
285 ],[
286   AC_MSG_RESULT(no)
287 ])
288
289 AC_SUBST(MYSQL_BINDIR)
290 AC_SUBST(POSTGRESQL_BINDIR)
291 AC_SUBST(SQLITE_BINDIR)
292 AC_SUBST(DB_PROG)
293 AC_SUBST(DB_PROG_LIB)
294
295 ])
296
297
298 AC_DEFUN([BA_CHECK_MYSQL_DB],
299 [
300 AC_MSG_CHECKING(for MySQL support)
301 AC_ARG_WITH(mysql,
302 AC_HELP_STRING([--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.]),
303 [
304   if test "$withval" != "no"; then
305         if test "$withval" = "yes"; then
306            if test -f /usr/local/mysql/include/mysql/mysql.h; then
307                    MYSQL_INCDIR=/usr/local/mysql/include/mysql
308                    if test -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.a \
309                         -o -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.so; then
310                            MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
311                    else
312                            MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
313                    fi
314                    MYSQL_BINDIR=/usr/local/mysql/bin
315            elif test -f /usr/include/mysql/mysql.h; then
316                    MYSQL_INCDIR=/usr/include/mysql
317                    if test -f /usr/lib64/mysql/libmysqlclient_r.a \
318                         -o -f /usr/lib64/mysql/libmysqlclient_r.so; then  
319                            MYSQL_LIBDIR=/usr/lib64/mysql
320                    elif test -f /usr/lib64/libmysqlclient_r.a \
321                         -o -f /usr/lib64/libmysqlclient_r.so; then
322                            MYSQL_LIBDIR=/usr/lib64
323                    elif test -f /usr/lib/mysql/libmysqlclient_r.a \
324                           -o -f /usr/lib/mysql/libmysqlclient_r.so; then
325                            MYSQL_LIBDIR=/usr/lib/mysql
326                    else
327                            MYSQL_LIBDIR=/usr/lib
328                    fi
329                    MYSQL_BINDIR=/usr/bin
330            elif test -f /usr/include/mysql.h; then
331                    MYSQL_INCDIR=/usr/include
332                    if test -f /usr/lib64/libmysqlclient_r.a \
333                         -o -f /usr/lib64/libmysqlclient_r.so; then
334                            MYSQL_LIBDIR=/usr/lib64
335                    else
336                            MYSQL_LIBDIR=/usr/lib
337                    fi
338                    MYSQL_BINDIR=/usr/bin
339            elif test -f /usr/local/include/mysql/mysql.h; then
340                    MYSQL_INCDIR=/usr/local/include/mysql
341                    if test -f /usr/local/lib64/mysql/libmysqlclient_r.a \
342                         -o -f /usr/local/lib64/mysql/libmysqlclient_r.so; then
343                            MYSQL_LIBDIR=/usr/local/lib64/mysql
344                    else
345                            MYSQL_LIBDIR=/usr/local/lib/mysql
346                    fi
347                    MYSQL_BINDIR=/usr/local/bin
348            elif test -f /usr/local/include/mysql.h; then
349                    MYSQL_INCDIR=/usr/local/include
350                    if test -f /usr/local/lib64/libmysqlclient_r.a \
351                         -o -f /usr/local/lib64/libmysqlclient_r.so; then
352                            MYSQL_LIBDIR=/usr/local/lib64
353                    else
354                            MYSQL_LIBDIR=/usr/local/lib
355                    fi
356                    MYSQL_BINDIR=/usr/local/bin
357            else
358               AC_MSG_RESULT(no)
359               AC_MSG_ERROR(Unable to find mysql.h in standard locations)
360            fi
361         else
362            if test -f $withval/include/mysql/mysql.h; then
363               MYSQL_INCDIR=$withval/include/mysql
364               if test -f $withval/lib64/mysql/libmysqlclient_r.a \
365                    -o -f $withval/lib64/mysql/libmysqlclient_r.so; then
366                  MYSQL_LIBDIR=$withval/lib64/mysql
367               elif test -f $withval/lib64/libmysqlclient_r.a \
368                    -o -f $withval/lib64/libmysqlclient_r.so; then
369                  MYSQL_LIBDIR=$withval/lib64
370               elif test -f $withval/lib/libmysqlclient_r.a \
371                    -o -f $withval/lib/libmysqlclient_r.so; then
372                  MYSQL_LIBDIR=$withval/lib
373               else
374                  MYSQL_LIBDIR=$withval/lib/mysql
375               fi
376               MYSQL_BINDIR=$withval/bin
377            elif test -f $withval/include/mysql.h; then
378               MYSQL_INCDIR=$withval/include
379               if test -f $withval/lib64/libmysqlclient_r.a \
380                    -o -f $withval/lib64/libmysqlclient_r.so; then
381                  MYSQL_LIBDIR=$withval/lib64
382               else
383                  MYSQL_LIBDIR=$withval/lib
384               fi
385               MYSQL_BINDIR=$withval/bin
386            else
387               AC_MSG_RESULT(no)
388               AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
389            fi
390         fi
391      MYSQL_INCLUDE=-I$MYSQL_INCDIR
392      if test -f $MYSQL_LIBDIR/libmysqlclient_r.a \
393           -o -f $MYSQL_LIBDIR/libmysqlclient_r.so; then
394         MYSQL_LIBS="-R $MYSQL_LIBDIR -L$MYSQL_LIBDIR -lmysqlclient_r -lz"
395         AC_DEFINE(HAVE_THREAD_SAFE_MYSQL, 1, [Set if Thread Safe MySQL can be checked using mysql_thread_safe])
396         DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
397      fi
398      MYSQL_LIB=$MYSQL_LIBDIR/libmysqlclient_r.a
399
400      AC_DEFINE(HAVE_MYSQL, 1, [Set if you have an MySQL Database])
401      AC_MSG_RESULT(yes)
402
403      if test -z "${db_backends}" ; then
404          db_backends="MySQL"
405      else
406          db_backends="${db_backends} MySQL"
407      fi
408      if test -z "${DB_BACKENDS}" ; then
409          DB_BACKENDS="mysql"
410      else
411          DB_BACKENDS="${DB_BACKENDS} mysql"
412      fi
413   else
414      AC_MSG_RESULT(no)
415   fi
416 ]
417 )
418
419 AC_ARG_WITH(embedded-mysql,
420 AC_HELP_STRING([--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.]),
421 [
422   if test "$withval" != "no"; then
423         if test "$withval" = "yes"; then
424                 if test -f /usr/local/mysql/include/mysql/mysql.h; then
425                         MYSQL_INCDIR=/usr/local/mysql/include/mysql
426                         if test -d /usr/local/mysql/lib64/mysql; then
427                                 MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
428                         else
429                                 MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
430                         fi
431                         MYSQL_BINDIR=/usr/local/mysql/bin
432                 elif test -f /usr/include/mysql/mysql.h; then
433                         MYSQL_INCDIR=/usr/include/mysql
434                         if test -d /usr/lib64/mysql; then
435                                 MYSQL_LIBDIR=/usr/lib64/mysql
436                         else
437                                 MYSQL_LIBDIR=/usr/lib/mysql
438                         fi
439                         MYSQL_BINDIR=/usr/bin
440                 elif test -f /usr/include/mysql.h; then
441                         MYSQL_INCDIR=/usr/include
442                         if test -d /usr/lib64; then
443                                 MYSQL_LIBDIR=/usr/lib64
444                         else
445                                 MYSQL_LIBDIR=/usr/lib
446                         fi
447                         MYSQL_BINDIR=/usr/bin
448                 elif test -f /usr/local/include/mysql/mysql.h; then
449                         MYSQL_INCDIR=/usr/local/include/mysql
450                         if test -d /usr/local/lib64/mysql; then
451                                 MYSQL_LIBDIR=/usr/local/lib64/mysql
452                         else
453                                 MYSQL_LIBDIR=/usr/local/lib/mysql
454                         fi
455                         MYSQL_BINDIR=/usr/local/bin
456                 elif test -f /usr/local/include/mysql.h; then
457                         MYSQL_INCDIR=/usr/local/include
458                         if test -d /usr/local/lib64; then
459                                 MYSQL_LIBDIR=/usr/local/lib64
460                         else
461                                 MYSQL_LIBDIR=/usr/local/lib
462                         fi
463                         MYSQL_BINDIR=/usr/local/bin
464                 else
465                    AC_MSG_RESULT(no)
466                    AC_MSG_ERROR(Unable to find mysql.h in standard locations)
467                 fi
468         else
469                 if test -f $withval/include/mysql/mysql.h; then
470                         MYSQL_INCDIR=$withval/include/mysql
471                         if test -d $withval/lib64/mysql; then
472                                 MYSQL_LIBDIR=$withval/lib64/mysql
473                         else
474                                 MYSQL_LIBDIR=$withval/lib/mysql
475                         fi
476                         MYSQL_BINDIR=$withval/bin
477                 elif test -f $withval/include/mysql.h; then
478                         MYSQL_INCDIR=$withval/include
479                         if test -d $withval/lib64; then
480                                 MYSQL_LIBDIR=$withval/lib64
481                         else
482                                 MYSQL_LIBDIR=$withval/lib
483                         fi
484                         MYSQL_BINDIR=$withval/bin
485                 else
486                    AC_MSG_RESULT(no)
487                    AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
488                 fi
489         fi
490      MYSQL_INCLUDE=-I$MYSQL_INCDIR
491      MYSQL_LIBS="-R $MYSQL_LIBDIR -L$MYSQL_LIBDIR -lmysqld -lz -lm -lcrypt"
492      MYSQL_LIB=$MYSQL_LIBDIR/libmysqld.a
493      DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
494
495      AC_DEFINE(HAVE_MYSQL, 1, [Set if you have an MySQL Database])
496      AC_DEFINE(HAVE_EMBEDDED_MYSQL, 1, [Set if you have an Embedded MySQL Database])
497      AC_MSG_RESULT(yes)
498
499      if test -z "${db_backends}"; then
500          db_backends="MySQL"
501      else
502          db_backends="${db_backends} MySQL"
503      fi
504      if test -z "${DB_BACKENDS}"; then
505          DB_BACKENDS="mysql"
506      else
507          DB_BACKENDS="${DB_BACKENDS} mysql"
508      fi
509   else
510      AC_MSG_RESULT(no)
511   fi
512 ]
513 )
514
515 AC_SUBST(MYSQL_LIBS)
516 AC_SUBST(MYSQL_INCLUDE)
517 AC_SUBST(MYSQL_BINDIR)
518   
519 ])
520
521 AC_DEFUN([BA_CHECK_INGRES_DB],
522 [
523 AC_MSG_CHECKING(for Ingres support)
524 AC_ARG_WITH(ingres,
525 AC_HELP_STRING([--with-ingres@<:@=DIR@:>@], [Include Ingres support. DIR is the Ingres base install directory, default is to search through a number of common places for the Ingres files.]),
526 [
527   if test "$withval" != "no"; then
528      if test "$withval" = "yes"; then
529         if test -f ${II_SYSTEM}/files/eqdefc.h; then
530            INGRES_INCDIR=${II_SYSTEM}/files
531            INGRES_LIBDIR=${II_SYSTEM}/lib
532            INGRES_BINDIR=${II_SYSTEM}/bin
533         elif test -f ${II_SYSTEM}/ingres/files/eqdefc.h; then
534            INGRES_INCDIR=${II_SYSTEM}/ingres/files
535            INGRES_LIBDIR=${II_SYSTEM}/ingres/lib
536            INGRES_BINDIR=${II_SYSTEM}/ingres/bin      
537         else
538            AC_MSG_RESULT(no)
539            AC_MSG_ERROR(Unable to find eqdefc.h in standard locations)
540         fi
541      else
542         if test -f $withval/files/eqdefc.h; then
543            INGRES_INCDIR=$withval/files
544            INGRES_LIBDIR=$withval/lib
545            INGRES_BINDIR=$withval/bin
546         else
547            AC_MSG_RESULT(no)
548            AC_MSG_ERROR(Invalid Ingres directory $withval - unable to find Ingres headers under $withval)
549         fi
550      fi
551      INGRES_INCLUDE=-I$INGRES_INCDIR
552      INGRES_LIBS="-R $INGRES_LIBDIR -L$INGRES_LIBDIR -lq.1 -lcompat.1 -lframe.1"
553      DB_LIBS="${DB_LIBS} ${INGRES_LIBS}"
554      AC_DEFINE(HAVE_INGRES, 1, [Set if have Ingres Database])
555      AC_MSG_RESULT(yes)
556
557      if test -z "${db_backends}"; then
558          db_backends="Ingres"
559      else
560          db_backends="${db_backends} Ingres"
561      fi
562      if test -z "${DB_BACKENDS}"; then
563          DB_BACKENDS="ingres"
564      else
565          DB_BACKENDS="${DB_BACKENDS} ingres"
566      fi
567   else
568      AC_MSG_RESULT(no)
569   fi
570 ],[
571   AC_MSG_RESULT(no)
572 ])
573
574 AC_SUBST(INGRES_LIBS)
575 AC_SUBST(INGRES_INCLUDE)
576 AC_SUBST(INGRES_BINDIR)
577 ])
578
579 AC_DEFUN([BA_CHECK_SQLITE3_DB],
580 [
581 AC_MSG_CHECKING(for SQLite3 support)
582 AC_ARG_WITH(sqlite3,
583 AC_HELP_STRING([--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.]),
584 [
585   if test "$withval" != "no"; then
586      if test "$withval" = "yes"; then
587         if test -f /usr/local/include/sqlite3.h; then
588            SQLITE_INCDIR=/usr/local/include
589            if test -d /usr/local/lib64; then
590               SQLITE_LIBDIR=/usr/local/lib64
591            else
592               SQLITE_LIBDIR=/usr/local/lib
593            fi
594            SQLITE_BINDIR=/usr/local/bin
595         elif test -f /usr/include/sqlite3.h; then
596            SQLITE_INCDIR=/usr/include
597            if test -d /usr/lib64; then
598               SQLITE_LIBDIR=/usr/lib64
599            else
600               SQLITE_LIBDIR=/usr/lib
601            fi
602            SQLITE_BINDIR=/usr/bin      
603         elif test -f $prefix/include/sqlite3.h; then
604            SQLITE_INCDIR=$prefix/include
605            if test -d $prefix/lib64; then
606               SQLITE_LIBDIR=$prefix/lib64
607            else
608               SQLITE_LIBDIR=$prefix/lib
609            fi
610            SQLITE_BINDIR=$prefix/bin      
611         else
612            AC_MSG_RESULT(no)
613            AC_MSG_ERROR(Unable to find sqlite3.h in standard locations)
614         fi
615      else
616         if test -f $withval/sqlite3.h; then
617            SQLITE_INCDIR=$withval
618            SQLITE_LIBDIR=$withval
619            SQLITE_BINDIR=$withval
620         elif test -f $withval/include/sqlite3.h; then
621            SQLITE_INCDIR=$withval/include
622            if test -d $withval/lib64; then
623               SQLITE_LIBDIR=$withval/lib64
624            else
625               SQLITE_LIBDIR=$withval/lib
626            fi
627            SQLITE_BINDIR=$withval/bin
628         else
629            AC_MSG_RESULT(no)
630            AC_MSG_ERROR(Invalid SQLite3 directory $withval - unable to find sqlite3.h under $withval)
631         fi
632      fi
633      SQLITE_INCLUDE=-I$SQLITE_INCDIR
634      SQLITE_LIBS="-R $SQLITE_LIBDIR -L$SQLITE_LIBDIR -lsqlite3"
635      SQLITE_LIB=$SQLITE_LIBDIR/libsqlite3.a
636      DB_LIBS="${DB_LIBS} ${SQLITE_LIBS}"
637
638      AC_DEFINE(HAVE_SQLITE3, 1, [Set if you have an SQLite3 Database])
639      AC_MSG_RESULT(yes)
640
641      if test -z "${db_backends}"; then
642          db_backends="SQLite3"
643      else
644          db_backends="${db_backends} SQLite3"
645      fi
646      if test -z "${DB_BACKENDS}"; then
647          DB_BACKENDS="sqlite3"
648      else
649          DB_BACKENDS="${DB_BACKENDS} sqlite3"
650      fi
651   else
652      AC_MSG_RESULT(no)
653   fi
654 ],[
655   AC_MSG_RESULT(no)
656 ])
657 AC_SUBST(SQLITE_LIBS)
658 AC_SUBST(SQLITE_INCLUDE)
659 AC_SUBST(SQLITE_BINDIR)
660   
661 ])
662
663
664 AC_DEFUN([BA_CHECK_POSTGRESQL_DB],
665 [
666 AC_MSG_CHECKING(for PostgreSQL support)
667 AC_ARG_WITH(postgresql,
668 AC_HELP_STRING([--with-postgresql@<:@=DIR@:>@], [Include PostgreSQL support. DIR is the PostgreSQL base install directory, @<:@default=/usr/local/pgsql@:>@]),
669 [
670   if test "$withval" != "no"; then
671       if test "$withval" = "yes"; then
672           PG_CONFIG=`which pg_config`
673           if test -n "$PG_CONFIG"; then
674               POSTGRESQL_INCDIR=`"$PG_CONFIG" --includedir`
675               POSTGRESQL_LIBDIR=`"$PG_CONFIG" --libdir`
676               POSTGRESQL_BINDIR=`"$PG_CONFIG" --bindir`
677           elif test -f /usr/local/include/libpq-fe.h; then
678               POSTGRESQL_INCDIR=/usr/local/include
679               if test -d /usr/local/lib64; then
680                  POSTGRESQL_LIBDIR=/usr/local/lib64
681               else
682                  POSTGRESQL_LIBDIR=/usr/local/lib
683               fi
684               POSTGRESQL_BINDIR=/usr/local/bin
685           elif test -f /usr/include/libpq-fe.h; then
686               POSTGRESQL_INCDIR=/usr/include
687               if test -d /usr/lib64; then
688                  POSTGRESQL_LIBDIR=/usr/lib64
689               else
690                  POSTGRESQL_LIBDIR=/usr/lib
691               fi
692               POSTGRESQL_BINDIR=/usr/bin
693           elif test -f /usr/include/pgsql/libpq-fe.h; then
694               POSTGRESQL_INCDIR=/usr/include/pgsql
695               if test -d /usr/lib64/pgsql; then
696                  POSTGRESQL_LIBDIR=/usr/lib64/pgsql
697               else
698                  POSTGRESQL_LIBDIR=/usr/lib/pgsql
699               fi
700               POSTGRESQL_BINDIR=/usr/bin
701           elif test -f /usr/include/postgresql/libpq-fe.h; then
702               POSTGRESQL_INCDIR=/usr/include/postgresql
703               if test -d /usr/lib64/postgresql; then
704                  POSTGRESQL_LIBDIR=/usr/lib64/postgresql
705               else
706                  POSTGRESQL_LIBDIR=/usr/lib/postgresql
707               fi
708               POSTGRESQL_BINDIR=/usr/bin
709           else
710               AC_MSG_RESULT(no)
711               AC_MSG_ERROR(Unable to find libpq-fe.h in standard locations)
712           fi
713       elif test -f $withval/include/libpq-fe.h; then
714           POSTGRESQL_INCDIR=$withval/include
715           POSTGRESQL_LIBDIR=$withval/lib
716           POSTGRESQL_BINDIR=$withval/bin
717       elif test -f $withval/include/postgresql/libpq-fe.h; then
718           POSTGRESQL_INCDIR=$withval/include/postgresql
719           if test -d $withval/lib64; then
720               POSTGRESQL_LIBDIR=$withval/lib64
721           else
722               POSTGRESQL_LIBDIR=$withval/lib
723           fi
724           POSTGRESQL_BINDIR=$withval/bin
725       else
726           AC_MSG_RESULT(no)
727           AC_MSG_ERROR(Invalid PostgreSQL directory $withval - unable to find libpq-fe.h under $withval)
728       fi
729      AC_DEFINE(HAVE_POSTGRESQL, 1, [Set if you have an PostgreSQL Database])
730      AC_MSG_RESULT(yes)
731
732      POSTGRESQL_INCLUDE=-I$POSTGRESQL_INCDIR
733      POSTGRESQL_LIBS="-R $POSTGRESQL_LIBDIR -L$POSTGRESQL_LIBDIR -lpq"
734      AC_CHECK_FUNC(crypt, , AC_CHECK_LIB(crypt, crypt, [POSTGRESQL_LIBS="$POSTGRESQL_LIBS -lcrypt"]))
735      POSTGRESQL_LIB=$POSTGRESQL_LIBDIR/libpq.a
736      DB_LIBS="${DB_LIBS} ${POSTGRESQL_LIBS}"
737
738      if test -z "${db_backends}"; then
739          db_backends="PostgreSQL"
740      else
741          db_backends="${db_backends} PostgreSQL"
742      fi
743      if test -z "${DB_BACKENDS}"; then
744          DB_BACKENDS="postgresql"
745      else
746          DB_BACKENDS="${DB_BACKENDS} postgresql"
747      fi
748   else
749      AC_MSG_RESULT(no)
750   fi
751 ],[
752   AC_MSG_RESULT(no)
753 ])
754 AC_SUBST(POSTGRESQL_LIBS)
755 AC_SUBST(POSTGRESQL_INCLUDE)
756 AC_SUBST(POSTGRESQL_BINDIR)
757
758 ])
759
760 AC_DEFUN([AM_CONDITIONAL],
761 [AC_SUBST($1_TRUE)
762 AC_SUBST($1_FALSE)
763 if $2; then
764   $1_TRUE=
765   $1_FALSE='#'
766 else
767   $1_TRUE='#'
768   $1_FALSE=
769 fi])