]> git.sur5r.net Git - bacula/bacula/blob - bacula/autoconf/aclocal.m4
e9e9376a56c2aecf5e61f50529909a50c5ed0c0c
[bacula/bacula] / bacula / autoconf / aclocal.m4
1 dnl
2 dnl =========  Large File Support ==============
3 dnl By default, many hosts won't let programs access large files;
4 dnl one must use special compiler options to get large-file access to work.
5 dnl For more details about this brain damage please see:
6 dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html
7
8 dnl Written by Paul Eggert <eggert@twinsun.com>.
9
10 dnl Internal subroutine of AC_SYS_LARGEFILE.
11 dnl AC_SYS_LARGEFILE_FLAGS(FLAGSNAME)
12 AC_DEFUN(AC_SYS_LARGEFILE_FLAGS,
13   [AC_CACHE_CHECK([for $1 value to request large file support],
14      ac_cv_sys_largefile_$1,
15      [ac_cv_sys_largefile_$1=`($GETCONF LFS_$1) 2>/dev/null` || {
16         ac_cv_sys_largefile_$1=no
17         ifelse($1, CFLAGS,
18           [case "$host_os" in
19            # IRIX 6.2 and later require cc -n32.
20 changequote(, )dnl
21            irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*)
22 changequote([, ])dnl
23              if test "$GCC" != yes; then
24                ac_cv_sys_largefile_CFLAGS=-n32
25              fi
26              ac_save_CC="$CC"
27              CC="$CC $ac_cv_sys_largefile_CFLAGS"
28              AC_TRY_LINK(, , , ac_cv_sys_largefile_CFLAGS=no)
29              CC="$ac_save_CC"
30            esac])
31       }])])
32
33 dnl Internal subroutine of AC_SYS_LARGEFILE.
34 dnl AC_SYS_LARGEFILE_SPACE_APPEND(VAR, VAL)
35 AC_DEFUN(AC_SYS_LARGEFILE_SPACE_APPEND,
36   [case $2 in
37    no) ;;
38    ?*)
39      case "[$]$1" in
40      '') $1=$2 ;;
41      *) $1=[$]$1' '$2 ;;
42      esac ;;
43    esac])
44
45 dnl Internal subroutine of AC_SYS_LARGEFILE.
46 dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, CACHE-VAR, COMMENT, CODE-TO-SET-DEFAULT)
47 AC_DEFUN(AC_SYS_LARGEFILE_MACRO_VALUE,
48   [AC_CACHE_CHECK([for $1], $2,
49      [$2=no
50 changequote(, )dnl
51       $4
52       for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
53         case "$ac_flag" in
54         -D$1)
55           $2=1 ;;
56         -D$1=*)
57           $2=`expr " $ac_flag" : '[^=]*=\(.*\)'` ;;
58         esac
59       done
60 changequote([, ])dnl
61       ])
62    if test "[$]$2" != no; then
63      AC_DEFINE_UNQUOTED([$1], [$]$2, [$3])
64    fi])
65
66 AC_DEFUN(AC_SYS_LARGEFILE,
67   [AC_REQUIRE([AC_CANONICAL_HOST])
68    AC_ARG_ENABLE(largefile,
69      [  --disable-largefile     omit support for large files])
70    if test "$enable_largefile" != no; then
71      AC_CHECK_TOOL(GETCONF, getconf)
72      AC_SYS_LARGEFILE_FLAGS(CFLAGS)
73      AC_SYS_LARGEFILE_FLAGS(LDFLAGS)
74      AC_SYS_LARGEFILE_FLAGS(LIBS)
75
76      for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
77        case "$ac_flag" in
78        no) ;;
79        -D_FILE_OFFSET_BITS=*) ;;
80        -D_LARGEFILE_SOURCE | -D_LARGEFILE_SOURCE=*) ;;
81        -D_LARGE_FILES | -D_LARGE_FILES=*) ;;
82        -D?* | -I?*)
83          AC_SYS_LARGEFILE_SPACE_APPEND(CPPFLAGS, "$ac_flag") ;;
84        *)
85          AC_SYS_LARGEFILE_SPACE_APPEND(CFLAGS, "$ac_flag") ;;
86        esac
87      done
88      AC_SYS_LARGEFILE_SPACE_APPEND(LDFLAGS, "$ac_cv_sys_largefile_LDFLAGS")
89      AC_SYS_LARGEFILE_SPACE_APPEND(LIBS, "$ac_cv_sys_largefile_LIBS")
90      AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS,
91        ac_cv_sys_file_offset_bits,
92        [Number of bits in a file offset, on hosts where this is settable.],
93        [case "$host_os" in
94         # HP-UX 10.20 and later
95         hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
96           ac_cv_sys_file_offset_bits=64 ;;
97         esac])
98      AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE,
99        ac_cv_sys_largefile_source,
100        [Define to make fseeko etc. visible, on some hosts.],
101        [case "$host_os" in
102         # HP-UX 10.20 and later
103         hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
104           ac_cv_sys_largefile_source=1 ;;
105         esac])
106      AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES,
107        ac_cv_sys_large_files,
108        [Define for large files, on AIX-style hosts.],
109        [case "$host_os" in
110         # AIX 4.2 and later
111         aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*)
112           ac_cv_sys_large_files=1 ;;
113         esac])
114    fi
115   ])
116 dnl ==========================================================
117
118 dnl Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7)
119 AC_DEFUN(SIGNAL_CHECK,
120 [AC_REQUIRE([AC_TYPE_SIGNAL])
121 AC_MSG_CHECKING(for type of signal functions)
122 AC_CACHE_VAL(bash_cv_signal_vintage,
123 [
124   AC_TRY_LINK([#include <signal.h>],[
125     sigset_t ss;
126     struct sigaction sa;
127     sigemptyset(&ss); sigsuspend(&ss);
128     sigaction(SIGINT, &sa, (struct sigaction *) 0);
129     sigprocmask(SIG_BLOCK, &ss, (sigset_t *) 0);
130   ], bash_cv_signal_vintage=posix,
131   [
132     AC_TRY_LINK([#include <signal.h>], [
133         int mask = sigmask(SIGINT);
134         sigsetmask(mask); sigblock(mask); sigpause(mask);
135     ], bash_cv_signal_vintage=4.2bsd,
136     [
137       AC_TRY_LINK([
138         #include <signal.h>
139         RETSIGTYPE foo() { }], [
140                 int mask = sigmask(SIGINT);
141                 sigset(SIGINT, foo); sigrelse(SIGINT);
142                 sighold(SIGINT); sigpause(SIGINT);
143         ], bash_cv_signal_vintage=svr3, bash_cv_signal_vintage=v7
144     )]
145   )]
146 )
147 ])
148 AC_MSG_RESULT($bash_cv_signal_vintage)
149 if test "$bash_cv_signal_vintage" = posix; then
150 AC_DEFINE(HAVE_POSIX_SIGNALS)
151 elif test "$bash_cv_signal_vintage" = "4.2bsd"; then
152 AC_DEFINE(HAVE_BSD_SIGNALS)
153 elif test "$bash_cv_signal_vintage" = svr3; then
154 AC_DEFINE(HAVE_USG_SIGHOLD)
155 fi
156 ])
157
158 AC_DEFUN(BA_CONDITIONAL,
159 [AC_SUBST($1_TRUE)
160 AC_SUBST($1_FALSE)
161 if $2; then
162   $1_TRUE=
163   $1_FALSE='#'
164 else
165   $1_TRUE='#'
166   $1_FALSE=
167 fi])
168
169
170 AC_DEFUN(BA_CHECK_OPSYS,
171 [AC_MSG_CHECKING(for Operating System)
172 AC_CYGWIN
173 if test $HAVE_UNAME=yes -a x`uname -s` = xSunOS
174 then
175         BA_CONDITIONAL(HAVE_SUN_OS, $TRUEPRG)
176         AC_DEFINE(HAVE_SUN_OS)
177 else
178         BA_CONDITIONAL(HAVE_SUN_OS, $FALSEPRG)
179 fi
180
181 if test $HAVE_UNAME=yes -a x`uname -s` = xOSF1
182 then
183         BA_CONDITIONAL(HAVE_OSF1_OS, $TRUEPRG)
184         AC_DEFINE(HAVE_OSF1_OS)
185 else
186         BA_CONDITIONAL(HAVE_OSF1_OS, $FALSEPRG)
187 fi
188
189 if test $HAVE_UNAME=yes -a x`uname -s` = xAIX
190 then
191         BA_CONDITIONAL(HAVE_AIX_OS, $TRUEPRG)
192         AC_DEFINE(HAVE_AIX_OS)
193 else
194         BA_CONDITIONAL(HAVE_AIX_OS, $FALSEPRG)
195 fi
196
197 if test $HAVE_UNAME=yes -a x`uname -s` = xHP-UX
198 then
199         BA_CONDITIONAL(HAVE_HPUX_OS, $TRUEPRG)
200         AC_DEFINE(HAVE_HPUX_OS)
201 else
202         BA_CONDITIONAL(HAVE_HPUX_OS, $FALSEPRG)
203 fi
204
205 if test $HAVE_UNAME=yes -a x`uname -s` = xLinux
206 then
207         BA_CONDITIONAL(HAVE_LINUX_OS, $TRUEPRG)
208         AC_DEFINE(HAVE_LINUX_OS)
209 else
210         BA_CONDITIONAL(HAVE_LINUX_OS, $FALSEPRG)
211 fi
212
213 if test $HAVE_UNAME=yes -a x`uname -s` = xFreeBSD
214 then
215         BA_CONDITIONAL(HAVE_FREEBSD_OS, $TRUEPRG)
216         AC_DEFINE(HAVE_FREEBSD_OS)
217 else
218         BA_CONDITIONAL(HAVE_FREEBSD_OS, $FALSEPRG)
219 fi
220
221 if test $HAVE_UNAME=yes -a x`uname -s` = xNetBSD
222 then
223         BA_CONDITIONAL(HAVE_NETBSD_OS, $TRUEPRG)
224         AC_DEFINE(HAVE_NETBSD_OS)
225 else
226         BA_CONDITIONAL(HAVE_NETBSD_OS, $FALSEPRG)
227 fi
228
229 if test $HAVE_UNAME=yes -a x`uname -s` = xOpenBSD
230 then
231         BA_CONDITIONAL(HAVE_OPENBSD_OS, $TRUEPRG)
232         AC_DEFINE(HAVE_OPENBSD_OS)
233 else
234         BA_CONDITIONAL(HAVE_OPENBSD_OS, $FALSEPRG)
235 fi
236
237 if test $HAVE_UNAME=yes -a x`uname -s` = xBSD/OS
238 then
239         BA_CONDITIONAL(HAVE_BSDI_OS, $TRUEPRG)
240         AC_DEFINE(HAVE_BSDI_OS)
241 else
242         BA_CONDITIONAL(HAVE_BSDI_OS, $FALSEPRG)
243 fi
244
245 if test $HAVE_UNAME=yes -a x`uname -s` = xSGI
246 then
247         BA_CONDITIONAL(HAVE_SGI_OS, $TRUEPRG)
248         AC_DEFINE(HAVE_SGI_OS)
249 else
250         BA_CONDITIONAL(HAVE_SGI_OS, $FALSEPRG)
251 fi
252
253 if test $HAVE_UNAME=yes -a x`uname -s` = xIRIX
254 then
255         BA_CONDITIONAL(HAVE_IRIX_OS, $TRUEPRG)
256         AC_DEFINE(HAVE_IRIX_OS)
257 else
258         BA_CONDITIONAL(HAVE_IRIX_OS, $FALSEPRG)
259 fi
260
261 if test $HAVE_UNAME=yes -a x`uname -s` = xDarwin
262 then
263     AM_CONDITIONAL(HAVE_DARWIN_OS, $TRUEPRG)
264     AC_DEFINE(HAVE_DARWIN_OS)
265 else
266     AM_CONDITIONAL(HAVE_DARWIN_OS, $FALSEPRG)
267 fi
268
269 AC_MSG_RESULT(" ")
270 ])
271
272 AC_DEFUN(BA_CHECK_OPSYS_DISTNAME,
273 [AC_MSG_CHECKING(for Operating System Distribution)
274 if test "x$DISTNAME" != "x"
275 then
276         echo "distname set to $DISTNAME"
277 elif test $HAVE_UNAME=yes -a x`uname -s` = xOSF1
278 then
279         DISTNAME=alpha
280 elif test $HAVE_UNAME=yes -a x`uname -s` = xAIX
281 then
282         DISTNAME=aix
283 elif test $HAVE_UNAME=yes -a x`uname -s` = xHP-UX
284 then
285         DISTNAME=hpux
286 elif test $HAVE_UNAME=yes -a x`uname -s` = xSunOS
287 then
288         DISTNAME=solaris
289 elif test $HAVE_UNAME=yes -a x`uname -s` = xFreeBSD
290 then
291         DISTNAME=freebsd
292 elif test $HAVE_UNAME=yes -a x`uname -s` = xNetBSD
293 then
294         DISTNAME=netbsd
295 elif test $HAVE_UNAME=yes -a x`uname -s` = xOpenBSD
296 then
297         DISTNAME=openbsd
298 elif test $HAVE_UNAME=yes -a x`uname -s` = xIRIX
299 then
300         DISTNAME=irix
301 elif test $HAVE_UNAME=yes -a x`uname -s` = xBSD/OS
302 then
303         DISTNAME=bsdi
304 elif test -f /etc/SuSE-release
305 then
306         DISTNAME=suse
307 elif test -d /etc/SuSEconfig
308 then
309         DISTNAME=suse5
310 elif test -d /usr/src/OpenLinux
311 then
312         DISTNAME=caldera
313 elif test -f /etc/redhat-release
314 then
315         DISTNAME=redhat
316 elif test -f /etc/gentoo-release
317 then
318         DISTNAME=gentoo
319 elif test -f /etc/debian_version
320 then
321         DISTNAME=debian
322 elif test -f /etc/slackware-version
323 then
324         DISTNAME=slackware
325 elif test $HAVE_UNAME=yes -a x`uname -s` = xDarwin
326 then
327     DISTNAME=darwin
328 elif test "$ac_cv_cygwin" = yes
329 then
330         DISTNAME=cygwin
331         AC_DEFINE(HAVE_CYGWIN)
332 else
333         DISTNAME=unknown
334 fi
335 AC_MSG_RESULT(" ")
336 ])
337
338 AC_DEFUN(BA_CHECK_MYSQL_DB,
339 [
340 db_found=no
341 AC_MSG_CHECKING(for MySQL support)
342 AC_ARG_WITH(mysql,
343 [
344 Which DBMS do you want to use (please select only one):
345   --with-mysql[=DIR]      Include MySQL support.  DIR is the MySQL base
346                           install directory, default is to search through
347                           a number of common places for the MySQL files.],
348 [
349   if test "$withval" != "no"; then
350         if test "$withval" = "yes"; then
351                 if test -f /usr/local/mysql/include/mysql/mysql.h; then
352                         MYSQL_INCDIR=/usr/local/mysql/include/mysql
353                         MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
354                         MYSQL_BINDIR=/usr/local/mysql/bin
355                 elif test -f /usr/include/mysql/mysql.h; then
356                         MYSQL_INCDIR=/usr/include/mysql
357                         MYSQL_LIBDIR=/usr/lib/mysql
358                         MYSQL_BINDIR=/usr/bin      
359                 elif test -f /usr/include/mysql.h; then
360                         MYSQL_INCDIR=/usr/include
361                         MYSQL_LIBDIR=/usr/lib
362                         MYSQL_BINDIR=/usr/bin
363                 elif test -f /usr/local/include/mysql/mysql.h; then
364                         MYSQL_INCDIR=/usr/local/include/mysql
365                         MYSQL_LIBDIR=/usr/local/lib/mysql
366                         MYSQL_BINDIR=/usr/local/bin
367                 elif test -f /usr/local/include/mysql.h; then
368                         MYSQL_INCDIR=/usr/local/include
369                         MYSQL_LIBDIR=/usr/local/lib
370                         MYSQL_BINDIR=/usr/local/bin
371                 else
372                    AC_MSG_RESULT(no)
373                    AC_MSG_ERROR(Unable to find mysql.h in standard locations)
374                 fi
375         else
376                 if test -f $withval/include/mysql/mysql.h; then
377                         MYSQL_INCDIR=$withval/include/mysql
378                         MYSQL_LIBDIR=$withval/lib/mysql
379                         MYSQL_BINDIR=$withval/bin
380                 elif test -f $withval/include/mysql.h; then
381                         MYSQL_INCDIR=$withval/include
382                         MYSQL_LIBDIR=$withval/lib
383                         MYSQL_BINDIR=$withval/bin
384                 else
385                    AC_MSG_RESULT(no)
386                    AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
387                 fi
388         fi
389     SQL_INCLUDE=-I$MYSQL_INCDIR
390     SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient -lz"
391     SQL_BINDIR=$MYSQL_BINDIR
392
393     AC_DEFINE(HAVE_MYSQL)
394     AC_MSG_RESULT(yes)
395     db_found=yes
396     support_mysql=yes
397     db_name=MySQL
398     DB_NAME=mysql
399
400   else
401         AC_MSG_RESULT(no)
402   fi
403 ],[
404   AC_MSG_RESULT(no)
405 ])
406
407 AC_ARG_WITH(embedded-mysql,
408 [
409 Which DBMS do you want to use (please select only one):
410   --with-embedded-mysql[=DIR] Include MySQL support.  DIR is the MySQL base
411                           install directory, default is to search through
412                           a number of common places for the MySQL files.],
413 [
414   if test "$withval" != "no"; then
415         if test "$withval" = "yes"; then
416                 if test -f /usr/local/mysql/include/mysql/mysql.h; then
417                         MYSQL_INCDIR=/usr/local/mysql/include/mysql
418                         MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
419                         MYSQL_BINDIR=/usr/local/mysql/bin
420                 elif test -f /usr/include/mysql/mysql.h; then
421                         MYSQL_INCDIR=/usr/include/mysql
422                         MYSQL_LIBDIR=/usr/lib/mysql
423                         MYSQL_BINDIR=/usr/bin      
424                 elif test -f /usr/include/mysql.h; then
425                         MYSQL_INCDIR=/usr/include
426                         MYSQL_LIBDIR=/usr/lib
427                         MYSQL_BINDIR=/usr/bin
428                 elif test -f /usr/local/include/mysql/mysql.h; then
429                         MYSQL_INCDIR=/usr/local/include/mysql
430                         MYSQL_LIBDIR=/usr/local/lib/mysql
431                         MYSQL_BINDIR=/usr/local/bin
432                 elif test -f /usr/local/include/mysql.h; then
433                         MYSQL_INCDIR=/usr/local/include
434                         MYSQL_LIBDIR=/usr/local/lib
435                         MYSQL_BINDIR=/usr/local/bin
436                 else
437                    AC_MSG_RESULT(no)
438                    AC_MSG_ERROR(Unable to find mysql.h in standard locations)
439                 fi
440         else
441                 if test -f $withval/include/mysql/mysql.h; then
442                         MYSQL_INCDIR=$withval/include/mysql
443                         MYSQL_LIBDIR=$withval/lib/mysql
444                         MYSQL_BINDIR=$withval/bin
445                 elif test -f $withval/include/mysql.h; then
446                         MYSQL_INCDIR=$withval/include
447                         MYSQL_LIBDIR=$withval/lib
448                         MYSQL_BINDIR=$withval/bin
449                 else
450                    AC_MSG_RESULT(no)
451                    AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
452                 fi
453         fi
454     SQL_INCLUDE=-I$MYSQL_INCDIR
455     SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqld -lz -lm -lcrypt"
456     SQL_BINDIR=$MYSQL_BINDIR
457
458     AC_DEFINE(HAVE_MYSQL)
459     AC_DEFINE(HAVE_EMBEDDED_MYSQL)
460     AC_MSG_RESULT(yes)
461     db_found=yes
462     support_mysql=yes
463     db_name=MySQL
464     DB_NAME=mysql
465
466   else
467         AC_MSG_RESULT(no)
468   fi
469 ],[
470   AC_MSG_RESULT(no)
471 ])
472
473
474 AC_SUBST(SQL_LFLAGS)
475 AC_SUBST(SQL_INCLUDE)
476 AC_SUBST(SQL_BINDIR)
477   
478 ])
479
480
481 AC_DEFUN(BA_CHECK_SQLITE_DB,
482 [
483 db_found=no
484 AC_MSG_CHECKING(for SQLite support)
485 AC_ARG_WITH(sqlite,
486 [
487 Which DBMS do you want to use (please select only one):
488   --with-sqlite[=DIR]     Include SQLite support.  DIR is the SQLite base
489                           install directory, default is to search through
490                           a number of common places for the SQLite files.],
491 [
492   if test "$withval" != "no"; then
493         if test "$withval" = "yes"; then
494                 if test -f /usr/local/include/sqlite.h; then
495                         SQLITE_INCDIR=/usr/local/include
496                         SQLITE_LIBDIR=/usr/local/lib
497                         SQLITE_BINDIR=/usr/local/bin
498                 elif test -f /usr/include/sqlite.h; then
499                         SQLITE_INCDIR=/usr/include
500                         SQLITE_LIBDIR=/usr/lib
501                         SQLITE_BINDIR=/usr/bin      
502                 else
503                    AC_MSG_RESULT(no)
504                    AC_MSG_ERROR(Unable to find sqlite.h in standard locations)
505                 fi
506         else
507                 if test -f $withval/sqlite.h; then
508                         SQLITE_INCDIR=$withval
509                         SQLITE_LIBDIR=$withval
510                         SQLITE_BINDIR=$withval
511                 else
512                    AC_MSG_RESULT(no)
513                    AC_MSG_ERROR(Invalid SQLite directory $withval - unable to find sqlite.h under $withval)
514                 fi
515         fi
516     SQL_INCLUDE=-I$SQLITE_INCDIR
517     SQL_LFLAGS="-L$SQLITE_LIBDIR -lsqlite"
518     SQL_BINDIR=$SQLITE_BINDIR
519
520     AC_DEFINE(HAVE_SQLITE)
521     AC_MSG_RESULT(yes)
522     db_found=yes
523     support_sqlite=yes
524     db_name=SQLite
525     DB_NAME=sqlite
526
527   else
528         AC_MSG_RESULT(no)
529   fi
530 ],[
531   AC_MSG_RESULT(no)
532 ])
533 AC_SUBST(SQL_LFLAGS)
534 AC_SUBST(SQL_INCLUDE)
535 AC_SUBST(SQL_BINDIR)
536   
537 ])
538
539
540
541 AC_DEFUN(BA_CHECK_SQL_DB, 
542 [AC_MSG_CHECKING(Checking for various databases)
543 dnl# --------------------------------------------------------------------------
544 dnl# CHECKING FOR VARIOUS DATABASES (thanks to UdmSearch team)
545 dnl# --------------------------------------------------------------------------
546 dnl Check for some DBMS backend
547 dnl NOTE: we can use only one backend at a time
548 AC_MSG_RESULT(" ")
549
550 db_found=no
551 db_name=none
552
553
554
555 if test x$support_mysql = xyes; then
556    cats=cats
557 fi
558
559
560 AC_MSG_CHECKING(for Berkeley DB support)
561 AC_ARG_WITH(berkeleydb,
562 [
563 Which DBMS do you want to use (please select only one):
564   --with-berkeleydb[=DIR] Include Berkeley DB support.  DIR is the Berkeley DB base
565                           install directory, default is to search through
566                           a number of common places for the DB files.],
567 [
568   if test "$withval" != "no"; then
569         if test "$withval" = "yes"; then
570                 if test -f /usr/include/db.h; then
571                         BERKELEYDB_INCDIR=/usr/include
572                         BERKELEYDB_LIBDIR=/usr/lib
573                 else
574                 AC_MSG_RESULT(no)
575                 AC_MSG_ERROR(Invalid Berkeley DB directory - unable to find db.h)
576                 fi
577         else
578                 if test -f $withval/include/db.h; then
579                         BERKELEYDB_INCDIR=$withval/include
580                         BERKELEYDBL_LIBDIR=$withval/lib
581                 else
582                 AC_MSG_RESULT(no)
583                 AC_MSG_ERROR(Invalid Berkeley DB directory - unable to find db.h under $withval)
584                 fi
585         fi
586     SQL_INCLUDE=-I$BERKELEYDB_INCDIR
587     SQL_LFLAGS="-L$BERKELEYDB_LIBDIR -ldb"
588
589     AC_DEFINE(HAVE_BERKELEY_DB)
590     AC_MSG_RESULT(yes)
591     have_db=yes
592     support_mysql=yes
593     db_name=BerkelyDB
594
595   else
596         AC_MSG_RESULT(no)
597   fi
598 ],[
599   AC_MSG_RESULT(no)
600 ])
601 AC_SUBST(SQL_LFLAGS)
602 AC_SUBST(SQL_INCLUDE)
603
604 if test x$support_berkleydb = xyes; then
605    cats=cats
606 fi
607
608
609 AC_MSG_CHECKING(for PostgreSQL support)
610 AC_ARG_WITH(pgsql,
611 [  --with-pgsql[=DIR]      Include PostgreSQL support.  DIR is the PostgreSQL
612                           base install directory, defaults to /usr/local/pgsql.],
613 [
614   if test "$withval" != "no"; then
615       if test "$have_db" = "yes"; then
616           AC_MSG_RESULT(error)
617           AC_MSG_ERROR("You can configure for only one database.");
618       fi
619         if test "$withval" = "yes"; then
620                 if test -f /usr/include/pgsql/libpq-fe.h; then
621                         PGSQL_INCDIR=/usr/include/pgsql
622                 else
623                         PGSQL_INCDIR=/usr/local/pgsql/include
624                 fi
625                 if test -f /usr/lib/libpq.a; then
626                         PGSQL_LIBDIR=/usr/lib
627                 else
628                         PGSQL_LIBDIR=/usr/local/pgsql/lib
629                 fi
630         else
631                 PGSQL_INCDIR=$withval/include
632                 test -d $withval/include/pgsql && PGSQL_INCDIR=$withval/include/pgsql
633                 PGSQL_LIBDIR=$withval/lib
634                 test -d $withval/lib/pgsql && PGSQL_LIBDIR=$withval/lib/pgsql
635         fi
636     PGSQL_INCLUDE=-I$PGSQL_INCDIR
637     PGSQL_LFLAGS="-L$PGSQL_LIBDIR -lpq"
638     AC_CHECK_FUNC(crypt, , AC_CHECK_LIB(crypt, crypt, [LIBS="-lcrypt $LIBS"]))
639
640     AC_DEFINE(HAVE_PGSQL)
641     AC_MSG_RESULT(yes)
642     have_db=yes
643   else
644     AC_MSG_RESULT(no)
645   fi
646 ],[
647   AC_MSG_RESULT(no)
648 ])
649 AC_SUBST(PGSQL_LFLAGS)
650 AC_SUBST(PGSQL_INCLUDE)
651
652
653 AC_MSG_CHECKING(for mSQL support)
654 AC_ARG_WITH(msql,
655 [  --with-msql[=DIR]       Include mSQL support.  DIR is the mSQL base
656                           install directory, defaults to /usr/local/Hughes.],
657 [
658   if test "$withval" != "no"; then
659     if test "$have_db" = "yes"; then
660         AC_MSG_RESULT(error)
661         AC_MSG_ERROR("You can configure for only one database.");
662     fi
663
664     if test "$withval" = "yes"; then
665         MSQL_INCDIR=/usr/local/Hughes/include
666         MSQL_LIBDIR=/usr/local/Hughes/lib
667     else
668         MSQL_INCDIR=$withval/include
669         MSQL_LIBDIR=$withval/lib
670     fi
671     MSQL_INCLUDE=-I$MSQL_INCDIR
672     MSQL_LFLAGS="-L$MSQL_LIBDIR -lmsql"
673
674     AC_DEFINE(HAVE_MSQL)
675     AC_MSG_RESULT(yes)
676     have_db=yes
677   else
678         AC_MSG_RESULT(no)
679   fi
680 ],[
681   AC_MSG_RESULT(no)
682 ])
683 AC_SUBST(MSQL_LFLAGS)
684 AC_SUBST(MSQL_INCLUDE)
685
686
687 AC_MSG_CHECKING(for iODBC support)
688 AC_ARG_WITH(iodbc,
689 [  --with-iodbc[=DIR]      Include iODBC support.  DIR is the iODBC base
690                           install directory, defaults to /usr/local.],
691 [
692         if test "$withval" != "no"; then
693             if test "$have_db" = "yes"; then
694                 AC_MSG_RESULT(error)
695                 AC_MSG_ERROR("You can configure for only one database.");
696             fi
697         fi
698         
699         if test "$withval" = "yes"; then
700                 withval=/usr/local
701         fi
702
703         if test "$withval" != "no"; then
704                 if test -f $withval/include/isql.h; then
705                         IODBC_INCDIR=$withval/include
706                         IODBC_LIBDIR=$withval/lib
707                 else
708                         AC_MSG_RESULT(no)
709                         AC_MSG_ERROR(Invalid iODBC directory - unable to find isql.h)
710                 fi
711                 IODBC_LFLAGS="-L$IODBC_LIBDIR -liodbc"
712                 IODBC_INCLUDE=-I$IODBC_INCDIR
713                 AC_DEFINE(HAVE_IODBC)
714                 AC_MSG_RESULT(yes)
715                 have_db=yes
716         fi
717 ],[
718         AC_MSG_RESULT(no)
719 ])
720 AC_SUBST(IODBC_LFLAGS)
721 AC_SUBST(IODBC_INCLUDE)
722
723
724 AC_MSG_CHECKING(for unixODBC support)
725 AC_ARG_WITH(unixODBC,
726 [  --with-unixODBC[=DIR]   Include unixODBC support.  DIR is the unixODBC base
727                           install directory, defaults to /usr/local.],
728 [
729         if test "$withval" != "no"; then
730             if test "$have_db" = "yes"; then
731                 AC_MSG_RESULT(error)
732                 AC_MSG_ERROR("You can configure for only one database.");
733             fi
734         fi
735         
736         if test "$withval" = "yes"; then
737                 withval=/usr/local
738         fi
739
740         if test "$withval" != "no"; then
741                 if test -f $withval/include/sql.h; then
742                         UNIXODBC_INCDIR=$withval/include
743                         UNIXODBC_LIBDIR=$withval/lib
744                 else
745                         AC_MSG_RESULT(no)
746                         AC_MSG_ERROR(Invalid unixODBC directory - unable to find sql.h)
747                 fi
748                 UNIXODBC_LFLAGS="-L$UNIXODBC_LIBDIR -lodbc"
749                 UNIXODBC_INCLUDE=-I$UNIXODBC_INCDIR
750                 AC_DEFINE(HAVE_UNIXODBC)
751                 AC_MSG_RESULT(yes)
752                 have_db=yes
753         fi
754 ],[
755         AC_MSG_RESULT(no)
756 ])
757 AC_SUBST(UNIXODBC_LFLAGS)
758 AC_SUBST(UNIXODBC_INCLUDE)
759
760
761 AC_MSG_CHECKING(for Solid support)
762 AC_ARG_WITH(solid,
763 [  --with-solid[=DIR]      Include Solid support.  DIR is the Solid base
764                           install directory, defaults to /usr/local.],
765 [
766         if test "$withval" != "no"; then
767             if test "$have_db" = "yes"; then
768                 AC_MSG_RESULT(error)
769                 AC_MSG_ERROR("You can configure for only one database.");
770             fi
771         fi
772
773         if test "$withval" = "yes"; then
774                 withval=/usr/local
775         fi
776
777         if test "$withval" != "no"; then
778                 if test -f $withval/include/cli0cli.h; then
779                         SOLID_INCDIR=$withval/include
780                         SOLID_LIBDIR=$withval/lib
781                 else
782                         AC_MSG_RESULT(no)
783                         AC_MSG_ERROR(Invalid Solid directory - unable to find cli0cli.h)
784                 fi
785                 SOLID_LFLAGS="-L$SOLID_LIBDIR -lsolcli"
786                 SOLID_INCLUDE="-I$SOLID_INCDIR"
787                 AC_DEFINE(HAVE_SOLID)
788                 AC_MSG_RESULT(yes)
789                 have_db=yes
790         fi
791 ],[
792         AC_MSG_RESULT(no)
793 ])
794 AC_SUBST(SOLID_LFLAGS)
795 AC_SUBST(SOLID_INCLUDE)
796
797 AC_MSG_CHECKING(for OpenLink ODBC support)
798 AC_ARG_WITH(openlink,
799 [  --with-openlink[=DIR]   Include OpenLink ODBC support. 
800                           DIR is the base OpenLink ODBC install directory],
801 [
802   if test "$withval" != "no"; then
803         if test "$withval" = "yes"; then
804
805                 if test "$have_db" = "yes"; then
806                         AC_MSG_RESULT(error)
807                         AC_MSG_ERROR("You can configure for only one database.");
808                 fi
809
810                 if test -f /usr/local/virtuoso-ent/odbcsdk/include/isql.h; then
811                         VIRT_INCDIR=/usr/local/virtuoso-ent/odbcsdk/include/
812                         VIRT_LIBDIR=/usr/local/virtuoso-ent/odbcsdk/lib/
813                 elif test -f /usr/local/virtuoso-lite/odbcsdk/include/isql.h; then
814                         VIRT_INCDIR=/usr/local/virtuoso-lite/odbcsdk/include/
815                         VIRT_LIBDIR=/usr/local/virtuoso-lite/odbcsdk/lib/
816                 elif test -f /usr/local/virtuoso/odbcsdk/include/isql.h; then
817                         VIRT_INCDIR=/usr/local/virtuoso/odbcsdk/include/
818                         VIRT_LIBDIR=/usr/local/virtuoso/odbcsdk/lib/
819                 else
820                 AC_MSG_RESULT(no)
821                 AC_MSG_ERROR(Invalid OpenLink ODBC directory - unable to find isql.h)
822                 fi
823         else
824                 if test -f $withval/odbcsdk/include/isql.h; then
825                         VIRT_INCDIR=$withval/odbcsdk/include/
826                         VIRT_LIBDIR=$withval/odbcsdk/lib/
827                 elif test -f $withval/include/isql.h; then
828                         VIRT_INCDIR=$withval/include/
829                         VIRT_LIBDIR=$withval/lib/
830                 else
831                 AC_MSG_RESULT(no)
832                 AC_MSG_ERROR(Invalid OpenLink ODBC directory - unable to find isql.h under $withval)
833                 fi
834         fi
835     VIRT_INCLUDE=-I$VIRT_INCDIR
836     VIRT_LFLAGS="-L$VIRT_LIBDIR -liodbc"
837
838     AC_DEFINE(HAVE_VIRT)
839     AC_MSG_RESULT(yes)
840     have_db=yes
841
842   else
843         AC_MSG_RESULT(no)
844   fi
845 ],[
846   AC_MSG_RESULT(no)
847 ])
848 AC_SUBST(VIRT_LFLAGS)
849 AC_SUBST(VIRT_INCLUDE)
850
851
852 AC_MSG_CHECKING(for EasySoft ODBC support)
853 AC_ARG_WITH(easysoft,
854 [  --with-easysoft[=DIR]   Include EasySoft ODBC support. 
855                           DIR is the base EasySoft ODBC install directory],
856 [
857   if test "$withval" != "no"; then
858         if test "$withval" = "yes"; then
859
860                 if test "$have_db" = "yes"; then
861                         AC_MSG_RESULT(error)
862                         AC_MSG_ERROR("You can configure for only one database.");
863                 fi
864
865                 if test -f /usr/local/easysoft/oob/client/include/sql.h; then
866                         EASYSOFT_INCDIR=/usr/local/easysoft/oob/client/include/
867                         EASYSOFT_LFLAGS="-L/usr/local/easysoft/oob/client/lib/ -L/usr/local/easysoft/lib"
868                 else
869                 AC_MSG_RESULT(no)
870                 AC_MSG_ERROR(Invalid EasySoft ODBC directory - unable to find sql.h)
871                 fi
872         else
873                 if test -f $withval/easysoft/oob/client/include/sql.h; then
874                         EASYSOFT_INCDIR=$withval/easysoft/oob/client/include/
875                         EASYSOFT_LFLAGS="-L$withval/easysoft/oob/client/lib/ -L$withval/easysoft/lib"
876                 else
877                 AC_MSG_RESULT(no)
878                 AC_MSG_ERROR(Invalid EasySoft ODBC directory - unable to find sql.h under $withval)
879                 fi
880         fi
881     EASYSOFT_INCLUDE=-I$EASYSOFT_INCDIR
882     EASYSOFT_LFLAGS="$EASYSOFT_LFLAGS -lesoobclient -lesrpc -lsupport -lextra"
883
884     AC_DEFINE(HAVE_EASYSOFT)
885     AC_MSG_RESULT(yes)
886     have_db=yes
887
888   else
889         AC_MSG_RESULT(no)
890   fi
891 ],[
892   AC_MSG_RESULT(no)
893 ])
894 AC_SUBST(EASYSOFT_LFLAGS)
895 AC_SUBST(EASYSOFT_INCLUDE)
896
897
898
899 AC_MSG_CHECKING(for InterBase support)
900 AC_ARG_WITH(ibase,
901 [  --with-ibase[=DIR]      Include InterBase support.  DIR is the InterBase
902                           install directory, defaults to /usr/interbase.],
903 [
904         if test "$withval" != "no"; then
905             if test "$have_db" = "yes"; then
906                 AC_MSG_RESULT(error)
907                 AC_MSG_ERROR("You can configure for only one database.");
908             fi
909         fi
910         
911         if test "$withval" = "yes"; then
912                 withval=/usr/interbase
913         fi
914
915         if test "$withval" != "no"; then
916                 if test -f $withval/include/ibase.h; then
917                         IBASE_INCDIR=$withval/include
918                         IBASE_LIBDIR=$withval/lib
919                 else
920                         AC_MSG_RESULT(no)
921                         AC_MSG_ERROR(Invalid InterBase directory - unable to find ibase.h)
922                 fi
923                 IBASE_LFLAGS="-L$IBASE_LIBDIR -lgds"
924                 IBASE_INCLUDE=-I$IBASE_INCDIR
925                 AC_DEFINE(HAVE_IBASE)
926                 AC_MSG_RESULT(yes)
927                 have_db=yes
928         fi
929 ],[
930         AC_MSG_RESULT(no)
931 ])
932 AC_SUBST(IBASE_LFLAGS)
933 AC_SUBST(IBASE_INCLUDE)
934
935 AC_MSG_CHECKING(for Oracle8 support)
936 AC_ARG_WITH(oracle8,
937 [  --with-oracle8[=DIR]    Include Oracle8 support.  DIR is the Oracle
938                           home directory, defaults to $ORACLE_HOME or
939                           /oracle8/app/oracle/product/8.0.5.],
940 [
941         if test "$withval" != "no"; then
942             if test "$have_db" = "yes"; then
943                 AC_MSG_RESULT(error)
944                 AC_MSG_ERROR("You can configure for only one database.");
945             fi
946         fi
947
948         if test "$withval" = "yes"; then
949                 withval="$ORACLE_HOME"
950                 if test "$withval" = ""; then
951                         withval=/oracle8/app/oracle/product/8.0.5
952                 fi
953         fi
954
955         if test "$withval" != "no"; then
956                 if test -f $withval/rdbms/demo/oci.h; then
957                         ORACLE8_INCDIR1=$withval/rdbms/demo/
958                         ORACLE8_INCDIR2=$withval/rdbms/public/:
959                         ORACLE8_INCDIR3=$withval/network/public/
960                         ORACLE8_INCDIR4=$withval/plsql/public/
961                         ORACLE8_LIBDIR1=$withval/lib
962                         ORACLE8_LIBDIR2=$withval/rdbms/lib
963                 else
964                         AC_MSG_RESULT(no)
965                         AC_MSG_ERROR(Invalid ORACLE directory - unable to find oci.h)
966                 fi
967                 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"
968                 ORACLE8_INCLUDE="-I$ORACLE8_INCDIR1 -I$ORACLE8_INCDIR2 -I$ORACLE8_INCDIR3 -I$ORACLE8_INCDIR4"
969                 AC_DEFINE(HAVE_ORACLE8)
970                 AC_MSG_RESULT(yes)
971                 have_db=yes
972         fi
973 ],[
974         AC_MSG_RESULT(no)
975 ])
976 AC_SUBST(ORACLE8_LFLAGS)
977 AC_SUBST(ORACLE8_INCLUDE)
978
979
980 AC_MSG_CHECKING(for Oracle7 support)
981 AC_ARG_WITH(oracle7,
982 [  --with-oracle7[=DIR]    Include Oracle 7.3 support.  DIR is the Oracle
983                           home directory, defaults to 
984                           ORACLE_HOME [$ORACLE_HOME]],
985 [
986         if test "$withval" != "no"; then
987             if test "$have_db" = "yes"; then
988                 AC_MSG_RESULT(error)
989                 AC_MSG_ERROR("You can configure for only one database.");
990             fi
991         fi
992
993         if test "$withval" = "yes"; then
994                 withval="$ORACLE_HOME"
995         fi
996
997         if test "$withval" != "no"; then
998                 if test -f $withval/rdbms/demo/ocidfn.h; then
999                         ORACLE7_INCDIR=$withval/rdbms/demo/
1000                         ORACLE7_LIBDIR1=$withval/lib
1001                         ORACLE7_LIBDIR2=$withval/rdbms/lib
1002                 else
1003                         AC_MSG_RESULT(no)
1004                         AC_MSG_ERROR(Invalid ORACLE directory - unable to find ocidfn.h)
1005                 fi
1006
1007         ORACLEINST_TOP=$withval
1008         if test -f "$ORACLEINST_TOP/rdbms/lib/sysliblist"
1009         then
1010           ORA_SYSLIB="`cat $ORACLEINST_TOP/rdbms/lib/sysliblist`"
1011         elif test -f "$ORACLEINST_TOP/lib/sysliblist"
1012             then
1013           ORA_SYSLIB="`cat $ORACLEINST_TOP/lib/sysliblist`"
1014         else
1015           ORA_SYSLIB="-lm"
1016         fi
1017           
1018                 ORACLE7_LFLAGS="-L$ORACLE7_LIBDIR1 -L$ORACLE7_LIBDIR2 \
1019             -lclient -lsqlnet -lncr -lsqlnet -lclient -lcommon \
1020             -lgeneric -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric \
1021             -lepc -lnlsrtl3 -lc3v6 -lcore3 -lnlsrtl3 -lcore3 -lnlsrtl3 \
1022             $ORA_SYSLIB -lcore3 $ORA_SYSLIB"
1023                 ORACLE7_INCLUDE="-I$ORACLE7_INCDIR "
1024                 AC_DEFINE(HAVE_ORACLE7)
1025                 AC_MSG_RESULT(yes)
1026                 have_db=yes
1027         fi
1028 ],[
1029         AC_MSG_RESULT(no)
1030 ])
1031 AC_SUBST(ORACLE7_LFLAGS)
1032 AC_SUBST(ORACLE7_INCLUDE)
1033 ])
1034   
1035 dnl AM_ACLOCAL_INCLUDE(macrodir)
1036 AC_DEFUN([AM_ACLOCAL_INCLUDE],
1037 [
1038         AM_CONDITIONAL(INSIDE_GNOME_COMMON, false)
1039
1040         test -n "$ACLOCAL_FLAGS" && ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
1041
1042         for k in $1 ; do ACLOCAL="$ACLOCAL -I $k" ; done
1043 ])
1044
1045 dnl
1046 dnl GNOME_INIT_HOOK (script-if-gnome-enabled, [failflag], [additional-inits])
1047 dnl
1048 dnl if failflag is "fail" then GNOME_INIT_HOOK will abort if gnomeConf.sh
1049 dnl is not found. 
1050 dnl
1051
1052 AC_DEFUN([GNOME_INIT_HOOK],[
1053         AC_SUBST(GNOME_LIBS)
1054         AC_SUBST(GNOMEUI_LIBS)
1055         AC_SUBST(GNOMEGNORBA_LIBS)
1056         AC_SUBST(GTKXMHTML_LIBS)
1057         AC_SUBST(ZVT_LIBS)
1058         AC_SUBST(GNOME_LIBDIR)
1059         AC_SUBST(GNOME_INCLUDEDIR)
1060
1061         AC_ARG_WITH(gnome-includes,
1062         [  --with-gnome-includes   Specify location of GNOME headers],[
1063         CFLAGS="$CFLAGS -I$withval"
1064         ])
1065         
1066         AC_ARG_WITH(gnome-libs,
1067         [  --with-gnome-libs       Specify location of GNOME libs],[
1068         LDFLAGS="$LDFLAGS -L$withval"
1069         gnome_prefix=$withval
1070         ])
1071
1072         AC_ARG_WITH(gnome,
1073         [  --with-gnome            Specify prefix for GNOME files],
1074                 if test x$withval = xyes; then
1075                         want_gnome=yes
1076                         dnl Note that an empty true branch is not
1077                         dnl valid sh syntax.
1078                         ifelse([$1], [], :, [$1])
1079                 else
1080                         if test "x$withval" = xno; then
1081                                 want_gnome=no
1082                         else
1083                                 want_gnome=yes
1084                                 LDFLAGS="$LDFLAGS -L$withval/lib"
1085                                 CFLAGS="$CFLAGS -I$withval/include"
1086                                 gnome_prefix=$withval/lib
1087                         fi
1088                 fi,
1089                 want_gnome=yes)
1090
1091         if test "x$want_gnome" = xyes; then
1092
1093             AC_PATH_PROG(GNOME_CONFIG,gnome-config,no)
1094             if test "$GNOME_CONFIG" = "no"; then
1095               no_gnome_config="yes"
1096             else
1097               AC_MSG_CHECKING(if $GNOME_CONFIG works)
1098               if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then
1099                 AC_MSG_RESULT(yes)
1100                 GNOME_GNORBA_HOOK([],$2)
1101                 GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome`"
1102                 GNOMEUI_LIBS="`$GNOME_CONFIG --libs-only-l gnomeui`"
1103                 GNOMEGNORBA_LIBS="`$GNOME_CONFIG --libs-only-l gnorba gnomeui`"
1104                 GTKXMHTML_LIBS="`$GNOME_CONFIG --libs-only-l gtkxmhtml`"
1105                 ZVT_LIBS="`$GNOME_CONFIG --libs-only-l zvt`"
1106                 GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`"
1107                 GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`"
1108                 $1
1109               else
1110                 AC_MSG_RESULT(no)
1111                 no_gnome_config="yes"
1112               fi
1113             fi
1114
1115             if test x$exec_prefix = xNONE; then
1116                 if test x$prefix = xNONE; then
1117                     gnome_prefix=$ac_default_prefix/lib
1118                 else
1119                     gnome_prefix=$prefix/lib
1120                 fi
1121             else
1122                 gnome_prefix=`eval echo \`echo $libdir\``
1123             fi
1124         
1125             if test "$no_gnome_config" = "yes"; then
1126               AC_MSG_CHECKING(for gnomeConf.sh file in $gnome_prefix)
1127               if test -f $gnome_prefix/gnomeConf.sh; then
1128                 AC_MSG_RESULT(found)
1129                 echo "loading gnome configuration from" \
1130                      "$gnome_prefix/gnomeConf.sh"
1131                 . $gnome_prefix/gnomeConf.sh
1132                 $1
1133               else
1134                 AC_MSG_RESULT(not found)
1135                 if test x$2 = xfail; then
1136                   AC_MSG_ERROR(Could not find the gnomeConf.sh file that is generated by gnome-libs install)
1137                 fi
1138               fi
1139             fi
1140         fi
1141
1142         if test -n "$3"; then
1143           n="$3"
1144           for i in $n; do
1145             AC_MSG_CHECKING(extra library \"$i\")
1146             case $i in 
1147               applets)
1148                 AC_SUBST(GNOME_APPLETS_LIBS)
1149                 GNOME_APPLETS_LIBS=`$GNOME_CONFIG --libs-only-l applets`
1150                 AC_MSG_RESULT($GNOME_APPLETS_LIBS);;
1151               docklets)
1152                 AC_SUBST(GNOME_DOCKLETS_LIBS)
1153                 GNOME_DOCKLETS_LIBS=`$GNOME_CONFIG --libs-only-l docklets`
1154                 AC_MSG_RESULT($GNOME_DOCKLETS_LIBS);;
1155               capplet)
1156                 AC_SUBST(GNOME_CAPPLET_LIBS)
1157                 GNOME_CAPPLET_LIBS=`$GNOME_CONFIG --libs-only-l capplet`
1158                 AC_MSG_RESULT($GNOME_CAPPLET_LIBS);;
1159               *)
1160                 AC_MSG_RESULT(unknown library)
1161             esac
1162             EXTRA_INCLUDEDIR=`$GNOME_CONFIG --cflags $i`
1163             GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR $EXTRA_INCLUDEDIR"
1164           done
1165         fi
1166 ])
1167
1168 dnl
1169 dnl GNOME_INIT ([additional-inits])
1170 dnl
1171
1172 AC_DEFUN([GNOME_INIT],[
1173         GNOME_INIT_HOOK([],fail,$1)
1174 ])
1175
1176 dnl GNOME_X_CHECKS
1177 dnl
1178 dnl Basic X11 related checks for X11.  At the end, the following will be
1179 dnl defined/changed:
1180 dnl   GTK_{CFLAGS,LIBS}      From AM_PATH_GTK
1181 dnl   CPPFLAGS               Will include $X_CFLAGS
1182 dnl   GNOME_HAVE_SM          `true' or `false' depending on whether session
1183 dnl                          management is available.  It is available if
1184 dnl                          both -lSM and X11/SM/SMlib.h exist.  (Some
1185 dnl                          Solaris boxes have the library but not the header)
1186 dnl   XPM_LIBS               -lXpm if Xpm library is present, otherwise ""
1187 dnl
1188 dnl The following configure cache variables are defined (but not used):
1189 dnl   gnome_cv_passdown_{x_libs,X_LIBS,X_CFLAGS}
1190 dnl
1191 AC_DEFUN([GNOME_X_CHECKS],
1192 [
1193         AM_PATH_GTK(1.2.0,,AC_MSG_ERROR(GTK not installed, or gtk-config not in path))
1194         dnl Hope that GTK_CFLAGS have only -I and -D.  Otherwise, we could
1195         dnl   test -z "$x_includes" || CPPFLAGS="$CPPFLAGS -I$x_includes"
1196         dnl
1197         dnl Use CPPFLAGS instead of CFLAGS because AC_CHECK_HEADERS uses
1198         dnl CPPFLAGS, not CFLAGS
1199         CPPFLAGS="$CPPFLAGS $GTK_CFLAGS"
1200
1201         saved_ldflags="$LDFLAGS"
1202         LDFLAGS="$LDFLAGS $GTK_LIBS"
1203
1204         gnome_cv_passdown_x_libs="$GTK_LIBS"
1205         gnome_cv_passdown_X_LIBS="$GTK_LIBS"
1206         gnome_cv_passdown_X_CFLAGS="$GTK_CFLAGS"
1207         gnome_cv_passdown_GTK_LIBS="$GTK_LIBS"
1208
1209         LDFLAGS="$saved_ldflags $GTK_LIBS"
1210
1211 dnl We are requiring GTK >= 1.1.1, which means this will be fine anyhow.
1212         USE_DEVGTK=true
1213
1214 dnl     AC_MSG_CHECKING([whether to use features from (unstable) GTK+ 1.1.x])
1215 dnl     AC_EGREP_CPP(answer_affirmatively,
1216 dnl     [#include <gtk/gtkfeatures.h>
1217 dnl     #ifdef GTK_HAVE_FEATURES_1_1_0
1218 dnl        answer_affirmatively
1219 dnl     #endif
1220 dnl     ], dev_gtk=yes, dev_gtk=no)
1221 dnl     if test "$dev_gtk" = "yes"; then
1222 dnl        USE_DEVGTK=true
1223 dnl     fi
1224 dnl     AC_MSG_RESULT("$dev_gtk")
1225
1226         GNOME_HAVE_SM=true
1227         case "$GTK_LIBS" in
1228          *-lSM*)
1229             dnl Already found it.
1230             ;;
1231          *)
1232             dnl Assume that if we have -lSM then we also have -lICE.
1233             AC_CHECK_LIB(SM, SmcSaveYourselfDone,
1234                 [GTK_LIBS="-lSM -lICE $GTK_LIBS"],GNOME_HAVE_SM=false,
1235                 $x_libs -lICE)
1236             ;;
1237         esac
1238
1239         if test "$GNOME_HAVE_SM" = true; then
1240            AC_CHECK_HEADERS(X11/SM/SMlib.h,,GNOME_HAVE_SM=false)
1241         fi
1242
1243         if test "$GNOME_HAVE_SM" = true; then
1244            AC_DEFINE(HAVE_LIBSM)
1245         fi
1246
1247         XPM_LIBS=""
1248         AC_CHECK_LIB(Xpm, XpmFreeXpmImage, [XPM_LIBS="-lXpm"], , $x_libs)
1249         AC_SUBST(XPM_LIBS)
1250
1251         AC_REQUIRE([GNOME_PTHREAD_CHECK])
1252         LDFLAGS="$saved_ldflags"
1253
1254         AC_PROVIDE([GNOME_X_CHECKS])
1255 ])
1256
1257 AC_DEFUN([GNOME_PTHREAD_CHECK],[
1258         PTHREAD_LIB=""
1259         AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
1260                 [AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
1261                     [AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
1262                         [AC_CHECK_LIB(pthread, __pthread_attr_init_system, PTHREAD_LIB="-lpthread",
1263                                 [AC_CHECK_FUNC(pthread_create)]
1264                         )]
1265                     )]
1266                 )]
1267         )
1268         AC_SUBST(PTHREAD_LIB)
1269         AC_PROVIDE([GNOME_PTHREAD_CHECK])
1270 ])
1271
1272 AC_DEFUN(AM_CONDITIONAL,
1273 [AC_SUBST($1_TRUE)
1274 AC_SUBST($1_FALSE)
1275 if $2; then
1276   $1_TRUE=
1277   $1_FALSE='#'
1278 else
1279   $1_TRUE='#'
1280   $1_FALSE=
1281 fi])
1282
1283 dnl
1284 dnl GNOME_GNORBA_HOOK (script-if-gnorba-found, failflag)
1285 dnl
1286 dnl if failflag is "failure" it aborts if gnorba is not found.
1287 dnl
1288
1289 AC_DEFUN([GNOME_GNORBA_HOOK],[
1290         GNOME_ORBIT_HOOK([],$2)
1291         AC_CACHE_CHECK([for gnorba libraries],gnome_cv_gnorba_found,[
1292                 gnome_cv_gnorba_found=no
1293                 if test x$gnome_cv_orbit_found = xyes; then
1294                         GNORBA_CFLAGS="`gnome-config --cflags gnorba gnomeui`"
1295                         GNORBA_LIBS="`gnome-config --libs gnorba gnomeui`"
1296                         if test -n "$GNORBA_LIBS"; then
1297                                 gnome_cv_gnorba_found=yes
1298                         fi
1299                 fi
1300         ])
1301         AM_CONDITIONAL(HAVE_GNORBA, test x$gnome_cv_gnorba_found = xyes)
1302         if test x$gnome_cv_orbit_found = xyes; then
1303                 $1
1304                 GNORBA_CFLAGS="`gnome-config --cflags gnorba gnomeui`"
1305                 GNORBA_LIBS="`gnome-config --libs gnorba gnomeui`"
1306                 AC_SUBST(GNORBA_CFLAGS)
1307                 AC_SUBST(GNORBA_LIBS)
1308         else
1309                 if test x$2 = xfailure; then
1310                         AC_MSG_ERROR(gnorba library not installed or installation problem)
1311                 fi
1312         fi
1313 ])
1314
1315 AC_DEFUN([GNOME_GNORBA_CHECK], [
1316         GNOME_GNORBA_HOOK([],failure)
1317 ])
1318
1319 dnl
1320 dnl GNOME_ORBIT_HOOK (script-if-orbit-found, failflag)
1321 dnl
1322 dnl if failflag is "failure" it aborts if orbit is not found.
1323 dnl
1324
1325 AC_DEFUN([GNOME_ORBIT_HOOK],[
1326         AC_PATH_PROG(ORBIT_CONFIG,orbit-config,no)
1327         AC_PATH_PROG(ORBIT_IDL,orbit-idl,no)
1328         AC_CACHE_CHECK([for working ORBit environment],gnome_cv_orbit_found,[
1329                 if test x$ORBIT_CONFIG = xno -o x$ORBIT_IDL = xno; then
1330                         gnome_cv_orbit_found=no
1331                 else
1332                         gnome_cv_orbit_found=yes
1333                 fi
1334         ])
1335         AM_CONDITIONAL(HAVE_ORBIT, test x$gnome_cv_orbit_found = xyes)
1336         if test x$gnome_cv_orbit_found = xyes; then
1337                 $1
1338                 ORBIT_CFLAGS=`orbit-config --cflags client server`
1339                 ORBIT_LIBS=`orbit-config --use-service=name --libs client server`
1340                 AC_SUBST(ORBIT_CFLAGS)
1341                 AC_SUBST(ORBIT_LIBS)
1342         else
1343                 if test x$2 = xfailure; then
1344                         AC_MSG_ERROR(ORBit not installed or installation problem)
1345                 fi
1346         fi
1347 ])
1348
1349 AC_DEFUN([GNOME_ORBIT_CHECK], [
1350         GNOME_ORBIT_HOOK([],failure)
1351 ])