]> git.sur5r.net Git - bacula/bacula/blob - bacula/autoconf/aclocal.m4
This commit was manufactured by cvs2svn to create tag
[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_BAC_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 -f /etc/mandrake-release
311 then
312         DISTNAME=mandrake
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 -f /etc/engarde-version
329 then
330         DISTNAME=engarde
331 elif test "$CYGWIN" = yes
332 then
333         DISTNAME=cygwin
334         AC_DEFINE(HAVE_CYGWIN)
335 else
336         DISTNAME=unknown
337 fi
338 AC_MSG_RESULT(" ")
339 ])
340
341 AC_DEFUN(BA_CHECK_MYSQL_DB,
342 [
343 db_found=no
344 AC_MSG_CHECKING(for MySQL support)
345 AC_ARG_WITH(mysql,
346 [
347 Which DBMS do you want to use (please select only one):
348   --with-mysql[=DIR]      Include MySQL support.  DIR is the MySQL base
349                           install directory, default is to search through
350                           a number of common places for the MySQL files.],
351 [
352   if test "$withval" != "no"; then
353         if test "$withval" = "yes"; then
354                 if test -f /usr/local/mysql/include/mysql/mysql.h; then
355                         MYSQL_INCDIR=/usr/local/mysql/include/mysql
356                         MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
357                         MYSQL_BINDIR=/usr/local/mysql/bin
358                 elif test -f /usr/include/mysql/mysql.h; then
359                         MYSQL_INCDIR=/usr/include/mysql
360                         MYSQL_LIBDIR=/usr/lib/mysql
361                         MYSQL_BINDIR=/usr/bin      
362                 elif test -f /usr/include/mysql.h; then
363                         MYSQL_INCDIR=/usr/include
364                         MYSQL_LIBDIR=/usr/lib
365                         MYSQL_BINDIR=/usr/bin
366                 elif test -f /usr/local/include/mysql/mysql.h; then
367                         MYSQL_INCDIR=/usr/local/include/mysql
368                         MYSQL_LIBDIR=/usr/local/lib/mysql
369                         MYSQL_BINDIR=/usr/local/bin
370                 elif test -f /usr/local/include/mysql.h; then
371                         MYSQL_INCDIR=/usr/local/include
372                         MYSQL_LIBDIR=/usr/local/lib
373                         MYSQL_BINDIR=/usr/local/bin
374                 else
375                    AC_MSG_RESULT(no)
376                    AC_MSG_ERROR(Unable to find mysql.h in standard locations)
377                 fi
378         else
379                 if test -f $withval/include/mysql/mysql.h; then
380                         MYSQL_INCDIR=$withval/include/mysql
381                         MYSQL_LIBDIR=$withval/lib/mysql
382                         MYSQL_BINDIR=$withval/bin
383                 elif test -f $withval/include/mysql.h; then
384                         MYSQL_INCDIR=$withval/include
385                         MYSQL_LIBDIR=$withval/lib
386                         MYSQL_BINDIR=$withval/bin
387                 else
388                    AC_MSG_RESULT(no)
389                    AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
390                 fi
391         fi
392     SQL_INCLUDE=-I$MYSQL_INCDIR
393     if test -f $MYSQL_LIBDIR/libmysqlclient_r.a; then
394     SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz"
395        AC_DEFINE(HAVE_THREAD_SAFE_MYSQL)
396     else
397        SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient -lz"
398     fi
399     SQL_BINDIR=$MYSQL_BINDIR
400
401     AC_DEFINE(HAVE_MYSQL)
402     AC_MSG_RESULT(yes)
403     db_found=yes
404     support_mysql=yes
405     db_name=MySQL
406     DB_NAME=mysql
407
408   else
409         AC_MSG_RESULT(no)
410   fi
411 ],[
412     AC_MSG_RESULT(no)
413 ])
414
415 AC_ARG_WITH(embedded-mysql,
416 [
417 Which DBMS do you want to use (please select only one):
418   --with-embedded-mysql[=DIR] Include MySQL support.  DIR is the MySQL base
419                           install directory, default is to search through
420                           a number of common places for the MySQL files.],
421 [
422   if test "$withval" != "no"; then
423         if test "$withval" = "yes"; then
424                 if test -f /usr/local/mysql/include/mysql/mysql.h; then
425                         MYSQL_INCDIR=/usr/local/mysql/include/mysql
426                         MYSQL_LIBDIR=/usr/local/mysql/lib/mysql
427                         MYSQL_BINDIR=/usr/local/mysql/bin
428                 elif test -f /usr/include/mysql/mysql.h; then
429                         MYSQL_INCDIR=/usr/include/mysql
430                         MYSQL_LIBDIR=/usr/lib/mysql
431                         MYSQL_BINDIR=/usr/bin      
432                 elif test -f /usr/include/mysql.h; then
433                         MYSQL_INCDIR=/usr/include
434                         MYSQL_LIBDIR=/usr/lib
435                         MYSQL_BINDIR=/usr/bin
436                 elif test -f /usr/local/include/mysql/mysql.h; then
437                         MYSQL_INCDIR=/usr/local/include/mysql
438                         MYSQL_LIBDIR=/usr/local/lib/mysql
439                         MYSQL_BINDIR=/usr/local/bin
440                 elif test -f /usr/local/include/mysql.h; then
441                         MYSQL_INCDIR=/usr/local/include
442                         MYSQL_LIBDIR=/usr/local/lib
443                         MYSQL_BINDIR=/usr/local/bin
444                 else
445                    AC_MSG_RESULT(no)
446                    AC_MSG_ERROR(Unable to find mysql.h in standard locations)
447                 fi
448         else
449                 if test -f $withval/include/mysql/mysql.h; then
450                         MYSQL_INCDIR=$withval/include/mysql
451                         MYSQL_LIBDIR=$withval/lib/mysql
452                         MYSQL_BINDIR=$withval/bin
453                 elif test -f $withval/include/mysql.h; then
454                         MYSQL_INCDIR=$withval/include
455                         MYSQL_LIBDIR=$withval/lib
456                         MYSQL_BINDIR=$withval/bin
457                 else
458                    AC_MSG_RESULT(no)
459                    AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval)
460                 fi
461         fi
462     SQL_INCLUDE=-I$MYSQL_INCDIR
463     SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqld -lz -lm -lcrypt"
464     SQL_BINDIR=$MYSQL_BINDIR
465
466     AC_DEFINE(HAVE_MYSQL)
467     AC_DEFINE(HAVE_EMBEDDED_MYSQL)
468     AC_MSG_RESULT(yes)
469     db_found=yes
470     support_mysql=yes
471     db_name=MySQL
472     DB_NAME=mysql
473
474   else
475         AC_MSG_RESULT(no)
476   fi
477 ],[
478   AC_MSG_RESULT(no)
479 ])
480
481
482 AC_SUBST(SQL_LFLAGS)
483 AC_SUBST(SQL_INCLUDE)
484 AC_SUBST(SQL_BINDIR)
485   
486 ])
487
488
489 AC_DEFUN(BA_CHECK_SQLITE_DB,
490 [
491 db_found=no
492 AC_MSG_CHECKING(for SQLite support)
493 AC_ARG_WITH(sqlite,
494 [
495 Which DBMS do you want to use (please select only one):
496   --with-sqlite[=DIR]     Include SQLite support.  DIR is the SQLite base
497                           install directory, default is to search through
498                           a number of common places for the SQLite files.],
499 [
500   if test "$withval" != "no"; then
501         if test "$withval" = "yes"; then
502                 if test -f /usr/local/include/sqlite.h; then
503                         SQLITE_INCDIR=/usr/local/include
504                         SQLITE_LIBDIR=/usr/local/lib
505                         SQLITE_BINDIR=/usr/local/bin
506                 elif test -f /usr/include/sqlite.h; then
507                         SQLITE_INCDIR=/usr/include
508                         SQLITE_LIBDIR=/usr/lib
509                         SQLITE_BINDIR=/usr/bin      
510                 else
511                    AC_MSG_RESULT(no)
512                    AC_MSG_ERROR(Unable to find sqlite.h in standard locations)
513                 fi
514         else
515                 if test -f $withval/sqlite.h; then
516                         SQLITE_INCDIR=$withval
517                         SQLITE_LIBDIR=$withval
518                         SQLITE_BINDIR=$withval
519                 else
520                    AC_MSG_RESULT(no)
521                    AC_MSG_ERROR(Invalid SQLite directory $withval - unable to find sqlite.h under $withval)
522                 fi
523         fi
524     SQL_INCLUDE=-I$SQLITE_INCDIR
525     SQL_LFLAGS="-L$SQLITE_LIBDIR -lsqlite"
526     SQL_BINDIR=$SQLITE_BINDIR
527
528     AC_DEFINE(HAVE_SQLITE)
529     AC_MSG_RESULT(yes)
530     db_found=yes
531     support_sqlite=yes
532     db_name=SQLite
533     DB_NAME=sqlite
534
535   else
536         AC_MSG_RESULT(no)
537   fi
538 ],[
539   AC_MSG_RESULT(no)
540 ])
541 AC_SUBST(SQL_LFLAGS)
542 AC_SUBST(SQL_INCLUDE)
543 AC_SUBST(SQL_BINDIR)
544   
545 ])
546
547
548
549 AC_DEFUN(BA_CHECK_SQL_DB, 
550 [AC_MSG_CHECKING(Checking for various databases)
551 dnl# --------------------------------------------------------------------------
552 dnl# CHECKING FOR VARIOUS DATABASES (thanks to UdmSearch team)
553 dnl# --------------------------------------------------------------------------
554 dnl Check for some DBMS backend
555 dnl NOTE: we can use only one backend at a time
556 AC_MSG_RESULT(" ")
557
558 db_found=no
559 db_name=none
560
561
562
563 if test x$support_mysql = xyes; then
564    cats=cats
565 fi
566
567
568 AC_MSG_CHECKING(for Berkeley DB support)
569 AC_ARG_WITH(berkeleydb,
570 [
571 Which DBMS do you want to use (please select only one):
572   --with-berkeleydb[=DIR] Include Berkeley DB support.  DIR is the Berkeley DB base
573                           install directory, default is to search through
574                           a number of common places for the DB files.],
575 [
576   if test "$withval" != "no"; then
577         if test "$withval" = "yes"; then
578                 if test -f /usr/include/db.h; then
579                         BERKELEYDB_INCDIR=/usr/include
580                         BERKELEYDB_LIBDIR=/usr/lib
581                 else
582                 AC_MSG_RESULT(no)
583                 AC_MSG_ERROR(Invalid Berkeley DB directory - unable to find db.h)
584                 fi
585         else
586                 if test -f $withval/include/db.h; then
587                         BERKELEYDB_INCDIR=$withval/include
588                         BERKELEYDBL_LIBDIR=$withval/lib
589                 else
590                 AC_MSG_RESULT(no)
591                 AC_MSG_ERROR(Invalid Berkeley DB directory - unable to find db.h under $withval)
592                 fi
593         fi
594     SQL_INCLUDE=-I$BERKELEYDB_INCDIR
595     SQL_LFLAGS="-L$BERKELEYDB_LIBDIR -ldb"
596
597     AC_DEFINE(HAVE_BERKELEY_DB)
598     AC_MSG_RESULT(yes)
599     have_db=yes
600     support_mysql=yes
601     db_name=BerkelyDB
602
603   else
604         AC_MSG_RESULT(no)
605   fi
606 ],[
607   AC_MSG_RESULT(no)
608 ])
609 AC_SUBST(SQL_LFLAGS)
610 AC_SUBST(SQL_INCLUDE)
611
612 if test x$support_berkleydb = xyes; then
613    cats=cats
614 fi
615
616
617 AC_MSG_CHECKING(for PostgreSQL support)
618 AC_ARG_WITH(pgsql,
619 [  --with-pgsql[=DIR]      Include PostgreSQL support.  DIR is the PostgreSQL
620                           base install directory, defaults to /usr/local/pgsql.],
621 [
622   if test "$withval" != "no"; then
623       if test "$have_db" = "yes"; then
624           AC_MSG_RESULT(error)
625           AC_MSG_ERROR("You can configure for only one database.");
626       fi
627         if test "$withval" = "yes"; then
628                 if test -f /usr/include/pgsql/libpq-fe.h; then
629                         PGSQL_INCDIR=/usr/include/pgsql
630                 else
631                         PGSQL_INCDIR=/usr/local/pgsql/include
632                 fi
633                 if test -f /usr/lib/libpq.a; then
634                         PGSQL_LIBDIR=/usr/lib
635                 else
636                         PGSQL_LIBDIR=/usr/local/pgsql/lib
637                 fi
638         else
639                 PGSQL_INCDIR=$withval/include
640                 test -d $withval/include/pgsql && PGSQL_INCDIR=$withval/include/pgsql
641                 PGSQL_LIBDIR=$withval/lib
642                 test -d $withval/lib/pgsql && PGSQL_LIBDIR=$withval/lib/pgsql
643         fi
644     PGSQL_INCLUDE=-I$PGSQL_INCDIR
645     PGSQL_LFLAGS="-L$PGSQL_LIBDIR -lpq"
646     AC_CHECK_FUNC(crypt, , AC_CHECK_LIB(crypt, crypt, [LIBS="-lcrypt $LIBS"]))
647
648     AC_DEFINE(HAVE_PGSQL)
649     AC_MSG_RESULT(yes)
650     have_db=yes
651   else
652     AC_MSG_RESULT(no)
653   fi
654 ],[
655   AC_MSG_RESULT(no)
656 ])
657 AC_SUBST(PGSQL_LFLAGS)
658 AC_SUBST(PGSQL_INCLUDE)
659
660
661 AC_MSG_CHECKING(for mSQL support)
662 AC_ARG_WITH(msql,
663 [  --with-msql[=DIR]       Include mSQL support.  DIR is the mSQL base
664                           install directory, defaults to /usr/local/Hughes.],
665 [
666   if test "$withval" != "no"; then
667     if test "$have_db" = "yes"; then
668         AC_MSG_RESULT(error)
669         AC_MSG_ERROR("You can configure for only one database.");
670     fi
671
672     if test "$withval" = "yes"; then
673         MSQL_INCDIR=/usr/local/Hughes/include
674         MSQL_LIBDIR=/usr/local/Hughes/lib
675     else
676         MSQL_INCDIR=$withval/include
677         MSQL_LIBDIR=$withval/lib
678     fi
679     MSQL_INCLUDE=-I$MSQL_INCDIR
680     MSQL_LFLAGS="-L$MSQL_LIBDIR -lmsql"
681
682     AC_DEFINE(HAVE_MSQL)
683     AC_MSG_RESULT(yes)
684     have_db=yes
685   else
686         AC_MSG_RESULT(no)
687   fi
688 ],[
689   AC_MSG_RESULT(no)
690 ])
691 AC_SUBST(MSQL_LFLAGS)
692 AC_SUBST(MSQL_INCLUDE)
693
694
695 AC_MSG_CHECKING(for iODBC support)
696 AC_ARG_WITH(iodbc,
697 [  --with-iodbc[=DIR]      Include iODBC support.  DIR is the iODBC base
698                           install directory, defaults to /usr/local.],
699 [
700         if test "$withval" != "no"; then
701             if test "$have_db" = "yes"; then
702                 AC_MSG_RESULT(error)
703                 AC_MSG_ERROR("You can configure for only one database.");
704             fi
705         fi
706         
707         if test "$withval" = "yes"; then
708                 withval=/usr/local
709         fi
710
711         if test "$withval" != "no"; then
712                 if test -f $withval/include/isql.h; then
713                         IODBC_INCDIR=$withval/include
714                         IODBC_LIBDIR=$withval/lib
715                 else
716                         AC_MSG_RESULT(no)
717                         AC_MSG_ERROR(Invalid iODBC directory - unable to find isql.h)
718                 fi
719                 IODBC_LFLAGS="-L$IODBC_LIBDIR -liodbc"
720                 IODBC_INCLUDE=-I$IODBC_INCDIR
721                 AC_DEFINE(HAVE_IODBC)
722                 AC_MSG_RESULT(yes)
723                 have_db=yes
724         fi
725 ],[
726         AC_MSG_RESULT(no)
727 ])
728 AC_SUBST(IODBC_LFLAGS)
729 AC_SUBST(IODBC_INCLUDE)
730
731
732 AC_MSG_CHECKING(for unixODBC support)
733 AC_ARG_WITH(unixODBC,
734 [  --with-unixODBC[=DIR]   Include unixODBC support.  DIR is the unixODBC base
735                           install directory, defaults to /usr/local.],
736 [
737         if test "$withval" != "no"; then
738             if test "$have_db" = "yes"; then
739                 AC_MSG_RESULT(error)
740                 AC_MSG_ERROR("You can configure for only one database.");
741             fi
742         fi
743         
744         if test "$withval" = "yes"; then
745                 withval=/usr/local
746         fi
747
748         if test "$withval" != "no"; then
749                 if test -f $withval/include/sql.h; then
750                         UNIXODBC_INCDIR=$withval/include
751                         UNIXODBC_LIBDIR=$withval/lib
752                 else
753                         AC_MSG_RESULT(no)
754                         AC_MSG_ERROR(Invalid unixODBC directory - unable to find sql.h)
755                 fi
756                 UNIXODBC_LFLAGS="-L$UNIXODBC_LIBDIR -lodbc"
757                 UNIXODBC_INCLUDE=-I$UNIXODBC_INCDIR
758                 AC_DEFINE(HAVE_UNIXODBC)
759                 AC_MSG_RESULT(yes)
760                 have_db=yes
761         fi
762 ],[
763         AC_MSG_RESULT(no)
764 ])
765 AC_SUBST(UNIXODBC_LFLAGS)
766 AC_SUBST(UNIXODBC_INCLUDE)
767
768
769 AC_MSG_CHECKING(for Solid support)
770 AC_ARG_WITH(solid,
771 [  --with-solid[=DIR]      Include Solid support.  DIR is the Solid base
772                           install directory, defaults to /usr/local.],
773 [
774         if test "$withval" != "no"; then
775             if test "$have_db" = "yes"; then
776                 AC_MSG_RESULT(error)
777                 AC_MSG_ERROR("You can configure for only one database.");
778             fi
779         fi
780
781         if test "$withval" = "yes"; then
782                 withval=/usr/local
783         fi
784
785         if test "$withval" != "no"; then
786                 if test -f $withval/include/cli0cli.h; then
787                         SOLID_INCDIR=$withval/include
788                         SOLID_LIBDIR=$withval/lib
789                 else
790                         AC_MSG_RESULT(no)
791                         AC_MSG_ERROR(Invalid Solid directory - unable to find cli0cli.h)
792                 fi
793                 SOLID_LFLAGS="-L$SOLID_LIBDIR -lsolcli"
794                 SOLID_INCLUDE="-I$SOLID_INCDIR"
795                 AC_DEFINE(HAVE_SOLID)
796                 AC_MSG_RESULT(yes)
797                 have_db=yes
798         fi
799 ],[
800         AC_MSG_RESULT(no)
801 ])
802 AC_SUBST(SOLID_LFLAGS)
803 AC_SUBST(SOLID_INCLUDE)
804
805 AC_MSG_CHECKING(for OpenLink ODBC support)
806 AC_ARG_WITH(openlink,
807 [  --with-openlink[=DIR]   Include OpenLink ODBC support. 
808                           DIR is the base OpenLink ODBC install directory],
809 [
810   if test "$withval" != "no"; then
811         if test "$withval" = "yes"; then
812
813                 if test "$have_db" = "yes"; then
814                         AC_MSG_RESULT(error)
815                         AC_MSG_ERROR("You can configure for only one database.");
816                 fi
817
818                 if test -f /usr/local/virtuoso-ent/odbcsdk/include/isql.h; then
819                         VIRT_INCDIR=/usr/local/virtuoso-ent/odbcsdk/include/
820                         VIRT_LIBDIR=/usr/local/virtuoso-ent/odbcsdk/lib/
821                 elif test -f /usr/local/virtuoso-lite/odbcsdk/include/isql.h; then
822                         VIRT_INCDIR=/usr/local/virtuoso-lite/odbcsdk/include/
823                         VIRT_LIBDIR=/usr/local/virtuoso-lite/odbcsdk/lib/
824                 elif test -f /usr/local/virtuoso/odbcsdk/include/isql.h; then
825                         VIRT_INCDIR=/usr/local/virtuoso/odbcsdk/include/
826                         VIRT_LIBDIR=/usr/local/virtuoso/odbcsdk/lib/
827                 else
828                 AC_MSG_RESULT(no)
829                 AC_MSG_ERROR(Invalid OpenLink ODBC directory - unable to find isql.h)
830                 fi
831         else
832                 if test -f $withval/odbcsdk/include/isql.h; then
833                         VIRT_INCDIR=$withval/odbcsdk/include/
834                         VIRT_LIBDIR=$withval/odbcsdk/lib/
835                 elif test -f $withval/include/isql.h; then
836                         VIRT_INCDIR=$withval/include/
837                         VIRT_LIBDIR=$withval/lib/
838                 else
839                 AC_MSG_RESULT(no)
840                 AC_MSG_ERROR(Invalid OpenLink ODBC directory - unable to find isql.h under $withval)
841                 fi
842         fi
843     VIRT_INCLUDE=-I$VIRT_INCDIR
844     VIRT_LFLAGS="-L$VIRT_LIBDIR -liodbc"
845
846     AC_DEFINE(HAVE_VIRT)
847     AC_MSG_RESULT(yes)
848     have_db=yes
849
850   else
851         AC_MSG_RESULT(no)
852   fi
853 ],[
854   AC_MSG_RESULT(no)
855 ])
856 AC_SUBST(VIRT_LFLAGS)
857 AC_SUBST(VIRT_INCLUDE)
858
859
860 AC_MSG_CHECKING(for EasySoft ODBC support)
861 AC_ARG_WITH(easysoft,
862 [  --with-easysoft[=DIR]   Include EasySoft ODBC support. 
863                           DIR is the base EasySoft ODBC install directory],
864 [
865   if test "$withval" != "no"; then
866         if test "$withval" = "yes"; then
867
868                 if test "$have_db" = "yes"; then
869                         AC_MSG_RESULT(error)
870                         AC_MSG_ERROR("You can configure for only one database.");
871                 fi
872
873                 if test -f /usr/local/easysoft/oob/client/include/sql.h; then
874                         EASYSOFT_INCDIR=/usr/local/easysoft/oob/client/include/
875                         EASYSOFT_LFLAGS="-L/usr/local/easysoft/oob/client/lib/ -L/usr/local/easysoft/lib"
876                 else
877                 AC_MSG_RESULT(no)
878                 AC_MSG_ERROR(Invalid EasySoft ODBC directory - unable to find sql.h)
879                 fi
880         else
881                 if test -f $withval/easysoft/oob/client/include/sql.h; then
882                         EASYSOFT_INCDIR=$withval/easysoft/oob/client/include/
883                         EASYSOFT_LFLAGS="-L$withval/easysoft/oob/client/lib/ -L$withval/easysoft/lib"
884                 else
885                 AC_MSG_RESULT(no)
886                 AC_MSG_ERROR(Invalid EasySoft ODBC directory - unable to find sql.h under $withval)
887                 fi
888         fi
889     EASYSOFT_INCLUDE=-I$EASYSOFT_INCDIR
890     EASYSOFT_LFLAGS="$EASYSOFT_LFLAGS -lesoobclient -lesrpc -lsupport -lextra"
891
892     AC_DEFINE(HAVE_EASYSOFT)
893     AC_MSG_RESULT(yes)
894     have_db=yes
895
896   else
897         AC_MSG_RESULT(no)
898   fi
899 ],[
900   AC_MSG_RESULT(no)
901 ])
902 AC_SUBST(EASYSOFT_LFLAGS)
903 AC_SUBST(EASYSOFT_INCLUDE)
904
905
906
907 AC_MSG_CHECKING(for InterBase support)
908 AC_ARG_WITH(ibase,
909 [  --with-ibase[=DIR]      Include InterBase support.  DIR is the InterBase
910                           install directory, defaults to /usr/interbase.],
911 [
912         if test "$withval" != "no"; then
913             if test "$have_db" = "yes"; then
914                 AC_MSG_RESULT(error)
915                 AC_MSG_ERROR("You can configure for only one database.");
916             fi
917         fi
918         
919         if test "$withval" = "yes"; then
920                 withval=/usr/interbase
921         fi
922
923         if test "$withval" != "no"; then
924                 if test -f $withval/include/ibase.h; then
925                         IBASE_INCDIR=$withval/include
926                         IBASE_LIBDIR=$withval/lib
927                 else
928                         AC_MSG_RESULT(no)
929                         AC_MSG_ERROR(Invalid InterBase directory - unable to find ibase.h)
930                 fi
931                 IBASE_LFLAGS="-L$IBASE_LIBDIR -lgds"
932                 IBASE_INCLUDE=-I$IBASE_INCDIR
933                 AC_DEFINE(HAVE_IBASE)
934                 AC_MSG_RESULT(yes)
935                 have_db=yes
936         fi
937 ],[
938         AC_MSG_RESULT(no)
939 ])
940 AC_SUBST(IBASE_LFLAGS)
941 AC_SUBST(IBASE_INCLUDE)
942
943 AC_MSG_CHECKING(for Oracle8 support)
944 AC_ARG_WITH(oracle8,
945 [  --with-oracle8[=DIR]    Include Oracle8 support.  DIR is the Oracle
946                           home directory, defaults to $ORACLE_HOME or
947                           /oracle8/app/oracle/product/8.0.5.],
948 [
949         if test "$withval" != "no"; then
950             if test "$have_db" = "yes"; then
951                 AC_MSG_RESULT(error)
952                 AC_MSG_ERROR("You can configure for only one database.");
953             fi
954         fi
955
956         if test "$withval" = "yes"; then
957                 withval="$ORACLE_HOME"
958                 if test "$withval" = ""; then
959                         withval=/oracle8/app/oracle/product/8.0.5
960                 fi
961         fi
962
963         if test "$withval" != "no"; then
964                 if test -f $withval/rdbms/demo/oci.h; then
965                         ORACLE8_INCDIR1=$withval/rdbms/demo/
966                         ORACLE8_INCDIR2=$withval/rdbms/public/:
967                         ORACLE8_INCDIR3=$withval/network/public/
968                         ORACLE8_INCDIR4=$withval/plsql/public/
969                         ORACLE8_LIBDIR1=$withval/lib
970                         ORACLE8_LIBDIR2=$withval/rdbms/lib
971                 else
972                         AC_MSG_RESULT(no)
973                         AC_MSG_ERROR(Invalid ORACLE directory - unable to find oci.h)
974                 fi
975                 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"
976                 ORACLE8_INCLUDE="-I$ORACLE8_INCDIR1 -I$ORACLE8_INCDIR2 -I$ORACLE8_INCDIR3 -I$ORACLE8_INCDIR4"
977                 AC_DEFINE(HAVE_ORACLE8)
978                 AC_MSG_RESULT(yes)
979                 have_db=yes
980         fi
981 ],[
982         AC_MSG_RESULT(no)
983 ])
984 AC_SUBST(ORACLE8_LFLAGS)
985 AC_SUBST(ORACLE8_INCLUDE)
986
987
988 AC_MSG_CHECKING(for Oracle7 support)
989 AC_ARG_WITH(oracle7,
990 [  --with-oracle7[=DIR]    Include Oracle 7.3 support.  DIR is the Oracle
991                           home directory, defaults to 
992                           ORACLE_HOME [$ORACLE_HOME]],
993 [
994         if test "$withval" != "no"; then
995             if test "$have_db" = "yes"; then
996                 AC_MSG_RESULT(error)
997                 AC_MSG_ERROR("You can configure for only one database.");
998             fi
999         fi
1000
1001         if test "$withval" = "yes"; then
1002                 withval="$ORACLE_HOME"
1003         fi
1004
1005         if test "$withval" != "no"; then
1006                 if test -f $withval/rdbms/demo/ocidfn.h; then
1007                         ORACLE7_INCDIR=$withval/rdbms/demo/
1008                         ORACLE7_LIBDIR1=$withval/lib
1009                         ORACLE7_LIBDIR2=$withval/rdbms/lib
1010                 else
1011                         AC_MSG_RESULT(no)
1012                         AC_MSG_ERROR(Invalid ORACLE directory - unable to find ocidfn.h)
1013                 fi
1014
1015         ORACLEINST_TOP=$withval
1016         if test -f "$ORACLEINST_TOP/rdbms/lib/sysliblist"
1017         then
1018           ORA_SYSLIB="`cat $ORACLEINST_TOP/rdbms/lib/sysliblist`"
1019         elif test -f "$ORACLEINST_TOP/lib/sysliblist"
1020             then
1021           ORA_SYSLIB="`cat $ORACLEINST_TOP/lib/sysliblist`"
1022         else
1023           ORA_SYSLIB="-lm"
1024         fi
1025           
1026                 ORACLE7_LFLAGS="-L$ORACLE7_LIBDIR1 -L$ORACLE7_LIBDIR2 \
1027             -lclient -lsqlnet -lncr -lsqlnet -lclient -lcommon \
1028             -lgeneric -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric \
1029             -lepc -lnlsrtl3 -lc3v6 -lcore3 -lnlsrtl3 -lcore3 -lnlsrtl3 \
1030             $ORA_SYSLIB -lcore3 $ORA_SYSLIB"
1031                 ORACLE7_INCLUDE="-I$ORACLE7_INCDIR "
1032                 AC_DEFINE(HAVE_ORACLE7)
1033                 AC_MSG_RESULT(yes)
1034                 have_db=yes
1035         fi
1036 ],[
1037         AC_MSG_RESULT(no)
1038 ])
1039 AC_SUBST(ORACLE7_LFLAGS)
1040 AC_SUBST(ORACLE7_INCLUDE)
1041 ])
1042   
1043
1044 AC_DEFUN(AM_CONDITIONAL,
1045 [AC_SUBST($1_TRUE)
1046 AC_SUBST($1_FALSE)
1047 if $2; then
1048   $1_TRUE=
1049   $1_FALSE='#'
1050 else
1051   $1_TRUE='#'
1052   $1_FALSE=
1053 fi])
1054
1055
1056
1057 dnl
1058 dnl ========================================================================
1059 dnl
1060 dnl      Old Gnome 1.4 detection code -- deprecated, but still used
1061 dnl
1062 dnl ========================================================================
1063
1064 dnl AM_ACLOCAL_INCLUDE(macrodir)
1065 AC_DEFUN([AM_ACLOCAL_INCLUDE],
1066 [
1067         AM_CONDITIONAL(INSIDE_GNOME_COMMON, false)
1068
1069         test -n "$ACLOCAL_FLAGS" && ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
1070
1071         for k in $1 ; do ACLOCAL="$ACLOCAL -I $k" ; done
1072 ])
1073
1074 dnl
1075 dnl GNOME_INIT_HOOK (script-if-gnome-enabled, [failflag], [additional-inits])
1076 dnl
1077 dnl if failflag is "fail" then GNOME_INIT_HOOK will abort if gnomeConf.sh
1078 dnl is not found. 
1079 dnl
1080
1081 AC_DEFUN([GNOME_INIT_HOOK],[
1082         AC_SUBST(GNOME_LIBS)
1083         AC_SUBST(GNOMEUI_LIBS)
1084         AC_SUBST(GNOMEGNORBA_LIBS)
1085         AC_SUBST(GTKXMHTML_LIBS)
1086         AC_SUBST(ZVT_LIBS)
1087         AC_SUBST(GNOME_LIBDIR)
1088         AC_SUBST(GNOME_INCLUDEDIR)
1089
1090         AC_ARG_WITH(gnome-includes,
1091         [  --with-gnome-includes   Specify location of GNOME headers],[
1092         CFLAGS="$CFLAGS -I$withval"
1093         ])
1094         
1095         AC_ARG_WITH(gnome-libs,
1096         [  --with-gnome-libs       Specify location of GNOME libs],[
1097         LDFLAGS="$LDFLAGS -L$withval"
1098         gnome_prefix=$withval
1099         ])
1100
1101         AC_ARG_WITH(gnome,
1102         [  --with-gnome            Specify prefix for GNOME files],
1103                 if test x$withval = xyes; then
1104                         want_gnome=yes
1105                         dnl Note that an empty true branch is not
1106                         dnl valid sh syntax.
1107                         ifelse([$1], [], :, [$1])
1108                 else
1109                         if test "x$withval" = xno; then
1110                                 want_gnome=no
1111                         else
1112                                 want_gnome=yes
1113                                 LDFLAGS="$LDFLAGS -L$withval/lib"
1114                                 CFLAGS="$CFLAGS -I$withval/include"
1115                                 gnome_prefix=$withval/lib
1116                         fi
1117                 fi,
1118                 want_gnome=yes)
1119
1120         if test "x$want_gnome" = xyes; then
1121
1122             AC_PATH_PROG(GNOME_CONFIG,gnome-config,no)
1123             if test "$GNOME_CONFIG" = "no"; then
1124               no_gnome_config="yes"
1125             else
1126               AC_MSG_CHECKING(if $GNOME_CONFIG works)
1127               if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then
1128                 AC_MSG_RESULT(yes)
1129                 GNOME_GNORBA_HOOK([],$2)
1130                 GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome`"
1131                 GNOMEUI_LIBS="`$GNOME_CONFIG --libs-only-l gnomeui`"
1132                 GNOMEGNORBA_LIBS="`$GNOME_CONFIG --libs-only-l gnorba gnomeui`"
1133                 GTKXMHTML_LIBS="`$GNOME_CONFIG --libs-only-l gtkxmhtml`"
1134                 ZVT_LIBS="`$GNOME_CONFIG --libs-only-l zvt`"
1135                 GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`"
1136                 GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`"
1137                 $1
1138               else
1139                 AC_MSG_RESULT(no)
1140                 no_gnome_config="yes"
1141               fi
1142             fi
1143
1144             if test x$exec_prefix = xNONE; then
1145                 if test x$prefix = xNONE; then
1146                     gnome_prefix=$ac_default_prefix/lib
1147                 else
1148                     gnome_prefix=$prefix/lib
1149                 fi
1150             else
1151                 gnome_prefix=`eval echo \`echo $libdir\``
1152             fi
1153         
1154             if test "$no_gnome_config" = "yes"; then
1155               AC_MSG_CHECKING(for gnomeConf.sh file in $gnome_prefix)
1156               if test -f $gnome_prefix/gnomeConf.sh; then
1157                 AC_MSG_RESULT(found)
1158                 echo "loading gnome configuration from" \
1159                      "$gnome_prefix/gnomeConf.sh"
1160                 . $gnome_prefix/gnomeConf.sh
1161                 $1
1162               else
1163                 AC_MSG_RESULT(not found)
1164                 if test x$2 = xfail; then
1165                   AC_MSG_ERROR(Could not find the gnomeConf.sh file that is generated by gnome-libs install)
1166                 fi
1167               fi
1168             fi
1169         fi
1170
1171         if test -n "$3"; then
1172           n="$3"
1173           for i in $n; do
1174             AC_MSG_CHECKING(extra library \"$i\")
1175             case $i in 
1176               applets)
1177                 AC_SUBST(GNOME_APPLETS_LIBS)
1178                 GNOME_APPLETS_LIBS=`$GNOME_CONFIG --libs-only-l applets`
1179                 AC_MSG_RESULT($GNOME_APPLETS_LIBS);;
1180               docklets)
1181                 AC_SUBST(GNOME_DOCKLETS_LIBS)
1182                 GNOME_DOCKLETS_LIBS=`$GNOME_CONFIG --libs-only-l docklets`
1183                 AC_MSG_RESULT($GNOME_DOCKLETS_LIBS);;
1184               capplet)
1185                 AC_SUBST(GNOME_CAPPLET_LIBS)
1186                 GNOME_CAPPLET_LIBS=`$GNOME_CONFIG --libs-only-l capplet`
1187                 AC_MSG_RESULT($GNOME_CAPPLET_LIBS);;
1188               *)
1189                 AC_MSG_RESULT(unknown library)
1190             esac
1191             EXTRA_INCLUDEDIR=`$GNOME_CONFIG --cflags $i`
1192             GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR $EXTRA_INCLUDEDIR"
1193           done
1194         fi
1195 ])
1196
1197 dnl
1198 dnl GNOME_INIT ([additional-inits])
1199 dnl
1200
1201 AC_DEFUN([GNOME_INIT],[
1202         GNOME_INIT_HOOK([],fail,$1)
1203 ])
1204
1205 dnl GNOME_X_CHECKS
1206 dnl
1207 dnl Basic X11 related checks for X11.  At the end, the following will be
1208 dnl defined/changed:
1209 dnl   GTK_{CFLAGS,LIBS}      From AM_PATH_GTK
1210 dnl   CPPFLAGS               Will include $X_CFLAGS
1211 dnl   GNOME_HAVE_SM          `true' or `false' depending on whether session
1212 dnl                          management is available.  It is available if
1213 dnl                          both -lSM and X11/SM/SMlib.h exist.  (Some
1214 dnl                          Solaris boxes have the library but not the header)
1215 dnl   XPM_LIBS               -lXpm if Xpm library is present, otherwise ""
1216 dnl
1217 dnl The following configure cache variables are defined (but not used):
1218 dnl   gnome_cv_passdown_{x_libs,X_LIBS,X_CFLAGS}
1219 dnl
1220 AC_DEFUN([GNOME_X_CHECKS],
1221 [
1222         AM_PATH_GTK(1.2.0,,AC_MSG_ERROR(GTK not installed, or gtk-config not in path))
1223         dnl Hope that GTK_CFLAGS have only -I and -D.  Otherwise, we could
1224         dnl   test -z "$x_includes" || CPPFLAGS="$CPPFLAGS -I$x_includes"
1225         dnl
1226         dnl Use CPPFLAGS instead of CFLAGS because AC_CHECK_HEADERS uses
1227         dnl CPPFLAGS, not CFLAGS
1228         CPPFLAGS="$CPPFLAGS $GTK_CFLAGS"
1229
1230         saved_ldflags="$LDFLAGS"
1231         LDFLAGS="$LDFLAGS $GTK_LIBS"
1232
1233         gnome_cv_passdown_x_libs="$GTK_LIBS"
1234         gnome_cv_passdown_X_LIBS="$GTK_LIBS"
1235         gnome_cv_passdown_X_CFLAGS="$GTK_CFLAGS"
1236         gnome_cv_passdown_GTK_LIBS="$GTK_LIBS"
1237
1238         LDFLAGS="$saved_ldflags $GTK_LIBS"
1239
1240 dnl We are requiring GTK >= 1.1.1, which means this will be fine anyhow.
1241         USE_DEVGTK=true
1242
1243 dnl     AC_MSG_CHECKING([whether to use features from (unstable) GTK+ 1.1.x])
1244 dnl     AC_EGREP_CPP(answer_affirmatively,
1245 dnl     [#include <gtk/gtkfeatures.h>
1246 dnl     #ifdef GTK_HAVE_FEATURES_1_1_0
1247 dnl        answer_affirmatively
1248 dnl     #endif
1249 dnl     ], dev_gtk=yes, dev_gtk=no)
1250 dnl     if test "$dev_gtk" = "yes"; then
1251 dnl        USE_DEVGTK=true
1252 dnl     fi
1253 dnl     AC_MSG_RESULT("$dev_gtk")
1254
1255         GNOME_HAVE_SM=true
1256         case "$GTK_LIBS" in
1257          *-lSM*)
1258             dnl Already found it.
1259             ;;
1260          *)
1261             dnl Assume that if we have -lSM then we also have -lICE.
1262             AC_CHECK_LIB(SM, SmcSaveYourselfDone,
1263                 [GTK_LIBS="-lSM -lICE $GTK_LIBS"],GNOME_HAVE_SM=false,
1264                 $x_libs -lICE)
1265             ;;
1266         esac
1267
1268         if test "$GNOME_HAVE_SM" = true; then
1269            AC_CHECK_HEADERS(X11/SM/SMlib.h,,GNOME_HAVE_SM=false)
1270         fi
1271
1272         if test "$GNOME_HAVE_SM" = true; then
1273            AC_DEFINE(HAVE_LIBSM)
1274         fi
1275
1276         XPM_LIBS=""
1277         AC_CHECK_LIB(Xpm, XpmFreeXpmImage, [XPM_LIBS="-lXpm"], , $x_libs)
1278         AC_SUBST(XPM_LIBS)
1279
1280         AC_REQUIRE([GNOME_PTHREAD_CHECK])
1281         LDFLAGS="$saved_ldflags"
1282
1283         AC_PROVIDE([GNOME_X_CHECKS])
1284 ])
1285
1286 AC_DEFUN([GNOME_PTHREAD_CHECK],[
1287         PTHREAD_LIB=""
1288         AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
1289                 [AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
1290                     [AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
1291                         [AC_CHECK_LIB(pthread, __pthread_attr_init_system, PTHREAD_LIB="-lpthread",
1292                                 [AC_CHECK_FUNC(pthread_create)]
1293                         )]
1294                     )]
1295                 )]
1296         )
1297         AC_SUBST(PTHREAD_LIB)
1298         AC_PROVIDE([GNOME_PTHREAD_CHECK])
1299 ])
1300
1301 dnl
1302 dnl GNOME_GNORBA_HOOK (script-if-gnorba-found, failflag)
1303 dnl
1304 dnl if failflag is "failure" it aborts if gnorba is not found.
1305 dnl
1306
1307 AC_DEFUN([GNOME_GNORBA_HOOK],[
1308         GNOME_ORBIT_HOOK([],$2)
1309         AC_CACHE_CHECK([for gnorba libraries],gnome_cv_gnorba_found,[
1310                 gnome_cv_gnorba_found=no
1311                 if test x$gnome_cv_orbit_found = xyes; then
1312                         GNORBA_CFLAGS="`gnome-config --cflags gnorba gnomeui`"
1313                         GNORBA_LIBS="`gnome-config --libs gnorba gnomeui`"
1314                         if test -n "$GNORBA_LIBS"; then
1315                                 gnome_cv_gnorba_found=yes
1316                         fi
1317                 fi
1318         ])
1319         AM_CONDITIONAL(HAVE_GNORBA, test x$gnome_cv_gnorba_found = xyes)
1320         if test x$gnome_cv_orbit_found = xyes; then
1321                 $1
1322                 GNORBA_CFLAGS="`gnome-config --cflags gnorba gnomeui`"
1323                 GNORBA_LIBS="`gnome-config --libs gnorba gnomeui`"
1324                 AC_SUBST(GNORBA_CFLAGS)
1325                 AC_SUBST(GNORBA_LIBS)
1326         else
1327                 if test x$2 = xfailure; then
1328                         AC_MSG_ERROR(gnorba library not installed or installation problem)
1329                 fi
1330         fi
1331 ])
1332
1333 AC_DEFUN([GNOME_GNORBA_CHECK], [
1334         GNOME_GNORBA_HOOK([],failure)
1335 ])
1336
1337 dnl
1338 dnl GNOME_ORBIT_HOOK (script-if-orbit-found, failflag)
1339 dnl
1340 dnl if failflag is "failure" it aborts if orbit is not found.
1341 dnl
1342
1343 AC_DEFUN([GNOME_ORBIT_HOOK],[
1344         AC_PATH_PROG(ORBIT_CONFIG,orbit-config,no)
1345         AC_PATH_PROG(ORBIT_IDL,orbit-idl,no)
1346         AC_CACHE_CHECK([for working ORBit environment],gnome_cv_orbit_found,[
1347                 if test x$ORBIT_CONFIG = xno -o x$ORBIT_IDL = xno; then
1348                         gnome_cv_orbit_found=no
1349                 else
1350                         gnome_cv_orbit_found=yes
1351                 fi
1352         ])
1353         AM_CONDITIONAL(HAVE_ORBIT, test x$gnome_cv_orbit_found = xyes)
1354         if test x$gnome_cv_orbit_found = xyes; then
1355                 $1
1356                 ORBIT_CFLAGS=`orbit-config --cflags client server`
1357                 ORBIT_LIBS=`orbit-config --use-service=name --libs client server`
1358                 AC_SUBST(ORBIT_CFLAGS)
1359                 AC_SUBST(ORBIT_LIBS)
1360         else
1361                 if test x$2 = xfailure; then
1362                         AC_MSG_ERROR(ORBit not installed or installation problem)
1363                 fi
1364         fi
1365 ])
1366
1367 AC_DEFUN([GNOME_ORBIT_CHECK], [
1368         GNOME_ORBIT_HOOK([],failure)
1369 ])
1370 dnl
1371 dnl =========================================================================
1372 dnl
1373
1374
1375 dnl
1376 dnl =========================================================================
1377 dnl
1378 dnl   New package checking stuff
1379 dnl
1380 dnl =========================================================================  
1381 dnl
1382 dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
1383 dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
1384 dnl also defines GSTUFF_PKG_ERRORS on error
1385 AC_DEFUN(PKG_CHECK_MODULES, [
1386   succeeded=no
1387
1388   if test -z "$PKG_CONFIG"; then
1389     AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
1390   fi
1391
1392   if test "$PKG_CONFIG" = "no" ; then
1393      echo "*** The pkg-config script could not be found. Make sure it is"
1394      echo "*** in your path, or set the PKG_CONFIG environment variable"
1395      echo "*** to the full path to pkg-config."
1396      echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
1397   else
1398      PKG_CONFIG_MIN_VERSION=0.9.0
1399      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
1400         AC_MSG_CHECKING(for $2)
1401
1402         if $PKG_CONFIG --exists "$2" ; then
1403             AC_MSG_RESULT(yes)
1404             succeeded=yes
1405
1406             AC_MSG_CHECKING($1_CFLAGS)
1407             $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
1408             AC_MSG_RESULT($$1_CFLAGS)
1409
1410             AC_MSG_CHECKING($1_LIBS)
1411             $1_LIBS=`$PKG_CONFIG --libs "$2"`
1412             AC_MSG_RESULT($$1_LIBS)
1413         else
1414             $1_CFLAGS=""
1415             $1_LIBS=""
1416             ## If we have a custom action on failure, don't print errors, but 
1417             ## do set a variable so people can do so.
1418             $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
1419             ifelse([$4], ,echo $$1_PKG_ERRORS,)
1420         fi
1421
1422         AC_SUBST($1_CFLAGS)
1423         AC_SUBST($1_LIBS)
1424      else
1425         echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
1426         echo "*** See http://www.freedesktop.org/software/pkgconfig"
1427      fi
1428   fi
1429
1430   if test $succeeded = yes; then
1431      ifelse([$3], , :, [$3])
1432   else
1433      ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
1434   fi
1435 ])