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