4 m4_define([dbus_major_version], [1])
5 m4_define([dbus_minor_version], [7])
6 m4_define([dbus_micro_version], [5])
7 m4_define([dbus_version],
8 [dbus_major_version.dbus_minor_version.dbus_micro_version])
9 AC_INIT([dbus],[dbus_version],[https://bugs.freedesktop.org/enter_bug.cgi?product=dbus],[dbus])
13 AC_CONFIG_HEADERS([config.h])
14 AC_CONFIG_MACRO_DIR([m4])
16 AM_INIT_AUTOMAKE([1.10 tar-ustar -Wno-portability])
18 GETTEXT_PACKAGE=dbus-1
19 AC_SUBST(GETTEXT_PACKAGE)
20 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[The name of the gettext domain])
22 # By default, rebuild autotools files on demand; only use ./missing if the
23 # user says --disable-maintainer-mode (some distributions like to do this)
24 AM_MAINTAINER_MODE([enable])
26 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
28 AC_DEFINE_UNQUOTED(DBUS_DAEMON_NAME,"dbus-daemon",[Name of executable])
30 # libtool versioning - this applies to libdbus
32 # See http://sources.redhat.com/autobook/autobook/autobook_91.html#SEC91 for details
35 ## increment if the interface has additions, changes, removals.
38 ## increment any time the source changes; set to
39 ## 0 if you increment CURRENT
42 ## increment if any interfaces have been added; set to 0
43 ## if any interfaces have been changed or removed. removal has
44 ## precedence over adding, so set to 0 if both happened.
51 DBUS_MAJOR_VERSION=dbus_major_version
52 DBUS_MINOR_VERSION=dbus_minor_version
53 DBUS_MICRO_VERSION=dbus_micro_version
54 DBUS_VERSION=dbus_major_version.dbus_minor_version.dbus_micro_version
56 AC_SUBST(DBUS_MAJOR_VERSION)
57 AC_SUBST(DBUS_MINOR_VERSION)
58 AC_SUBST(DBUS_MICRO_VERSION)
59 AC_SUBST(DBUS_VERSION)
64 AC_USE_SYSTEM_EXTENSIONS
71 COMPILER_OPTIMISATIONS
76 LT_LANG([Windows Resource])
78 # Set some internal variables depending on the platform for later use.
99 # Special defines for certain platforms
100 if test "$dbus_win" = yes; then
101 AC_DEFINE(DBUS_WIN,1,[Defined if we run on a W32 API based system])
102 BUILD_TIMESTAMP=`date --iso-8601=minutes`
103 AC_SUBST(BUILD_TIMESTAMP)
104 # Assume DBUS_VERSION is always three numbers
105 BUILD_FILEVERSION=`echo "$DBUS_VERSION" | sed -e 's/\./,/g'`,0
106 AC_SUBST(BUILD_FILEVERSION)
107 AC_CHECK_TOOL(WINDRES, windres, no)
108 if test "$WINDRES" = no; then
109 AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
111 if test "$dbus_wince" = yes; then
112 AC_DEFINE(DBUS_WINCE,1,[Defined if we run on a W32 CE API based system])
113 AC_DEFINE(_WIN32_WCE, 0x0502, [Defined to get newer W32 CE APIs])
116 AC_DEFINE(DBUS_UNIX,1,[Defined if we run on a Unix-based system])
118 if test "$dbus_cygwin" = yes; then
119 AC_DEFINE(DBUS_CYGWIN,1,[Defined if we run on a cygwin API based system])
122 AM_CONDITIONAL(DBUS_WIN, test "$dbus_win" = yes)
123 AM_CONDITIONAL(DBUS_WINCE, test "$dbus_wince" = yes)
124 AM_CONDITIONAL(DBUS_UNIX, test "$dbus_unix" = yes)
125 AM_CONDITIONAL(DBUS_CYGWIN, test "$dbus_cygwin" = yes)
127 # this must come first: other options use this to set their defaults
128 AC_ARG_ENABLE([developer],
129 [AS_HELP_STRING([--enable-developer],
130 [set defaults to be appropriate for a D-Bus developer instead of a distribution/end-user])],
132 [enable_developer=no])
134 DBUS_STATIC_BUILD_CPPFLAGS=
135 if test "x$enable_shared" = xno; then
136 # On Windows, linking against the static library requires special effort
137 # to turn off DLL import/export processing. We normally link some things
138 # against the dynamic library, but if we're not building that, we'll
139 # have to link everything statically.
140 DBUS_STATIC_BUILD_CPPFLAGS=-DDBUS_STATIC_BUILD
142 AC_SUBST([DBUS_STATIC_BUILD_CPPFLAGS])
144 AC_ARG_ENABLE(ansi, AS_HELP_STRING([--enable-ansi],[enable -ansi -pedantic gcc flags]),enable_ansi=$enableval,enable_ansi=no)
145 AC_ARG_ENABLE(verbose-mode, AS_HELP_STRING([--enable-verbose-mode],[support verbose debug mode]),enable_verbose_mode=$enableval,enable_verbose_mode=$enable_developer)
146 AC_ARG_ENABLE(asserts, AS_HELP_STRING([--enable-asserts],[include assertion checks]),enable_asserts=$enableval,enable_asserts=$enable_developer)
147 AC_ARG_ENABLE(checks, AS_HELP_STRING([--enable-checks],[include sanity checks on public API]),enable_checks=$enableval,enable_checks=yes)
148 AC_ARG_ENABLE(xml-docs, AS_HELP_STRING([--enable-xml-docs],[build XML documentation (requires xmlto)]),enable_xml_docs=$enableval,enable_xml_docs=auto)
149 AC_ARG_ENABLE(doxygen-docs, AS_HELP_STRING([--enable-doxygen-docs],[build DOXYGEN documentation (requires Doxygen)]),enable_doxygen_docs=$enableval,enable_doxygen_docs=auto)
150 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)
151 AC_ARG_ENABLE(selinux, AS_HELP_STRING([--enable-selinux],[build with SELinux support]),enable_selinux=$enableval,enable_selinux=auto)
152 AC_ARG_ENABLE(libaudit,AS_HELP_STRING([--enable-libaudit],[build audit daemon support for SELinux]),enable_libaudit=$enableval,enable_libaudit=auto)
153 AC_ARG_ENABLE(inotify, AS_HELP_STRING([--enable-inotify],[build with inotify support (linux only)]),enable_inotify=$enableval,enable_inotify=auto)
154 AC_ARG_ENABLE(kqueue, AS_HELP_STRING([--enable-kqueue],[build with kqueue support]),enable_kqueue=$enableval,enable_kqueue=auto)
155 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)
156 AC_ARG_ENABLE(userdb-cache, AS_HELP_STRING([--enable-userdb-cache],[build with userdb-cache support]),enable_userdb_cache=$enableval,enable_userdb_cache=yes)
157 AC_ARG_ENABLE(launchd, AS_HELP_STRING([--enable-launchd],[build with launchd auto-launch support]),enable_launchd=$enableval,enable_launchd=auto)
158 AC_ARG_ENABLE(systemd, AS_HELP_STRING([--enable-systemd],[build with systemd at_console support]),enable_systemd=$enableval,enable_systemd=auto)
159 AC_ARG_ENABLE(kdbus-transport, AS_HELP_STRING([--enable-kdbus-transport],[build with kdbus transport support]),enable_kdbus_transport=$enableval,enable_kdbus_transport=no)
160 AC_ARG_ENABLE(kdbus-for-sbb, AS_HELP_STRING([--enable-kdbus-for-sbb],[build with kdbus sbb support]),enable_kdbus_for_sbb=$enableval,enable_kdbus_for_sbb=no)
162 AC_ARG_WITH(init-scripts, AS_HELP_STRING([--with-init-scripts=[redhat]],[Style of init scripts to install]))
163 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]))
164 AC_ARG_WITH(test-socket-dir, AS_HELP_STRING([--with-test-socket-dir=[dirname]],[Where to put sockets for make check]))
165 AC_ARG_WITH(system-pid-file, AS_HELP_STRING([--with-system-pid-file=[pidfile]],[PID file for systemwide daemon]))
166 AC_ARG_WITH(system-socket, AS_HELP_STRING([--with-system-socket=[filename]],[UNIX domain socket for systemwide daemon]))
167 AC_ARG_WITH(console-auth-dir, AS_HELP_STRING([--with-console-auth-dir=[dirname]],[directory to check for console ownerhip]))
168 AC_ARG_WITH(console-owner-file, AS_HELP_STRING([--with-console-owner-file=[filename]],[file whose owner determines current console owner]))
169 AC_ARG_WITH(launchd-agent-dir, AS_HELP_STRING([--with-launchd-agent-dir=[dirname]],[directory to put the launchd agent (default: /Library/LaunchAgents)]))
170 AC_ARG_WITH(dbus_user, AS_HELP_STRING([--with-dbus-user=<user>],[User for running the DBUS daemon (messagebus)]))
171 AC_ARG_WITH(dbus_daemondir, AS_HELP_STRING([--with-dbus-daemondir=[dirname]],[Directory for installing the DBUS daemon]))
173 AC_ARG_ENABLE([embedded-tests],
174 AS_HELP_STRING([--enable-embedded-tests],
175 [enable unit test code in the library and binaries]),
176 [], [enable_embedded_tests=$enable_developer])
177 AC_ARG_ENABLE([modular-tests],
178 AS_HELP_STRING([--enable-modular-tests],
179 [enable modular regression tests (requires GLib)]),
180 [], [enable_modular_tests=auto])
181 # --enable-tests overrides both --enable-embedded-tests and
182 # --enable-modular-tests
183 AC_ARG_ENABLE([tests],
184 AS_HELP_STRING([--enable-tests],
185 [enable/disable all tests, overriding embedded-tests/modular-tests]),
187 if test "x$enableval" = xyes; then
188 AC_MSG_NOTICE([Full test coverage was requested with --enable-tests=yes])
189 AC_MSG_NOTICE([This has many dependencies (GLib, dbus-glib, Python)])
191 enable_embedded_tests=$enableval
192 enable_modular_tests=$enableval
196 # DBUS_ENABLE_EMBEDDED_TESTS controls unit tests built in to .c files
197 # and also some stuff in the test/ subdir.
198 AM_CONDITIONAL([DBUS_ENABLE_EMBEDDED_TESTS],
199 [test "x$enable_embedded_tests" = xyes])
200 if test "x$enable_embedded_tests" = xyes; then
201 AC_DEFINE([DBUS_ENABLE_EMBEDDED_TESTS], [1],
202 [Define to build test code into the library and binaries])
205 # DBUS_ENABLE_MODULAR_TESTS controls tests that work based on public API.
206 # These use GTest, from GLib, because life's too short. They're enabled by
207 # default (unless you don't have GLib), because they don't bloat the library
210 AC_DEFINE([GLIB_VERSION_MIN_REQUIRED], [GLIB_VERSION_2_26], [Ignore post-2.26 deprecations])
211 AC_DEFINE([GLIB_VERSION_MAX_ALLOWED], [GLIB_VERSION_2_32], [Prevent post-2.32 APIs])
215 AS_IF([test "x$enable_modular_tests" != xno],
217 PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.24, gio-2.0 >= 2.24],
219 [if test "x$enable_modular_tests" = xyes; then
220 AC_MSG_NOTICE([Full test coverage (--enable-modular-tests=yes or --enable-tests=yes) requires GLib])
221 AC_MSG_ERROR([$GLIB_ERRORS])
222 else # assumed to be "auto"
228 # Not required, because we can use internal APIs (but that makes the
229 # "installable tests" less useful as integration tests)
230 AC_ARG_WITH([dbus_glib],
231 [AS_HELP_STRING([--with-dbus-glib], [Use dbus-glib for regression tests])],
233 [with_dbus_glib=auto])
234 AS_IF([test "x$with_dbus_glib" != xno],
235 [PKG_CHECK_MODULES([DBUS_GLIB], [dbus-glib-1],
237 [AS_IF([test "x$with_dbus_glib" = xyes],
238 dnl specifically requested, but not found
239 [AC_MSG_ERROR([$DBUS_GLIB_ERRORS])],
240 dnl else: assumed to be "auto"
241 [with_dbus_glib=no])])])
242 AM_CONDITIONAL([DBUS_WITH_DBUS_GLIB], [test "x$with_dbus_glib" != xno])
244 if test "x$enable_modular_tests" != xno; then
245 AC_DEFINE([DBUS_ENABLE_MODULAR_TESTS], [1],
246 [Define to build independent test binaries])
248 AM_CONDITIONAL([DBUS_ENABLE_MODULAR_TESTS],
249 [test "x$enable_modular_tests" != xno])
251 if test "x$with_glib" != xno; then
252 AC_DEFINE([DBUS_WITH_GLIB], [1],
253 [Define if GLib, GObject, GIO are available])
255 AM_CONDITIONAL([DBUS_WITH_GLIB], [test "x$with_glib" != xno])
257 AC_ARG_ENABLE([installed-tests],
258 AS_HELP_STRING([--enable-installed-tests],
259 [enable unit test code in the library and binaries]),
260 [], [enable_installed_tests=no])
261 AM_CONDITIONAL([DBUS_ENABLE_INSTALLED_TESTS],
262 [test "x$enable_installed_tests" = xyes])
264 if test "x$enable_tests" = xyes; then
265 # full test coverage is required, Python is a hard dependency
266 AC_MSG_NOTICE([Full test coverage (--enable-tests=yes) requires Python, dbus-python, pygobject])
267 AM_PATH_PYTHON([2.6])
268 AC_MSG_CHECKING([for Python modules for full test coverage])
269 if "$PYTHON" -c "import dbus, gobject, dbus.mainloop.glib"; then
273 AC_MSG_ERROR([cannot import dbus, gobject, dbus.mainloop.glib Python modules])
276 # --enable-tests not given: do not abort if Python is missing
277 AM_PATH_PYTHON([2.6], [], [:])
280 if test x$enable_verbose_mode = xyes; then
281 AC_DEFINE(DBUS_ENABLE_VERBOSE_MODE,1,[Support a verbose mode])
284 if test x$enable_asserts = xno; then
285 AC_DEFINE(DBUS_DISABLE_ASSERT,1,[Disable assertion checking])
286 DISABLE_UNUSED_WARNINGS="unused-label"
288 if test x$enable_embedded_tests = xyes; then
289 DISABLE_UNUSED_WARNINGS="$DISABLE_UNUSED_WARNINGS \
290 unused-but-set-variable unused-variable \
294 # -rdynamic is needed for glibc's backtrace_symbols to work.
295 # No clue how much overhead this adds, but it's useful
296 # to do this on any assertion failure,
297 # so for now it's enabled anytime asserts are (currently not
298 # in production builds).
300 # To get -rdynamic you pass -export-dynamic to libtool.
301 AC_DEFINE(DBUS_BUILT_R_DYNAMIC,1,[whether -export-dynamic was passed to libtool])
302 R_DYNAMIC_LDFLAG=-export-dynamic
304 AC_SUBST(R_DYNAMIC_LDFLAG)
306 if test x$enable_checks = xno; then
307 AC_DEFINE(DBUS_DISABLE_CHECKS,1,[Disable public API sanity checking])
308 AC_DEFINE(G_DISABLE_CHECKS,1,[Disable GLib public API sanity checking])
309 DISABLE_UNUSED_WARNINGS="unused-label"
313 /* explicitly define these macros to get less confusing conditions */
314 #ifndef DBUS_DISABLE_ASSERT
315 # define DBUS_ENABLE_ASSERT 1
317 #ifndef DBUS_DISABLE_CHECKS
318 # define DBUS_ENABLE_CHECKS 1
321 if test x$enable_userdb_cache = xyes; then
322 AC_DEFINE(DBUS_ENABLE_USERDB_CACHE,1,[Build with caching of user data])
325 if test x$enable_compiler_coverage = xyes; then
326 ## so that config.h changes when you toggle gcov support
327 AC_DEFINE_UNQUOTED(DBUS_GCOV_ENABLED, 1, [Defined if gcov is enabled to force a rebuild due to config.h changing])
330 # glibc21.m4 serial 3
331 dnl Copyright (C) 2000-2002, 2004 Free Software Foundation, Inc.
332 dnl This file is free software; the Free Software Foundation
333 dnl gives unlimited permission to copy and/or distribute it,
334 dnl with or without modifications, as long as this notice is preserved.
336 # Test for the GNU C Library, version 2.1 or newer.
339 AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
340 ac_cv_gnu_library_2_1,
341 [AC_EGREP_CPP([Lucky GNU user],
343 #include <features.h>
344 #ifdef __GNU_LIBRARY__
345 #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
350 ac_cv_gnu_library_2_1=yes,
351 ac_cv_gnu_library_2_1=no)
357 AC_CHECK_SIZEOF(char)
358 AC_CHECK_SIZEOF(short)
359 AC_CHECK_SIZEOF(long)
361 AC_CHECK_SIZEOF(void *)
362 AC_CHECK_SIZEOF(long long)
363 AC_CHECK_SIZEOF(__int64)
365 AC_ARG_WITH([64-bit],
366 [AS_HELP_STRING([--without-64-bit],
367 [If you have to use this option, please report it as a bug])],
371 ### See what our 64 bit type is called
372 AC_MSG_CHECKING([64-bit integer type])
377 dbusint64_constant='(val)'
378 dbusuint64_constant='(val)'
379 dbusint64_printf_modifier='""'
383 dbusint64_constant='(val##L)'
384 dbusuint64_constant='(val##UL)'
385 dbusint64_printf_modifier='"l"'
387 $ac_cv_sizeof_long_long)
388 dbusint64='long long'
389 dbusint64_constant='(val##LL)'
390 dbusuint64_constant='(val##ULL)'
391 # Ideally we discover what the format is, but this is
392 # only used in verbose mode, so eh...
393 if test x"$ac_cv_gnu_library_2_1" = xyes; then
394 dbusint64_printf_modifier='"ll"'
397 $ac_cv_sizeof___int64)
399 dbusint64_constant='(val##i64)'
400 dbusuint64_constant='(val##ui64)'
402 if test x"$ac_cv_gnu_library_2_1" = xyes; then
403 dbusint64_printf_modifier='"ll"'
409 [test "x$with_64_bit" = xno],
411 DBUS_INT64_TYPE="no_int64_type_detected"
414 DBUS_UINT64_CONSTANT=
415 AC_MSG_RESULT([disabled via --without-64-bit])
418 [test -z "$dbusint64"],
419 [AC_MSG_RESULT([not found])
420 AC_MSG_ERROR([Could not find a 64-bit integer type.
422 Please report a bug here with details of your platform and compiler:
424 http://bugs.freedesktop.org/enter_bug.cgi?product=DBus&component=core
426 To compile D-Bus with all 64-bit integer types removed (not recommended), use
427 the option "--without-64-bit".
429 This option is likely to be removed in future, unless you report that your
434 DBUS_INT64_TYPE="$dbusint64"
436 DBUS_INT64_CONSTANT="$dbusint64_constant"
437 DBUS_UINT64_CONSTANT="$dbusuint64_constant"
438 if test x"$dbusint64_printf_modifier" != x; then
439 AC_DEFINE_UNQUOTED(DBUS_INT64_PRINTF_MODIFIER, [$dbusint64_printf_modifier], [Define to printf modifier for 64 bit integer type])
441 AC_MSG_RESULT($DBUS_INT64_TYPE)
444 AC_SUBST(DBUS_INT64_TYPE)
445 AC_SUBST(DBUS_INT64_CONSTANT)
446 AC_SUBST(DBUS_UINT64_CONSTANT)
447 AC_SUBST(DBUS_HAVE_INT64)
449 ### see what 32-bit int is called
450 AC_MSG_CHECKING([32-bit integer type])
464 if test -z "$dbusint32" ; then
465 DBUS_INT32_TYPE="no_int32_type_detected"
466 AC_MSG_ERROR([No 32-bit integer type found])
468 DBUS_INT32_TYPE="$dbusint32"
469 AC_MSG_RESULT($DBUS_INT32_TYPE)
472 AC_SUBST(DBUS_INT32_TYPE)
474 ### see what 16-bit int is called
475 AC_MSG_CHECKING([16-bit integer type])
486 if test -z "$dbusint16" ; then
487 DBUS_INT16_TYPE="no_int16_type_detected"
488 AC_MSG_ERROR([No 16-bit integer type found])
490 DBUS_INT16_TYPE="$dbusint16"
491 AC_MSG_RESULT($DBUS_INT16_TYPE)
494 AC_SUBST(DBUS_INT16_TYPE)
499 # check at compile-time, so that it is possible to build universal
500 # (with multiple architectures at once on the compile line)
501 AH_VERBATIM([WORDS_BIGENDIAN_DARWIN], [
502 /* Use the compiler-provided endianness defines to allow universal compiling. */
503 #if defined(__BIG_ENDIAN__)
504 #define WORDS_BIGENDIAN 1
513 dnl **********************************
514 dnl *** va_copy checks (from GLib) ***
515 dnl **********************************
516 dnl we currently check for all three va_copy possibilities, so we get
517 dnl all results in config.log for bug reports.
518 AC_CACHE_CHECK([for an implementation of va_copy()],dbus_cv_va_copy,[
519 AC_LINK_IFELSE([AC_LANG_SOURCE([#include <stdarg.h>
521 static void f (int i, ...) {
522 va_list args1, args2;
524 va_copy (args2, args1);
525 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
527 va_end (args1); va_end (args2);
533 [dbus_cv_va_copy=yes],
534 [dbus_cv_va_copy=no])
536 AC_CACHE_CHECK([for an implementation of __va_copy()],dbus_cv___va_copy,[
537 AC_LINK_IFELSE([AC_LANG_SOURCE([#include <stdarg.h>
539 static void f (int i, ...) {
540 va_list args1, args2;
542 __va_copy (args2, args1);
543 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
545 va_end (args1); va_end (args2);
551 [dbus_cv___va_copy=yes],
552 [dbus_cv___va_copy=no])
555 if test "x$dbus_cv_va_copy" = "xyes"; then
556 dbus_va_copy_func=va_copy
557 else if test "x$dbus_cv___va_copy" = "xyes"; then
558 dbus_va_copy_func=__va_copy
562 if test -n "$dbus_va_copy_func"; then
563 AC_DEFINE_UNQUOTED(DBUS_VA_COPY,$dbus_va_copy_func,[A 'va_copy' style function])
567 AC_CACHE_CHECK([whether va_lists can be copied by value],
569 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
575 static void f (int i, ...) {
576 va_list args1, args2;
579 if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
581 va_end (args1); va_end (args2);
588 [dbus_cv_va_val_copy=yes],
589 [dbus_cv_va_val_copy=no],
590 [dbus_cv_va_val_copy=yes])
594 if test "x$dbus_cv_va_val_copy" = "xno"; then
595 AC_DEFINE(DBUS_VA_COPY_AS_ARRAY,1, ['va_lists' cannot be copies as values])
601 AC_CACHE_CHECK([whether $CC knows __sync_sub_and_fetch()],
602 dbus_cv_sync_sub_and_fetch,
604 AC_LANG_PROGRAM([[]], [[int a = 4; int b = __sync_sub_and_fetch(&a, 4); exit(b); ]])],
605 [dbus_cv_sync_sub_and_fetch=yes],
606 [dbus_cv_sync_sub_and_fetch=no])
609 if test "x$dbus_cv_sync_sub_and_fetch" = "xyes" ; then
615 AC_DEFINE_UNQUOTED([DBUS_USE_SYNC], [$have_sync], [Use the gcc __sync extension])
617 #### Various functions
618 AC_SEARCH_LIBS(socket,[socket network])
619 AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
621 AC_CHECK_FUNCS(vsnprintf vasprintf nanosleep usleep setenv clearenv unsetenv socketpair getgrouplist fpathconf setrlimit poll setlocale localeconv strtoll strtoull issetugid getresuid)
623 AC_CHECK_HEADERS([syslog.h])
624 if test "x$ac_cv_header_syslog_h" = "xyes"; then
625 AC_CHECK_DECLS([LOG_PERROR], [], [], [[#include <syslog.h>]])
628 #### Check for broken poll; taken from Glib's configure
630 AC_MSG_CHECKING([for broken poll])
631 AC_RUN_IFELSE([AC_LANG_SOURCE([[
635 #ifdef HAVE_SYS_POLL_H
636 #include <sys/poll.h>
639 struct pollfd fds[1];
641 fd = open("/dev/null", 1);
643 fds[0].events = POLLIN;
645 if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) {
646 exit(1); /* Does not work for devices -- fail */
652 AC_DEFINE(BROKEN_POLL,1,[poll doesn't work on devices])],
653 [broken_poll="no (cross compiling)"])
654 AC_MSG_RESULT($broken_poll)
656 AC_MSG_CHECKING(for dirfd)
657 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
658 #include <sys/types.h>
666 [dbus_have_dirfd=yes],
667 [dbus_have_dirfd=no])
668 AC_MSG_RESULT($dbus_have_dirfd)
669 if test "$dbus_have_dirfd" = yes; then
670 AC_DEFINE(HAVE_DIRFD,1,[Have dirfd function])
672 AC_MSG_CHECKING(for DIR *dirp->dd_fd)
673 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
674 #include <sys/types.h>
683 [dbus_have_ddfd=yes],
685 AC_MSG_RESULT($dbus_have_ddfd)
686 if test "$dbus_have_ddfd" = yes; then
687 AC_DEFINE(HAVE_DDFD,1,[Have the ddfd member of DIR])
691 AC_CHECK_HEADERS(sys/resource.h)
693 AC_CHECK_HEADERS(dirent.h)
695 AC_CHECK_HEADERS(execinfo.h, [AC_CHECK_FUNCS(backtrace)])
697 AC_CHECK_HEADERS(errno.h)
699 AC_CHECK_HEADERS(signal.h)
701 AC_CHECK_HEADERS(locale.h)
703 AC_CHECK_HEADERS(byteswap.h)
705 AC_CHECK_HEADERS(unistd.h)
707 AC_CHECK_HEADERS(ws2tcpip.h)
709 AC_CHECK_HEADERS(wspiapi.h)
711 AC_CHECK_HEADERS(alloca.h)
713 # Add -D_POSIX_PTHREAD_SEMANTICS if on Solaris
717 CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS" ;;
720 # checking for a posix version of getpwnam_r
721 # if we are cross compiling and can not run the test
722 # assume getpwnam_r is the posix version
723 # it is up to the person cross compiling to change
724 # this behavior if desired
726 AC_CACHE_CHECK([for posix getpwnam_r],
727 ac_cv_func_posix_getpwnam_r,
728 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
735 struct passwd pwd, *pwptr = &pwd;
738 error = getpwnam_r ("", &pwd, buffer,
739 sizeof (buffer), &pwptr);
740 return (error < 0 && errno == ENOSYS)
743 [ac_cv_func_posix_getpwnam_r=yes],
744 [ac_cv_func_posix_getpwnam_r=no],
745 [ac_cv_func_posix_getpwnam_r=yes]
749 if test "$ac_cv_func_posix_getpwnam_r" = yes; then
750 AC_DEFINE(HAVE_POSIX_GETPWNAM_R,1,
751 [Have POSIX function getpwnam_r])
753 AC_CACHE_CHECK([for nonposix getpwnam_r],
754 ac_cv_func_nonposix_getpwnam_r,
755 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pwd.h>]], [[char buffer[10000];
757 getpwnam_r ("", &pwd, buffer,
758 sizeof (buffer));]])],
759 [ac_cv_func_nonposix_getpwnam_r=yes],
760 [ac_cv_func_nonposix_getpwnam_r=no])])
761 if test "$ac_cv_func_nonposix_getpwnam_r" = yes; then
762 AC_DEFINE(HAVE_NONPOSIX_GETPWNAM_R,1,
763 [Have non-POSIX function getpwnam_r])
767 dnl check for socklen_t
768 AC_MSG_CHECKING(whether socklen_t is defined)
769 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
770 #include <sys/types.h>
771 #include <sys/socket.h>
777 [dbus_have_socklen_t=yes],
778 [dbus_have_socklen_t=no])
779 AC_MSG_RESULT($dbus_have_socklen_t)
781 if test "x$dbus_have_socklen_t" = "xyes"; then
782 AC_DEFINE(HAVE_SOCKLEN_T,1,[Have socklen_t type])
785 dnl check for writev header and writev function so we're
786 dnl good to go if HAVE_WRITEV gets defined.
787 AC_CHECK_HEADERS(sys/uio.h, [AC_CHECK_FUNCS(writev)])
789 dnl needed on darwin for NAME_MAX
790 AC_CHECK_HEADERS(sys/syslimits.h)
792 dnl Make it easy to check if we have MSG_NOSIGNAL without actually having to include sys/socket.h
793 AC_CHECK_DECLS([MSG_NOSIGNAL], [], [], [[ #include <sys/types.h>
794 #include <sys/socket.h> ]])
796 dnl check for flavours of varargs macros (test from GLib)
797 AC_MSG_CHECKING(for ISO C99 varargs macros in C)
798 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
799 int a(int p1, int p2, int p3);
800 #define call_a(...) a(1,__VA_ARGS__)
803 [dbus_have_iso_c_varargs=yes],
804 [dbus_have_iso_c_varargs=no])
805 AC_MSG_RESULT($dbus_have_iso_c_varargs)
807 AC_MSG_CHECKING(for GNUC varargs macros)
808 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
809 int a(int p1, int p2, int p3);
810 #define call_a(params...) a(1,params)
813 [dbus_have_gnuc_varargs=yes],
814 [dbus_have_gnuc_varargs=no])
815 AC_MSG_RESULT($dbus_have_gnuc_varargs)
817 dnl Output varargs tests
818 if test x$dbus_have_iso_c_varargs = xyes; then
819 AC_DEFINE(HAVE_ISO_VARARGS,1,[Have ISO C99 varargs macros])
821 if test x$dbus_have_gnuc_varargs = xyes; then
822 AC_DEFINE(HAVE_GNUC_VARARGS,1,[Have GNU-style varargs macros])
825 dnl Check for various credentials.
826 AC_MSG_CHECKING(for struct cmsgcred)
827 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
828 #include <sys/types.h>
829 #include <sys/socket.h>
831 struct cmsgcred cred;
835 [dbus_have_struct_cmsgcred=yes],
836 [dbus_have_struct_cmsgcred=no])
837 AC_MSG_RESULT($dbus_have_struct_cmsgcred)
839 if test x$dbus_have_struct_cmsgcred = xyes; then
840 AC_DEFINE(HAVE_CMSGCRED,1,[Have cmsgcred structure])
843 AC_CHECK_FUNCS(getpeerucred getpeereid)
845 AC_CHECK_FUNCS(pipe2 accept4)
847 #### Abstract sockets
849 if test x$enable_abstract_sockets != xno; then
852 AC_CACHE_CHECK([abstract socket namespace],
853 ac_cv_have_abstract_sockets,
854 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
856 #include <sys/types.h>
860 #include <sys/socket.h>
867 struct sockaddr_un addr;
869 listen_fd = socket (PF_UNIX, SOCK_STREAM, 0);
873 fprintf (stderr, "socket() failed: %s\n", strerror (errno));
877 memset (&addr, '\0', sizeof (addr));
878 addr.sun_family = AF_UNIX;
879 strcpy (addr.sun_path, "X/tmp/dbus-fake-socket-path-used-in-configure-test");
880 /* SUN_LEN uses strlen() so need to calculate it before adding \0 at the
883 slen = SUN_LEN(&addr);
884 addr.sun_path[0] = '\0'; /* this is what makes it abstract */
886 if (bind (listen_fd, (struct sockaddr*) &addr, slen) < 0)
888 fprintf (stderr, "Abstract socket namespace bind() failed: %s\n",
895 [ac_cv_have_abstract_sockets=yes],
896 [ac_cv_have_abstract_sockets=no],
898 ac_cv_have_abstract_sockets=no
902 if test x$warn_on_xcompile = xyes ; then
903 AC_MSG_WARN([Cannot check for abstract sockets when cross-compiling, please use --enable-abstract-sockets])
908 if test x$enable_abstract_sockets = xyes; then
909 if test x$ac_cv_have_abstract_sockets = xno; then
910 AC_MSG_ERROR([Abstract sockets explicitly required, and support not detected.])
914 if test x$enable_abstract_sockets = xno; then
915 ac_cv_have_abstract_sockets=no;
918 if test x$ac_cv_have_abstract_sockets = xyes ; then
919 DBUS_PATH_OR_ABSTRACT=abstract
920 AC_DEFINE(HAVE_ABSTRACT_SOCKETS,1,[Have abstract socket namespace])
922 DBUS_PATH_OR_ABSTRACT=path
925 # this is used in addresses to prefer abstract, e.g.
926 # unix:path=/foo or unix:abstract=/foo
927 AC_SUBST(DBUS_PATH_OR_ABSTRACT)
931 #### Sort out XML library
933 AC_CHECK_LIB(expat, XML_ParserCreate_MM,
934 [ AC_CHECK_HEADERS(expat.h, [],
935 [AC_MSG_ERROR([Could not find expat.h, check config.log for failed attempts])]) ],
936 [ AC_MSG_ERROR([Explicitly requested expat but expat not found]) ])
940 AC_SUBST([XML_CFLAGS])
943 # Thread lib detection
944 AC_ARG_VAR([THREAD_LIBS])
946 LIBS="$LIBS $THREAD_LIBS"
948 is_missing_pthread_function="is required when compiling D-Bus on Unix platforms, but is not in your libc or libpthread. Please open a bug on https://bugs.freedesktop.org/enter_bug.cgi?product=dbus with details of your platform."
950 # Don't do these automatic checks if the user set THREAD_LIBS on the
951 # configure command-line. If they did, we assume they're right.
953 # We also don't do these checks on Windows, because you don't need magical
954 # linker flags to have threading support there.
955 AS_IF([test "x$dbus_unix" = xyes && test "x$THREAD_LIBS" = x],
957 # Mandatory pthread functions. In principle, some of these could be made
958 # optional if there are platforms that don't have them.
960 # Currently, we only look in -lpthread.
961 # In principle we might need to look in -lpthreads, -lthreads, ...
962 # as well - please file a bug if your platform needs this.
963 AC_SEARCH_LIBS([pthread_cond_timedwait],
965 [THREAD_LIBS="$LIBS"],
966 [AC_MSG_ERROR([pthread_cond_timedwait $is_missing_pthread_function])],
968 AC_SEARCH_LIBS([pthread_mutexattr_init],
970 [THREAD_LIBS="$LIBS"],
971 [AC_MSG_ERROR([pthread_mutexattr_init $is_missing_pthread_function])],
973 AC_SEARCH_LIBS([pthread_mutexattr_settype],
975 [THREAD_LIBS="$LIBS"],
976 [AC_MSG_ERROR([pthread_mutexattr_settype $is_missing_pthread_function])],
979 # Optional, for monotonic clocks. Because it's optional, this check
980 # is non-fatal if we don't find it.
981 AC_SEARCH_LIBS([pthread_condattr_setclock],
983 [THREAD_LIBS="$LIBS"])
985 AS_IF([test "x$ac_cv_search_pthread_condattr_setclock" != xno],
987 AC_SEARCH_LIBS([clock_getres], [rt], [THREAD_LIBS="$LIBS"])
988 AC_MSG_CHECKING([for CLOCK_MONOTONIC])
989 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
993 struct timespec monotonic_timer;
994 pthread_condattr_t attr;
995 pthread_condattr_init (&attr);
996 pthread_condattr_setclock (&attr, CLOCK_MONOTONIC);
997 clock_getres (CLOCK_MONOTONIC,&monotonic_timer);
999 [have_clock_monotonic=true],
1000 [have_clock_monotonic=false])
1001 AS_IF([test x$have_clock_monotonic = xtrue],
1003 AC_MSG_RESULT([found])
1004 AC_DEFINE(HAVE_MONOTONIC_CLOCK, 1, [Define if we have CLOCK_MONOTONIC])
1006 [AC_MSG_RESULT([not found])])
1007 ]) dnl have pthread_condattr_setclock
1012 AC_SUBST([THREAD_LIBS])
1015 if test x$enable_selinux = xno ; then
1018 # See if we have SELinux library
1019 AC_CHECK_LIB(selinux, is_selinux_enabled,
1020 have_selinux=yes, have_selinux=no)
1022 # see if we have the SELinux header with the new D-Bus stuff in it
1023 if test x$have_selinux = xyes ; then
1024 AC_MSG_CHECKING([for DBUS Flask permissions in selinux/av_permissions.h])
1025 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <selinux/av_permissions.h>]],
1026 [[#ifdef DBUS__ACQUIRE_SVC return 0;
1028 #error DBUS__ACQUIRE_SVC not defined
1032 AC_MSG_RESULT($have_selinux)
1035 if test x$enable_selinux = xauto ; then
1036 if test x$have_selinux = xno ; then
1037 AC_MSG_WARN([Sufficiently new SELinux library not found])
1040 if test x$have_selinux = xno ; then
1041 AC_MSG_ERROR([SElinux explicitly required, and SELinux library not found])
1046 AM_CONDITIONAL(HAVE_SELINUX, test x$have_selinux = xyes)
1048 if test x$have_selinux = xyes ; then
1049 # the selinux code creates threads
1050 # which requires libpthread even on linux
1051 AC_CHECK_FUNC(pthread_create,,[AC_CHECK_LIB(pthread,pthread_create,
1052 [SELINUX_THREAD_LIBS="-lpthread"])])
1054 SELINUX_LIBS="-lselinux $SELINUX_THREAD_LIBS"
1055 AC_DEFINE(HAVE_SELINUX,1,[SELinux support])
1061 if test x$enable_inotify = xno ; then
1064 AC_CHECK_HEADERS(sys/inotify.h, have_inotify=yes, have_inotify=no)
1067 dnl check if inotify backend is enabled
1068 if test x$have_inotify = xyes; then
1069 AC_DEFINE(DBUS_BUS_ENABLE_INOTIFY,1,[Use inotify])
1070 AC_CHECK_FUNCS(inotify_init1)
1073 AM_CONDITIONAL(DBUS_BUS_ENABLE_INOTIFY, test x$have_inotify = xyes)
1075 # For simplicity, we require the userland API for epoll_create1 at
1076 # compile-time (glibc 2.9), but we'll run on kernels that turn out
1077 # not to have it at runtime.
1078 AC_ARG_ENABLE([epoll],
1079 [AS_HELP_STRING([--enable-epoll],[use epoll(4) on Linux])],
1080 [enable_epoll=$enableval], [enable_epoll=auto])
1081 if test x$enable_epoll = xno; then
1084 AC_MSG_CHECKING([for Linux epoll(4)])
1085 AC_LINK_IFELSE([AC_LANG_PROGRAM(
1088 #error This is not Linux
1090 #include <sys/epoll.h>
1092 [epoll_create1 (EPOLL_CLOEXEC);])],
1093 [have_linux_epoll=yes],
1094 [have_linux_epoll=no])
1095 AC_MSG_RESULT([$have_linux_epoll])
1097 if test x$enable_epoll,$have_linux_epoll = xyes,no; then
1098 AC_MSG_ERROR([epoll support explicitly enabled but not available])
1100 if test x$have_linux_epoll = xyes; then
1101 AC_DEFINE([DBUS_HAVE_LINUX_EPOLL], 1, [Define to use epoll(4) on Linux])
1103 AM_CONDITIONAL([HAVE_LINUX_EPOLL], [test x$have_linux_epoll = xyes])
1106 if test x$enable_kqueue = xno ; then
1110 AC_CHECK_HEADER(sys/event.h, , have_kqueue=no)
1111 AC_CHECK_FUNC(kqueue, , have_kqueue=no)
1113 if test x$enable_kqueue = xyes -a x$have_kqueue = xno; then
1114 AC_MSG_ERROR(kqueue support explicitly enabled but not available)
1118 dnl check if kqueue backend is enabled
1119 if test x$have_kqueue = xyes; then
1120 AC_DEFINE(DBUS_BUS_ENABLE_KQUEUE,1,[Use kqueue])
1123 AM_CONDITIONAL(DBUS_BUS_ENABLE_KQUEUE, test x$have_kqueue = xyes)
1126 if test x$enable_launchd = xno ; then
1130 AC_CHECK_HEADER([launch.h], , have_launchd=no)
1131 AC_PATH_PROG([LAUNCHCTL], [launchctl])
1132 if test "x$LAUNCHCTL" = "x"; then
1136 if test x$enable_launchd = xyes && test x$have_launchd = xno ; then
1137 AC_MSG_ERROR([launchd support explicitly enabled but not available])
1141 dnl check if launchd is enabled
1142 if test x$have_launchd = xyes; then
1143 AC_DEFINE(DBUS_ENABLE_LAUNCHD,1,[Use launchd autolaunch])
1146 AM_CONDITIONAL(DBUS_ENABLE_LAUNCHD, test x$have_launchd = xyes)
1148 #### Directory to place launchd agent file
1149 if test "x$with_launchd_agent_dir" = "x"; then
1150 LAUNCHD_AGENT_DIR="/Library/LaunchAgents"
1152 LAUNCHD_AGENT_DIR="$with_launchd_agent_dir"
1155 AC_SUBST(LAUNCHD_AGENT_DIR)
1157 dnl console owner file
1158 if test x$enable_console_owner_file = xno ; then
1159 have_console_owner_file=no;
1163 have_console_owner_file=yes;
1164 AC_DEFINE(HAVE_CONSOLE_OWNER_FILE,1,[Have console owner file])
1167 have_console_owner_file=no;;
1171 AM_CONDITIONAL(HAVE_CONSOLE_OWNER_FILE, test x$have_console_owner_file = xyes)
1173 dnl systemd detection
1174 if test x$enable_systemd = xno ; then
1177 PKG_CHECK_MODULES(SYSTEMD,
1178 [libsystemd-login >= 32, libsystemd-daemon >= 32],
1183 if test x$have_systemd = xyes; then
1184 AC_DEFINE(HAVE_SYSTEMD,1,[Have systemd])
1187 if test x$enable_systemd = xyes -a x$have_systemd != xyes ; then
1188 AC_MSG_ERROR([Explicitly requested systemd support, but systemd not found])
1191 # libaudit detection
1192 if test x$enable_libaudit = xno ; then
1195 # See if we have audit daemon & capabilities library
1196 AC_CHECK_LIB(audit, audit_log_user_avc_message,
1197 have_libaudit=yes, have_libaudit=no)
1198 if test x$have_libaudit = xyes ; then
1199 AC_CHECK_LIB(cap-ng, capng_clear,
1200 have_libaudit=yes, have_libaudit=no)
1204 AM_CONDITIONAL(HAVE_LIBAUDIT, test x$have_libaudit = xyes)
1206 if test x$have_libaudit = xyes ; then
1207 SELINUX_LIBS="$SELINUX_LIBS -laudit -lcap-ng"
1208 AC_DEFINE(HAVE_LIBAUDIT,1,[audit daemon SELinux support])
1211 AC_SUBST([SELINUX_LIBS])
1213 # Check for ADT API (Solaris Basic Security Mode auditing)
1214 AC_MSG_CHECKING(for ADT API)
1215 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1216 #include <bsm/adt.h>
1217 adt_user_context = ADT_USER;
1218 ]], [[]])], [ check_adt_audit=yes ], [ check_adt_audit=no ])
1220 if test ${check_adt_audit} = yes
1222 AC_DEFINE([HAVE_ADT], [], [Adt audit API])
1229 AC_SUBST([ADT_LIBS])
1231 # Check for SCM_RIGHTS
1232 AC_MSG_CHECKING([for SCM_RIGHTS])
1233 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1234 #include <sys/types.h>
1235 #include <sys/socket.h>
1237 static int x = SCM_RIGHTS;
1239 [ AC_MSG_RESULT([supported])
1240 AC_DEFINE([HAVE_UNIX_FD_PASSING], [1], [Supports sending UNIX file descriptors]) ],
1241 [ AC_MSG_RESULT([not supported]) ])
1244 if test x$dbus_win = xyes ; then
1245 if test x$dbus_wince = xyes ; then
1246 NETWORK_libs="-lws2"
1248 NETWORK_libs="-lws2_32 -liphlpapi"
1252 AC_SUBST([NETWORK_libs])
1254 AC_ARG_WITH([valgrind],
1255 [AS_HELP_STRING([--with-valgrind],
1256 [Add instrumentation to help valgrind to understand our allocator])],
1260 if test x$with_valgrind != xno; then
1261 PKG_CHECK_MODULES([VALGRIND], [valgrind >= 3.6])
1262 AC_DEFINE([WITH_VALGRIND], [1], [Define to add Valgrind instrumentation])
1265 # Determine maximum number of Unix fds which may be passed
1268 [DEFAULT_MESSAGE_UNIX_FDS=256],
1270 [DEFAULT_MESSAGE_UNIX_FDS=1024])
1271 AC_DEFINE_UNQUOTED([DBUS_DEFAULT_MESSAGE_UNIX_FDS],
1272 [$DEFAULT_MESSAGE_UNIX_FDS],
1273 [Default for dbus_connection_get_max_message_unix_fds()])
1274 AC_SUBST([DEFAULT_MESSAGE_UNIX_FDS])
1277 if test x$enable_kdbus_transport = xyes; then
1280 #AC_SUBST([KDBUS_LIBS])
1281 AC_DEFINE(ENABLE_KDBUS_TRANSPORT,1,[Enable kdbus transport support])
1286 AM_CONDITIONAL([ENABLE_KDBUS_TRANSPORT], [test x$enable_kdbus_transport = xyes])
1289 if test x$enable_kdbus_for_sbb = xyes; then
1292 #AC_SUBST([KDBUS_LIBS])
1293 AC_DEFINE(KDBUS_FOR_SBB,1,[Enable SBB support])
1298 AM_CONDITIONAL([ENABLE_KDBUS_FOR_SBB], [test x$enable_kdbus_for_sbb = xyes])
1300 #### Set up final flags
1301 LIBDBUS_LIBS="$THREAD_LIBS $NETWORK_libs $KDBUS_LIBS"
1302 AC_SUBST([LIBDBUS_LIBS])
1309 AC_ARG_ENABLE([x11-autolaunch],
1310 AS_HELP_STRING([--enable-x11-autolaunch], [build with X11 auto-launch support]),
1311 [], [enable_x11_autolaunch=auto])
1313 if test "x$dbus_win" = xyes; then
1314 if test "x$enable_x11_autolaunch" = xyes; then
1315 AC_MSG_ERROR([X11 auto-launch is not supported on Windows])
1318 enable_x11_autolaunch=no
1323 if test "x$no_x" = xyes; then
1327 DBUS_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
1328 DBUS_X_CFLAGS="$X_CFLAGS"
1332 if test "x$enable_x11_autolaunch,$have_x11" = xyes,no; then
1333 AC_MSG_ERROR([X11 auto-launch requires X headers/libraries])
1335 # move from "auto" to "yes" or "no" if necessary
1336 if test "x$enable_x11_autolaunch" != xno; then
1337 enable_x11_autolaunch="$have_x11"
1341 if test "x$have_x11" = xyes ; then
1342 AC_DEFINE([DBUS_BUILD_X11], [1], [Define to build X11 functionality])
1345 if test "x$enable_x11_autolaunch" = xyes ; then
1346 AC_DEFINE([DBUS_ENABLE_X11_AUTOLAUNCH], [1], [Define to enable X11 auto-launch])
1349 AC_SUBST([DBUS_X_CFLAGS])
1350 AC_SUBST([DBUS_X_LIBS])
1352 #### gcc warning flags
1354 cc_supports_flag() {
1355 AC_MSG_CHECKING(whether $CC supports "$*")
1356 save_CFLAGS="$CFLAGS"
1358 AC_TRY_COMPILE([], [], [rc=yes], [rc=no])
1359 CFLAGS="$save_CFLAGS"
1360 AC_MSG_RESULT([$rc])
1364 TP_COMPILER_WARNINGS([WARNING_CFLAGS],
1365 dnl Use -Werror by default if:
1366 dnl - we're not on Windows (too many warnings), and
1367 dnl - we're in developer mode (a D-Bus developer, not a distro or end-user)
1368 dnl Override with --enable-Werror or --disable-Werror
1369 [test x$dbus_win != xyes -a x$dbus_cygwin != xyes -a x$enable_developer = xyes],
1371 dnl Enable these warnings if possible:
1375 missing-declarations \
1376 missing-prototypes \
1382 declaration-after-statement \
1385 dnl Disable these warnings if possible, make them non-fatal if possible,
1386 dnl and don't enable -Werror unless we succeeded.
1389 dnl - $DISABLE_UNUSED_WARNINGS disables unused-label warnings if not
1390 dnl checking or not asserting
1391 dnl - missing field initializers being 0 is a C feature, not a bug
1392 dnl - unused-parameter is to make writing callbacks less annoying
1394 dnl To be fixed one day:
1395 dnl - sign-compare and pointer-sign are workarounds for fd.o #17433
1396 dnl - type-limits is probably a bug too, but having the rest of -Wextra
1397 dnl is better than nothing
1398 [$DISABLE_UNUSED_WARNINGS \
1399 missing-field-initializers \
1406 if test "x$GCC" = "xyes"; then
1407 # We're treating -fno-common like a warning: it makes the linker more
1408 # strict, because on some systems the linker is *always* this strict
1409 TP_ADD_COMPILER_FLAG([WARNING_CFLAGS], [-fno-common])
1411 # http://bugs.freedesktop.org/show_bug.cgi?id=10599
1412 TP_ADD_COMPILER_FLAG([WARNING_CFLAGS], [-fno-strict-aliasing])
1414 if test "x$enable_ansi" = "xyes"; then
1415 TP_ADD_COMPILER_FLAG([WARNING_CFLAGS],
1416 [-ansi -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE -pedantic])
1420 dnl In principle we should put WARNING_CFLAGS in each Makefile.am like
1421 dnl telepathy-glib does, since CFLAGS is meant to be reserved for the user...
1422 dnl but prepending to CFLAGS (so the user can override it with later CFLAGS)
1423 dnl is the next best thing
1424 CFLAGS="$WARNING_CFLAGS $CFLAGS"
1428 # Solaris' C library apparently needs these runes to be threadsafe...
1429 CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT"
1430 # ... this opt-in to get sockaddr_in6 and sockaddr_storage...
1431 CFLAGS="$CFLAGS -D__EXTENSIONS__"
1432 # ... and this opt-in to get file descriptor passing support
1433 CFLAGS="$CFLAGS -D_XOPEN_SOURCE=500"
1437 ### Doxygen Documentation
1439 AC_PATH_PROG(DOXYGEN, doxygen, no)
1441 AC_MSG_CHECKING([whether to build Doxygen documentation])
1443 if test x$DOXYGEN = xno ; then
1449 if test x$enable_doxygen_docs = xauto ; then
1450 if test x$have_doxygen = xno ; then
1451 enable_doxygen_docs=no
1453 enable_doxygen_docs=yes
1457 if test x$enable_doxygen_docs = xyes; then
1458 if test x$have_doxygen = xno; then
1459 AC_MSG_ERROR([Building Doxygen docs explicitly required, but Doxygen not found])
1463 AM_CONDITIONAL(DBUS_DOXYGEN_DOCS_ENABLED, test x$enable_doxygen_docs = xyes)
1464 AC_MSG_RESULT($enable_doxygen_docs)
1466 AC_CHECK_PROGS([XSLTPROC], [xsltproc])
1467 AM_CONDITIONAL([DBUS_HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"])
1469 ### XML Documentation
1471 AC_PATH_PROG(XMLTO, xmlto, no)
1473 AC_MSG_CHECKING([whether to build XML documentation])
1475 if test x$XMLTO = xno ; then
1481 if test x$enable_xml_docs = xauto ; then
1482 if test x$have_xmlto = xno ; then
1489 if test x$enable_xml_docs = xyes; then
1490 if test x$have_xmlto = xno; then
1491 AC_MSG_ERROR([Building XML docs explicitly required, but xmlto not found])
1495 AM_CONDITIONAL(DBUS_XML_DOCS_ENABLED, test x$enable_xml_docs = xyes)
1496 AC_MSG_RESULT($enable_xml_docs)
1498 AM_CONDITIONAL(DBUS_CAN_UPLOAD_DOCS,
1499 [test x$enable_doxygen_docs = xyes && test x$enable_xml_docs = xyes])
1501 #### Have to go $localstatedir->$prefix/var->/usr/local/var
1503 #### find the actual value for $prefix that we'll end up with
1504 ## (I know this is broken and should be done in the Makefile, but
1505 ## that's a major pain and almost nobody actually seems to care)
1506 AS_AC_EXPAND(EXPANDED_PREFIX, "$prefix")
1507 AS_AC_EXPAND(EXPANDED_LOCALSTATEDIR, "$localstatedir")
1508 AS_AC_EXPAND(EXPANDED_SYSCONFDIR, "$sysconfdir")
1509 AS_AC_EXPAND(EXPANDED_BINDIR, "$bindir")
1510 AS_AC_EXPAND(EXPANDED_LIBDIR, "$libdir")
1511 AS_AC_EXPAND(EXPANDED_LIBEXECDIR, "$libexecdir")
1512 AS_AC_EXPAND(EXPANDED_DATADIR, "$datadir")
1514 #### Check our operating system
1515 operating_system=unknown
1516 if test -f /etc/redhat-release || test -f $EXPANDED_SYSCONFDIR/redhat-release ; then
1517 operating_system=redhat
1520 if test -f /etc/slackware-version || test -f $EXPANDED_SYSCONFDIR/slackware-version ; then
1521 operating_system=slackware
1524 if test -f /usr/bin/cygwin1.dll || test -f $EXPANDED_BINDIR/cygwin1.dll ; then
1525 operating_system=cygwin
1528 #### Sort out init scripts
1530 if test x$with_init_scripts = x; then
1531 case x$operating_system in
1532 xredhat) with_init_scripts=redhat ;;
1533 xslackware) with_init_scripts=slackware ;;
1534 xcygwin) with_init_scripts=cygwin ;;
1535 *) with_init_scripts=none ;;
1539 AM_CONDITIONAL(DBUS_INIT_SCRIPTS_RED_HAT, test x$with_init_scripts = xredhat)
1540 AM_CONDITIONAL(DBUS_INIT_SCRIPTS_SLACKWARE, test x$with_init_scripts = xslackware)
1541 AM_CONDITIONAL(DBUS_INIT_SCRIPTS_CYGWIN, test x$with_init_scripts = xcygwin)
1543 ##### systemd unit files
1544 AC_ARG_WITH([systemdsystemunitdir],
1545 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
1548 PKG_CHECK_EXISTS([systemd],
1549 [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)],
1550 [with_systemdsystemunitdir=no])
1552 if test "x$with_systemdsystemunitdir" != xno; then
1553 AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1555 AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
1557 ##### Set up location for system bus socket
1558 if ! test -z "$with_system_socket"; then
1559 DBUS_SYSTEM_SOCKET=$with_system_socket
1561 DBUS_SYSTEM_SOCKET=${EXPANDED_LOCALSTATEDIR}/run/dbus/system_bus_socket
1564 AC_SUBST(DBUS_SYSTEM_SOCKET)
1565 AC_DEFINE_UNQUOTED(DBUS_SYSTEM_SOCKET,"$DBUS_SYSTEM_SOCKET",[The name of the socket the system bus listens on by default])
1567 ## System bus only listens on local domain sockets, and never
1568 ## on an abstract socket (so only root can create the socket).
1570 ## This won't work on Windows. It's not meant to - the system bus is
1571 ## meaningless on Windows anyway.
1573 ## This has to be suitable for hard-coding in client libraries as well as
1574 ## in the dbus-daemon's configuration, so it has to be valid to listen on
1575 ## and also to connect to. If this ever changes, it'll need to be split into
1576 ## two variables, one for the listening address and one for the connecting
1578 DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="unix:path=$DBUS_SYSTEM_SOCKET"
1579 AC_SUBST(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS)
1580 AC_DEFINE_UNQUOTED(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS, "$DBUS_SYSTEM_BUS_DEFAULT_ADDRESS",[The default D-Bus address of the system bus])
1582 #### Set up the pid file
1583 if ! test -z "$with_system_pid_file"; then
1584 DBUS_SYSTEM_PID_FILE=$with_system_pid_file
1585 elif test x$with_init_scripts = xredhat ; then
1586 DBUS_SYSTEM_PID_FILE=${EXPANDED_LOCALSTATEDIR}/run/messagebus.pid
1588 DBUS_SYSTEM_PID_FILE=${EXPANDED_LOCALSTATEDIR}/run/dbus/pid
1591 AC_SUBST(DBUS_SYSTEM_PID_FILE)
1593 #### Directory to check for console ownership
1594 if ! test -z "$with_console_auth_dir"; then
1595 DBUS_CONSOLE_AUTH_DIR=$with_console_auth_dir
1597 DBUS_CONSOLE_AUTH_DIR=/var/run/console/
1600 AC_SUBST(DBUS_CONSOLE_AUTH_DIR)
1601 AC_DEFINE_UNQUOTED(DBUS_CONSOLE_AUTH_DIR, "$DBUS_CONSOLE_AUTH_DIR", [Directory to check for console ownerhip])
1603 #### File to check for console ownership
1604 if test x$have_console_owner_file = xyes; then
1605 if ! test -z "$with_console_owner_file"; then
1606 DBUS_CONSOLE_OWNER_FILE=$with_console_owner_file
1608 DBUS_CONSOLE_OWNER_FILE=/dev/console
1611 DBUS_CONSOLE_OWNER_FILE=
1614 AC_SUBST(DBUS_CONSOLE_OWNER_FILE)
1615 AC_DEFINE_UNQUOTED(DBUS_CONSOLE_OWNER_FILE, "$DBUS_CONSOLE_OWNER_FILE", [File to check for console ownerhip])
1617 #### User to start the system bus as
1618 if test -z "$with_dbus_user" ; then
1619 DBUS_USER=messagebus
1621 DBUS_USER=$with_dbus_user
1624 AC_DEFINE_UNQUOTED(DBUS_USER,"$DBUS_USER", [User for running the system BUS daemon])
1626 #### Prefix to install into
1627 DBUS_PREFIX=$EXPANDED_PREFIX
1628 AC_SUBST(DBUS_PREFIX)
1629 AC_DEFINE_UNQUOTED(DBUS_PREFIX,"$DBUS_PREFIX", [Prefix for installing DBUS])
1631 #### Direcotry to install data files into
1632 DBUS_DATADIR=$EXPANDED_DATADIR
1633 AC_SUBST(DBUS_DATADIR)
1634 AC_DEFINE_UNQUOTED(DBUS_DATADIR,"$DBUS_DATADIR", [Directory for installing DBUS data files])
1636 #### Directory to install dbus-daemon
1637 if test -z "$with_dbus_daemondir" ; then
1638 DBUS_DAEMONDIR=$EXPANDED_BINDIR
1640 DBUS_DAEMONDIR=$with_dbus_daemondir
1642 AC_SUBST(DBUS_DAEMONDIR)
1643 AC_DEFINE_UNQUOTED(DBUS_DAEMONDIR,"$DBUS_DAEMONDIR", [Directory for installing the DBUS daemon])
1645 #### Directory to install the other binaries
1646 DBUS_BINDIR="$EXPANDED_BINDIR"
1647 AC_SUBST(DBUS_BINDIR)
1648 AC_DEFINE_UNQUOTED(DBUS_BINDIR,"$DBUS_BINDIR", [Directory for installing the binaries])
1650 #### Directory to install the libexec binaries
1651 DBUS_LIBEXECDIR="$EXPANDED_LIBEXECDIR"
1652 AC_SUBST(DBUS_LIBEXECDIR)
1653 AC_DEFINE_UNQUOTED(DBUS_LIBEXECDIR,"$DBUS_LIBEXECDIR", [Directory for installing the libexec binaries])
1655 #### Tell tests where to find certain stuff in builddir
1658 # Useful in a cross-compilation environment, where the tests are run on the host system.
1659 AC_ARG_WITH(dbus-test-dir, AS_HELP_STRING([--with-dbus-test-dir=[dirname]],[path where the tests tools are available]),
1662 DBUS_TEST_EXEC="$DBUS_PWD/test"
1663 DBUS_TEST_DATA="$DBUS_PWD/test/data"
1665 AC_SUBST([DBUS_TEST_DATA])
1666 AC_SUBST([DBUS_TEST_EXEC])
1668 AC_DEFINE_UNQUOTED([DBUS_TEST_EXEC], ["$DBUS_TEST_EXEC"],
1669 [Full path to the daemon in the builddir])
1670 AC_DEFINE_UNQUOTED([DBUS_EXEEXT], ["$EXEEXT"],
1671 [Extension for executables, typically empty or .exe])
1673 AC_DEFINE_UNQUOTED(TEST_BUS_BINARY, ["$DBUS_PWD/bus/dbus-daemon$EXEEXT"],
1674 [Full path to the daemon in the builddir])
1675 AC_SUBST(TEST_BUS_BINARY)
1677 ## Export the non-setuid external helper
1678 TEST_LAUNCH_HELPER_BINARY="$DBUS_PWD/bus/dbus-daemon-launch-helper-test$EXEEXT"
1679 AC_SUBST(TEST_LAUNCH_HELPER_BINARY)
1680 AC_DEFINE_UNQUOTED(DBUS_TEST_LAUNCH_HELPER_BINARY, "$TEST_LAUNCH_HELPER_BINARY",
1681 [Full path to the launch helper test program in the builddir])
1683 #### Find socket directories
1684 if ! test -z "$TMPDIR" ; then
1685 DEFAULT_SOCKET_DIR=$TMPDIR
1686 elif ! test -z "$TEMP" ; then
1687 DEFAULT_SOCKET_DIR=$TEMP
1688 elif ! test -z "$TMP" ; then
1689 DEFAULT_SOCKET_DIR=$TMP
1691 DEFAULT_SOCKET_DIR=/tmp
1694 DEFAULT_SOCKET_DIR=`echo $DEFAULT_SOCKET_DIR | sed 's/+/%2B/g'`
1696 if ! test -z "$with_test_socket_dir" ; then
1697 TEST_SOCKET_DIR="$with_test_socket_dir"
1699 TEST_SOCKET_DIR=$DEFAULT_SOCKET_DIR
1701 AC_SUBST(TEST_SOCKET_DIR)
1702 AC_DEFINE_UNQUOTED(DBUS_TEST_SOCKET_DIR, "$TEST_SOCKET_DIR", [Where to put test sockets])
1704 if test "x$dbus_unix" = xyes; then
1705 TEST_LISTEN="unix:tmpdir=$TEST_SOCKET_DIR"
1707 TEST_LISTEN="tcp:host=localhost"
1709 AC_SUBST([TEST_LISTEN])
1710 AC_DEFINE_UNQUOTED([TEST_LISTEN], ["$TEST_LISTEN"],
1711 [Listening address for regression tests])
1713 if ! test -z "$with_session_socket_dir" ; then
1714 DBUS_SESSION_SOCKET_DIR="$with_session_socket_dir"
1716 DBUS_SESSION_SOCKET_DIR=$DEFAULT_SOCKET_DIR
1718 AC_DEFINE_UNQUOTED(DBUS_SESSION_SOCKET_DIR, "$DBUS_SESSION_SOCKET_DIR", [Where per-session bus puts its sockets])
1719 AC_SUBST(DBUS_SESSION_SOCKET_DIR)
1721 # This must be a listening address. It doesn't necessarily need to be an
1722 # address you can connect to - it can be something vague like
1725 # The default varies by platform.
1726 AC_ARG_WITH([dbus_session_bus_listen_address],
1727 AS_HELP_STRING([--with-dbus-session-bus-listen-address=[ADDRESS]],
1728 [default address for a session bus to listen on (see configure.ac)]),
1729 [with_dbus_session_bus_listen_address=$withval],
1730 [with_dbus_session_bus_listen_address=])
1732 if test "x$with_dbus_session_bus_listen_address" != "x"; then
1733 # the user specified something, trust them
1734 DBUS_SESSION_BUS_LISTEN_ADDRESS="$with_dbus_session_bus_listen_address"
1735 elif test x$dbus_win = xyes; then
1736 # On Windows, you can (and should) listen on autolaunch addresses,
1737 # because autolaunching is different.
1738 # See https://bugs.freedesktop.org/show_bug.cgi?id=38201
1739 DBUS_SESSION_BUS_LISTEN_ADDRESS="autolaunch:"
1740 elif test x$have_launchd = xyes; then
1741 # Mac OS X default is to use launchd
1742 DBUS_SESSION_BUS_LISTEN_ADDRESS="launchd:env=DBUS_LAUNCHD_SESSION_BUS_SOCKET"
1744 # The default on all other Unix platforms (notably Linux)
1745 # is to create a randomly named socket in /tmp or similar
1746 DBUS_SESSION_BUS_LISTEN_ADDRESS="unix:tmpdir=$DBUS_SESSION_SOCKET_DIR"
1748 AC_SUBST([DBUS_SESSION_BUS_LISTEN_ADDRESS])
1750 # This must be an address you can connect to. It doesn't necessarily
1751 # need to be an address you can listen on - it can be "autolaunch:",
1754 # The default varies by platform.
1755 AC_ARG_WITH([dbus_session_bus_connect_address],
1756 AS_HELP_STRING([--with-dbus-session-bus-connect-address=[ADDRESS]],
1757 [fallback address for a session bus client to connect to (see configure.ac)]),
1758 [with_dbus_session_bus_connect_address=$withval],
1759 [with_dbus_session_bus_connect_address=])
1761 if test "x$with_dbus_session_bus_connect_address" != "x"; then
1762 # the user specified something, trust them
1763 DBUS_SESSION_BUS_CONNECT_ADDRESS="$with_dbus_session_bus_connect_address"
1764 elif test x$dbus_win = xyes; then
1765 # Windows autolaunching is a bit different; leaving it in its own
1766 # branch of the conditional because the default might conceivably
1767 # change (see #38201)
1768 DBUS_SESSION_BUS_CONNECT_ADDRESS="autolaunch:"
1770 # The default on all other Unix platforms (notably Linux)
1771 # is to use auto-launching - this works a bit differently on Mac OS X
1772 # but comes out basically the same in the end
1773 DBUS_SESSION_BUS_CONNECT_ADDRESS="autolaunch:"
1775 AC_SUBST([DBUS_SESSION_BUS_CONNECT_ADDRESS])
1776 AC_DEFINE_UNQUOTED([DBUS_SESSION_BUS_CONNECT_ADDRESS],
1777 ["$DBUS_SESSION_BUS_CONNECT_ADDRESS"],
1778 [Fallback address for session bus clients])
1780 # darwin needs this to initialize the environment
1781 AC_CHECK_HEADERS(crt_externs.h)
1782 AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])])
1783 AH_VERBATIM(_DARWIN_ENVIRON,
1785 #if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
1786 # include <sys/time.h>
1787 # include <crt_externs.h>
1788 # define environ (*_NSGetEnviron())
1792 AC_ARG_ENABLE([stats],
1793 [AS_HELP_STRING([--enable-stats],
1794 [enable bus daemon usage statistics])],
1795 [], [enable_stats=no])
1796 if test "x$enable_stats" = xyes; then
1797 AC_DEFINE([DBUS_ENABLE_STATS], [1],
1798 [Define to enable bus daemon usage statistics])
1804 dbus/dbus-arch-deps.h
1808 bus/messagebus-config
1809 bus/org.freedesktop.dbus-session.plist
1818 test/name-test/Makefile
1820 doc/dbus-cleanup-sockets.1.xml
1821 doc/dbus-daemon.1.xml
1822 doc/dbus-launch.1.xml
1823 doc/dbus-monitor.1.xml
1824 doc/dbus-run-session.1.xml
1826 doc/dbus-uuidgen.1.xml
1828 dbus-1-uninstalled.pc
1829 test/data/valid-config-files/debug-allow-all.conf
1830 test/data/valid-config-files/debug-allow-all-sha1.conf
1831 test/data/valid-config-files-system/debug-allow-all-pass.conf
1832 test/data/valid-config-files-system/debug-allow-all-fail.conf
1833 test/data/valid-service-files/org.freedesktop.DBus.TestSuite.PrivServer.service
1834 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteEchoService.service
1835 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteForkingEchoService.service
1836 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteSegfaultService.service
1837 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess.service
1838 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteShellEchoServiceFail.service
1839 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteEchoService.service
1840 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteSegfaultService.service
1841 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess.service
1842 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteShellEchoServiceFail.service
1843 test/data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoExec.service
1844 test/data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoUser.service
1845 test/data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoService.service
1849 dnl ==========================================================================
1854 prefix: ${EXPANDED_PREFIX}
1855 exec_prefix: ${exec_prefix}
1856 libdir: ${EXPANDED_LIBDIR}
1857 libexecdir: ${EXPANDED_LIBEXECDIR}
1858 bindir: ${EXPANDED_BINDIR}
1859 sysconfdir: ${EXPANDED_SYSCONFDIR}
1860 localstatedir: ${EXPANDED_LOCALSTATEDIR}
1861 datadir: ${EXPANDED_DATADIR}
1862 source code location: ${srcdir}
1865 cppflags: ${CPPFLAGS}
1866 cxxflags: ${CXXFLAGS}
1867 64-bit int: ${DBUS_INT64_TYPE}
1868 32-bit int: ${DBUS_INT32_TYPE}
1869 16-bit int: ${DBUS_INT16_TYPE}
1870 Doxygen: ${DOXYGEN:-not found}
1871 xmlto: ${XMLTO:-not found}"
1874 Rebuilding generated files: ${USE_MAINTAINER_MODE}
1875 gcc coverage profiling: ${enable_compiler_coverage}
1876 Building embedded tests: ${enable_embedded_tests}
1877 Building modular tests: ${enable_modular_tests}
1878 - with GLib: ${with_glib}
1879 - with dbus-glib: ${with_dbus_glib}
1880 Building verbose mode: ${enable_verbose_mode}
1881 Building assertions: ${enable_asserts}
1882 Building checks: ${enable_checks}
1883 Building bus stats API: ${enable_stats}
1884 Building SELinux support: ${have_selinux}
1885 Building inotify support: ${have_inotify}
1886 Building kqueue support: ${have_kqueue}
1887 Building systemd support: ${have_systemd}
1888 Building X11 code: ${have_x11}
1889 Building Doxygen docs: ${enable_doxygen_docs}
1890 Building XML docs: ${enable_xml_docs}
1891 Building cache support: ${enable_userdb_cache}
1892 Building launchd support: ${have_launchd}
1893 Building kdbus support: ${enable_kdbus_transport}
1894 Building kdbus for sbb: ${enable_kdbus_for_sbb}
1895 Init scripts style: ${with_init_scripts}
1896 Abstract socket names: ${ac_cv_have_abstract_sockets}
1897 System bus socket: ${DBUS_SYSTEM_SOCKET}
1898 System bus address: ${DBUS_SYSTEM_BUS_DEFAULT_ADDRESS}
1899 System bus PID file: ${DBUS_SYSTEM_PID_FILE}
1900 Session bus listens on: ${DBUS_SESSION_BUS_LISTEN_ADDRESS}
1901 Session clients connect to: ${DBUS_SESSION_BUS_CONNECT_ADDRESS}
1902 Console auth dir: ${DBUS_CONSOLE_AUTH_DIR}
1903 Console owner file: ${have_console_owner_file}
1904 Console owner file path: ${DBUS_CONSOLE_OWNER_FILE}
1905 System bus user: ${DBUS_USER}
1906 Session bus services dir: ${EXPANDED_DATADIR}/dbus-1/services
1907 'make check' socket dir: ${TEST_SOCKET_DIR}
1909 if test x$have_launchd = xyes; then
1910 echo " launchd agent dir: ${LAUNCHD_AGENT_DIR}"
1914 if test x$enable_embedded_tests = xyes; then
1915 echo "NOTE: building with unit tests increases the size of the installed library and renders it insecure."
1917 if test x$enable_embedded_tests = xyes -a x$enable_asserts = xno; then
1918 echo "NOTE: building with embedded tests but without assertions means tests may not properly report failures (this configuration is only useful when doing something like profiling the tests)"
1920 if test x$enable_compiler_coverage = xyes; then
1921 echo "NOTE: building with coverage profiling is definitely for developers only."
1923 if test x$enable_verbose_mode = xyes; then
1924 echo "NOTE: building with verbose mode increases library size, may slightly increase security risk, and decreases performance."
1926 if test x$enable_asserts = xyes; then
1927 echo "NOTE: building with assertions increases library size and decreases performance."
1929 if test x$enable_checks = xno; then
1930 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."
1933 if test "x$DBUS_HAVE_INT64" = x0; then
1934 AC_MSG_WARN([You have disabled 64-bit integers via --without-64-bit.
1936 This removes parts of the standard D-Bus API and ABI (the 't' and 'x'
1937 typecodes, the dbus_int64_t and dbus_uint64_t types, etc.) and should only be
1938 used if your compiler lacks support for 64-bit integers. Please report a bug
1939 with details of your platform and compiler.
1941 This option is likely to be removed in future, unless the D-Bus developers
1942 receive reports that it is still needed.