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