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