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