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