74f6f5e752bee9134c1d2ab014a0fff47feb0e5b
[platform/upstream/dbus.git] / configure.in
1 dnl -*- mode: m4 -*-
2 AC_PREREQ(2.52)
3
4 m4_define([dbus_major_version], [1])
5 m4_define([dbus_minor_version], [3])
6 m4_define([dbus_micro_version], [1])
7 m4_define([dbus_version],
8           [dbus_major_version.dbus_minor_version.dbus_micro_version])
9 AC_INIT(dbus, [dbus_version])
10
11 AC_CANONICAL_HOST
12 AC_LIBTOOL_WIN32_DLL
13 AC_LIBTOOL_RC
14
15 AM_INIT_AUTOMAKE([1.9 tar-ustar])
16 AM_CONFIG_HEADER(config.h)
17
18 # Honor aclocal flags
19 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
20
21 GETTEXT_PACKAGE=dbus-1
22 AC_SUBST(GETTEXT_PACKAGE)
23 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[The name of the gettext domain])
24
25  ## must come before we use the $USE_MAINTAINER_MODE variable later
26 AM_MAINTAINER_MODE
27
28 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
29
30 AC_DEFINE_UNQUOTED(DBUS_DAEMON_NAME,"dbus-daemon",[Name of executable])
31
32 # libtool versioning - this applies to libdbus
33 #
34 # See http://sources.redhat.com/autobook/autobook/autobook_91.html#SEC91 for details
35 #
36
37 ## increment if the interface has additions, changes, removals.
38 LT_CURRENT=8
39
40 ## increment any time the source changes; set to
41 ##  0 if you increment CURRENT
42 LT_REVISION=1
43
44 ## increment if any interfaces have been added; set to 0
45 ## if any interfaces have been changed or removed. removal has
46 ## precedence over adding, so set to 0 if both happened.
47 LT_AGE=5
48
49 AC_SUBST(LT_CURRENT)
50 AC_SUBST(LT_REVISION)
51 AC_SUBST(LT_AGE)
52
53 DBUS_MAJOR_VERSION=dbus_major_version
54 DBUS_MINOR_VERSION=dbus_minor_version
55 DBUS_MICRO_VERSION=dbus_micro_version
56 DBUS_VERSION=dbus_major_version.dbus_minor_version.dbus_micro_version
57
58 AC_SUBST(DBUS_MAJOR_VERSION)
59 AC_SUBST(DBUS_MINOR_VERSION)
60 AC_SUBST(DBUS_MICRO_VERSION)
61 AC_SUBST(DBUS_VERSION)
62
63 AC_PROG_CC
64 AM_PROG_CC_C_O
65 AC_PROG_CXX
66 AC_USE_SYSTEM_EXTENSIONS
67 AC_ISC_POSIX
68 AC_HEADER_STDC
69 AC_C_INLINE
70 AM_PROG_LIBTOOL
71 AC_PROG_MKDIR_P
72
73 # Set some internal variables depending on the platform for later use.
74 dbus_win=no
75 dbus_unix=no
76 case "${host}" in
77     *-mingw32ce*)
78         dbus_win=yes
79         dbus_wince=yes
80         ;;
81     *-mingw32*)
82         dbus_win=yes
83         ;;
84     *)
85         dbus_unix=yes
86        ;;
87 esac
88
89 # Special defines for certain platforms
90 if test "$dbus_win" = yes; then
91     AC_DEFINE(DBUS_WIN,1,[Defined if we run on a W32 API based system])
92     BUILD_TIMESTAMP=`date --iso-8601=minutes`
93     AC_SUBST(BUILD_TIMESTAMP)
94     # Assume DBUS_VERSION is always three numbers
95     BUILD_FILEVERSION=`echo "$DBUS_VERSION" | sed -e 's/\./,/g'`,0
96     AC_SUBST(BUILD_FILEVERSION)
97     AC_CHECK_TOOL(WINDRES, windres, no)
98     if test "$WINDRES" = no; then
99       AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
100     fi
101     if test "$dbus_wince" = yes; then
102       AC_DEFINE(DBUS_WINCE,1,[Defined if we run on a W32 CE API based system])
103     fi
104 else
105     AC_DEFINE(DBUS_UNIX,1,[Defined if we run on a Unix-based system])
106 fi
107
108 AM_CONDITIONAL(DBUS_WIN, test "$dbus_win" = yes)
109 AM_CONDITIONAL(DBUS_WINCE, test "$dbus_wince" = yes)
110 AM_CONDITIONAL(DBUS_UNIX, test "$dbus_unix" = yes)
111
112 AC_ARG_ENABLE(tests, AS_HELP_STRING([--enable-tests],[enable unit test code]),enable_tests=$enableval,enable_tests=$USE_MAINTAINER_MODE)
113 AC_ARG_ENABLE(ansi, AS_HELP_STRING([--enable-ansi],[enable -ansi -pedantic gcc flags]),enable_ansi=$enableval,enable_ansi=no)
114 AC_ARG_ENABLE(verbose-mode, AS_HELP_STRING([--enable-verbose-mode],[support verbose debug mode]),enable_verbose_mode=$enableval,enable_verbose_mode=$USE_MAINTAINER_MODE)
115 AC_ARG_ENABLE(asserts, AS_HELP_STRING([--enable-asserts],[include assertion checks]),enable_asserts=$enableval,enable_asserts=$USE_MAINTAINER_MODE)
116 AC_ARG_ENABLE(checks, AS_HELP_STRING([--enable-checks],[include sanity checks on public API]),enable_checks=$enableval,enable_checks=yes)
117 AC_ARG_ENABLE(xml-docs, AS_HELP_STRING([--enable-xml-docs],[build XML documentation (requires xmlto)]),enable_xml_docs=$enableval,enable_xml_docs=auto)
118 AC_ARG_ENABLE(doxygen-docs, AS_HELP_STRING([--enable-doxygen-docs],[build DOXYGEN documentation (requires Doxygen)]),enable_doxygen_docs=$enableval,enable_doxygen_docs=auto)
119 AC_ARG_ENABLE(gcov, AS_HELP_STRING([--enable-gcov],[compile with coverage profiling instrumentation (gcc only)]),enable_gcov=$enableval,enable_gcov=no)
120 AC_ARG_ENABLE(abstract-sockets, AS_HELP_STRING([--enable-abstract-sockets],[use abstract socket namespace (linux only)]),enable_abstract_sockets=$enableval,enable_abstract_sockets=auto)
121 AC_ARG_ENABLE(selinux, AS_HELP_STRING([--enable-selinux],[build with SELinux support]),enable_selinux=$enableval,enable_selinux=auto)
122 AC_ARG_ENABLE(libaudit,AS_HELP_STRING([--enable-libaudit],[build audit daemon support for SELinux]),enable_libaudit=$enableval,enable_libaudit=auto)
123 AC_ARG_ENABLE(dnotify, AS_HELP_STRING([--enable-dnotify],[build with dnotify support (linux only)]),enable_dnotify=$enableval,enable_dnotify=auto)
124 AC_ARG_ENABLE(inotify, AS_HELP_STRING([--enable-inotify],[build with inotify support (linux only)]),enable_inotify=$enableval,enable_inotify=auto)
125 AC_ARG_ENABLE(kqueue, AS_HELP_STRING([--enable-kqueue],[build with kqueue support]),enable_kqueue=$enableval,enable_kqueue=auto)
126 AC_ARG_ENABLE(console-owner-file, AS_HELP_STRING([--enable-console-owner-file],[enable console owner file]),enable_console_owner_file=$enableval,enable_console_owner_file=auto)
127 AC_ARG_ENABLE(userdb-cache, AS_HELP_STRING([--enable-userdb-cache],[build with userdb-cache support]),enable_userdb_cache=$enableval,enable_userdb_cache=yes)
128
129 AC_ARG_WITH(xml, AS_HELP_STRING([--with-xml=[libxml/expat]],[XML library to use]))
130 AC_ARG_WITH(init-scripts, AS_HELP_STRING([--with-init-scripts=[redhat]],[Style of init scripts to install]))
131 AC_ARG_WITH(session-socket-dir, AS_HELP_STRING([--with-session-socket-dir=[dirname]],[Where to put sockets for the per-login-session message bus]))
132 AC_ARG_WITH(test-socket-dir, AS_HELP_STRING([--with-test-socket-dir=[dirname]],[Where to put sockets for make check]))
133 AC_ARG_WITH(system-pid-file, AS_HELP_STRING([--with-system-pid-file=[pidfile]],[PID file for systemwide daemon]))
134 AC_ARG_WITH(system-socket, AS_HELP_STRING([--with-system-socket=[filename]],[UNIX domain socket for systemwide daemon]))
135 AC_ARG_WITH(console-auth-dir, AS_HELP_STRING([--with-console-auth-dir=[dirname]],[directory to check for console ownerhip]))
136 AC_ARG_WITH(console-owner-file, AS_HELP_STRING([--with-console-owner-file=[filename]],[file whose owner determines current console owner]))
137 AC_ARG_WITH(dbus_user, AS_HELP_STRING([--with-dbus-user=<user>],[User for running the DBUS daemon (messagebus)]))
138 AC_ARG_WITH(dbus_daemondir, AS_HELP_STRING([--with-dbus-daemondir=[dirname]],[Directory for installing the DBUS daemon]))
139
140 dnl DBUS_BUILD_TESTS controls unit tests built in to .c files 
141 dnl and also some stuff in the test/ subdir
142 AM_CONDITIONAL(DBUS_BUILD_TESTS, test x$enable_tests = xyes)
143 if test x$enable_tests = xyes; then
144     AC_DEFINE(DBUS_BUILD_TESTS,1,[Build test code])
145 fi
146
147 if test x$enable_verbose_mode = xyes; then
148     AC_DEFINE(DBUS_ENABLE_VERBOSE_MODE,1,[Support a verbose mode])
149 fi
150
151 if test x$enable_asserts = xno; then
152     AC_DEFINE(DBUS_DISABLE_ASSERT,1,[Disable assertion checking])
153     AC_DEFINE(G_DISABLE_ASSERT,1,[Disable GLib assertion macros])
154     R_DYNAMIC_LDFLAG=""
155 else
156     # -rdynamic is needed for glibc's backtrace_symbols to work.
157     # No clue how much overhead this adds, but it's useful 
158     # to do this on any assertion failure,
159     # so for now it's enabled anytime asserts are (currently not
160     # in production builds).
161
162     # To get -rdynamic you pass -export-dynamic to libtool.
163     AC_DEFINE(DBUS_BUILT_R_DYNAMIC,1,[whether -export-dynamic was passed to libtool])
164     R_DYNAMIC_LDFLAG=-export-dynamic
165 fi
166 AC_SUBST(R_DYNAMIC_LDFLAG)
167
168 if test x$enable_checks = xno; then
169     AC_DEFINE(DBUS_DISABLE_CHECKS,1,[Disable public API sanity checking])
170     AC_DEFINE(G_DISABLE_CHECKS,1,[Disable GLib public API sanity checking])
171 fi
172
173 if test x$enable_userdb_cache = xyes; then
174     AC_DEFINE(DBUS_ENABLE_USERDB_CACHE,1,[Build with caching of user data])
175 fi
176
177 if test x$enable_gcov = xyes; then
178      ## so that config.h changes when you toggle gcov support
179      AC_DEFINE_UNQUOTED(DBUS_GCOV_ENABLED, 1, [Defined if gcov is enabled to force a rebuild due to config.h changing])
180
181      AC_MSG_CHECKING([for gcc 3.3 version of gcov file format])
182      have_gcc33_gcov=no
183      AC_RUN_IFELSE( [AC_LANG_PROGRAM( , [[ if (__GNUC__ >=3 && __GNUC_MINOR__ >= 3) exit (0); else exit (1); ]])],  
184                    have_gcc33_gcov=yes)
185      if test x$have_gcc33_gcov = xyes ; then
186          AC_DEFINE_UNQUOTED(DBUS_HAVE_GCC33_GCOV, 1, [Defined if we have gcc 3.3 and thus the new gcov format])
187      fi
188      AC_MSG_RESULT($have_gcc33_gcov)
189 fi
190 AM_CONDITIONAL(DBUS_GCOV_ENABLED, test x$enable_gcov = xyes)
191
192 # glibc21.m4 serial 3
193 dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc.
194 dnl This file is free software; the Free Software Foundation
195 dnl gives unlimited permission to copy and/or distribute it,
196 dnl with or without modifications, as long as this notice is preserved.
197
198 # Test for the GNU C Library, version 2.1 or newer.
199 # From Bruno Haible.
200
201 AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
202   ac_cv_gnu_library_2_1,
203   [AC_EGREP_CPP([Lucky GNU user],
204     [
205 #include <features.h>
206 #ifdef __GNU_LIBRARY__
207  #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
208   Lucky GNU user
209  #endif
210 #endif
211     ],
212     ac_cv_gnu_library_2_1=yes,
213     ac_cv_gnu_library_2_1=no)
214   ]
215 )
216
217 #### Integer sizes 
218
219 AC_CHECK_SIZEOF(char)
220 AC_CHECK_SIZEOF(short)
221 AC_CHECK_SIZEOF(long)
222 AC_CHECK_SIZEOF(int)
223 AC_CHECK_SIZEOF(void *)
224 AC_CHECK_SIZEOF(long long)
225 AC_CHECK_SIZEOF(__int64)
226
227 ### See what our 64 bit type is called
228 AC_MSG_CHECKING([64-bit integer type])
229
230 case 8 in
231 $ac_cv_sizeof_int)
232   dbusint64=int
233   dbusint64_constant='(val)'
234   dbusuint64_constant='(val)'
235   dbusint64_printf_modifier='""'
236   ;;
237 $ac_cv_sizeof_long)
238   dbusint64=long
239   dbusint64_constant='(val##L)'
240   dbusuint64_constant='(val##UL)'
241   dbusint64_printf_modifier='"l"'
242   ;;
243 $ac_cv_sizeof_long_long)
244   dbusint64='long long'
245   dbusint64_constant='(val##LL)'
246   dbusuint64_constant='(val##ULL)'
247   # Ideally we discover what the format is, but this is
248   # only used in verbose mode, so eh...
249   if test x"$ac_cv_gnu_library_2_1" = xyes; then
250     dbusint64_printf_modifier='"ll"'
251   fi
252   ;;
253 $ac_cv_sizeof___int64)
254   dbusint64=__int64
255   dbusint64_constant='(val##i64)'
256   dbusuint64_constant='(val##ui64)'
257   # See above case
258   if test x"$ac_cv_gnu_library_2_1" = xyes; then
259     dbusint64_printf_modifier='"ll"'
260   fi
261   ;;
262 esac
263
264 if test -z "$dbusint64" ; then
265         DBUS_INT64_TYPE="no_int64_type_detected"
266         DBUS_HAVE_INT64=0
267         DBUS_INT64_CONSTANT=
268         DBUS_UINT64_CONSTANT=
269         AC_MSG_RESULT([none found])
270 else
271         DBUS_INT64_TYPE="$dbusint64"
272         DBUS_HAVE_INT64=1
273         DBUS_INT64_CONSTANT="$dbusint64_constant"
274         DBUS_UINT64_CONSTANT="$dbusuint64_constant"
275         if test x"$dbusint64_printf_modifier" != x; then
276                 AC_DEFINE_UNQUOTED(DBUS_INT64_PRINTF_MODIFIER, [$dbusint64_printf_modifier], [Define to printf modifier for 64 bit integer type])
277         fi
278         AC_MSG_RESULT($DBUS_INT64_TYPE)
279 fi
280
281 AC_SUBST(DBUS_INT64_TYPE)
282 AC_SUBST(DBUS_INT64_CONSTANT)
283 AC_SUBST(DBUS_UINT64_CONSTANT)
284 AC_SUBST(DBUS_HAVE_INT64)
285
286 ### see what 32-bit int is called
287 AC_MSG_CHECKING([32-bit integer type])
288
289 case 4 in
290 $ac_cv_sizeof_short)
291   dbusint32=int
292   ;;
293 $ac_cv_sizeof_int)
294   dbusint32=int
295   ;;
296 $ac_cv_sizeof_long)
297   dbusint32=long
298   ;;
299 esac
300
301 if test -z "$dbusint32" ; then
302         DBUS_INT32_TYPE="no_int32_type_detected"
303         AC_MSG_ERROR([No 32-bit integer type found])
304 else
305         DBUS_INT32_TYPE="$dbusint32"
306         AC_MSG_RESULT($DBUS_INT32_TYPE)
307 fi
308
309 AC_SUBST(DBUS_INT32_TYPE)
310
311 ### see what 16-bit int is called
312 AC_MSG_CHECKING([16-bit integer type])
313
314 case 2 in
315 $ac_cv_sizeof_short)
316   dbusint16=short
317   ;;
318 $ac_cv_sizeof_int)
319   dbusint16=int
320   ;;
321 esac
322
323 if test -z "$dbusint16" ; then
324         DBUS_INT16_TYPE="no_int16_type_detected"
325         AC_MSG_ERROR([No 16-bit integer type found])
326 else
327         DBUS_INT16_TYPE="$dbusint16"
328         AC_MSG_RESULT($DBUS_INT16_TYPE)
329 fi
330
331 AC_SUBST(DBUS_INT16_TYPE)
332
333 ## byte order
334 case $host_os in
335         darwin*)
336                 # check at compile-time, so that it is possible to build universal
337                 # (with multiple architectures at once on the compile line)
338                 AH_VERBATIM([WORDS_BIGENDIAN_DARWIN], [
339                         /* Use the compiler-provided endianness defines to allow universal compiling. */
340                         #if defined(__BIG_ENDIAN__)
341                         #define WORDS_BIGENDIAN 1
342                         #endif
343                 ])
344                 ;;
345         *)
346                 AC_C_BIGENDIAN
347                 ;;
348 esac
349
350 dnl **********************************
351 dnl *** va_copy checks (from GLib) ***
352 dnl **********************************
353 dnl we currently check for all three va_copy possibilities, so we get
354 dnl all results in config.log for bug reports.
355 AC_CACHE_CHECK([for an implementation of va_copy()],dbus_cv_va_copy,[
356         AC_LINK_IFELSE([#include <stdarg.h>
357 #include <stdlib.h>
358         static void f (int i, ...) {
359         va_list args1, args2;
360         va_start (args1, i);
361         va_copy (args2, args1);
362         if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
363           exit (1);
364         va_end (args1); va_end (args2);
365         }
366         int main() {
367           f (0, 42);
368           return 0;
369         }],
370         [dbus_cv_va_copy=yes],
371         [dbus_cv_va_copy=no])
372 ])
373 AC_CACHE_CHECK([for an implementation of __va_copy()],dbus_cv___va_copy,[
374         AC_LINK_IFELSE([#include <stdarg.h>
375 #include <stdlib.h>
376         static void f (int i, ...) {
377         va_list args1, args2;
378         va_start (args1, i);
379         __va_copy (args2, args1);
380         if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
381           exit (1);
382         va_end (args1); va_end (args2);
383         }
384         int main() {
385           f (0, 42);
386           return 0;
387         }],
388         [dbus_cv___va_copy=yes],
389         [dbus_cv___va_copy=no])
390 ])
391
392 if test "x$dbus_cv_va_copy" = "xyes"; then
393   dbus_va_copy_func=va_copy
394 else if test "x$dbus_cv___va_copy" = "xyes"; then
395   dbus_va_copy_func=__va_copy
396 fi
397 fi
398
399 if test -n "$dbus_va_copy_func"; then
400   AC_DEFINE_UNQUOTED(DBUS_VA_COPY,$dbus_va_copy_func,[A 'va_copy' style function])
401 fi
402
403 AC_LANG_PUSH(C)
404 AC_CACHE_CHECK([whether va_lists can be copied by value],
405         dbus_cv_va_val_copy,
406         [AC_RUN_IFELSE([AC_LANG_PROGRAM(
407 [[
408         #include <stdarg.h>
409         #include <stdlib.h>
410 ]],
411 [[
412         static void f (int i, ...) {
413         va_list args1, args2;
414         va_start (args1, i);
415         args2 = args1;
416         if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
417           exit (1);
418         va_end (args1); va_end (args2);
419         }
420         int main() {
421           f (0, 42);
422           return 0;
423         }
424 ]])],
425         [dbus_cv_va_val_copy=yes],
426         [dbus_cv_va_val_copy=no],
427         [dbus_cv_va_val_copy=yes])
428 ])
429 AC_LANG_POP(C)
430
431 if test "x$dbus_cv_va_val_copy" = "xno"; then
432   AC_DEFINE(DBUS_VA_COPY_AS_ARRAY,1, ['va_lists' cannot be copies as values])
433 fi
434
435
436 #### Atomic integers
437
438 AC_CACHE_CHECK([whether $CC knows __sync_sub_and_fetch()],
439   dbus_cv_sync_sub_and_fetch,
440   [AC_LINK_IFELSE(
441      AC_LANG_PROGRAM([], [[int a = 4; int b = __sync_sub_and_fetch(&a, 4); exit(b); ]]),
442      [dbus_cv_sync_sub_and_fetch=yes],
443      [dbus_cv_sync_sub_and_fetch=no])
444   ])
445
446 if test "x$dbus_cv_sync_sub_and_fetch" = "xyes" ; then
447    have_sync=1
448 else
449    have_sync=0
450 fi
451
452 AC_DEFINE_UNQUOTED([DBUS_USE_SYNC], [$have_sync], [Use the gcc __sync extension])
453
454 #### Various functions
455 AC_SEARCH_LIBS(socket,[socket network])
456 AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
457
458 AC_CHECK_FUNCS(vsnprintf vasprintf nanosleep usleep setenv clearenv unsetenv socketpair getgrouplist fpathconf setrlimit poll setlocale localeconv strtoll strtoull)
459
460 #### Check for broken poll; taken from Glib's configure
461
462 AC_MSG_CHECKING([for broken poll])
463 AC_RUN_IFELSE([AC_LANG_SOURCE([[
464     #include <stdlib.h>
465     #include <fcntl.h>
466     #include <poll.h>
467     #ifdef HAVE_SYS_POLL_H
468     #include <sys/poll.h>
469     #endif
470     int main(void) {
471       struct pollfd fds[1];
472       int fd;
473       fd = open("/dev/null", 1);
474       fds[0].fd = fd;
475       fds[0].events = POLLIN;
476       fds[0].revents = 0;
477       if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) {
478             exit(1);  /* Does not work for devices -- fail */
479       }
480       exit(0);
481     }]])],
482   [broken_poll=no],
483   [broken_poll=yes
484    AC_DEFINE(BROKEN_POLL,1,[poll doesn't work on devices])],
485   [broken_poll="no (cross compiling)"])
486 AC_MSG_RESULT($broken_poll)
487
488 AC_MSG_CHECKING(for dirfd)
489 AC_TRY_LINK([
490 #include <sys/types.h>
491 #include <dirent.h>
492 ],[
493 DIR *dirp;
494 dirp = opendir(".");
495 dirfd(dirp);
496 closedir(dirp);
497 ], 
498 dbus_have_dirfd=yes, dbus_have_dirfd=no)
499 AC_MSG_RESULT($dbus_have_dirfd)
500 if test "$dbus_have_dirfd" = yes; then
501         AC_DEFINE(HAVE_DIRFD,1,[Have dirfd function])
502 else
503         AC_MSG_CHECKING(for DIR *dirp->dd_fd)    
504         AC_TRY_LINK([
505 #include <sys/types.h>
506 #include <dirent.h>
507         ],[
508 DIR *dirp;
509 int fd;
510 dirp = opendir(".");
511 fd = dirp->dd_fd;
512 closedir(dirp);
513         ],
514         dbus_have_ddfd=yes, dbus_have_ddfd=no)
515         AC_MSG_RESULT($dbus_have_ddfd)
516         if test "$dbus_have_ddfd" = yes; then
517                 AC_DEFINE(HAVE_DDFD,1,[Have the ddfd member of DIR])
518         fi
519 fi
520
521 AC_CHECK_HEADERS(dirent.h)
522
523 AC_CHECK_HEADERS(execinfo.h, [AC_CHECK_FUNCS(backtrace)])
524
525 AC_CHECK_HEADERS(errno.h)
526
527 AC_CHECK_HEADERS(signal.h)
528
529 AC_CHECK_HEADERS(locale.h)
530
531 AC_CHECK_HEADERS(byteswap.h)
532
533 AC_CHECK_HEADERS(unistd.h)
534
535 AC_CHECK_HEADERS(ws2tcpip.h)
536
537 AC_CHECK_HEADERS(wspiapi.h)
538
539 # Add -D_POSIX_PTHREAD_SEMANTICS if on Solaris
540 #
541 case $host_os in
542     solaris*)
543        CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS" ;;
544 esac
545     
546 # checking for a posix version of getpwnam_r
547 # if we are cross compiling and can not run the test
548 # assume getpwnam_r is the posix version
549 # it is up to the person cross compiling to change
550 # this behavior if desired
551 AC_LANG_PUSH(C)
552 AC_CACHE_CHECK([for posix getpwnam_r],
553                 ac_cv_func_posix_getpwnam_r,
554                 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
555 [[
556 #include <errno.h>
557 #include <pwd.h>
558 ]],
559 [[
560     char buffer[10000];
561     struct passwd pwd, *pwptr = &pwd;
562     int error;
563     errno = 0;
564     error = getpwnam_r ("", &pwd, buffer, 
565                         sizeof (buffer), &pwptr);
566    return (error < 0 && errno == ENOSYS) 
567            || error == ENOSYS; 
568 ]])],
569         [ac_cv_func_posix_getpwnam_r=yes],
570         [ac_cv_func_posix_getpwnam_r=no],
571         [ac_cv_func_posix_getpwnam_r=yes]
572 )])
573 AC_LANG_POP(C)
574
575 if test "$ac_cv_func_posix_getpwnam_r" = yes; then
576         AC_DEFINE(HAVE_POSIX_GETPWNAM_R,1,
577                 [Have POSIX function getpwnam_r])
578 else
579         AC_CACHE_CHECK([for nonposix getpwnam_r],
580                 ac_cv_func_nonposix_getpwnam_r,
581                 [AC_TRY_LINK([#include <pwd.h>],
582                         [char buffer[10000];
583                         struct passwd pwd;
584                         getpwnam_r ("", &pwd, buffer, 
585                                         sizeof (buffer));],
586                         [ac_cv_func_nonposix_getpwnam_r=yes],
587                         [ac_cv_func_nonposix_getpwnam_r=no])])
588                 if test "$ac_cv_func_nonposix_getpwnam_r" = yes; then
589                 AC_DEFINE(HAVE_NONPOSIX_GETPWNAM_R,1,
590                         [Have non-POSIX function getpwnam_r])
591         fi
592 fi
593
594 dnl check for socklen_t
595 AC_MSG_CHECKING(whether socklen_t is defined)
596 AC_TRY_COMPILE([
597 #include <sys/types.h>
598 #include <sys/socket.h>
599 #include <netdb.h>
600 ],[
601 socklen_t foo;
602 foo = 1;
603 ],dbus_have_socklen_t=yes,dbus_have_socklen_t=no)
604 AC_MSG_RESULT($dbus_have_socklen_t)
605
606 if test "x$dbus_have_socklen_t" = "xyes"; then
607     AC_DEFINE(HAVE_SOCKLEN_T,1,[Have socklen_t type])
608 fi
609
610 dnl check for writev header and writev function so we're 
611 dnl good to go if HAVE_WRITEV gets defined.
612 AC_CHECK_HEADERS(sys/uio.h, [AC_CHECK_FUNCS(writev)])
613
614 dnl needed on darwin for NAME_MAX
615 AC_CHECK_HEADERS(sys/syslimits.h)
616
617 dnl Make it easy to check if we have MSG_NOSIGNAL without actually having to include sys/socket.h
618 AC_CHECK_DECLS([MSG_NOSIGNAL], [], [], [[ #include <sys/socket.h> ]])
619
620 dnl check for flavours of varargs macros (test from GLib)
621 AC_MSG_CHECKING(for ISO C99 varargs macros in C)
622 AC_TRY_COMPILE([],[
623 int a(int p1, int p2, int p3);
624 #define call_a(...) a(1,__VA_ARGS__)
625 call_a(2,3);
626 ],dbus_have_iso_c_varargs=yes,dbus_have_iso_c_varargs=no)
627 AC_MSG_RESULT($dbus_have_iso_c_varargs)
628
629 AC_MSG_CHECKING(for GNUC varargs macros)
630 AC_TRY_COMPILE([],[
631 int a(int p1, int p2, int p3);
632 #define call_a(params...) a(1,params)
633 call_a(2,3);
634 ],dbus_have_gnuc_varargs=yes,dbus_have_gnuc_varargs=no)
635 AC_MSG_RESULT($dbus_have_gnuc_varargs)
636
637 dnl Output varargs tests
638 if test x$dbus_have_iso_c_varargs = xyes; then
639     AC_DEFINE(HAVE_ISO_VARARGS,1,[Have ISO C99 varargs macros])
640 fi
641 if test x$dbus_have_gnuc_varargs = xyes; then
642     AC_DEFINE(HAVE_GNUC_VARARGS,1,[Have GNU-style varargs macros])
643 fi
644
645 dnl Check for various credentials.
646 AC_MSG_CHECKING(for struct cmsgcred)
647 AC_TRY_COMPILE([
648 #include <sys/types.h>
649 #include <sys/socket.h>
650 ],[
651 struct cmsgcred cred;
652
653 cred.cmcred_pid = 0;
654 ],dbus_have_struct_cmsgcred=yes,dbus_have_struct_cmsgcred=no)
655 AC_MSG_RESULT($dbus_have_struct_cmsgcred)
656
657 if test x$dbus_have_struct_cmsgcred = xyes; then
658     AC_DEFINE(HAVE_CMSGCRED,1,[Have cmsgcred structure])
659 fi
660
661 AC_CHECK_FUNCS(getpeerucred getpeereid)
662
663 AC_CHECK_FUNCS(pipe2 accept4)
664
665 #### Abstract sockets
666
667 if test x$enable_abstract_sockets = xauto; then
668 AC_LANG_PUSH(C)
669 warn_on_xcompile=no
670 AC_CACHE_CHECK([abstract socket namespace],
671                 ac_cv_have_abstract_sockets,
672                 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
673 [[
674 #include <sys/types.h>
675 #include <stdlib.h>
676 #include <string.h>
677 #include <stdio.h>
678 #include <sys/socket.h>
679 #include <sys/un.h>
680 #include <errno.h>
681 ]],
682 [[
683   int listen_fd;
684   struct sockaddr_un addr;
685   
686   listen_fd = socket (PF_UNIX, SOCK_STREAM, 0);
687   
688   if (listen_fd < 0)
689     {
690       fprintf (stderr, "socket() failed: %s\n", strerror (errno));
691       exit (1);
692     }
693
694   memset (&addr, '\0', sizeof (addr));
695   addr.sun_family = AF_UNIX;
696   strcpy (addr.sun_path, "X/tmp/dbus-fake-socket-path-used-in-configure-test");
697   addr.sun_path[0] = '\0'; /* this is what makes it abstract */
698   
699   if (bind (listen_fd, (struct sockaddr*) &addr, SUN_LEN (&addr)) < 0)
700     {
701        fprintf (stderr, "Abstract socket namespace bind() failed: %s\n", 
702                 strerror (errno));
703        exit (1);
704     }
705   else 
706     exit (0);
707 ]])],
708               [ac_cv_have_abstract_sockets=yes],
709               [ac_cv_have_abstract_sockets=no],
710               [
711                 ac_cv_have_abstract_sockets=no
712                 warn_on_xcompile=yes
713               ]
714 )])
715 if test x$warn_on_xcompile = xyes ; then
716   AC_MSG_WARN([Cannot check for abstract sockets when cross-compiling, please use --enable-abstract-sockets])
717 fi
718 AC_LANG_POP(C)
719 fi
720
721 if test x$enable_abstract_sockets = xyes; then
722     if test x$ac_cv_have_abstract_sockets = xno; then
723         AC_MSG_ERROR([Abstract sockets explicitly required, and support not detected.])
724     fi
725 fi
726
727 if test x$enable_abstract_sockets = xno; then
728    ac_cv_have_abstract_sockets=no;
729 fi
730
731 if test x$ac_cv_have_abstract_sockets = xyes ; then
732    DBUS_PATH_OR_ABSTRACT=abstract
733    AC_DEFINE(HAVE_ABSTRACT_SOCKETS,1,[Have abstract socket namespace])
734 else
735    DBUS_PATH_OR_ABSTRACT=path
736 fi
737
738 # this is used in addresses to prefer abstract, e.g. 
739 # unix:path=/foo or unix:abstract=/foo 
740 AC_SUBST(DBUS_PATH_OR_ABSTRACT)
741
742 #### Sort out XML library
743
744 # see what we have
745 AC_CHECK_LIB(expat, XML_ParserCreate_MM,
746              [ AC_CHECK_HEADERS(expat.h, have_expat=true, have_expat=false) ],
747              have_expat=false)
748
749 # see what we want to use
750 dbus_use_libxml=false
751 dbus_use_expat=false
752 if test x$with_xml = xexpat; then
753         if ! $have_expat ; then
754            AC_MSG_ERROR([Explicitly requested expat but expat not found])
755         fi
756         dbus_use_expat=true
757 elif test x$with_xml = xlibxml; then
758         PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= 2.6.0, have_libxml=true, have_libxml=false)
759         if ! $have_libxml ; then
760            AC_MSG_ERROR([Explicitly requested libxml but libxml not found])
761         fi
762         dbus_use_libxml=true
763 else
764         ### expat is the default because libxml can't currently survive 
765         ### our brutal OOM-handling unit test setup.
766         ### http://bugzilla.gnome.org/show_bug.cgi?id=109368
767         if test x$have_expat = xfalse; then
768                 AC_MSG_ERROR([Could not find expat.h, check config.log for failed attempts])
769         fi
770         ### By default, only use Expat since it's tested and known to work.  If you're a
771         ### general-purpose OS vendor, please don't enable libxml.  For embedded use
772         ### if your OS is built around libxml, that's another case.
773         dbus_use_expat=true
774 fi
775
776 AM_CONDITIONAL(DBUS_USE_EXPAT, $dbus_use_expat)
777 AM_CONDITIONAL(DBUS_USE_LIBXML, $dbus_use_libxml)
778
779 if $dbus_use_expat; then
780    XML_LIBS=-lexpat
781    XML_CFLAGS=
782 fi
783 if $dbus_use_libxml; then
784    XML_LIBS=$LIBXML_LIBS
785    XML_CFLAGS=$LIBXML_CFLAGS
786 fi
787
788 # Thread lib detection
789 AC_CHECK_FUNC(pthread_cond_timedwait,[AC_CHECK_LIB(pthread,pthread_cond_timedwait,
790                                                     [THREAD_LIBS="-lpthread"])])
791 save_libs="$LIBS"
792 LIBS="$LIBS $THREAD_LIBS"
793 AC_CHECK_FUNC(pthread_condattr_setclock,have_pthread_condattr_setclock=true,have_pthread_condattr_setclock=false)
794 if test x$have_pthread_condattr_setclock = xtrue; then
795     AC_SEARCH_LIBS([clock_getres],[rt],[THREAD_LIBS="$THREAD_LIBS -lrt"])
796     AC_MSG_CHECKING([for CLOCK_MONOTONIC])
797     AC_TRY_COMPILE([#include <time.h>
798 #include <pthread.h>
799 ], [
800 struct timespec monotonic_timer;
801 pthread_condattr_t attr;
802 pthread_condattr_init (&attr);
803 pthread_condattr_setclock (&attr, CLOCK_MONOTONIC);
804 clock_getres (CLOCK_MONOTONIC,&monotonic_timer);
805 ], have_clock_monotonic=true, have_clock_monotonic=false)
806 if test x$have_clock_monotonic = xtrue; then
807     AC_MSG_RESULT([found])
808     AC_DEFINE(HAVE_MONOTONIC_CLOCK, 1, [Define if we have CLOCK_MONOTONIC])
809 else
810     AC_MSG_RESULT([not found])
811 fi
812 fi
813 LIBS="$save_libs"
814
815 # SELinux detection
816 if test x$enable_selinux = xno ; then
817     have_selinux=no;
818 else
819     # See if we have SELinux library
820     AC_CHECK_LIB(selinux, is_selinux_enabled, 
821                  have_selinux=yes, have_selinux=no)
822
823     # see if we have the SELinux header with the new D-Bus stuff in it
824     if test x$have_selinux = xyes ; then
825         AC_MSG_CHECKING([for DBUS Flask permissions in selinux/av_permissions.h])
826         AC_TRY_COMPILE([#include <selinux/av_permissions.h>],
827                         [#ifdef DBUS__ACQUIRE_SVC return 0;
828                          #else
829                          #error DBUS__ACQUIRE_SVC not defined
830                          #endif],
831                         have_selinux=yes, have_selinux=no)
832         AC_MSG_RESULT($have_selinux)
833     fi
834
835     if test x$enable_selinux = xauto ; then
836         if test x$have_selinux = xno ; then
837                 AC_MSG_WARN([Sufficiently new SELinux library not found])
838         fi
839     else 
840         if test x$have_selinux = xno ; then
841                 AC_MSG_ERROR([SElinux explicitly required, and SELinux library not found])
842         fi
843     fi
844 fi
845
846 AM_CONDITIONAL(HAVE_SELINUX, test x$have_selinux = xyes)
847
848 if test x$have_selinux = xyes ; then
849     # the selinux code creates threads
850     # which requires libpthread even on linux
851     AC_CHECK_FUNC(pthread_create,,[AC_CHECK_LIB(pthread,pthread_create,
852                                                 [SELINUX_THREAD_LIBS="-lpthread"])])
853
854     SELINUX_LIBS="-lselinux $SELINUX_THREAD_LIBS"
855     AC_DEFINE(HAVE_SELINUX,1,[SELinux support])
856 else
857     SELINUX_LIBS=
858 fi
859
860 # inotify checks
861 if test x$enable_inotify = xno ; then
862     have_inotify=no;
863 else
864     AC_CHECK_HEADERS(sys/inotify.h, have_inotify=yes, have_inotify=no)
865 fi
866
867 dnl check if inotify backend is enabled
868 if test x$have_inotify = xyes; then
869    AC_DEFINE(DBUS_BUS_ENABLE_INOTIFY,1,[Use inotify])
870    AC_CHECK_FUNCS(inotify_init1)
871 fi
872
873 AM_CONDITIONAL(DBUS_BUS_ENABLE_INOTIFY, test x$have_inotify = xyes)
874
875 # dnotify checks
876 if test x$enable_dnotify = xno ; then
877     have_dnotify=no;
878 else
879     if test x$have_inotify = xno -a x$host_os = xlinux-gnu -o x$host_os = xlinux; then
880         have_dnotify=yes;       
881     else
882         have_dnotify=no;
883     fi
884 fi
885
886 dnl check if dnotify backend is enabled
887 if test x$have_dnotify = xyes; then
888    AC_DEFINE(DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX,1,[Use dnotify on Linux])
889 fi
890
891 AM_CONDITIONAL(DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX, test x$have_dnotify = xyes)
892
893 # kqueue checks
894 if test x$enable_kqueue = xno ; then
895     have_kqueue=no
896 else
897     have_kqueue=yes
898     AC_CHECK_HEADER(sys/event.h, , have_kqueue=no)
899     AC_CHECK_FUNC(kqueue, , have_kqueue=no)
900
901     if test x$enable_kqueue = xyes -a x$have_kqueue = xno; then
902         AC_MSG_ERROR(kqueue support explicitly enabled but not available)
903     fi
904 fi
905
906 dnl check if kqueue backend is enabled
907 if test x$have_kqueue = xyes; then
908    AC_DEFINE(DBUS_BUS_ENABLE_KQUEUE,1,[Use kqueue])
909 fi
910
911 AM_CONDITIONAL(DBUS_BUS_ENABLE_KQUEUE, test x$have_kqueue = xyes) 
912
913 dnl console owner file
914 if test x$enable_console_owner_file = xno ; then
915     have_console_owner_file=no;
916 else
917     case $host_os in
918     solaris*)
919         have_console_owner_file=yes;
920         AC_DEFINE(HAVE_CONSOLE_OWNER_FILE,1,[Have console owner file])
921         ;;
922     *)
923         have_console_owner_file=no;;
924     esac
925 fi
926
927 AM_CONDITIONAL(HAVE_CONSOLE_OWNER_FILE, test x$have_console_owner_file = xyes)
928
929 # libaudit detection
930 if test x$enable_libaudit = xno ; then
931     have_libaudit=no;
932 else
933     # See if we have audit daemon & capabilities library
934     AC_CHECK_LIB(audit, audit_log_user_avc_message, 
935                  have_libaudit=yes, have_libaudit=no)
936     if test x$have_libaudit = xyes ; then
937         AC_CHECK_LIB(cap-ng, capng_clear,
938                  have_libaudit=yes, have_libaudit=no)
939     fi
940 fi
941
942 AM_CONDITIONAL(HAVE_LIBAUDIT, test x$have_libaudit = xyes)
943
944 if test x$have_libaudit = xyes ; then
945     SELINUX_LIBS="$SELINUX_LIBS -laudit -lcap-ng"
946     AC_DEFINE(HAVE_LIBAUDIT,1,[audit daemon SELinux support])
947 fi
948
949 # Check for ADT API
950 AC_MSG_CHECKING(for ADT API)
951 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
952 #include <bsm/adt.h>
953 adt_user_context = ADT_USER;
954 ]], [[]])], [ check_adt_audit=yes ], [ check_adt_audit=no ])
955
956 if test ${check_adt_audit} = yes
957 then
958    AC_DEFINE([HAVE_ADT], [], [Adt audit API])
959    ADT_LIBS="-lbsm"
960    LIBS="-lbsm $LIBS"
961    AC_MSG_RESULT(yes)
962 else
963    AC_MSG_RESULT(no)
964 fi
965
966 # Check for SCM_RIGHTS
967 AC_MSG_CHECKING([for SCM_RIGHTS])
968 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
969 #include <sys/socket.h>
970 #include <sys/un.h>
971 static int x = SCM_RIGHTS;
972 ]], [[]])],
973 [ AC_MSG_RESULT([supported])
974   AC_DEFINE([HAVE_UNIX_FD_PASSING], [1], [Supports sending UNIX file descriptors]) ],
975 [ AC_MSG_RESULT([not supported]) ])
976
977 NETWORK_libs=
978 if test x$dbus_win = xyes ; then
979   if test x$dbus_wince = xyes ; then
980     NETWORK_libs="-lws2"
981   else
982     NETWORK_libs="-lws2_32"
983   fi
984 fi
985
986 #### Set up final flags
987 DBUS_CLIENT_CFLAGS=
988 DBUS_CLIENT_LIBS="$THREAD_LIBS $NETWORK_libs"
989 AC_SUBST(DBUS_CLIENT_CFLAGS)
990 AC_SUBST(DBUS_CLIENT_LIBS)
991
992 DBUS_BUS_CFLAGS="$XML_CFLAGS"
993 DBUS_BUS_LIBS="$XML_LIBS $SELINUX_LIBS $INTLLIBS $THREAD_LIBS $ADT_LIBS $NETWORK_libs"
994 AC_SUBST(DBUS_BUS_CFLAGS)
995 AC_SUBST(DBUS_BUS_LIBS)
996
997 DBUS_LAUNCHER_CFLAGS="$XML_CFLAGS"
998 DBUS_LAUNCHER_LIBS="$XML_LIBS $THREAD_LIBS $NETWORK_libs"
999 AC_SUBST(DBUS_LAUNCHER_CFLAGS)
1000 AC_SUBST(DBUS_LAUNCHER_LIBS)
1001
1002 DBUS_TEST_CFLAGS=
1003 DBUS_TEST_LIBS="$THREAD_LIBS $NETWORK_libs"
1004 AC_SUBST(DBUS_TEST_CFLAGS)
1005 AC_SUBST(DBUS_TEST_LIBS)
1006
1007 ### X11 detection
1008 if test x$dbus_win = xyes ; then
1009    enable_x11=no
1010 else
1011 AC_PATH_XTRA
1012
1013 ## for now enable_x11 just tracks have_x11, 
1014 ## there's no --enable-x11
1015 if test x$no_x = xyes ; then
1016    have_x11=no
1017    enable_x11=no
1018 else
1019    have_x11=yes
1020    enable_x11=yes
1021 fi
1022
1023 if test x$enable_x11 = xyes ; then
1024    AC_DEFINE(DBUS_BUILD_X11,1,[Build X11-dependent code])
1025    DBUS_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
1026    DBUS_X_CFLAGS="$X_CFLAGS"
1027 else
1028    DBUS_X_LIBS=
1029    DBUS_X_CFLAGS=
1030 fi
1031
1032 AC_SUBST(DBUS_X_CFLAGS)
1033 AC_SUBST(DBUS_X_LIBS)
1034 fi
1035
1036
1037 #### gcc warning flags
1038
1039 cc_supports_flag() {
1040   AC_MSG_CHECKING(whether $CC supports "$@")
1041   Cfile=/tmp/foo${$}
1042   touch ${Cfile}.c
1043   $CC -c "$@" ${Cfile}.c -o ${Cfile}.o >/dev/null 2>&1
1044   rc=$?
1045   rm -f ${Cfile}.c ${Cfile}.o
1046   case $rc in
1047     0) AC_MSG_RESULT(yes);;
1048     *) AC_MSG_RESULT(no);;
1049   esac
1050   return $rc
1051 }
1052
1053 ld_supports_flag() {
1054   AC_MSG_CHECKING([whether $LD supports "$@"])
1055   AC_TRY_LINK([
1056     int one(void) { return 1; }
1057     int two(void) { return 2; }
1058   ], [ two(); ] , [_ac_ld_flag_supported=yes], [_ac_ld_flag_supported=no])
1059
1060   if test "$_ac_ld_flag_supported" = "yes"; then
1061     rm -f conftest.c
1062     touch conftest.c
1063     if $CC -c conftest.c; then
1064       ld_out=`$LD $@ -o conftest conftest.o 2>&1`
1065       ld_ret=$?
1066       if test $ld_ret -ne 0 ; then
1067         _ac_ld_flag_supported=no
1068       elif echo "$ld_out" | egrep 'option ignored|^usage:|unrecognized option|illegal option' >/dev/null ; then
1069         _ac_ld_flag_supported=no
1070       fi
1071     fi
1072     rm -f conftest.c conftest.o conftest
1073   fi
1074
1075   AC_MSG_RESULT($_ac_ld_flag_supported)
1076   if test "$_ac_ld_flag_supported" = "yes" ; then
1077     return 0
1078   else
1079     return 1
1080   fi
1081 }
1082
1083 # Don't bother with -Werror on Windows for now, too many warnings
1084 if test x$dbus_win != xyes -a x$USE_MAINTAINER_MODE = xyes; then
1085   if cc_supports_flag "-Werror"; then
1086     CFLAGS="$CFLAGS -Werror"
1087   fi
1088 fi
1089
1090 if test "x$GCC" = "xyes"; then
1091   changequote(,)dnl
1092   case " $CFLAGS " in
1093   *[\ \ ]-Wall[\ \      ]*) ;;
1094   *) CFLAGS="$CFLAGS -Wall" ;;
1095   esac
1096
1097   case " $CFLAGS " in
1098   *[\ \ ]-Wchar-subscripts[\ \  ]*) ;;
1099   *) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
1100   esac
1101
1102   case " $CFLAGS " in
1103   *[\ \ ]-Wmissing-declarations[\ \     ]*) ;;
1104   *) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
1105   esac
1106
1107   case " $CFLAGS " in
1108   *[\ \ ]-Wmissing-prototypes[\ \       ]*) ;;
1109   *) CFLAGS="$CFLAGS -Wmissing-prototypes" ;;
1110   esac
1111
1112   case " $CFLAGS " in
1113   *[\ \ ]-Wnested-externs[\ \   ]*) ;;
1114   *) CFLAGS="$CFLAGS -Wnested-externs" ;;
1115   esac
1116
1117   case " $CFLAGS " in
1118   *[\ \ ]-Wpointer-arith[\ \    ]*) ;;
1119   *) CFLAGS="$CFLAGS -Wpointer-arith" ;;
1120   esac
1121
1122   case " $CFLAGS " in
1123   *[\ \ ]-Wcast-align[\ \       ]*) ;;
1124   *) CFLAGS="$CFLAGS -Wcast-align" ;;
1125   esac
1126
1127   case " $CFLAGS " in
1128   *[\ \ ]-Wfloat-equal[\ \      ]*) ;;
1129   *) if cc_supports_flag -Wfloat-equals; then
1130         CFLAGS="$CFLAGS -Wfloat-equal" 
1131      fi
1132      ;;
1133   esac
1134
1135   case " $CFLAGS " in
1136   *[\ \ ]-Wdeclaration-after-statement[\ \      ]*) ;;
1137   *) if cc_supports_flag -Wdeclaration-after-statement; then
1138         CFLAGS="$CFLAGS -Wdeclaration-after-statement"
1139      fi
1140      ;;
1141   esac
1142
1143   case " $CFLAGS " in
1144   *[\ \ ]-fno-common[\ \        ]*) ;;
1145   *) if cc_supports_flag -fno-common; then
1146         CFLAGS="$CFLAGS -fno-common"
1147      fi
1148      ;;
1149   esac
1150
1151   case " $CFLAGS " in
1152   *[\ \ ]-fPIC[\ \      ]*) ;;
1153   *) if test x$dbus_win = xno && cc_supports_flag -fPIC; then
1154         PIC_CFLAGS="-fPIC"
1155         if ld_supports_flag -z,relro; then
1156            PIC_LDFLAGS="-Wl,-z,relro"
1157         fi
1158      fi
1159      ;;
1160   esac
1161
1162   case " $CFLAGS " in
1163   *[\ \ ]-fPIE[\ \      ]*) ;;
1164   *) if test x$dbus_win = xno && cc_supports_flag -fPIE; then
1165         PIE_CFLAGS="-fPIE"
1166         if ld_supports_flag -z,relro; then
1167            PIE_LDFLAGS="-pie -Wl,-z,relro"
1168         else
1169            PIE_LDFLAGS="-pie"
1170         fi
1171      fi
1172      ;;
1173   esac
1174   
1175   ### Disabled warnings, and compiler flag overrides
1176   
1177   # Let's just ignore unused for now
1178   case " $CFLAGS " in
1179   *[\ \ ]-Wno-unused[\ \        ]*) ;;
1180   *) CFLAGS="$CFLAGS -Wno-unused" ;;
1181   esac  
1182   
1183   # This group is for warnings we currently don't pass.
1184   # We would like to, however.  Please fix.
1185   
1186   # http://bugs.freedesktop.org/show_bug.cgi?id=17433
1187   case " $CFLAGS " in
1188   *[\ \ ]-Wno-sign-compare[\ \  ]*) ;;
1189   *) CFLAGS="$CFLAGS -Wno-sign-compare" ;;
1190   esac
1191   case " $CFLAGS " in
1192   *[\ \ ]-Wno-pointer-sign[\ \  ]*) ;;
1193   *) if cc_supports_flag -Wno-pointer-sign; then
1194         CFLAGS="$CFLAGS -Wno-pointer-sign"
1195      fi
1196      ;;
1197   esac
1198   
1199   # This one is special - it's not a warning override.
1200   # http://bugs.freedesktop.org/show_bug.cgi?id=10599
1201   case " $CFLAGS " in
1202   *[\ \ ]-fno-strict-aliasing[\ \       ]*) ;;
1203   *) CFLAGS="$CFLAGS -fno-strict-aliasing" ;;
1204   esac
1205   ### End disabled warnings
1206
1207   if test "x$enable_ansi" = "xyes"; then
1208     case " $CFLAGS " in
1209     *[\ \       ]-ansi[\ \      ]*) ;;
1210     *) CFLAGS="$CFLAGS -ansi" ;;
1211     esac
1212
1213     case " $CFLAGS " in
1214     *[\ \       ]-D_POSIX_C_SOURCE*) ;;
1215     *) CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=199309L" ;;
1216     esac
1217
1218     case " $CFLAGS " in
1219     *[\ \       ]-D_BSD_SOURCE[\ \      ]*) ;;
1220     *) CFLAGS="$CFLAGS -D_BSD_SOURCE" ;;
1221     esac
1222
1223     case " $CFLAGS " in
1224     *[\ \       ]-pedantic[\ \  ]*) ;;
1225     *) CFLAGS="$CFLAGS -pedantic" ;;
1226     esac    
1227   fi
1228   if test x$enable_gcov = xyes; then
1229     case " $CFLAGS " in
1230     *[\ \       ]-fprofile-arcs[\ \     ]*) ;;
1231     *) CFLAGS="$CFLAGS -fprofile-arcs" ;;
1232     esac
1233     case " $CFLAGS " in
1234     *[\ \       ]-ftest-coverage[\ \    ]*) ;;
1235     *) CFLAGS="$CFLAGS -ftest-coverage" ;;
1236     esac
1237
1238     ## remove optimization
1239     CFLAGS=`echo "$CFLAGS" | sed -e 's/-O[0-9]*//g'`
1240   fi
1241   changequote([,])dnl
1242 else
1243   if test x$enable_gcov = xyes; then
1244     AC_MSG_ERROR([--enable-gcov can only be used with gcc])
1245   fi
1246 fi
1247
1248 AC_SUBST(PIC_CFLAGS)
1249 AC_SUBST(PIC_LDFLAGS)  
1250 AC_SUBST(PIE_CFLAGS)
1251 AC_SUBST(PIE_LDFLAGS)  
1252
1253 if ld_supports_flag --gc-sections; then
1254   SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
1255   CFLAGS="-ffunction-sections -fdata-sections $CFLAGS"
1256 fi
1257 AC_SUBST(SECTION_FLAGS)
1258 AC_SUBST(SECTION_LDFLAGS)
1259 AC_MSG_RESULT($ac_gcsections)
1260
1261 # Add -D_POSIX_PTHREAD_SEMANTICS if on Solaris
1262 #
1263 case $host_os in
1264     solaris*)
1265        CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS" ;;
1266 esac
1267     
1268 changequote(,)dnl
1269 # compress spaces in flags
1270 CFLAGS=`echo "$CFLAGS" | sed -e 's/ +/ /g'`
1271 CXXFLAGS=`echo "$CXXFLAGS" | sed -e 's/ +/ /g'`
1272 CPPFLAGS=`echo "$CPPFLAGS" | sed -e 's/ +/ /g'`
1273 changequote([,])dnl
1274
1275 ### Doxygen Documentation
1276
1277 AC_PATH_PROG(DOXYGEN, doxygen, no)
1278
1279 AC_MSG_CHECKING([whether to build Doxygen documentation])
1280
1281 if test x$DOXYGEN = xno ; then
1282     have_doxygen=no
1283 else
1284     have_doxygen=yes
1285 fi
1286
1287 if test x$enable_doxygen_docs = xauto ; then
1288     if test x$have_doxygen = xno ; then
1289         enable_doxygen_docs=no
1290     else
1291         enable_doxygen_docs=yes
1292     fi
1293 fi
1294
1295 if test x$enable_doxygen_docs = xyes; then
1296     if test x$have_doxygen = xno; then
1297         AC_MSG_ERROR([Building Doxygen docs explicitly required, but Doxygen not found])
1298     fi
1299 fi
1300
1301 AM_CONDITIONAL(DBUS_DOXYGEN_DOCS_ENABLED, test x$enable_doxygen_docs = xyes)
1302 AC_MSG_RESULT(yes)
1303
1304 ### XML Documentation
1305
1306 AC_PATH_PROG(XMLTO, xmlto, no)
1307
1308 AC_MSG_CHECKING([whether to build XML documentation])
1309
1310 if test x$XMLTO = xno ; then
1311     have_xmlto=no
1312 else
1313     have_xmlto=yes
1314 fi
1315
1316 if test x$enable_xml_docs = xauto ; then
1317     if test x$have_xmlto = xno ; then
1318         enable_xml_docs=no
1319     else
1320         enable_xml_docs=yes
1321     fi
1322 fi
1323
1324 if test x$enable_xml_docs = xyes; then
1325     if test x$have_xmlto = xno; then
1326         AC_MSG_ERROR([Building XML docs explicitly required, but xmlto not found])
1327     fi
1328 fi
1329
1330 AM_CONDITIONAL(DBUS_XML_DOCS_ENABLED, test x$enable_xml_docs = xyes)
1331 AC_MSG_RESULT(yes)
1332
1333 #### Have to go $localstatedir->$prefix/var->/usr/local/var
1334
1335 #### find the actual value for $prefix that we'll end up with
1336 ##   (I know this is broken and should be done in the Makefile, but
1337 ##    that's a major pain and almost nobody actually seems to care)
1338 AS_AC_EXPAND(EXPANDED_LOCALSTATEDIR, "$localstatedir")
1339 AS_AC_EXPAND(EXPANDED_SYSCONFDIR, "$sysconfdir")
1340 AS_AC_EXPAND(EXPANDED_BINDIR, "$bindir")
1341 AS_AC_EXPAND(EXPANDED_LIBDIR, "$libdir")
1342 AS_AC_EXPAND(EXPANDED_LIBEXECDIR, "$libexecdir")
1343 AS_AC_EXPAND(EXPANDED_DATADIR, "$datadir")
1344
1345 #### Check our operating system
1346 operating_system=unknown
1347 if test -f /etc/redhat-release || test -f $EXPANDED_SYSCONFDIR/redhat-release ; then
1348    operating_system=redhat
1349 fi
1350
1351 if test -f /etc/slackware-version || test -f $EXPANDED_SYSCONFDIR/slackware-version ; then
1352    operating_system=slackware
1353 fi
1354
1355 #### Sort out init scripts
1356
1357 if test x$with_init_scripts = x; then
1358     if test xredhat = x$operating_system ; then
1359         with_init_scripts=redhat
1360     else
1361         if test xslackware = x$operating_system ; then
1362                 with_init_scripts=slackware
1363             else
1364                 with_init_scripts=none
1365         fi
1366     fi
1367 fi
1368
1369 AM_CONDITIONAL(DBUS_INIT_SCRIPTS_RED_HAT, test x$with_init_scripts = xredhat)
1370
1371 AM_CONDITIONAL(DBUS_INIT_SCRIPTS_SLACKWARE, test x$with_init_scripts = xslackware)
1372
1373 ##### Set up location for system bus socket
1374 if ! test -z "$with_system_socket"; then
1375    DBUS_SYSTEM_SOCKET=$with_system_socket
1376 else
1377    DBUS_SYSTEM_SOCKET=${EXPANDED_LOCALSTATEDIR}/run/dbus/system_bus_socket
1378 fi
1379
1380 AC_SUBST(DBUS_SYSTEM_SOCKET)
1381 AC_DEFINE_UNQUOTED(DBUS_SYSTEM_SOCKET,"$DBUS_SYSTEM_SOCKET",[The name of the socket the system bus listens on by default])
1382
1383 ## system bus only listens on local domain sockets, and never 
1384 ## on an abstract socket (so only root can create the socket)
1385 DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="unix:path=$DBUS_SYSTEM_SOCKET"
1386 AC_SUBST(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS)
1387 AC_DEFINE_UNQUOTED(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS, "$DBUS_SYSTEM_BUS_DEFAULT_ADDRESS",[The default D-Bus address of the system bus])
1388
1389 #### Set up the pid file
1390 if ! test -z "$with_system_pid_file"; then
1391    DBUS_SYSTEM_PID_FILE=$with_system_pid_file
1392 elif test x$with_init_scripts = xredhat ; then
1393    DBUS_SYSTEM_PID_FILE=${EXPANDED_LOCALSTATEDIR}/run/messagebus.pid
1394 else
1395    DBUS_SYSTEM_PID_FILE=${EXPANDED_LOCALSTATEDIR}/run/dbus/pid
1396 fi
1397
1398 AC_SUBST(DBUS_SYSTEM_PID_FILE)
1399
1400 #### Directory to check for console ownership
1401 if ! test -z "$with_console_auth_dir"; then
1402    DBUS_CONSOLE_AUTH_DIR=$with_console_auth_dir
1403 else
1404    DBUS_CONSOLE_AUTH_DIR=/var/run/console/
1405 fi
1406
1407 AC_SUBST(DBUS_CONSOLE_AUTH_DIR)
1408 AC_DEFINE_UNQUOTED(DBUS_CONSOLE_AUTH_DIR, "$DBUS_CONSOLE_AUTH_DIR", [Directory to check for console ownerhip])
1409
1410 #### File to check for console ownership
1411 if test x$have_console_owner_file = xyes; then
1412    if ! test -z "$with_console_owner_file"; then
1413       DBUS_CONSOLE_OWNER_FILE=$with_console_owner_file
1414    else
1415       DBUS_CONSOLE_OWNER_FILE=/dev/console
1416    fi
1417 else
1418   DBUS_CONSOLE_OWNER_FILE=
1419 fi
1420
1421 AC_SUBST(DBUS_CONSOLE_OWNER_FILE)
1422 AC_DEFINE_UNQUOTED(DBUS_CONSOLE_OWNER_FILE, "$DBUS_CONSOLE_OWNER_FILE", [File to check for console ownerhip])
1423
1424 #### User to start the system bus as
1425 if test -z "$with_dbus_user" ; then
1426     DBUS_USER=messagebus
1427 else
1428     DBUS_USER=$with_dbus_user
1429 fi
1430 AC_SUBST(DBUS_USER)
1431 AC_DEFINE_UNQUOTED(DBUS_USER,"$DBUS_USER", [User for running the system BUS daemon])
1432
1433 #### Direcotry to install data files into
1434 DBUS_DATADIR=$EXPANDED_DATADIR
1435 AC_SUBST(DBUS_DATADIR)
1436 AC_DEFINE_UNQUOTED(DBUS_DATADIR,"$DBUS_DATADIR", [Directory for installing DBUS data files])
1437
1438 #### Directory to install dbus-daemon
1439 if test -z "$with_dbus_daemondir" ; then
1440     DBUS_DAEMONDIR=$EXPANDED_BINDIR
1441 else
1442     DBUS_DAEMONDIR=$with_dbus_daemondir
1443 fi
1444 AC_SUBST(DBUS_DAEMONDIR)
1445 AC_DEFINE_UNQUOTED(DBUS_DAEMONDIR,"$DBUS_DAEMONDIR", [Directory for installing the DBUS daemon])
1446
1447 #### Directory to install the other binaries
1448 DBUS_BINDIR="$EXPANDED_BINDIR"
1449 AC_SUBST(DBUS_BINDIR)
1450 AC_DEFINE_UNQUOTED(DBUS_BINDIR,"$DBUS_BINDIR", [Directory for installing the binaries])
1451
1452 #### Directory to install the libexec binaries
1453 DBUS_LIBEXECDIR="$EXPANDED_LIBEXECDIR"
1454 AC_SUBST(DBUS_LIBEXECDIR)
1455 AC_DEFINE_UNQUOTED(DBUS_LIBEXECDIR,"$DBUS_LIBEXECDIR", [Directory for installing the libexec binaries])
1456
1457 #### Tell tests where to find certain stuff in builddir
1458
1459 DBUS_PWD=`pwd`
1460 # Useful in a cross-compilation environment, where the tests are run on the host system.
1461 AC_ARG_WITH(dbus-test-dir, AS_HELP_STRING([--with-dbus-test-dir=[dirname]],[path where the tests tools are available]),
1462                            DBUS_PWD=$withval)
1463 AC_DEFUN([TEST_PATH], [
1464 TEST_$1=${DBUS_PWD}/test/$2
1465 AC_DEFINE_UNQUOTED(TEST_$1, "$TEST_$1",
1466                    [Full path to test file test/$2 in builddir])
1467 AC_SUBST(TEST_$1)
1468 ])
1469 AC_DEFUN([TEST_PROG], [
1470 TEST_$1=${DBUS_PWD}/test/$2
1471 AC_DEFINE_UNQUOTED(TEST_$1, "$TEST_$1$EXEEXT",
1472                    [Full path to test file test/$2 in builddir])
1473 AC_SUBST(TEST_$1)
1474 ])
1475
1476 TEST_PATH(VALID_SERVICE_DIR, data/valid-service-files)
1477 TEST_PATH(INVALID_SERVICE_DIR, data/invalid-service-files)
1478 TEST_PATH(VALID_SERVICE_SYSTEM_DIR, data/valid-service-files-system)
1479 TEST_PATH(INVALID_SERVICE_SYSTEM_DIR, data/invalid-service-files-system)
1480 TEST_PROG(SERVICE_BINARY, test-service)
1481 TEST_PROG(SHELL_SERVICE_BINARY, test-shell-service)
1482 TEST_PROG(EXIT_BINARY, test-exit)
1483 TEST_PROG(SEGFAULT_BINARY, test-segfault)
1484 TEST_PROG(SLEEP_FOREVER_BINARY, test-sleep-forever)
1485 TEST_PROG(PRIVSERVER_BINARY, name-test/test-privserver)
1486
1487 AC_DEFINE_UNQUOTED(TEST_BUS_BINARY, "$DBUS_PWD/bus/dbus-daemon$EXEEXT",
1488                    [Full path to the daemon in the builddir])
1489 AC_SUBST(TEST_BUS_BINARY)
1490
1491 ## Export the non-setuid external helper
1492 TEST_LAUNCH_HELPER_BINARY="$DBUS_PWD/bus/dbus-daemon-launch-helper-test$EXEEXT"
1493 AC_SUBST(TEST_LAUNCH_HELPER_BINARY)
1494 AC_DEFINE_UNQUOTED(DBUS_TEST_LAUNCH_HELPER_BINARY, "$TEST_LAUNCH_HELPER_BINARY",
1495                    [Full path to the launch helper test program in the builddir])
1496
1497 #### Find socket directories
1498 if ! test -z "$TMPDIR" ; then
1499    DEFAULT_SOCKET_DIR=$TMPDIR
1500 elif ! test -z "$TEMP" ; then
1501    DEFAULT_SOCKET_DIR=$TEMP
1502 elif ! test -z "$TMP" ; then
1503    DEFAULT_SOCKET_DIR=$TMP
1504 else
1505    DEFAULT_SOCKET_DIR=/tmp
1506 fi
1507
1508 if ! test -z "$with_test_socket_dir" ; then
1509    TEST_SOCKET_DIR="$with_test_socket_dir"
1510 else
1511    TEST_SOCKET_DIR=$DEFAULT_SOCKET_DIR
1512 fi
1513 AC_SUBST(TEST_SOCKET_DIR)
1514 AC_DEFINE_UNQUOTED(DBUS_TEST_SOCKET_DIR, "$TEST_SOCKET_DIR", [Where to put test sockets])
1515
1516 if ! test -z "$with_session_socket_dir" ; then
1517    DBUS_SESSION_SOCKET_DIR="$with_session_socket_dir"
1518 else
1519    DBUS_SESSION_SOCKET_DIR=$DEFAULT_SOCKET_DIR
1520 fi
1521 AC_DEFINE_UNQUOTED(DBUS_SESSION_SOCKET_DIR, "$DBUS_SESSION_SOCKET_DIR", [Where per-session bus puts its sockets])
1522 AC_SUBST(DBUS_SESSION_SOCKET_DIR)
1523
1524 if test x$dbus_win = xyes; then
1525         DBUS_SESSION_BUS_DEFAULT_ADDRESS="nonce-tcp:"
1526 else
1527         DBUS_SESSION_BUS_DEFAULT_ADDRESS="unix:tmpdir=$DBUS_SESSION_SOCKET_DIR"
1528 fi
1529 AC_SUBST(DBUS_SESSION_BUS_DEFAULT_ADDRESS)
1530
1531 # darwin needs this to initialize the environment
1532 AC_CHECK_HEADERS(crt_externs.h)
1533 AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])])
1534 AH_VERBATIM(_DARWIN_ENVIRON,
1535 [
1536 #if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
1537 # include <sys/time.h>
1538 # include <crt_externs.h>
1539 # define environ (*_NSGetEnviron())
1540 #endif
1541 ])
1542
1543 AC_OUTPUT([
1544 Doxyfile
1545 dbus/versioninfo.rc
1546 dbus/dbus-arch-deps.h
1547 bus/system.conf
1548 bus/session.conf
1549 bus/messagebus
1550 bus/rc.messagebus
1551 bus/dbus-daemon.1
1552 Makefile
1553 dbus/Makefile
1554 bus/Makefile
1555 tools/Makefile
1556 test/Makefile
1557 test/name-test/Makefile
1558 doc/Makefile
1559 dbus-1.pc
1560 test/data/valid-config-files/debug-allow-all.conf
1561 test/data/valid-config-files/debug-allow-all-sha1.conf
1562 test/data/valid-config-files-system/debug-allow-all-pass.conf
1563 test/data/valid-config-files-system/debug-allow-all-fail.conf
1564 test/data/valid-service-files/org.freedesktop.DBus.TestSuite.PrivServer.service
1565 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteEchoService.service
1566 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteForkingEchoService.service
1567 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteSegfaultService.service
1568 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess.service
1569 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteShellEchoServiceFail.service
1570 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteEchoService.service
1571 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteSegfaultService.service
1572 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess.service
1573 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteShellEchoServiceFail.service
1574 test/data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoExec.service
1575 test/data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoUser.service
1576 test/data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoService.service
1577 ])
1578
1579 dnl ==========================================================================
1580 echo "
1581                     D-Bus $VERSION
1582                   ==============
1583
1584         prefix:                   ${prefix}
1585         exec_prefix:              ${exec_prefix}
1586         libdir:                   ${EXPANDED_LIBDIR}
1587         libexecdir:               ${EXPANDED_LIBEXECDIR}
1588         bindir:                   ${EXPANDED_BINDIR}
1589         sysconfdir:               ${EXPANDED_SYSCONFDIR}
1590         localstatedir:            ${EXPANDED_LOCALSTATEDIR}
1591         datadir:                  ${EXPANDED_DATADIR}
1592         source code location:     ${srcdir}
1593         compiler:                 ${CC}
1594         cflags:                   ${CFLAGS}
1595         cppflags:                 ${CPPFLAGS}
1596         cxxflags:                 ${CXXFLAGS}
1597         64-bit int:               ${DBUS_INT64_TYPE}
1598         32-bit int:               ${DBUS_INT32_TYPE}
1599         16-bit int:               ${DBUS_INT16_TYPE}
1600         Doxygen:                  ${DOXYGEN}
1601         xmlto:                    ${XMLTO}"
1602
1603 echo "
1604         Maintainer mode:          ${USE_MAINTAINER_MODE}
1605         gcc coverage profiling:   ${enable_gcov}
1606         Building unit tests:      ${enable_tests}
1607         Building verbose mode:    ${enable_verbose_mode}
1608         Building assertions:      ${enable_asserts}
1609         Building checks:          ${enable_checks}
1610         Building SELinux support: ${have_selinux}
1611         Building inotify support: ${have_inotify}
1612         Building dnotify support: ${have_dnotify}
1613         Building kqueue support:  ${have_kqueue}
1614         Building X11 code:        ${enable_x11}
1615         Building Doxygen docs:    ${enable_doxygen_docs}
1616         Building XML docs:        ${enable_xml_docs}
1617         Building cache support:   ${enable_userdb_cache}
1618         Gettext libs (empty OK):  ${INTLLIBS}
1619         Using XML parser:         ${with_xml}
1620         Init scripts style:       ${with_init_scripts}
1621         Abstract socket names:    ${ac_cv_have_abstract_sockets}
1622         System bus socket:        ${DBUS_SYSTEM_SOCKET}
1623         System bus address:       ${DBUS_SYSTEM_BUS_DEFAULT_ADDRESS}
1624         System bus PID file:      ${DBUS_SYSTEM_PID_FILE}
1625         Session bus address:      ${DBUS_SESSION_BUS_DEFAULT_ADDRESS}
1626         Console auth dir:         ${DBUS_CONSOLE_AUTH_DIR}
1627         Console owner file:       ${have_console_owner_file}
1628         Console owner file path:  ${DBUS_CONSOLE_OWNER_FILE}
1629         System bus user:          ${DBUS_USER}
1630         Session bus services dir: ${EXPANDED_DATADIR}/dbus-1/services
1631         'make check' socket dir:  ${TEST_SOCKET_DIR}
1632 "
1633
1634 if test x$enable_tests = xyes; then
1635         echo "NOTE: building with unit tests increases the size of the installed library and renders it insecure."
1636 fi
1637 if test x$enable_tests = xyes -a x$enable_asserts = xno; then
1638         echo "NOTE: building with unit tests but without assertions means tests may not properly report failures (this configuration is only useful when doing something like profiling the tests)"
1639 fi
1640 if test x$enable_gcov = xyes; then
1641         echo "NOTE: building with coverage profiling is definitely for developers only."
1642 fi
1643 if test x$enable_verbose_mode = xyes; then
1644         echo "NOTE: building with verbose mode increases library size, may slightly increase security risk, and decreases performance."
1645 fi
1646 if test x$enable_asserts = xyes; then
1647         echo "NOTE: building with assertions increases library size and decreases performance."
1648 fi
1649 if test x$enable_checks = xno; then
1650         echo "NOTE: building without checks for arguments passed to public API makes it harder to debug apps using D-Bus, but will slightly decrease D-Bus library size and _very_ slightly improve performance."
1651 fi
1652 if test x$dbus_use_libxml = xtrue; then
1653         echo
1654         echo "WARNING: You have chosen to use libxml as your xml parser however this code path is not maintained by the D-Bus developers and if it breaks you get to keep the pieces.  If you have selected this option in err please reconfigure with expat (e.g. --with-xml=expat)."
1655 fi