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