2 # Author: Kern Sibbald, 2008
5 AC_DEFUN([BA_CHECK_DBI_DB],
7 AC_MSG_CHECKING(for DBI support)
9 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.]),
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
18 DBI_LIBDIR=/usr/local/lib
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
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
34 DBI_LIBDIR=$prefix/lib
36 DBI_BINDIR=$prefix/bin
39 AC_MSG_ERROR(Unable to find dbi.h in standard locations)
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
46 DRIVERDIR=/usr/local/lib/dbd
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
53 DRIVERDIR=/usr/lib/dbd
55 elif test -d $prefix/lib/dbd; then
56 if test -d $prefix/lib64/dbd; then
57 DRIVERDIR=$prefix/lib64/dbd
59 DRIVERDIR=$prefix/lib/dbd
61 elif test -d /usr/local/lib64/dbd; then
62 DRIVERDIR=/usr/local/lib64/dbd
63 elif test -d /usr/lib64/dbd; then
64 DRIVERDIR=/usr/lib64/dbd
65 elif test -d $prefix/lib64/dbd; then
66 DRIVERDIR=$prefix/lib64/dbd
69 AC_MSG_ERROR(Unable to find DBD drivers in standard locations)
72 if test -f $withval/dbi.h; then
76 elif test -f $withval/include/dbi/dbi.h; then
77 DBI_INCDIR=$withval/include
78 if test -d $withval/lib64; then
79 DBI_LIBDIR=$withval/lib64
81 DBI_LIBDIR=$withval/lib
83 DBI_BINDIR=$withval/bin
86 AC_MSG_ERROR(Invalid DBI directory $withval - unable to find dbi.h under $withval)
88 if test -d $withval/dbd; then
89 DRIVERDIR=$withval/dbd
90 elif test -d $withval/lib/; then
91 if test -d $withval/lib64/dbd; then
92 DRIVERDIR=$withval/lib64/dbd
94 DRIVERDIR=$withval/lib/dbd
96 elif test -d $withval/lib64/dbd; then
97 DRIVERDIR=$withval/lib64/dbd
100 AC_MSG_ERROR(Invalid DBD driver directory $withval - unable to find DBD drivers under $withval)
103 DBI_INCLUDE=-I$DBI_INCDIR
104 if test x$use_libtool != xno; then
105 DBI_LIBS="-R $DBI_LIBDIR -L$DBI_LIBDIR -ldbi"
107 DBI_LIBS="-L$DBI_LIBDIR -ldbi"
109 DBI_LIB=$DBI_LIBDIR/libdbi.a
110 DBI_DBD_DRIVERDIR="-D DBI_DRIVER_DIR=\\\"$DRIVERDIR\\\""
111 DB_LIBS="${DB_LIBS} ${DBI_LIBS}"
113 AC_DEFINE(HAVE_DBI, 1, [Set if you have the DBI driver])
116 if test -z "${db_backends}"; then
119 db_backends="${db_backends} DBI"
121 if test -z "${DB_BACKENDS}" ; then
124 DB_BACKENDS="${DB_BACKENDS} dbi"
128 dnl -------------------------------------------
129 dnl Push the DB_PROG onto the stack of supported database backends for DBI
130 dnl -------------------------------------------
131 DB_BACKENDS="${DB_BACKENDS} ${DB_PROG}"
133 dnl -------------------------------------------
134 dnl Check if dbi supports batch mode
135 dnl -------------------------------------------
136 if test "x$support_batch_insert" = "xyes"; then
137 if test $DB_PROG = postgresql; then
138 AC_CHECK_LIB(pq, PQisthreadsafe, AC_DEFINE(HAVE_PQISTHREADSAFE))
139 AC_CHECK_LIB(pq, PQputCopyData, AC_DEFINE(HAVE_PQ_COPY))
140 test "x$ac_cv_lib_pq_PQputCopyData" = "xyes"
142 if test $pkg = 0; then
143 AC_DEFINE(HAVE_DBI_BATCH_FILE_INSERT, 1, [Set if DBI DB batch insert code enabled])
155 AC_SUBST(DBI_INCLUDE)
157 AC_SUBST(DBI_DBD_DRIVERDIR)
161 AC_DEFUN([BA_CHECK_DBI_DRIVER],
164 AC_MSG_CHECKING(for DBI drivers support)
165 AC_ARG_WITH(dbi-driver,
166 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.]),
168 if test "$withval" != "no"; then
172 if test -f /usr/local/mysql/bin/mysql; then
173 MYSQL_BINDIR=/usr/local/mysql/bin
174 if test -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.a \
175 -o -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.so; then
176 MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
178 MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
180 elif test -f /usr/bin/mysql; then
181 MYSQL_BINDIR=/usr/bin
182 if test -f /usr/lib64/mysql/libmysqlclient_r.a \
183 -o -f /usr/lib64/mysql/libmysqlclient_r.so; then
184 MYSQL_LIBDIR=/usr/lib64/mysql
185 elif test -f /usr/lib/mysql/libmysqlclient_r.a \
186 -o -f /usr/lib/mysql/libmysqlclient_r.so; then
187 MYSQL_LIBDIR=/usr/lib/mysql
189 MYSQL_LIBDIR=/usr/lib
191 elif test -f /usr/local/bin/mysql; then
192 MYSQL_BINDIR=/usr/local/bin
193 if test -f /usr/local/lib64/mysql/libmysqlclient_r.a \
194 -o -f /usr/local/lib64/mysql/libmysqlclient_r.so; then
195 MYSQL_LIBDIR=/usr/local/lib64/mysql
196 elif test -f /usr/local/lib/mysql/libmysqlclient_r.a \
197 -o -f /usr/local/lib/mysql/libmysqlclient_r.so; then
198 MYSQL_LIBDIR=/usr/local/lib/mysql
200 MYSQL_LIBDIR=/usr/local/lib
202 elif test -f $withval/bin/mysql; then
203 MYSQL_BINDIR=$withval/bin
204 if test -f $withval/lib64/mysql/libmysqlclient_r.a \
205 -o -f $withval/lib64/mysql/libmysqlclient_r.so; then
206 MYSQL_LIBDIR=$withval/lib64/mysql
207 elif test -f $withval/lib64/libmysqlclient_r.a \
208 -o -f $withval/lib64/libmysqlclient_r.so; then
209 MYSQL_LIBDIR=$withval/lib64
210 elif test -f $withval/lib/libmysqlclient_r.a \
211 -o -f $withval/lib/libmysqlclient_r.so; then
212 MYSQL_LIBDIR=$withval/lib/
214 MYSQL_LIBDIR=$withval/lib/mysql
216 elif test -f $prefix/lib/mysql55/bin/mysql; then
217 MYSQL_BINDIR=$prefix/lib/mysql55/bin
218 if test -f $prefix/lib/mysql55/mysql/libmysqlclient_r.a \
219 -o -f $prefix/lib/mysql55/mysql/libmysqlclient_r.so; then
220 MYSQL_LIBDIR=$prefix/lib/mysql55/mysql
222 elif test -f $prefix/lib/mysql51/bin/mysql; then
223 MYSQL_BINDIR=$prefix/lib/mysql51/bin
224 if test -f $prefix/lib/mysql51/mysql/libmysqlclient_r.a \
225 -o -f $prefix/lib/mysql51/mysql/libmysqlclient_r.so; then
226 MYSQL_LIBDIR=$prefix/lib/mysql51/mysql
230 AC_MSG_ERROR(Unable to find mysql in standard locations)
232 if test -f $SQL_LIBDIR/libmysqlclient_r.so; then
233 DB_PROG_LIB=$SQL_LIBDIR/libmysqlclient_r.so
235 DB_PROG_LIB=$SQL_LIBDIR/libmysqlclient_r.a
240 PG_CONFIG=`which pg_config 2>/dev/null`
241 if test -n "$PG_CONFIG"; then
242 POSTGRESQL_BINDIR=`"$PG_CONFIG" --bindir`
243 POSTGRESQL_LIBDIR=`"$PG_CONFIG" --libdir`
244 elif test -f /usr/local/bin/psql; then
245 POSTGRESQL_BINDIR=/usr/local/bin
246 if test -d /usr/local/lib64; then
247 POSTGRESQL_LIBDIR=/usr/local/lib64
249 POSTGRESQL_LIBDIR=/usr/local/lib
251 elif test -f /usr/bin/psql; then
252 POSTGRESQL_BINDIR=/usr/local/bin
253 if test -d /usr/lib64/postgresql; then
254 POSTGRESQL_LIBDIR=/usr/lib64/postgresql
255 elif test -d /usr/lib/postgresql; then
256 POSTGRESQL_LIBDIR=/usr/lib/postgresql
257 elif test -d /usr/lib64; then
258 POSTGRESQL_LIBDIR=/usr/lib64
260 POSTGRESQL_LIBDIR=/usr/lib
262 elif test -f $withval/bin/psql; then
263 POSTGRESQL_BINDIR=$withval/bin
264 if test -d $withval/lib64; then
265 POSTGRESQL_LIBDIR=$withval/lib64
267 POSTGRESQL_LIBDIR=$withval/lib
271 AC_MSG_ERROR(Unable to find psql in standard locations)
273 if test -f $POSTGRESQL_LIBDIR/libpq.so; then
274 DB_PROG_LIB=$POSTGRESQL_LIBDIR/libpq.so
276 DB_PROG_LIB=$POSTGRESQL_LIBDIR/libpq.a
281 if test -f /usr/local/bin/sqlite3; then
282 SQLITE_BINDIR=/usr/local/bin
283 if test -d /usr/local/lib64; then
284 SQLITE_LIBDIR=/usr/local/lib64
286 SQLITE_LIBDIR=/usr/local/lib
288 elif test -f /usr/bin/sqlite3; then
289 SQLITE_BINDIR=/usr/bin
290 if test -d /usr/lib64; then
291 SQLITE_LIBDIR=/usr/lib64
293 SQLITE_LIBDIR=/usr/lib
295 elif test -f $withval/bin/sqlite3; then
296 SQLITE_BINDIR=$withval/bin
297 if test -d $withval/lib64; then
298 SQLITE_LIBDIR=$withval/lib64
300 SQLITE_LIBDIR=$withval/lib
304 AC_MSG_ERROR(Unable to find sqlite in standard locations)
306 if test -f $SQLITE_LIBDIR/libsqlite3.so; then
307 DB_PROG_LIB=$SQLITE_LIBDIR/libsqlite3.so
309 DB_PROG_LIB=$SQLITE_LIBDIR/libsqlite3.a
314 AC_MSG_ERROR(Unable to set DBI driver. $withval is not supported)
327 AC_SUBST(MYSQL_BINDIR)
328 AC_SUBST(POSTGRESQL_BINDIR)
329 AC_SUBST(SQLITE_BINDIR)
331 AC_SUBST(DB_PROG_LIB)
336 AC_DEFUN([BA_CHECK_MYSQL_DB],
338 AC_MSG_CHECKING(for MySQL support)
340 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.]),
342 if test "$withval" != "no"; then
343 if test "$withval" = "yes"; then
345 # This code is very broken on older systems
347 # MYSQL_CONFIG=`which mysql_config 2>/dev/null`
348 # if test "x${MYSQL_CONFIG}" != x; then
349 # MYSQL_BINDIR="${MYSQL_CONFIG%/*}"
350 # ${MYSQL_CONFIG} --variable=pkglibdir > /dev/null 2>&1
351 # if test $? = 0 ; then
352 # MYSQL_LIBDIR=`${MYSQL_CONFIG} --variable=pkglibdir`
353 # MYSQL_INCDIR=`${MYSQL_CONFIG} --variable=pkgincludedir`
355 # MYSQL_LIBDIR=`${MYSQL_CONFIG} --libs | sed -e 's/.*-L//' -e 's/ .*//'`
356 # MYSQL_INCDIR=`${MYSQL_CONFIG} --include | sed -e 's/-I//'`
358 # elif test -f /usr/local/mysql/include/mysql/mysql.h; then
359 if test -f /usr/local/mysql/include/mysql/mysql.h; then
360 MYSQL_INCDIR=/usr/local/mysql/include/mysql
361 if test -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.a \
362 -o -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.so; then
363 MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
365 MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
367 MYSQL_BINDIR=/usr/local/mysql/bin
368 elif test -f /usr/include/mysql/mysql.h; then
369 MYSQL_INCDIR=/usr/include/mysql
370 if test -f /usr/lib64/mysql/libmysqlclient_r.a \
371 -o -f /usr/lib64/mysql/libmysqlclient_r.so; then
372 MYSQL_LIBDIR=/usr/lib64/mysql
373 elif test -f /usr/lib64/libmysqlclient_r.a \
374 -o -f /usr/lib64/libmysqlclient_r.so; then
375 MYSQL_LIBDIR=/usr/lib64
376 elif test -f /usr/lib/x86_64-linux-gnu/libmysqlclient_r.a \
377 -o -f /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so; then
378 MYSQL_LIBDIR=/usr/lib/x86_64-linux-gnu
379 elif test -f /usr/lib/mysql/libmysqlclient_r.a \
380 -o -f /usr/lib/mysql/libmysqlclient_r.so; then
381 MYSQL_LIBDIR=/usr/lib/mysql
383 MYSQL_LIBDIR=/usr/lib
385 MYSQL_BINDIR=/usr/bin
386 elif test -f /usr/include/mysql.h; then
387 MYSQL_INCDIR=/usr/include
388 if test -f /usr/lib64/libmysqlclient_r.a \
389 -o -f /usr/lib64/libmysqlclient_r.so; then
390 MYSQL_LIBDIR=/usr/lib64
392 MYSQL_LIBDIR=/usr/lib
394 MYSQL_BINDIR=/usr/bin
395 elif test -f /usr/local/include/mysql/mysql.h; then
396 MYSQL_INCDIR=/usr/local/include/mysql
397 if test -f /usr/local/lib64/mysql/libmysqlclient_r.a \
398 -o -f /usr/local/lib64/mysql/libmysqlclient_r.so; then
399 MYSQL_LIBDIR=/usr/local/lib64/mysql
401 MYSQL_LIBDIR=/usr/local/lib/mysql
403 MYSQL_BINDIR=/usr/local/bin
404 elif test -f /usr/local/include/mysql.h; then
405 MYSQL_INCDIR=/usr/local/include
406 if test -f /usr/local/lib64/libmysqlclient_r.a \
407 -o -f /usr/local/lib64/libmysqlclient_r.so; then
408 MYSQL_LIBDIR=/usr/local/lib64
410 MYSQL_LIBDIR=/usr/local/lib
412 MYSQL_BINDIR=/usr/local/bin
415 AC_MSG_ERROR(Unable to find mysql.h in standard locations)
418 if test -f $withval/include/mysql/mysql.h; then
419 MYSQL_INCDIR=$withval/include/mysql
420 if test -f $withval/lib64/mysql/libmysqlclient_r.a \
421 -o -f $withval/lib64/mysql/libmysqlclient_r.so; then
422 MYSQL_LIBDIR=$withval/lib64/mysql
423 elif test -f $withval/lib64/libmysqlclient_r.a \
424 -o -f $withval/lib64/libmysqlclient_r.so; then
425 MYSQL_LIBDIR=$withval/lib64
426 elif test -f $withval/lib/libmysqlclient_r.a \
427 -o -f $withval/lib/libmysqlclient_r.so; then
428 MYSQL_LIBDIR=$withval/lib
430 MYSQL_LIBDIR=$withval/lib/mysql
432 MYSQL_BINDIR=$withval/bin
433 elif test -f $withval/include/mysql.h; then
434 MYSQL_INCDIR=$withval/include
435 if test -f $withval/lib64/libmysqlclient_r.a \
436 -o -f $withval/lib64/libmysqlclient_r.so; then
437 MYSQL_LIBDIR=$withval/lib64
439 MYSQL_LIBDIR=$withval/lib
441 MYSQL_BINDIR=$withval/bin
442 elif test -f $withval/mysql.h; then
443 dnl MacPorts on OSX has a special MySQL Layout. See #2079
444 MYSQL_INCDIR=$withval
445 AC_MSG_NOTICE(Got with-mysql variable $MYSQL_INCDIR checking MySQL version)
446 case $MYSQL_INCDIR in
448 AC_MSG_NOTICE(Assuming MacPorts MySQL 5.5 variant installed)
449 dnl with-mysql given contains mysql55 - assuming OSX MacPorts MySQL55 variant
450 if test -f $prefix/lib/mysql55/mysql/libmysqlclient_r.a \
451 -o -f $prefix/lib/mysql55/mysql/libmysqlclient_r.so; then
452 AC_MSG_NOTICE(Found MySQL 5.5 library in $prefix/lib/mysql55/mysql)
453 MYSQL_LIBDIR=$prefix/lib/mysql55/mysql
455 MYSQL_BINDIR=$prefix/lib/mysql55/bin
458 AC_MSG_NOTICE(Assuming MacPorts MySQL 5.1 variant installed)
459 dnl with-mysql contains mysql51 - assuming OSX MacPorts MySQL51 variant
460 if test -f $prefix/lib/mysql51/mysql/libmysqlclient_r.a \
461 -o -f $prefix/lib/mysql51/mysql/libmysqlclient_r.so; then
462 AC_MSG_NOTICE(Found MySQL 5.1 library in $prefix/lib/mysql55/mysql)
463 MYSQL_LIBDIR=$prefix/lib/mysql51/mysql
465 MYSQL_BINDIR=$prefix/lib/mysql51/bin
468 if test -z "${MYSQL_LIBDIR}" ; then
470 AC_MSG_ERROR(MySQL $withval - unable to find MySQL libraries)
474 AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
477 MYSQL_INCLUDE=-I$MYSQL_INCDIR
478 if test -f $MYSQL_LIBDIR/libmysqlclient_r.a \
479 -o -f $MYSQL_LIBDIR/libmysqlclient_r.so; then
480 if test x$use_libtool != xno; then
481 MYSQL_LIBS="-R $MYSQL_LIBDIR -L$MYSQL_LIBDIR -lmysqlclient_r -lz"
483 MYSQL_LIBS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz"
485 DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
487 MYSQL_LIB=$MYSQL_LIBDIR/libmysqlclient_r.a
489 AC_DEFINE(HAVE_MYSQL, 1, [Set if you have an MySQL Database])
492 if test -z "${db_backends}" ; then
495 db_backends="${db_backends} MySQL"
497 if test -z "${DB_BACKENDS}" ; then
500 DB_BACKENDS="${DB_BACKENDS} mysql"
503 dnl -------------------------------------------
504 dnl Check if mysql supports batch mode
505 dnl -------------------------------------------
506 if test "x$support_batch_insert" = "xyes"; then
507 dnl For mysql checking
508 saved_LDFLAGS="${LDFLAGS}"
509 LDFLAGS="${saved_LDFLAGS} -L$MYSQL_LIBDIR"
511 LIBS="${saved_LIBS} -lz"
513 AC_CHECK_LIB(mysqlclient_r, mysql_thread_safe, AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe]))
514 if test "x$ac_cv_lib_mysqlclient_r_mysql_thread_safe" = "xyes"; then
515 if test -z "${batch_insert_db_backends}"; then
516 batch_insert_db_backends="MySQL"
518 batch_insert_db_backends="${batch_insert_db_backends} MySQL"
522 dnl Revert after mysql checks
523 LDFLAGS="${saved_LDFLAGS}"
533 AC_MSG_CHECKING(for MySQL embedded support)
534 AC_ARG_WITH(embedded-mysql,
535 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.]),
537 if test "$withval" != "no"; then
538 if test "$withval" = "yes"; then
539 if test -f /usr/local/mysql/include/mysql/mysql.h; then
540 MYSQL_INCDIR=/usr/local/mysql/include/mysql
541 if test -d /usr/local/mysql/lib64/mysql; then
542 MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
544 MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
546 MYSQL_BINDIR=/usr/local/mysql/bin
547 elif test -f /usr/include/mysql/mysql.h; then
548 MYSQL_INCDIR=/usr/include/mysql
549 if test -d /usr/lib64/mysql; then
550 MYSQL_LIBDIR=/usr/lib64/mysql
552 MYSQL_LIBDIR=/usr/lib/mysql
554 MYSQL_BINDIR=/usr/bin
555 elif test -f /usr/include/mysql.h; then
556 MYSQL_INCDIR=/usr/include
557 if test -d /usr/lib64; then
558 MYSQL_LIBDIR=/usr/lib64
560 MYSQL_LIBDIR=/usr/lib
562 MYSQL_BINDIR=/usr/bin
563 elif test -f /usr/local/include/mysql/mysql.h; then
564 MYSQL_INCDIR=/usr/local/include/mysql
565 if test -d /usr/local/lib64/mysql; then
566 MYSQL_LIBDIR=/usr/local/lib64/mysql
568 MYSQL_LIBDIR=/usr/local/lib/mysql
570 MYSQL_BINDIR=/usr/local/bin
571 elif test -f /usr/local/include/mysql.h; then
572 MYSQL_INCDIR=/usr/local/include
573 if test -d /usr/local/lib64; then
574 MYSQL_LIBDIR=/usr/local/lib64
576 MYSQL_LIBDIR=/usr/local/lib
578 MYSQL_BINDIR=/usr/local/bin
581 AC_MSG_ERROR(Unable to find mysql.h in standard locations)
584 if test -f $withval/include/mysql/mysql.h; then
585 MYSQL_INCDIR=$withval/include/mysql
586 if test -d $withval/lib64/mysql; then
587 MYSQL_LIBDIR=$withval/lib64/mysql
589 MYSQL_LIBDIR=$withval/lib/mysql
591 MYSQL_BINDIR=$withval/bin
592 elif test -f $withval/include/mysql.h; then
593 MYSQL_INCDIR=$withval/include
594 if test -d $withval/lib64; then
595 MYSQL_LIBDIR=$withval/lib64
597 MYSQL_LIBDIR=$withval/lib
599 MYSQL_BINDIR=$withval/bin
602 AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
605 MYSQL_INCLUDE=-I$MYSQL_INCDIR
606 if test x$use_libtool != xno; then
607 MYSQL_LIBS="-R $MYSQL_LIBDIR -L$MYSQL_LIBDIR -lmysqld -lz -lm -lcrypt"
609 MYSQL_LIBS="-L$MYSQL_LIBDIR -lmysqld -lz -lm -lcrypt"
611 MYSQL_LIB=$MYSQL_LIBDIR/libmysqld.a
612 DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
614 AC_DEFINE(HAVE_MYSQL, 1, [Set if you have an MySQL Database])
615 AC_DEFINE(HAVE_EMBEDDED_MYSQL, 1, [Set if you have an Embedded MySQL Database])
618 if test -z "${db_backends}"; then
621 db_backends="${db_backends} MySQL"
623 if test -z "${DB_BACKENDS}"; then
626 DB_BACKENDS="${DB_BACKENDS} mysql"
629 dnl -------------------------------------------
630 dnl Check if mysql supports batch mode
631 dnl -------------------------------------------
632 if test "x$support_batch_insert" = "xyes"; then
633 dnl For mysql checking
634 saved_LDFLAGS="${LDFLAGS}"
635 LDFLAGS="${saved_LDFLAGS} -L$MYSQL_LIBDIR"
637 LIBS="${saved_LIBS} -lz -lm -lcrypt"
639 AC_CHECK_LIB(mysqlclient_r, mysql_thread_safe, AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe]))
640 if test "x$ac_cv_lib_mysqlclient_r_mysql_thread_safe" = "xyes"; then
641 if test -z "${batch_insert_db_backends}"; then
642 batch_insert_db_backends="MySQL"
644 batch_insert_db_backends="${batch_insert_db_backends} MySQL"
648 dnl Revert after mysql checks
649 LDFLAGS="${saved_LDFLAGS}"
660 AC_SUBST(MYSQL_INCLUDE)
661 AC_SUBST(MYSQL_BINDIR)
665 AC_DEFUN([BA_CHECK_INGRES_DB],
667 AC_MSG_CHECKING(for Ingres support)
669 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.]),
671 if test "$withval" != "no"; then
672 if test "$withval" = "yes"; then
673 if test -f ${II_SYSTEM}/files/eqdefc.h; then
674 INGRES_INCDIR=${II_SYSTEM}/files
675 INGRES_LIBDIR=${II_SYSTEM}/lib
676 INGRES_BINDIR=${II_SYSTEM}/bin
677 elif test -f ${II_SYSTEM}/ingres/files/eqdefc.h; then
678 INGRES_INCDIR=${II_SYSTEM}/ingres/files
679 INGRES_LIBDIR=${II_SYSTEM}/ingres/lib
680 INGRES_BINDIR=${II_SYSTEM}/ingres/bin
683 AC_MSG_ERROR(Unable to find eqdefc.h in standard locations)
686 if test -f $withval/files/eqdefc.h; then
687 INGRES_INCDIR=$withval/files
688 INGRES_LIBDIR=$withval/lib
689 INGRES_BINDIR=$withval/bin
692 AC_MSG_ERROR(Invalid Ingres directory $withval - unable to find Ingres headers under $withval)
695 INGRES_INCLUDE=-I$INGRES_INCDIR
696 if test x$use_libtool != xno; then
697 INGRES_LIBS="-R $INGRES_LIBDIR -L$INGRES_LIBDIR -lq.1 -lcompat.1 -lframe.1"
699 INGRES_LIBS="-L$INGRES_LIBDIR -lq.1 -lcompat.1 -lframe.1"
701 DB_LIBS="${DB_LIBS} ${INGRES_LIBS}"
702 AC_DEFINE(HAVE_INGRES, 1, [Set if have Ingres Database])
705 if test -z "${db_backends}"; then
708 db_backends="${db_backends} Ingres"
710 if test -z "${DB_BACKENDS}"; then
713 DB_BACKENDS="${DB_BACKENDS} ingres"
722 AC_SUBST(INGRES_LIBS)
723 AC_SUBST(INGRES_INCLUDE)
724 AC_SUBST(INGRES_BINDIR)
727 AC_DEFUN([BA_CHECK_SQLITE3_DB],
729 AC_MSG_CHECKING(for SQLite3 support)
731 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.]),
733 if test "$withval" != "no"; then
734 if test "$withval" = "yes"; then
735 if test -f /usr/local/include/sqlite3.h; then
736 SQLITE_INCDIR=/usr/local/include
737 if test -d /usr/local/lib64; then
738 SQLITE_LIBDIR=/usr/local/lib64
740 SQLITE_LIBDIR=/usr/local/lib
742 SQLITE_BINDIR=/usr/local/bin
743 elif test -f /usr/include/sqlite3.h; then
744 SQLITE_INCDIR=/usr/include
745 if test -d /usr/lib64; then
746 SQLITE_LIBDIR=/usr/lib64
748 SQLITE_LIBDIR=/usr/lib
750 SQLITE_BINDIR=/usr/bin
751 elif test -f $prefix/include/sqlite3.h; then
752 SQLITE_INCDIR=$prefix/include
753 if test -d $prefix/lib64; then
754 SQLITE_LIBDIR=$prefix/lib64
756 SQLITE_LIBDIR=$prefix/lib
758 SQLITE_BINDIR=$prefix/bin
761 AC_MSG_ERROR(Unable to find sqlite3.h in standard locations)
764 if test -f $withval/sqlite3.h; then
765 SQLITE_INCDIR=$withval
766 SQLITE_LIBDIR=$withval
767 SQLITE_BINDIR=$withval
768 elif test -f $withval/include/sqlite3.h; then
769 SQLITE_INCDIR=$withval/include
770 if test -d $withval/lib64; then
771 SQLITE_LIBDIR=$withval/lib64
773 SQLITE_LIBDIR=$withval/lib
775 SQLITE_BINDIR=$withval/bin
778 AC_MSG_ERROR(Invalid SQLite3 directory $withval - unable to find sqlite3.h under $withval)
781 SQLITE_INCLUDE=-I$SQLITE_INCDIR
782 if test x$use_libtool != xno; then
783 SQLITE_LIBS="-R $SQLITE_LIBDIR -L$SQLITE_LIBDIR -lsqlite3"
785 SQLITE_LIBS="-L$SQLITE_LIBDIR -lsqlite3"
787 SQLITE_LIB=$SQLITE_LIBDIR/libsqlite3.a
788 DB_LIBS="${DB_LIBS} ${SQLITE_LIBS}"
790 AC_DEFINE(HAVE_SQLITE3, 1, [Set if you have an SQLite3 Database])
793 if test -z "${db_backends}"; then
794 db_backends="SQLite3"
796 db_backends="${db_backends} SQLite3"
798 if test -z "${DB_BACKENDS}"; then
799 DB_BACKENDS="sqlite3"
801 DB_BACKENDS="${DB_BACKENDS} sqlite3"
804 dnl -------------------------------------------
805 dnl Check if sqlite supports batch mode
806 dnl -------------------------------------------
807 if test "x$support_batch_insert" = "xyes"; then
808 dnl For sqlite checking
809 saved_LDFLAGS="${LDFLAGS}"
810 LDFLAGS="${saved_LDFLAGS} -L$SQLITE_LIBDIR"
812 AC_CHECK_LIB(sqlite3, sqlite3_threadsafe, AC_DEFINE(HAVE_SQLITE3_THREADSAFE, 1, [Set if have sqlite3_threadsafe]))
813 if test "x$ac_cv_lib_sqlite3_sqlite3_threadsafe" = "xyes"; then
814 if test -z "${batch_insert_db_backends}"; then
815 batch_insert_db_backends="SQLite3"
817 batch_insert_db_backends="${batch_insert_db_backends} SQLite3"
821 dnl Revert after sqlite checks
822 LDFLAGS="${saved_LDFLAGS}"
830 AC_SUBST(SQLITE_LIBS)
831 AC_SUBST(SQLITE_INCLUDE)
832 AC_SUBST(SQLITE_BINDIR)
837 AC_DEFUN([BA_CHECK_POSTGRESQL_DB],
839 AC_MSG_CHECKING(for PostgreSQL support)
840 AC_ARG_WITH(postgresql,
841 AC_HELP_STRING([--with-postgresql@<:@=DIR@:>@], [Include PostgreSQL support. DIR is the PostgreSQL base install directory, @<:@default=/usr/local/pgsql@:>@]),
843 if test "$withval" != "no"; then
844 if test "$withval" = "yes"; then
845 PG_CONFIG=`which pg_config 2>/dev/null`
846 if test -n "$PG_CONFIG"; then
847 POSTGRESQL_INCDIR=`"$PG_CONFIG" --includedir`
848 POSTGRESQL_LIBDIR=`"$PG_CONFIG" --libdir`
849 POSTGRESQL_BINDIR=`"$PG_CONFIG" --bindir`
850 elif test -f /usr/local/include/libpq-fe.h; then
851 POSTGRESQL_INCDIR=/usr/local/include
852 if test -d /usr/local/lib64; then
853 POSTGRESQL_LIBDIR=/usr/local/lib64
855 POSTGRESQL_LIBDIR=/usr/local/lib
857 POSTGRESQL_BINDIR=/usr/local/bin
858 elif test -f /usr/include/libpq-fe.h; then
859 POSTGRESQL_INCDIR=/usr/include
860 if test -d /usr/lib64; then
861 POSTGRESQL_LIBDIR=/usr/lib64
863 POSTGRESQL_LIBDIR=/usr/lib
865 POSTGRESQL_BINDIR=/usr/bin
866 elif test -f /usr/include/pgsql/libpq-fe.h; then
867 POSTGRESQL_INCDIR=/usr/include/pgsql
868 if test -d /usr/lib64/pgsql; then
869 POSTGRESQL_LIBDIR=/usr/lib64/pgsql
871 POSTGRESQL_LIBDIR=/usr/lib/pgsql
873 POSTGRESQL_BINDIR=/usr/bin
874 elif test -f /usr/include/postgresql/libpq-fe.h; then
875 POSTGRESQL_INCDIR=/usr/include/postgresql
876 if test -d /usr/lib64/postgresql; then
877 POSTGRESQL_LIBDIR=/usr/lib64/postgresql
879 POSTGRESQL_LIBDIR=/usr/lib/postgresql
881 POSTGRESQL_BINDIR=/usr/bin
884 AC_MSG_ERROR(Unable to find libpq-fe.h in standard locations)
886 elif test -f $withval/include/libpq-fe.h; then
887 POSTGRESQL_INCDIR=$withval/include
888 POSTGRESQL_LIBDIR=$withval/lib
889 POSTGRESQL_BINDIR=$withval/bin
890 elif test -f $withval/include/postgresql/libpq-fe.h; then
891 POSTGRESQL_INCDIR=$withval/include/postgresql
892 if test -d $withval/lib64; then
893 POSTGRESQL_LIBDIR=$withval/lib64
895 POSTGRESQL_LIBDIR=$withval/lib
897 POSTGRESQL_BINDIR=$withval/bin
900 AC_MSG_ERROR(Invalid PostgreSQL directory $withval - unable to find libpq-fe.h under $withval)
902 AC_DEFINE(HAVE_POSTGRESQL, 1, [Set if you have an PostgreSQL Database])
905 POSTGRESQL_INCLUDE=-I$POSTGRESQL_INCDIR
906 if test x$use_libtool != xno; then
907 POSTGRESQL_LIBS="-R $POSTGRESQL_LIBDIR -L$POSTGRESQL_LIBDIR -lpq"
909 POSTGRESQL_LIBS="-L$POSTGRESQL_LIBDIR -lpq"
911 AC_CHECK_FUNC(crypt, , AC_CHECK_LIB(crypt, crypt, [POSTGRESQL_LIBS="$POSTGRESQL_LIBS -lcrypt"]))
912 POSTGRESQL_LIB=$POSTGRESQL_LIBDIR/libpq.a
913 DB_LIBS="${DB_LIBS} ${POSTGRESQL_LIBS}"
915 if test -z "${db_backends}"; then
916 db_backends="PostgreSQL"
918 db_backends="${db_backends} PostgreSQL"
920 if test -z "${DB_BACKENDS}"; then
921 DB_BACKENDS="postgresql"
923 DB_BACKENDS="${DB_BACKENDS} postgresql"
926 dnl -------------------------------------------
927 dnl Check if postgresql supports batch mode
928 dnl -------------------------------------------
929 if test "x$support_batch_insert" = "xyes"; then
930 dnl For postgresql checking
931 saved_LDFLAGS="${LDFLAGS}"
932 LDFLAGS="${saved_LDFLAGS} -L$POSTGRESQL_LIBDIR"
934 if test "x$ac_cv_lib_crypt_crypt" = "xyes" ; then
935 LIBS="${saved_LIBS} -lcrypt"
938 AC_CHECK_LIB(pq, PQisthreadsafe, AC_DEFINE(HAVE_PQISTHREADSAFE, 1, [Set if have PQisthreadsafe]))
939 AC_CHECK_LIB(pq, PQputCopyData, AC_DEFINE(HAVE_PQ_COPY, 1, [Set if have PQputCopyData]))
940 if test "x$ac_cv_lib_pq_PQputCopyData" = "xyes"; then
941 if test $support_batch_insert = yes ; then
942 AC_DEFINE(HAVE_POSTGRESQL_BATCH_FILE_INSERT, 1, [Set if PostgreSQL DB batch insert code enabled])
943 if test -z "${batch_insert_db_backends}"; then
944 batch_insert_db_backends="PostgreSQL"
946 batch_insert_db_backends="${batch_insert_db_backends} PostgreSQL"
951 if test x$ac_cv_lib_pq_PQisthreadsafe != xyes -a x$support_batch_insert = xyes
953 echo "WARNING: Your PostgreSQL client library is too old to detect "
954 echo "if it was compiled with --enable-thread-safety, consider to "
955 echo "upgrade it in order to avoid problems with Batch insert mode"
958 dnl Revert after postgresql checks
959 LDFLAGS="${saved_LDFLAGS}"
968 AC_SUBST(POSTGRESQL_LIBS)
969 AC_SUBST(POSTGRESQL_INCLUDE)
970 AC_SUBST(POSTGRESQL_BINDIR)
974 AC_DEFUN([AM_CONDITIONAL],