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