1 AC_DEFUN([BA_CHECK_DBI_DB],
3 AC_MSG_CHECKING(for DBI support)
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.]),
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
14 DBI_LIBDIR=/usr/local/lib
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
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
30 DBI_LIBDIR=$prefix/lib
32 DBI_BINDIR=$prefix/bin
35 AC_MSG_ERROR(Unable to find dbi.h in standard locations)
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
42 DRIVERDIR=/usr/local/lib/dbd
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
49 DRIVERDIR=/usr/lib/dbd
51 elif test -d $prefix/lib/dbd; then
52 if test -d $prefix/lib64/dbd; then
53 DRIVERDIR=$prefix/lib64/dbd
55 DRIVERDIR=$prefix/lib/dbd
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
65 AC_MSG_ERROR(Unable to find DBD drivers in standard locations)
68 if test -f $withval/dbi.h; then
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
77 DBI_LIBDIR=$withval/lib
79 DBI_BINDIR=$withval/bin
82 AC_MSG_ERROR(Invalid DBI directory $withval - unable to find dbi.h under $withval)
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
90 DRIVERDIR=$withval/lib/dbd
92 elif test -d $withval/lib64/dbd; then
93 DRIVERDIR=$withval/lib64/dbd
96 AC_MSG_ERROR(Invalid DBD driver directory $withval - unable to find DBD drivers under $withval)
99 DBI_INCLUDE=-I$DBI_INCDIR
100 if test x$use_libtool != xno; then
101 DBI_LIBS="-R $DBI_LIBDIR -L$DBI_LIBDIR -ldbi"
103 DBI_LIBS="-L$DBI_LIBDIR -ldbi"
105 DBI_LIB=$DBI_LIBDIR/libdbi.a
106 DBI_DBD_DRIVERDIR="-D DBI_DRIVER_DIR=\\\"$DRIVERDIR\\\""
107 DB_LIBS="${DB_LIBS} ${DBI_LIBS}"
109 AC_DEFINE(HAVE_DBI, 1, [Set if you have the DBI driver])
112 if test -z "${db_backends}"; then
115 db_backends="${db_backends} DBI"
117 if test -z "${DB_BACKENDS}" ; then
120 DB_BACKENDS="${DB_BACKENDS} dbi"
124 dnl -------------------------------------------
125 dnl Push the DB_PROG onto the stack of supported database backends for DBI
126 dnl -------------------------------------------
127 DB_BACKENDS="${DB_BACKENDS} ${DB_PROG}"
129 dnl -------------------------------------------
130 dnl Check if dbi supports batch mode
131 dnl -------------------------------------------
132 if test "x$support_batch_insert" = "xyes"; then
133 if test $DB_PROG = postgresql; then
134 AC_CHECK_LIB(pq, PQisthreadsafe, AC_DEFINE(HAVE_PQISTHREADSAFE))
135 AC_CHECK_LIB(pq, PQputCopyData, AC_DEFINE(HAVE_PQ_COPY))
136 test "x$ac_cv_lib_pq_PQputCopyData" = "xyes"
138 if test $pkg = 0; then
139 AC_DEFINE(HAVE_DBI_BATCH_FILE_INSERT, 1, [Set if DBI DB batch insert code enabled])
151 AC_SUBST(DBI_INCLUDE)
153 AC_SUBST(DBI_DBD_DRIVERDIR)
157 AC_DEFUN([BA_CHECK_DBI_DRIVER],
160 AC_MSG_CHECKING(for DBI drivers support)
161 AC_ARG_WITH(dbi-driver,
162 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.]),
164 if test "$withval" != "no"; then
168 if test -f /usr/local/mysql/bin/mysql; then
169 MYSQL_BINDIR=/usr/local/mysql/bin
170 if test -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.a \
171 -o -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.so; then
172 MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
174 MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
176 elif test -f /usr/bin/mysql; then
177 MYSQL_BINDIR=/usr/bin
178 if test -f /usr/lib64/mysql/libmysqlclient_r.a \
179 -o -f /usr/lib64/mysql/libmysqlclient_r.so; then
180 MYSQL_LIBDIR=/usr/lib64/mysql
181 elif test -f /usr/lib/mysql/libmysqlclient_r.a \
182 -o -f /usr/lib/mysql/libmysqlclient_r.so; then
183 MYSQL_LIBDIR=/usr/lib/mysql
185 MYSQL_LIBDIR=/usr/lib
187 elif test -f /usr/local/bin/mysql; then
188 MYSQL_BINDIR=/usr/local/bin
189 if test -f /usr/local/lib64/mysql/libmysqlclient_r.a \
190 -o -f /usr/local/lib64/mysql/libmysqlclient_r.so; then
191 MYSQL_LIBDIR=/usr/local/lib64/mysql
192 elif test -f /usr/local/lib/mysql/libmysqlclient_r.a \
193 -o -f /usr/local/lib/mysql/libmysqlclient_r.so; then
194 MYSQL_LIBDIR=/usr/local/lib/mysql
196 MYSQL_LIBDIR=/usr/local/lib
198 elif test -f $withval/bin/mysql; then
199 MYSQL_BINDIR=$withval/bin
200 if test -f $withval/lib64/mysql/libmysqlclient_r.a \
201 -o -f $withval/lib64/mysql/libmysqlclient_r.so; then
202 MYSQL_LIBDIR=$withval/lib64/mysql
203 elif test -f $withval/lib64/libmysqlclient_r.a \
204 -o -f $withval/lib64/libmysqlclient_r.so; then
205 MYSQL_LIBDIR=$withval/lib64
206 elif test -f $withval/lib/libmysqlclient_r.a \
207 -o -f $withval/lib/libmysqlclient_r.so; then
208 MYSQL_LIBDIR=$withval/lib/
210 MYSQL_LIBDIR=$withval/lib/mysql
212 elif test -f $prefix/lib/mysql55/bin/mysql; then
213 MYSQL_BINDIR=$prefix/lib/mysql55/bin
214 if test -f $prefix/lib/mysql55/mysql/libmysqlclient_r.a \
215 -o -f $prefix/lib/mysql55/mysql/libmysqlclient_r.so; then
216 MYSQL_LIBDIR=$prefix/lib/mysql55/mysql
218 elif test -f $prefix/lib/mysql51/bin/mysql; then
219 MYSQL_BINDIR=$prefix/lib/mysql51/bin
220 if test -f $prefix/lib/mysql51/mysql/libmysqlclient_r.a \
221 -o -f $prefix/lib/mysql51/mysql/libmysqlclient_r.so; then
222 MYSQL_LIBDIR=$prefix/lib/mysql51/mysql
226 AC_MSG_ERROR(Unable to find mysql in standard locations)
228 if test -f $SQL_LIBDIR/libmysqlclient_r.so; then
229 DB_PROG_LIB=$SQL_LIBDIR/libmysqlclient_r.so
231 DB_PROG_LIB=$SQL_LIBDIR/libmysqlclient_r.a
236 PG_CONFIG=`which pg_config 2>/dev/null`
237 if test -n "$PG_CONFIG"; then
238 POSTGRESQL_BINDIR=`"$PG_CONFIG" --bindir`
239 POSTGRESQL_LIBDIR=`"$PG_CONFIG" --libdir`
240 elif test -f /usr/local/bin/psql; then
241 POSTGRESQL_BINDIR=/usr/local/bin
242 if test -d /usr/local/lib64; then
243 POSTGRESQL_LIBDIR=/usr/local/lib64
245 POSTGRESQL_LIBDIR=/usr/local/lib
247 elif test -f /usr/bin/psql; then
248 POSTGRESQL_BINDIR=/usr/local/bin
249 if test -d /usr/lib64/postgresql; then
250 POSTGRESQL_LIBDIR=/usr/lib64/postgresql
251 elif test -d /usr/lib/postgresql; then
252 POSTGRESQL_LIBDIR=/usr/lib/postgresql
253 elif test -d /usr/lib64; then
254 POSTGRESQL_LIBDIR=/usr/lib64
256 POSTGRESQL_LIBDIR=/usr/lib
258 elif test -f $withval/bin/psql; then
259 POSTGRESQL_BINDIR=$withval/bin
260 if test -d $withval/lib64; then
261 POSTGRESQL_LIBDIR=$withval/lib64
263 POSTGRESQL_LIBDIR=$withval/lib
267 AC_MSG_ERROR(Unable to find psql in standard locations)
269 if test -f $POSTGRESQL_LIBDIR/libpq.so; then
270 DB_PROG_LIB=$POSTGRESQL_LIBDIR/libpq.so
272 DB_PROG_LIB=$POSTGRESQL_LIBDIR/libpq.a
277 if test -f /usr/local/bin/sqlite3; then
278 SQLITE_BINDIR=/usr/local/bin
279 if test -d /usr/local/lib64; then
280 SQLITE_LIBDIR=/usr/local/lib64
282 SQLITE_LIBDIR=/usr/local/lib
284 elif test -f /usr/bin/sqlite3; then
285 SQLITE_BINDIR=/usr/bin
286 if test -d /usr/lib64; then
287 SQLITE_LIBDIR=/usr/lib64
289 SQLITE_LIBDIR=/usr/lib
291 elif test -f $withval/bin/sqlite3; then
292 SQLITE_BINDIR=$withval/bin
293 if test -d $withval/lib64; then
294 SQLITE_LIBDIR=$withval/lib64
296 SQLITE_LIBDIR=$withval/lib
300 AC_MSG_ERROR(Unable to find sqlite in standard locations)
302 if test -f $SQLITE_LIBDIR/libsqlite3.so; then
303 DB_PROG_LIB=$SQLITE_LIBDIR/libsqlite3.so
305 DB_PROG_LIB=$SQLITE_LIBDIR/libsqlite3.a
310 AC_MSG_ERROR(Unable to set DBI driver. $withval is not supported)
323 AC_SUBST(MYSQL_BINDIR)
324 AC_SUBST(POSTGRESQL_BINDIR)
325 AC_SUBST(SQLITE_BINDIR)
327 AC_SUBST(DB_PROG_LIB)
332 AC_DEFUN([BA_CHECK_MYSQL_DB],
334 AC_MSG_CHECKING(for MySQL support)
336 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.]),
338 if test "$withval" != "no"; then
339 if test "$withval" = "yes"; then
341 # This code is very broken on older systems
343 # MYSQL_CONFIG=`which mysql_config 2>/dev/null`
344 # if test "x${MYSQL_CONFIG}" != x; then
345 # MYSQL_BINDIR="${MYSQL_CONFIG%/*}"
346 # ${MYSQL_CONFIG} --variable=pkglibdir > /dev/null 2>&1
347 # if test $? = 0 ; then
348 # MYSQL_LIBDIR=`${MYSQL_CONFIG} --variable=pkglibdir`
349 # MYSQL_INCDIR=`${MYSQL_CONFIG} --variable=pkgincludedir`
351 # MYSQL_LIBDIR=`${MYSQL_CONFIG} --libs | sed -e 's/.*-L//' -e 's/ .*//'`
352 # MYSQL_INCDIR=`${MYSQL_CONFIG} --include | sed -e 's/-I//'`
354 # elif test -f /usr/local/mysql/include/mysql/mysql.h; then
355 if test -f /usr/local/mysql/include/mysql/mysql.h; then
356 MYSQL_INCDIR=/usr/local/mysql/include/mysql
357 if test -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.a \
358 -o -f /usr/local/mysql/lib64/mysql/libmysqlclient_r.so; then
359 MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
361 MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
363 MYSQL_BINDIR=/usr/local/mysql/bin
364 elif test -f /usr/include/mysql/mysql.h; then
365 MYSQL_INCDIR=/usr/include/mysql
366 if test -f /usr/lib64/mysql/libmysqlclient_r.a \
367 -o -f /usr/lib64/mysql/libmysqlclient_r.so; then
368 MYSQL_LIBDIR=/usr/lib64/mysql
369 elif test -f /usr/lib64/libmysqlclient_r.a \
370 -o -f /usr/lib64/libmysqlclient_r.so; then
371 MYSQL_LIBDIR=/usr/lib64
372 elif test -f /usr/lib/x86_64-linux-gnu/libmysqlclient_r.a \
373 -o -f /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so; then
374 MYSQL_LIBDIR=/usr/lib/x86_64-linux-gnu
375 elif test -f /usr/lib/mysql/libmysqlclient_r.a \
376 -o -f /usr/lib/mysql/libmysqlclient_r.so; then
377 MYSQL_LIBDIR=/usr/lib/mysql
379 MYSQL_LIBDIR=/usr/lib
381 MYSQL_BINDIR=/usr/bin
382 elif test -f /usr/include/mysql.h; then
383 MYSQL_INCDIR=/usr/include
384 if test -f /usr/lib64/libmysqlclient_r.a \
385 -o -f /usr/lib64/libmysqlclient_r.so; then
386 MYSQL_LIBDIR=/usr/lib64
388 MYSQL_LIBDIR=/usr/lib
390 MYSQL_BINDIR=/usr/bin
391 elif test -f /usr/local/include/mysql/mysql.h; then
392 MYSQL_INCDIR=/usr/local/include/mysql
393 if test -f /usr/local/lib64/mysql/libmysqlclient_r.a \
394 -o -f /usr/local/lib64/mysql/libmysqlclient_r.so; then
395 MYSQL_LIBDIR=/usr/local/lib64/mysql
397 MYSQL_LIBDIR=/usr/local/lib/mysql
399 MYSQL_BINDIR=/usr/local/bin
400 elif test -f /usr/local/include/mysql.h; then
401 MYSQL_INCDIR=/usr/local/include
402 if test -f /usr/local/lib64/libmysqlclient_r.a \
403 -o -f /usr/local/lib64/libmysqlclient_r.so; then
404 MYSQL_LIBDIR=/usr/local/lib64
406 MYSQL_LIBDIR=/usr/local/lib
408 MYSQL_BINDIR=/usr/local/bin
411 AC_MSG_ERROR(Unable to find mysql.h in standard locations)
414 if test -f $withval/include/mysql/mysql.h; then
415 MYSQL_INCDIR=$withval/include/mysql
416 if test -f $withval/lib64/mysql/libmysqlclient_r.a \
417 -o -f $withval/lib64/mysql/libmysqlclient_r.so; then
418 MYSQL_LIBDIR=$withval/lib64/mysql
419 elif test -f $withval/lib64/libmysqlclient_r.a \
420 -o -f $withval/lib64/libmysqlclient_r.so; then
421 MYSQL_LIBDIR=$withval/lib64
422 elif test -f $withval/lib/libmysqlclient_r.a \
423 -o -f $withval/lib/libmysqlclient_r.so; then
424 MYSQL_LIBDIR=$withval/lib
426 MYSQL_LIBDIR=$withval/lib/mysql
428 MYSQL_BINDIR=$withval/bin
429 elif test -f $withval/include/mysql.h; then
430 MYSQL_INCDIR=$withval/include
431 if test -f $withval/lib64/libmysqlclient_r.a \
432 -o -f $withval/lib64/libmysqlclient_r.so; then
433 MYSQL_LIBDIR=$withval/lib64
435 MYSQL_LIBDIR=$withval/lib
437 MYSQL_BINDIR=$withval/bin
438 elif test -f $withval/mysql.h; then
439 dnl MacPorts on OSX has a special MySQL Layout. See #2079
440 MYSQL_INCDIR=$withval
441 AC_MSG_NOTICE(Got with-mysql variable $MYSQL_INCDIR checking MySQL version)
442 case $MYSQL_INCDIR in
444 AC_MSG_NOTICE(Assuming MacPorts MySQL 5.5 variant installed)
445 dnl with-mysql given contains mysql55 - assuming OSX MacPorts MySQL55 variant
446 if test -f $prefix/lib/mysql55/mysql/libmysqlclient_r.a \
447 -o -f $prefix/lib/mysql55/mysql/libmysqlclient_r.so; then
448 AC_MSG_NOTICE(Found MySQL 5.5 library in $prefix/lib/mysql55/mysql)
449 MYSQL_LIBDIR=$prefix/lib/mysql55/mysql
451 MYSQL_BINDIR=$prefix/lib/mysql55/bin
454 AC_MSG_NOTICE(Assuming MacPorts MySQL 5.1 variant installed)
455 dnl with-mysql contains mysql51 - assuming OSX MacPorts MySQL51 variant
456 if test -f $prefix/lib/mysql51/mysql/libmysqlclient_r.a \
457 -o -f $prefix/lib/mysql51/mysql/libmysqlclient_r.so; then
458 AC_MSG_NOTICE(Found MySQL 5.1 library in $prefix/lib/mysql55/mysql)
459 MYSQL_LIBDIR=$prefix/lib/mysql51/mysql
461 MYSQL_BINDIR=$prefix/lib/mysql51/bin
464 if test -z "${MYSQL_LIBDIR}" ; then
466 AC_MSG_ERROR(MySQL $withval - unable to find MySQL libraries)
470 AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
473 MYSQL_INCLUDE=-I$MYSQL_INCDIR
474 if test -f $MYSQL_LIBDIR/libmysqlclient_r.a \
475 -o -f $MYSQL_LIBDIR/libmysqlclient_r.so; then
476 if test x$use_libtool != xno; then
477 MYSQL_LIBS="-R $MYSQL_LIBDIR -L$MYSQL_LIBDIR -lmysqlclient_r -lz"
479 MYSQL_LIBS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz"
481 DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
483 MYSQL_LIB=$MYSQL_LIBDIR/libmysqlclient_r.a
485 AC_DEFINE(HAVE_MYSQL, 1, [Set if you have an MySQL Database])
488 if test -z "${db_backends}" ; then
491 db_backends="${db_backends} MySQL"
493 if test -z "${DB_BACKENDS}" ; then
496 DB_BACKENDS="${DB_BACKENDS} mysql"
499 dnl -------------------------------------------
500 dnl Check if mysql supports batch mode
501 dnl -------------------------------------------
502 if test "x$support_batch_insert" = "xyes"; then
503 dnl For mysql checking
504 saved_LDFLAGS="${LDFLAGS}"
505 LDFLAGS="${saved_LDFLAGS} -L$MYSQL_LIBDIR"
507 LIBS="${saved_LIBS} -lz"
509 AC_CHECK_LIB(mysqlclient_r, mysql_thread_safe, AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe]))
510 if test "x$ac_cv_lib_mysqlclient_r_mysql_thread_safe" = "xyes"; then
511 if test -z "${batch_insert_db_backends}"; then
512 batch_insert_db_backends="MySQL"
514 batch_insert_db_backends="${batch_insert_db_backends} MySQL"
518 dnl Revert after mysql checks
519 LDFLAGS="${saved_LDFLAGS}"
529 AC_MSG_CHECKING(for MySQL embedded support)
530 AC_ARG_WITH(embedded-mysql,
531 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.]),
533 if test "$withval" != "no"; then
534 if test "$withval" = "yes"; then
535 if test -f /usr/local/mysql/include/mysql/mysql.h; then
536 MYSQL_INCDIR=/usr/local/mysql/include/mysql
537 if test -d /usr/local/mysql/lib64/mysql; then
538 MYSQL_LIBDIR=/usr/local/mysql/lib64/mysql
540 MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
542 MYSQL_BINDIR=/usr/local/mysql/bin
543 elif test -f /usr/include/mysql/mysql.h; then
544 MYSQL_INCDIR=/usr/include/mysql
545 if test -d /usr/lib64/mysql; then
546 MYSQL_LIBDIR=/usr/lib64/mysql
548 MYSQL_LIBDIR=/usr/lib/mysql
550 MYSQL_BINDIR=/usr/bin
551 elif test -f /usr/include/mysql.h; then
552 MYSQL_INCDIR=/usr/include
553 if test -d /usr/lib64; then
554 MYSQL_LIBDIR=/usr/lib64
556 MYSQL_LIBDIR=/usr/lib
558 MYSQL_BINDIR=/usr/bin
559 elif test -f /usr/local/include/mysql/mysql.h; then
560 MYSQL_INCDIR=/usr/local/include/mysql
561 if test -d /usr/local/lib64/mysql; then
562 MYSQL_LIBDIR=/usr/local/lib64/mysql
564 MYSQL_LIBDIR=/usr/local/lib/mysql
566 MYSQL_BINDIR=/usr/local/bin
567 elif test -f /usr/local/include/mysql.h; then
568 MYSQL_INCDIR=/usr/local/include
569 if test -d /usr/local/lib64; then
570 MYSQL_LIBDIR=/usr/local/lib64
572 MYSQL_LIBDIR=/usr/local/lib
574 MYSQL_BINDIR=/usr/local/bin
577 AC_MSG_ERROR(Unable to find mysql.h in standard locations)
580 if test -f $withval/include/mysql/mysql.h; then
581 MYSQL_INCDIR=$withval/include/mysql
582 if test -d $withval/lib64/mysql; then
583 MYSQL_LIBDIR=$withval/lib64/mysql
585 MYSQL_LIBDIR=$withval/lib/mysql
587 MYSQL_BINDIR=$withval/bin
588 elif test -f $withval/include/mysql.h; then
589 MYSQL_INCDIR=$withval/include
590 if test -d $withval/lib64; then
591 MYSQL_LIBDIR=$withval/lib64
593 MYSQL_LIBDIR=$withval/lib
595 MYSQL_BINDIR=$withval/bin
598 AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
601 MYSQL_INCLUDE=-I$MYSQL_INCDIR
602 if test x$use_libtool != xno; then
603 MYSQL_LIBS="-R $MYSQL_LIBDIR -L$MYSQL_LIBDIR -lmysqld -lz -lm -lcrypt"
605 MYSQL_LIBS="-L$MYSQL_LIBDIR -lmysqld -lz -lm -lcrypt"
607 MYSQL_LIB=$MYSQL_LIBDIR/libmysqld.a
608 DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
610 AC_DEFINE(HAVE_MYSQL, 1, [Set if you have an MySQL Database])
611 AC_DEFINE(HAVE_EMBEDDED_MYSQL, 1, [Set if you have an Embedded MySQL Database])
614 if test -z "${db_backends}"; then
617 db_backends="${db_backends} MySQL"
619 if test -z "${DB_BACKENDS}"; then
622 DB_BACKENDS="${DB_BACKENDS} mysql"
625 dnl -------------------------------------------
626 dnl Check if mysql supports batch mode
627 dnl -------------------------------------------
628 if test "x$support_batch_insert" = "xyes"; then
629 dnl For mysql checking
630 saved_LDFLAGS="${LDFLAGS}"
631 LDFLAGS="${saved_LDFLAGS} -L$MYSQL_LIBDIR"
633 LIBS="${saved_LIBS} -lz -lm -lcrypt"
635 AC_CHECK_LIB(mysqlclient_r, mysql_thread_safe, AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe]))
636 if test "x$ac_cv_lib_mysqlclient_r_mysql_thread_safe" = "xyes"; then
637 if test -z "${batch_insert_db_backends}"; then
638 batch_insert_db_backends="MySQL"
640 batch_insert_db_backends="${batch_insert_db_backends} MySQL"
644 dnl Revert after mysql checks
645 LDFLAGS="${saved_LDFLAGS}"
656 AC_SUBST(MYSQL_INCLUDE)
657 AC_SUBST(MYSQL_BINDIR)
661 AC_DEFUN([BA_CHECK_INGRES_DB],
663 AC_MSG_CHECKING(for Ingres support)
665 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.]),
667 if test "$withval" != "no"; then
668 if test "$withval" = "yes"; then
669 if test -f ${II_SYSTEM}/files/eqdefc.h; then
670 INGRES_INCDIR=${II_SYSTEM}/files
671 INGRES_LIBDIR=${II_SYSTEM}/lib
672 INGRES_BINDIR=${II_SYSTEM}/bin
673 elif test -f ${II_SYSTEM}/ingres/files/eqdefc.h; then
674 INGRES_INCDIR=${II_SYSTEM}/ingres/files
675 INGRES_LIBDIR=${II_SYSTEM}/ingres/lib
676 INGRES_BINDIR=${II_SYSTEM}/ingres/bin
679 AC_MSG_ERROR(Unable to find eqdefc.h in standard locations)
682 if test -f $withval/files/eqdefc.h; then
683 INGRES_INCDIR=$withval/files
684 INGRES_LIBDIR=$withval/lib
685 INGRES_BINDIR=$withval/bin
688 AC_MSG_ERROR(Invalid Ingres directory $withval - unable to find Ingres headers under $withval)
691 INGRES_INCLUDE=-I$INGRES_INCDIR
692 if test x$use_libtool != xno; then
693 INGRES_LIBS="-R $INGRES_LIBDIR -L$INGRES_LIBDIR -lq.1 -lcompat.1 -lframe.1"
695 INGRES_LIBS="-L$INGRES_LIBDIR -lq.1 -lcompat.1 -lframe.1"
697 DB_LIBS="${DB_LIBS} ${INGRES_LIBS}"
698 AC_DEFINE(HAVE_INGRES, 1, [Set if have Ingres Database])
701 if test -z "${db_backends}"; then
704 db_backends="${db_backends} Ingres"
706 if test -z "${DB_BACKENDS}"; then
709 DB_BACKENDS="${DB_BACKENDS} ingres"
718 AC_SUBST(INGRES_LIBS)
719 AC_SUBST(INGRES_INCLUDE)
720 AC_SUBST(INGRES_BINDIR)
723 AC_DEFUN([BA_CHECK_SQLITE3_DB],
725 AC_MSG_CHECKING(for SQLite3 support)
727 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.]),
729 if test "$withval" != "no"; then
730 if test "$withval" = "yes"; then
731 if test -f /usr/local/include/sqlite3.h; then
732 SQLITE_INCDIR=/usr/local/include
733 if test -d /usr/local/lib64; then
734 SQLITE_LIBDIR=/usr/local/lib64
736 SQLITE_LIBDIR=/usr/local/lib
738 SQLITE_BINDIR=/usr/local/bin
739 elif test -f /usr/include/sqlite3.h; then
740 SQLITE_INCDIR=/usr/include
741 if test -d /usr/lib64; then
742 SQLITE_LIBDIR=/usr/lib64
744 SQLITE_LIBDIR=/usr/lib
746 SQLITE_BINDIR=/usr/bin
747 elif test -f $prefix/include/sqlite3.h; then
748 SQLITE_INCDIR=$prefix/include
749 if test -d $prefix/lib64; then
750 SQLITE_LIBDIR=$prefix/lib64
752 SQLITE_LIBDIR=$prefix/lib
754 SQLITE_BINDIR=$prefix/bin
757 AC_MSG_ERROR(Unable to find sqlite3.h in standard locations)
760 if test -f $withval/sqlite3.h; then
761 SQLITE_INCDIR=$withval
762 SQLITE_LIBDIR=$withval
763 SQLITE_BINDIR=$withval
764 elif test -f $withval/include/sqlite3.h; then
765 SQLITE_INCDIR=$withval/include
766 if test -d $withval/lib64; then
767 SQLITE_LIBDIR=$withval/lib64
769 SQLITE_LIBDIR=$withval/lib
771 SQLITE_BINDIR=$withval/bin
774 AC_MSG_ERROR(Invalid SQLite3 directory $withval - unable to find sqlite3.h under $withval)
777 SQLITE_INCLUDE=-I$SQLITE_INCDIR
778 if test x$use_libtool != xno; then
779 SQLITE_LIBS="-R $SQLITE_LIBDIR -L$SQLITE_LIBDIR -lsqlite3"
781 SQLITE_LIBS="-L$SQLITE_LIBDIR -lsqlite3"
783 SQLITE_LIB=$SQLITE_LIBDIR/libsqlite3.a
784 DB_LIBS="${DB_LIBS} ${SQLITE_LIBS}"
786 AC_DEFINE(HAVE_SQLITE3, 1, [Set if you have an SQLite3 Database])
789 if test -z "${db_backends}"; then
790 db_backends="SQLite3"
792 db_backends="${db_backends} SQLite3"
794 if test -z "${DB_BACKENDS}"; then
795 DB_BACKENDS="sqlite3"
797 DB_BACKENDS="${DB_BACKENDS} sqlite3"
800 dnl -------------------------------------------
801 dnl Check if sqlite supports batch mode
802 dnl -------------------------------------------
803 if test "x$support_batch_insert" = "xyes"; then
804 dnl For sqlite checking
805 saved_LDFLAGS="${LDFLAGS}"
806 LDFLAGS="${saved_LDFLAGS} -L$SQLITE_LIBDIR"
808 AC_CHECK_LIB(sqlite3, sqlite3_threadsafe, AC_DEFINE(HAVE_SQLITE3_THREADSAFE, 1, [Set if have sqlite3_threadsafe]))
809 if test "x$ac_cv_lib_sqlite3_sqlite3_threadsafe" = "xyes"; then
810 if test -z "${batch_insert_db_backends}"; then
811 batch_insert_db_backends="SQLite3"
813 batch_insert_db_backends="${batch_insert_db_backends} SQLite3"
817 dnl Revert after sqlite checks
818 LDFLAGS="${saved_LDFLAGS}"
826 AC_SUBST(SQLITE_LIBS)
827 AC_SUBST(SQLITE_INCLUDE)
828 AC_SUBST(SQLITE_BINDIR)
833 AC_DEFUN([BA_CHECK_POSTGRESQL_DB],
835 AC_MSG_CHECKING(for PostgreSQL support)
836 AC_ARG_WITH(postgresql,
837 AC_HELP_STRING([--with-postgresql@<:@=DIR@:>@], [Include PostgreSQL support. DIR is the PostgreSQL base install directory, @<:@default=/usr/local/pgsql@:>@]),
839 if test "$withval" != "no"; then
840 if test "$withval" = "yes"; then
841 PG_CONFIG=`which pg_config 2>/dev/null`
842 if test -n "$PG_CONFIG"; then
843 POSTGRESQL_INCDIR=`"$PG_CONFIG" --includedir`
844 POSTGRESQL_LIBDIR=`"$PG_CONFIG" --libdir`
845 POSTGRESQL_BINDIR=`"$PG_CONFIG" --bindir`
846 elif test -f /usr/local/include/libpq-fe.h; then
847 POSTGRESQL_INCDIR=/usr/local/include
848 if test -d /usr/local/lib64; then
849 POSTGRESQL_LIBDIR=/usr/local/lib64
851 POSTGRESQL_LIBDIR=/usr/local/lib
853 POSTGRESQL_BINDIR=/usr/local/bin
854 elif test -f /usr/include/libpq-fe.h; then
855 POSTGRESQL_INCDIR=/usr/include
856 if test -d /usr/lib64; then
857 POSTGRESQL_LIBDIR=/usr/lib64
859 POSTGRESQL_LIBDIR=/usr/lib
861 POSTGRESQL_BINDIR=/usr/bin
862 elif test -f /usr/include/pgsql/libpq-fe.h; then
863 POSTGRESQL_INCDIR=/usr/include/pgsql
864 if test -d /usr/lib64/pgsql; then
865 POSTGRESQL_LIBDIR=/usr/lib64/pgsql
867 POSTGRESQL_LIBDIR=/usr/lib/pgsql
869 POSTGRESQL_BINDIR=/usr/bin
870 elif test -f /usr/include/postgresql/libpq-fe.h; then
871 POSTGRESQL_INCDIR=/usr/include/postgresql
872 if test -d /usr/lib64/postgresql; then
873 POSTGRESQL_LIBDIR=/usr/lib64/postgresql
875 POSTGRESQL_LIBDIR=/usr/lib/postgresql
877 POSTGRESQL_BINDIR=/usr/bin
880 AC_MSG_ERROR(Unable to find libpq-fe.h in standard locations)
882 elif test -f $withval/include/libpq-fe.h; then
883 POSTGRESQL_INCDIR=$withval/include
884 POSTGRESQL_LIBDIR=$withval/lib
885 POSTGRESQL_BINDIR=$withval/bin
886 elif test -f $withval/include/postgresql/libpq-fe.h; then
887 POSTGRESQL_INCDIR=$withval/include/postgresql
888 if test -d $withval/lib64; then
889 POSTGRESQL_LIBDIR=$withval/lib64
891 POSTGRESQL_LIBDIR=$withval/lib
893 POSTGRESQL_BINDIR=$withval/bin
896 AC_MSG_ERROR(Invalid PostgreSQL directory $withval - unable to find libpq-fe.h under $withval)
898 AC_DEFINE(HAVE_POSTGRESQL, 1, [Set if you have an PostgreSQL Database])
901 POSTGRESQL_INCLUDE=-I$POSTGRESQL_INCDIR
902 if test x$use_libtool != xno; then
903 POSTGRESQL_LIBS="-R $POSTGRESQL_LIBDIR -L$POSTGRESQL_LIBDIR -lpq"
905 POSTGRESQL_LIBS="-L$POSTGRESQL_LIBDIR -lpq"
907 AC_CHECK_FUNC(crypt, , AC_CHECK_LIB(crypt, crypt, [POSTGRESQL_LIBS="$POSTGRESQL_LIBS -lcrypt"]))
908 POSTGRESQL_LIB=$POSTGRESQL_LIBDIR/libpq.a
909 DB_LIBS="${DB_LIBS} ${POSTGRESQL_LIBS}"
911 if test -z "${db_backends}"; then
912 db_backends="PostgreSQL"
914 db_backends="${db_backends} PostgreSQL"
916 if test -z "${DB_BACKENDS}"; then
917 DB_BACKENDS="postgresql"
919 DB_BACKENDS="${DB_BACKENDS} postgresql"
922 dnl -------------------------------------------
923 dnl Check if postgresql supports batch mode
924 dnl -------------------------------------------
925 if test "x$support_batch_insert" = "xyes"; then
926 dnl For postgresql checking
927 saved_LDFLAGS="${LDFLAGS}"
928 LDFLAGS="${saved_LDFLAGS} -L$POSTGRESQL_LIBDIR"
930 if test "x$ac_cv_lib_crypt_crypt" = "xyes" ; then
931 LIBS="${saved_LIBS} -lcrypt"
934 AC_CHECK_LIB(pq, PQisthreadsafe, AC_DEFINE(HAVE_PQISTHREADSAFE, 1, [Set if have PQisthreadsafe]))
935 AC_CHECK_LIB(pq, PQputCopyData, AC_DEFINE(HAVE_PQ_COPY, 1, [Set if have PQputCopyData]))
936 if test "x$ac_cv_lib_pq_PQputCopyData" = "xyes"; then
937 if test $support_batch_insert = yes ; then
938 AC_DEFINE(HAVE_POSTGRESQL_BATCH_FILE_INSERT, 1, [Set if PostgreSQL DB batch insert code enabled])
939 if test -z "${batch_insert_db_backends}"; then
940 batch_insert_db_backends="PostgreSQL"
942 batch_insert_db_backends="${batch_insert_db_backends} PostgreSQL"
947 if test x$ac_cv_lib_pq_PQisthreadsafe != xyes -a x$support_batch_insert = xyes
949 echo "WARNING: Your PostgreSQL client library is too old to detect "
950 echo "if it was compiled with --enable-thread-safety, consider to "
951 echo "upgrade it in order to avoid problems with Batch insert mode"
954 dnl Revert after postgresql checks
955 LDFLAGS="${saved_LDFLAGS}"
964 AC_SUBST(POSTGRESQL_LIBS)
965 AC_SUBST(POSTGRESQL_INCLUDE)
966 AC_SUBST(POSTGRESQL_BINDIR)
970 AC_DEFUN([AM_CONDITIONAL],