Integrate building HTML-ified manpages with the build system
[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 #### Have to go $localstatedir->$prefix/var->/usr/local/var
1352
1353 #### find the actual value for $prefix that we'll end up with
1354 ##   (I know this is broken and should be done in the Makefile, but
1355 ##    that's a major pain and almost nobody actually seems to care)
1356 AS_AC_EXPAND(EXPANDED_PREFIX, "$prefix")
1357 AS_AC_EXPAND(EXPANDED_LOCALSTATEDIR, "$localstatedir")
1358 AS_AC_EXPAND(EXPANDED_SYSCONFDIR, "$sysconfdir")
1359 AS_AC_EXPAND(EXPANDED_BINDIR, "$bindir")
1360 AS_AC_EXPAND(EXPANDED_LIBDIR, "$libdir")
1361 AS_AC_EXPAND(EXPANDED_LIBEXECDIR, "$libexecdir")
1362 AS_AC_EXPAND(EXPANDED_DATADIR, "$datadir")
1363
1364 #### Check our operating system
1365 operating_system=unknown
1366 if test -f /etc/redhat-release || test -f $EXPANDED_SYSCONFDIR/redhat-release ; then
1367    operating_system=redhat
1368 fi
1369
1370 if test -f /etc/slackware-version || test -f $EXPANDED_SYSCONFDIR/slackware-version ; then
1371    operating_system=slackware
1372 fi
1373
1374 if test -f /usr/bin/cygwin1.dll || test -f $EXPANDED_BINDIR/cygwin1.dll ; then
1375    operating_system=cygwin
1376 fi
1377
1378 #### Sort out init scripts
1379
1380 if test x$with_init_scripts = x; then
1381     case x$operating_system in
1382         xredhat)        with_init_scripts=redhat ;;
1383         xslackware)     with_init_scripts=slackware ;;
1384         xcygwin)        with_init_scripts=cygwin ;;
1385         *)                      with_init_scripts=none ;;
1386     esac
1387 fi
1388
1389 AM_CONDITIONAL(DBUS_INIT_SCRIPTS_RED_HAT, test x$with_init_scripts = xredhat)
1390 AM_CONDITIONAL(DBUS_INIT_SCRIPTS_SLACKWARE, test x$with_init_scripts = xslackware)
1391 AM_CONDITIONAL(DBUS_INIT_SCRIPTS_CYGWIN, test x$with_init_scripts = xcygwin)
1392
1393 ##### systemd unit files
1394 AC_ARG_WITH([systemdsystemunitdir],
1395 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
1396         [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
1397 if test "x$with_systemdsystemunitdir" != xno; then
1398    AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1399 fi
1400 AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
1401
1402 ##### Set up location for system bus socket
1403 if ! test -z "$with_system_socket"; then
1404    DBUS_SYSTEM_SOCKET=$with_system_socket
1405 else
1406    DBUS_SYSTEM_SOCKET=${EXPANDED_LOCALSTATEDIR}/run/dbus/system_bus_socket
1407 fi
1408
1409 AC_SUBST(DBUS_SYSTEM_SOCKET)
1410 AC_DEFINE_UNQUOTED(DBUS_SYSTEM_SOCKET,"$DBUS_SYSTEM_SOCKET",[The name of the socket the system bus listens on by default])
1411
1412 ## system bus only listens on local domain sockets, and never
1413 ## on an abstract socket (so only root can create the socket)
1414 DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="unix:path=$DBUS_SYSTEM_SOCKET"
1415 AC_SUBST(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS)
1416 AC_DEFINE_UNQUOTED(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS, "$DBUS_SYSTEM_BUS_DEFAULT_ADDRESS",[The default D-Bus address of the system bus])
1417
1418 #### Set up the pid file
1419 if ! test -z "$with_system_pid_file"; then
1420    DBUS_SYSTEM_PID_FILE=$with_system_pid_file
1421 elif test x$with_init_scripts = xredhat ; then
1422    DBUS_SYSTEM_PID_FILE=${EXPANDED_LOCALSTATEDIR}/run/messagebus.pid
1423 else
1424    DBUS_SYSTEM_PID_FILE=${EXPANDED_LOCALSTATEDIR}/run/dbus/pid
1425 fi
1426
1427 AC_SUBST(DBUS_SYSTEM_PID_FILE)
1428
1429 #### Directory to check for console ownership
1430 if ! test -z "$with_console_auth_dir"; then
1431    DBUS_CONSOLE_AUTH_DIR=$with_console_auth_dir
1432 else
1433    DBUS_CONSOLE_AUTH_DIR=/var/run/console/
1434 fi
1435
1436 AC_SUBST(DBUS_CONSOLE_AUTH_DIR)
1437 AC_DEFINE_UNQUOTED(DBUS_CONSOLE_AUTH_DIR, "$DBUS_CONSOLE_AUTH_DIR", [Directory to check for console ownerhip])
1438
1439 #### File to check for console ownership
1440 if test x$have_console_owner_file = xyes; then
1441    if ! test -z "$with_console_owner_file"; then
1442       DBUS_CONSOLE_OWNER_FILE=$with_console_owner_file
1443    else
1444       DBUS_CONSOLE_OWNER_FILE=/dev/console
1445    fi
1446 else
1447   DBUS_CONSOLE_OWNER_FILE=
1448 fi
1449
1450 AC_SUBST(DBUS_CONSOLE_OWNER_FILE)
1451 AC_DEFINE_UNQUOTED(DBUS_CONSOLE_OWNER_FILE, "$DBUS_CONSOLE_OWNER_FILE", [File to check for console ownerhip])
1452
1453 #### User to start the system bus as
1454 if test -z "$with_dbus_user" ; then
1455     DBUS_USER=messagebus
1456 else
1457     DBUS_USER=$with_dbus_user
1458 fi
1459 AC_SUBST(DBUS_USER)
1460 AC_DEFINE_UNQUOTED(DBUS_USER,"$DBUS_USER", [User for running the system BUS daemon])
1461
1462 #### Prefix to install into
1463 DBUS_PREFIX=$EXPANDED_PREFIX
1464 AC_SUBST(DBUS_PREFIX)
1465 AC_DEFINE_UNQUOTED(DBUS_PREFIX,"$DBUS_PREFIX", [Prefix for installing DBUS])
1466
1467 #### Direcotry to install data files into
1468 DBUS_DATADIR=$EXPANDED_DATADIR
1469 AC_SUBST(DBUS_DATADIR)
1470 AC_DEFINE_UNQUOTED(DBUS_DATADIR,"$DBUS_DATADIR", [Directory for installing DBUS data files])
1471
1472 #### Directory to install dbus-daemon
1473 if test -z "$with_dbus_daemondir" ; then
1474     DBUS_DAEMONDIR=$EXPANDED_BINDIR
1475 else
1476     DBUS_DAEMONDIR=$with_dbus_daemondir
1477 fi
1478 AC_SUBST(DBUS_DAEMONDIR)
1479 AC_DEFINE_UNQUOTED(DBUS_DAEMONDIR,"$DBUS_DAEMONDIR", [Directory for installing the DBUS daemon])
1480
1481 #### Directory to install the other binaries
1482 DBUS_BINDIR="$EXPANDED_BINDIR"
1483 AC_SUBST(DBUS_BINDIR)
1484 AC_DEFINE_UNQUOTED(DBUS_BINDIR,"$DBUS_BINDIR", [Directory for installing the binaries])
1485
1486 #### Directory to install the libexec binaries
1487 DBUS_LIBEXECDIR="$EXPANDED_LIBEXECDIR"
1488 AC_SUBST(DBUS_LIBEXECDIR)
1489 AC_DEFINE_UNQUOTED(DBUS_LIBEXECDIR,"$DBUS_LIBEXECDIR", [Directory for installing the libexec binaries])
1490
1491 #### Tell tests where to find certain stuff in builddir
1492
1493 DBUS_PWD=`pwd`
1494 # Useful in a cross-compilation environment, where the tests are run on the host system.
1495 AC_ARG_WITH(dbus-test-dir, AS_HELP_STRING([--with-dbus-test-dir=[dirname]],[path where the tests tools are available]),
1496                            DBUS_PWD=$withval)
1497 AC_DEFUN([TEST_PATH], [
1498 TEST_$1=${DBUS_PWD}/test/$2
1499 AC_DEFINE_UNQUOTED(TEST_$1, "$TEST_$1",
1500                    [Full path to test file test/$2 in builddir])
1501 AC_SUBST(TEST_$1)
1502 ])
1503 AC_DEFUN([TEST_PROG], [
1504 TEST_$1=${DBUS_PWD}/test/$2
1505 AC_DEFINE_UNQUOTED(TEST_$1, "$TEST_$1$EXEEXT",
1506                    [Full path to test file test/$2 in builddir])
1507 AC_SUBST(TEST_$1)
1508 ])
1509
1510 TEST_PATH(VALID_SERVICE_DIR, data/valid-service-files)
1511 TEST_PATH(INVALID_SERVICE_DIR, data/invalid-service-files)
1512 TEST_PATH(VALID_SERVICE_SYSTEM_DIR, data/valid-service-files-system)
1513 TEST_PATH(INVALID_SERVICE_SYSTEM_DIR, data/invalid-service-files-system)
1514 TEST_PROG(SERVICE_BINARY, test-service)
1515 TEST_PROG(SHELL_SERVICE_BINARY, test-shell-service)
1516 TEST_PROG(EXIT_BINARY, test-exit)
1517 TEST_PROG(SEGFAULT_BINARY, test-segfault)
1518 TEST_PROG(SLEEP_FOREVER_BINARY, test-sleep-forever)
1519 TEST_PROG(PRIVSERVER_BINARY, name-test/test-privserver)
1520
1521 AC_DEFINE_UNQUOTED(TEST_BUS_BINARY, "$DBUS_PWD/bus/dbus-daemon$EXEEXT",
1522                    [Full path to the daemon in the builddir])
1523 AC_SUBST(TEST_BUS_BINARY)
1524
1525 ## Export the non-setuid external helper
1526 TEST_LAUNCH_HELPER_BINARY="$DBUS_PWD/bus/dbus-daemon-launch-helper-test$EXEEXT"
1527 AC_SUBST(TEST_LAUNCH_HELPER_BINARY)
1528 AC_DEFINE_UNQUOTED(DBUS_TEST_LAUNCH_HELPER_BINARY, "$TEST_LAUNCH_HELPER_BINARY",
1529                    [Full path to the launch helper test program in the builddir])
1530
1531 #### Find socket directories
1532 if ! test -z "$TMPDIR" ; then
1533    DEFAULT_SOCKET_DIR=$TMPDIR
1534 elif ! test -z "$TEMP" ; then
1535    DEFAULT_SOCKET_DIR=$TEMP
1536 elif ! test -z "$TMP" ; then
1537    DEFAULT_SOCKET_DIR=$TMP
1538 else
1539    DEFAULT_SOCKET_DIR=/tmp
1540 fi
1541
1542 if ! test -z "$with_test_socket_dir" ; then
1543    TEST_SOCKET_DIR="$with_test_socket_dir"
1544 else
1545    TEST_SOCKET_DIR=$DEFAULT_SOCKET_DIR
1546 fi
1547 AC_SUBST(TEST_SOCKET_DIR)
1548 AC_DEFINE_UNQUOTED(DBUS_TEST_SOCKET_DIR, "$TEST_SOCKET_DIR", [Where to put test sockets])
1549
1550 if ! test -z "$with_session_socket_dir" ; then
1551    DBUS_SESSION_SOCKET_DIR="$with_session_socket_dir"
1552 else
1553    DBUS_SESSION_SOCKET_DIR=$DEFAULT_SOCKET_DIR
1554 fi
1555 AC_DEFINE_UNQUOTED(DBUS_SESSION_SOCKET_DIR, "$DBUS_SESSION_SOCKET_DIR", [Where per-session bus puts its sockets])
1556 AC_SUBST(DBUS_SESSION_SOCKET_DIR)
1557
1558 if test x$dbus_win = xyes; then
1559         DBUS_SESSION_BUS_DEFAULT_ADDRESS="nonce-tcp:"
1560 else
1561         DBUS_SESSION_BUS_DEFAULT_ADDRESS="unix:tmpdir=$DBUS_SESSION_SOCKET_DIR"
1562 fi
1563 AC_SUBST(DBUS_SESSION_BUS_DEFAULT_ADDRESS)
1564
1565 # darwin needs this to initialize the environment
1566 AC_CHECK_HEADERS(crt_externs.h)
1567 AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])])
1568 AH_VERBATIM(_DARWIN_ENVIRON,
1569 [
1570 #if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
1571 # include <sys/time.h>
1572 # include <crt_externs.h>
1573 # define environ (*_NSGetEnviron())
1574 #endif
1575 ])
1576
1577 AC_OUTPUT([
1578 Doxyfile
1579 dbus/versioninfo.rc
1580 dbus/dbus-arch-deps.h
1581 bus/system.conf
1582 bus/session.conf
1583 bus/messagebus
1584 bus/messagebus-config
1585 bus/rc.messagebus
1586 bus/dbus.service
1587 bus/dbus.socket
1588 Makefile
1589 dbus/Makefile
1590 bus/Makefile
1591 tools/Makefile
1592 test/Makefile
1593 test/name-test/Makefile
1594 doc/Makefile
1595 doc/dbus-daemon.1
1596 dbus-1.pc
1597 test/data/valid-config-files/debug-allow-all.conf
1598 test/data/valid-config-files/debug-allow-all-sha1.conf
1599 test/data/valid-config-files-system/debug-allow-all-pass.conf
1600 test/data/valid-config-files-system/debug-allow-all-fail.conf
1601 test/data/valid-service-files/org.freedesktop.DBus.TestSuite.PrivServer.service
1602 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteEchoService.service
1603 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteForkingEchoService.service
1604 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteSegfaultService.service
1605 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess.service
1606 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteShellEchoServiceFail.service
1607 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteEchoService.service
1608 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteSegfaultService.service
1609 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess.service
1610 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteShellEchoServiceFail.service
1611 test/data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoExec.service
1612 test/data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoUser.service
1613 test/data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoService.service
1614 ])
1615
1616 dnl ==========================================================================
1617 echo "
1618                     D-Bus $VERSION
1619                   ==============
1620
1621         prefix:                   ${EXPANDED_PREFIX}
1622         exec_prefix:              ${exec_prefix}
1623         libdir:                   ${EXPANDED_LIBDIR}
1624         libexecdir:               ${EXPANDED_LIBEXECDIR}
1625         bindir:                   ${EXPANDED_BINDIR}
1626         sysconfdir:               ${EXPANDED_SYSCONFDIR}
1627         localstatedir:            ${EXPANDED_LOCALSTATEDIR}
1628         datadir:                  ${EXPANDED_DATADIR}
1629         source code location:     ${srcdir}
1630         compiler:                 ${CC}
1631         cflags:                   ${CFLAGS}
1632         cppflags:                 ${CPPFLAGS}
1633         cxxflags:                 ${CXXFLAGS}
1634         64-bit int:               ${DBUS_INT64_TYPE}
1635         32-bit int:               ${DBUS_INT32_TYPE}
1636         16-bit int:               ${DBUS_INT16_TYPE}
1637         Doxygen:                  ${DOXYGEN:-not found}
1638         xmlto:                    ${XMLTO:-not found}
1639         man2html:                 ${MAN2HTML:-not found}"
1640
1641 echo "
1642         Maintainer mode:          ${USE_MAINTAINER_MODE}
1643         gcc coverage profiling:   ${enable_gcov}
1644         Building unit tests:      ${enable_tests}
1645         Building verbose mode:    ${enable_verbose_mode}
1646         Building assertions:      ${enable_asserts}
1647         Building checks:          ${enable_checks}
1648         Building SELinux support: ${have_selinux}
1649         Building inotify support: ${have_inotify}
1650         Building dnotify support: ${have_dnotify}
1651         Building kqueue support:  ${have_kqueue}
1652         Building X11 code:        ${enable_x11}
1653         Building Doxygen docs:    ${enable_doxygen_docs}
1654         Building XML docs:        ${enable_xml_docs}
1655         Building cache support:   ${enable_userdb_cache}
1656         Gettext libs (empty OK):  ${INTLLIBS}
1657         Using XML parser:         ${with_xml}
1658         Init scripts style:       ${with_init_scripts}
1659         Abstract socket names:    ${ac_cv_have_abstract_sockets}
1660         System bus socket:        ${DBUS_SYSTEM_SOCKET}
1661         System bus address:       ${DBUS_SYSTEM_BUS_DEFAULT_ADDRESS}
1662         System bus PID file:      ${DBUS_SYSTEM_PID_FILE}
1663         Session bus address:      ${DBUS_SESSION_BUS_DEFAULT_ADDRESS}
1664         Console auth dir:         ${DBUS_CONSOLE_AUTH_DIR}
1665         Console owner file:       ${have_console_owner_file}
1666         Console owner file path:  ${DBUS_CONSOLE_OWNER_FILE}
1667         System bus user:          ${DBUS_USER}
1668         Session bus services dir: ${EXPANDED_DATADIR}/dbus-1/services
1669         'make check' socket dir:  ${TEST_SOCKET_DIR}
1670 "
1671
1672 if test x$enable_tests = xyes; then
1673         echo "NOTE: building with unit tests increases the size of the installed library and renders it insecure."
1674 fi
1675 if test x$enable_tests = xyes -a x$enable_asserts = xno; then
1676         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)"
1677 fi
1678 if test x$enable_gcov = xyes; then
1679         echo "NOTE: building with coverage profiling is definitely for developers only."
1680 fi
1681 if test x$enable_verbose_mode = xyes; then
1682         echo "NOTE: building with verbose mode increases library size, may slightly increase security risk, and decreases performance."
1683 fi
1684 if test x$enable_asserts = xyes; then
1685         echo "NOTE: building with assertions increases library size and decreases performance."
1686 fi
1687 if test x$enable_checks = xno; then
1688         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."
1689 fi
1690 if test x$dbus_use_libxml = xtrue; then
1691         echo
1692         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)."
1693 fi