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