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