Modernize checks for ISO/GNU varargs
[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_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
633 int a(int p1, int p2, int p3);
634 #define call_a(...) a(1,__VA_ARGS__)
635 call_a(2,3);
636 ]])],
637 [dbus_have_iso_c_varargs=yes],
638 [dbus_have_iso_c_varargs=no])
639 AC_MSG_RESULT($dbus_have_iso_c_varargs)
640
641 AC_MSG_CHECKING(for GNUC varargs macros)
642 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
643 int a(int p1, int p2, int p3);
644 #define call_a(params...) a(1,params)
645 call_a(2,3);
646 ]])],
647 [dbus_have_gnuc_varargs=yes],
648 [dbus_have_gnuc_varargs=no])
649 AC_MSG_RESULT($dbus_have_gnuc_varargs)
650
651 dnl Output varargs tests
652 if test x$dbus_have_iso_c_varargs = xyes; then
653     AC_DEFINE(HAVE_ISO_VARARGS,1,[Have ISO C99 varargs macros])
654 fi
655 if test x$dbus_have_gnuc_varargs = xyes; then
656     AC_DEFINE(HAVE_GNUC_VARARGS,1,[Have GNU-style varargs macros])
657 fi
658
659 dnl Check for various credentials.
660 AC_MSG_CHECKING(for struct cmsgcred)
661 AC_TRY_COMPILE([
662 #include <sys/types.h>
663 #include <sys/socket.h>
664 ],[
665 struct cmsgcred cred;
666
667 cred.cmcred_pid = 0;
668 ],dbus_have_struct_cmsgcred=yes,dbus_have_struct_cmsgcred=no)
669 AC_MSG_RESULT($dbus_have_struct_cmsgcred)
670
671 if test x$dbus_have_struct_cmsgcred = xyes; then
672     AC_DEFINE(HAVE_CMSGCRED,1,[Have cmsgcred structure])
673 fi
674
675 AC_CHECK_FUNCS(getpeerucred getpeereid)
676
677 AC_CHECK_FUNCS(pipe2 accept4)
678
679 #### Abstract sockets
680
681 if test x$enable_abstract_sockets = xauto; then
682 AC_LANG_PUSH(C)
683 warn_on_xcompile=no
684 AC_CACHE_CHECK([abstract socket namespace],
685                 ac_cv_have_abstract_sockets,
686                 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
687 [[
688 #include <sys/types.h>
689 #include <stdlib.h>
690 #include <string.h>
691 #include <stdio.h>
692 #include <sys/socket.h>
693 #include <sys/un.h>
694 #include <errno.h>
695 ]],
696 [[
697   size_t slen;
698   int listen_fd;
699   struct sockaddr_un addr;
700
701   listen_fd = socket (PF_UNIX, SOCK_STREAM, 0);
702
703   if (listen_fd < 0)
704     {
705       fprintf (stderr, "socket() failed: %s\n", strerror (errno));
706       exit (1);
707     }
708
709   memset (&addr, '\0', sizeof (addr));
710   addr.sun_family = AF_UNIX;
711   strcpy (addr.sun_path, "X/tmp/dbus-fake-socket-path-used-in-configure-test");
712   /* SUN_LEN uses strlen() so need to calculate it before adding \0 at the
713    * beginning.
714    */
715   slen = SUN_LEN(&addr);
716   addr.sun_path[0] = '\0'; /* this is what makes it abstract */
717
718   if (bind (listen_fd, (struct sockaddr*) &addr, slen) < 0)
719     {
720        fprintf (stderr, "Abstract socket namespace bind() failed: %s\n",
721                 strerror (errno));
722        exit (1);
723     }
724   else
725     exit (0);
726 ]])],
727               [ac_cv_have_abstract_sockets=yes],
728               [ac_cv_have_abstract_sockets=no],
729               [
730                 ac_cv_have_abstract_sockets=no
731                 warn_on_xcompile=yes
732               ]
733 )])
734 if test x$warn_on_xcompile = xyes ; then
735   AC_MSG_WARN([Cannot check for abstract sockets when cross-compiling, please use --enable-abstract-sockets])
736 fi
737 AC_LANG_POP(C)
738 fi
739
740 if test x$enable_abstract_sockets = xyes; then
741     if test x$ac_cv_have_abstract_sockets = xno; then
742         AC_MSG_ERROR([Abstract sockets explicitly required, and support not detected.])
743     fi
744 fi
745
746 if test x$enable_abstract_sockets = xno; then
747    ac_cv_have_abstract_sockets=no;
748 fi
749
750 if test x$ac_cv_have_abstract_sockets = xyes ; then
751    DBUS_PATH_OR_ABSTRACT=abstract
752    AC_DEFINE(HAVE_ABSTRACT_SOCKETS,1,[Have abstract socket namespace])
753 else
754    DBUS_PATH_OR_ABSTRACT=path
755 fi
756
757 # this is used in addresses to prefer abstract, e.g.
758 # unix:path=/foo or unix:abstract=/foo
759 AC_SUBST(DBUS_PATH_OR_ABSTRACT)
760
761 PKG_PROG_PKG_CONFIG
762
763 #### Sort out XML library
764
765 # see what we have
766 AC_CHECK_LIB(expat, XML_ParserCreate_MM,
767              [ AC_CHECK_HEADERS(expat.h, have_expat=true, have_expat=false) ],
768              have_expat=false)
769
770 # see what we want to use
771 dbus_use_libxml=false
772 dbus_use_expat=false
773 if test x$with_xml = xexpat; then
774         if ! $have_expat ; then
775            AC_MSG_ERROR([Explicitly requested expat but expat not found])
776         fi
777         dbus_use_expat=true
778 elif test x$with_xml = xlibxml; then
779         PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= 2.6.0, have_libxml=true, have_libxml=false)
780         if ! $have_libxml ; then
781            AC_MSG_ERROR([Explicitly requested libxml but libxml not found])
782         fi
783         dbus_use_libxml=true
784 else
785         ### expat is the default because libxml can't currently survive
786         ### our brutal OOM-handling unit test setup.
787         ### http://bugzilla.gnome.org/show_bug.cgi?id=109368
788         if test x$have_expat = xfalse; then
789                 AC_MSG_ERROR([Could not find expat.h, check config.log for failed attempts])
790         fi
791         ### By default, only use Expat since it's tested and known to work.  If you're a
792         ### general-purpose OS vendor, please don't enable libxml.  For embedded use
793         ### if your OS is built around libxml, that's another case.
794         dbus_use_expat=true
795 fi
796
797 AM_CONDITIONAL(DBUS_USE_EXPAT, $dbus_use_expat)
798 AM_CONDITIONAL(DBUS_USE_LIBXML, $dbus_use_libxml)
799
800 if $dbus_use_expat; then
801    XML_LIBS=-lexpat
802    XML_CFLAGS=
803 fi
804 if $dbus_use_libxml; then
805    XML_LIBS=$LIBXML_LIBS
806    XML_CFLAGS=$LIBXML_CFLAGS
807 fi
808
809 # Thread lib detection
810 AC_CHECK_FUNC(pthread_cond_timedwait,[AC_CHECK_LIB(pthread,pthread_cond_timedwait,
811                                                     [THREAD_LIBS="-lpthread"])])
812 save_libs="$LIBS"
813 LIBS="$LIBS $THREAD_LIBS"
814 AC_CHECK_FUNC(pthread_condattr_setclock,have_pthread_condattr_setclock=true,have_pthread_condattr_setclock=false)
815 if test x$have_pthread_condattr_setclock = xtrue; then
816     AC_SEARCH_LIBS([clock_getres],[rt],[THREAD_LIBS="$THREAD_LIBS -lrt"])
817     AC_MSG_CHECKING([for CLOCK_MONOTONIC])
818     AC_TRY_COMPILE([#include <time.h>
819 #include <pthread.h>
820 ], [
821 struct timespec monotonic_timer;
822 pthread_condattr_t attr;
823 pthread_condattr_init (&attr);
824 pthread_condattr_setclock (&attr, CLOCK_MONOTONIC);
825 clock_getres (CLOCK_MONOTONIC,&monotonic_timer);
826 ], have_clock_monotonic=true, have_clock_monotonic=false)
827 if test x$have_clock_monotonic = xtrue; then
828     AC_MSG_RESULT([found])
829     AC_DEFINE(HAVE_MONOTONIC_CLOCK, 1, [Define if we have CLOCK_MONOTONIC])
830 else
831     AC_MSG_RESULT([not found])
832 fi
833 fi
834 LIBS="$save_libs"
835
836 # SELinux detection
837 if test x$enable_selinux = xno ; then
838     have_selinux=no;
839 else
840     # See if we have SELinux library
841     AC_CHECK_LIB(selinux, is_selinux_enabled,
842                  have_selinux=yes, have_selinux=no)
843
844     # see if we have the SELinux header with the new D-Bus stuff in it
845     if test x$have_selinux = xyes ; then
846         AC_MSG_CHECKING([for DBUS Flask permissions in selinux/av_permissions.h])
847         AC_TRY_COMPILE([#include <selinux/av_permissions.h>],
848                         [#ifdef DBUS__ACQUIRE_SVC return 0;
849                          #else
850                          #error DBUS__ACQUIRE_SVC not defined
851                          #endif],
852                         have_selinux=yes, have_selinux=no)
853         AC_MSG_RESULT($have_selinux)
854     fi
855
856     if test x$enable_selinux = xauto ; then
857         if test x$have_selinux = xno ; then
858                 AC_MSG_WARN([Sufficiently new SELinux library not found])
859         fi
860     else
861         if test x$have_selinux = xno ; then
862                 AC_MSG_ERROR([SElinux explicitly required, and SELinux library not found])
863         fi
864     fi
865 fi
866
867 AM_CONDITIONAL(HAVE_SELINUX, test x$have_selinux = xyes)
868
869 if test x$have_selinux = xyes ; then
870     # the selinux code creates threads
871     # which requires libpthread even on linux
872     AC_CHECK_FUNC(pthread_create,,[AC_CHECK_LIB(pthread,pthread_create,
873                                                 [SELINUX_THREAD_LIBS="-lpthread"])])
874
875     SELINUX_LIBS="-lselinux $SELINUX_THREAD_LIBS"
876     AC_DEFINE(HAVE_SELINUX,1,[SELinux support])
877 else
878     SELINUX_LIBS=
879 fi
880
881 # inotify checks
882 if test x$enable_inotify = xno ; then
883     have_inotify=no;
884 else
885     AC_CHECK_HEADERS(sys/inotify.h, have_inotify=yes, have_inotify=no)
886 fi
887
888 dnl check if inotify backend is enabled
889 if test x$have_inotify = xyes; then
890    AC_DEFINE(DBUS_BUS_ENABLE_INOTIFY,1,[Use inotify])
891    AC_CHECK_FUNCS(inotify_init1)
892 fi
893
894 AM_CONDITIONAL(DBUS_BUS_ENABLE_INOTIFY, test x$have_inotify = xyes)
895
896 # dnotify checks
897 if test x$enable_dnotify = xno ; then
898     have_dnotify=no;
899 else
900     if test x$have_inotify = xno -a x$host_os = xlinux-gnu -o x$host_os = xlinux; then
901         have_dnotify=yes;
902     else
903         have_dnotify=no;
904     fi
905 fi
906
907 dnl check if dnotify backend is enabled
908 if test x$have_dnotify = xyes; then
909    AC_DEFINE(DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX,1,[Use dnotify on Linux])
910 fi
911
912 AM_CONDITIONAL(DBUS_BUS_ENABLE_DNOTIFY_ON_LINUX, test x$have_dnotify = xyes)
913
914 # kqueue checks
915 if test x$enable_kqueue = xno ; then
916     have_kqueue=no
917 else
918     have_kqueue=yes
919     AC_CHECK_HEADER(sys/event.h, , have_kqueue=no)
920     AC_CHECK_FUNC(kqueue, , have_kqueue=no)
921
922     if test x$enable_kqueue = xyes -a x$have_kqueue = xno; then
923         AC_MSG_ERROR(kqueue support explicitly enabled but not available)
924     fi
925 fi
926
927 dnl check if kqueue backend is enabled
928 if test x$have_kqueue = xyes; then
929    AC_DEFINE(DBUS_BUS_ENABLE_KQUEUE,1,[Use kqueue])
930 fi
931
932 AM_CONDITIONAL(DBUS_BUS_ENABLE_KQUEUE, test x$have_kqueue = xyes)
933
934 # launchd checks
935 if test x$enable_launchd = xno ; then
936     have_launchd=no
937 else
938     have_launchd=yes
939     AC_CHECK_HEADER([launch.h], , have_launchd=no)
940     AC_PATH_PROG([LAUNCHCTL], [launchctl])
941     if test "x$LAUNCHCTL" = "x"; then
942         have_launchd=no
943     fi
944
945     if test x$enable_launchd = xyes && test x$have_launchd = xno ; then
946         AC_MSG_ERROR([launchd support explicitly enabled but not available])
947     fi
948 fi
949
950 dnl check if launchd is enabled
951 if test x$have_launchd = xyes; then
952     AC_DEFINE(DBUS_ENABLE_LAUNCHD,1,[Use launchd autolaunch])
953 fi
954
955 AM_CONDITIONAL(DBUS_ENABLE_LAUNCHD, test x$have_launchd = xyes)
956
957 #### Directory to place launchd agent file
958 if test "x$with_launchd_agent_dir" = "x"; then
959    LAUNCHD_AGENT_DIR="/Library/LaunchAgents"
960 else
961    LAUNCHD_AGENT_DIR="$with_launchd_agent_dir"
962 fi
963
964 AC_SUBST(LAUNCHD_AGENT_DIR)
965
966 dnl console owner file
967 if test x$enable_console_owner_file = xno ; then
968     have_console_owner_file=no;
969 else
970     case $host_os in
971     solaris*)
972         have_console_owner_file=yes;
973         AC_DEFINE(HAVE_CONSOLE_OWNER_FILE,1,[Have console owner file])
974         ;;
975     *)
976         have_console_owner_file=no;;
977     esac
978 fi
979
980 AM_CONDITIONAL(HAVE_CONSOLE_OWNER_FILE, test x$have_console_owner_file = xyes)
981
982 # libaudit detection
983 if test x$enable_libaudit = xno ; then
984     have_libaudit=no;
985 else
986     # See if we have audit daemon & capabilities library
987     AC_CHECK_LIB(audit, audit_log_user_avc_message,
988                  have_libaudit=yes, have_libaudit=no)
989     if test x$have_libaudit = xyes ; then
990         AC_CHECK_LIB(cap-ng, capng_clear,
991                  have_libaudit=yes, have_libaudit=no)
992     fi
993 fi
994
995 AM_CONDITIONAL(HAVE_LIBAUDIT, test x$have_libaudit = xyes)
996
997 if test x$have_libaudit = xyes ; then
998     SELINUX_LIBS="$SELINUX_LIBS -laudit -lcap-ng"
999     AC_DEFINE(HAVE_LIBAUDIT,1,[audit daemon SELinux support])
1000 fi
1001
1002 # Check for ADT API
1003 AC_MSG_CHECKING(for ADT API)
1004 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1005 #include <bsm/adt.h>
1006 adt_user_context = ADT_USER;
1007 ]], [[]])], [ check_adt_audit=yes ], [ check_adt_audit=no ])
1008
1009 if test ${check_adt_audit} = yes
1010 then
1011    AC_DEFINE([HAVE_ADT], [], [Adt audit API])
1012    ADT_LIBS="-lbsm"
1013    LIBS="-lbsm $LIBS"
1014    AC_MSG_RESULT(yes)
1015 else
1016    AC_MSG_RESULT(no)
1017 fi
1018
1019 # Check for SCM_RIGHTS
1020 AC_MSG_CHECKING([for SCM_RIGHTS])
1021 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1022 #include <sys/socket.h>
1023 #include <sys/un.h>
1024 static int x = SCM_RIGHTS;
1025 ]], [[]])],
1026 [ AC_MSG_RESULT([supported])
1027   AC_DEFINE([HAVE_UNIX_FD_PASSING], [1], [Supports sending UNIX file descriptors]) ],
1028 [ AC_MSG_RESULT([not supported]) ])
1029
1030 NETWORK_libs=
1031 if test x$dbus_win = xyes ; then
1032   if test x$dbus_wince = xyes ; then
1033     NETWORK_libs="-lws2"
1034   else
1035     NETWORK_libs="-lws2_32"
1036   fi
1037 fi
1038
1039 #### Set up final flags
1040 DBUS_CLIENT_CFLAGS=
1041 DBUS_CLIENT_LIBS="$THREAD_LIBS $NETWORK_libs"
1042 AC_SUBST(DBUS_CLIENT_CFLAGS)
1043 AC_SUBST(DBUS_CLIENT_LIBS)
1044
1045 DBUS_BUS_CFLAGS="$XML_CFLAGS"
1046 DBUS_BUS_LIBS="$XML_LIBS $SELINUX_LIBS $THREAD_LIBS $ADT_LIBS $NETWORK_libs"
1047 AC_SUBST(DBUS_BUS_CFLAGS)
1048 AC_SUBST(DBUS_BUS_LIBS)
1049
1050 DBUS_LAUNCHER_CFLAGS="$XML_CFLAGS"
1051 DBUS_LAUNCHER_LIBS="$XML_LIBS $THREAD_LIBS $NETWORK_libs"
1052 AC_SUBST(DBUS_LAUNCHER_CFLAGS)
1053 AC_SUBST(DBUS_LAUNCHER_LIBS)
1054
1055 DBUS_TEST_CFLAGS=
1056 DBUS_TEST_LIBS="$THREAD_LIBS $NETWORK_libs"
1057 AC_SUBST(DBUS_TEST_CFLAGS)
1058 AC_SUBST(DBUS_TEST_LIBS)
1059
1060 ### X11 detection
1061 if test x$dbus_win = xyes ; then
1062    enable_x11=no
1063 else
1064 AC_PATH_XTRA
1065
1066 ## for now enable_x11 just tracks have_x11,
1067 ## there's no --enable-x11
1068 if test x$no_x = xyes ; then
1069    have_x11=no
1070    enable_x11=no
1071 else
1072    have_x11=yes
1073    enable_x11=yes
1074 fi
1075
1076 if test x$enable_x11 = xyes ; then
1077    AC_DEFINE(DBUS_BUILD_X11,1,[Build X11-dependent code])
1078    DBUS_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
1079    DBUS_X_CFLAGS="$X_CFLAGS"
1080 else
1081    DBUS_X_LIBS=
1082    DBUS_X_CFLAGS=
1083 fi
1084
1085 AC_SUBST(DBUS_X_CFLAGS)
1086 AC_SUBST(DBUS_X_LIBS)
1087 fi
1088
1089
1090 #### gcc warning flags
1091
1092 cc_supports_flag() {
1093   AC_MSG_CHECKING(whether $CC supports "$*")
1094   save_CFLAGS="$CFLAGS"
1095   CFLAGS="$*"
1096   AC_TRY_COMPILE([], [], [rc=yes], [rc=no])
1097   CFLAGS="$save_CFLAGS"
1098   AC_MSG_RESULT([$rc])
1099   test "x$rc" = xyes
1100 }
1101
1102 ld_supports_flag() {
1103   AC_MSG_CHECKING([whether $LD supports "$@"])
1104   AC_TRY_LINK([
1105     int one(void) { return 1; }
1106     int two(void) { return 2; }
1107   ], [ two(); ] , [_ac_ld_flag_supported=yes], [_ac_ld_flag_supported=no])
1108
1109   if test "$_ac_ld_flag_supported" = "yes"; then
1110     rm -f conftest.c
1111     touch conftest.c
1112     if $CC -c conftest.c; then
1113       ld_out=`$LD $@ -o conftest conftest.o 2>&1`
1114       ld_ret=$?
1115       if test $ld_ret -ne 0 ; then
1116         _ac_ld_flag_supported=no
1117       elif echo "$ld_out" | egrep 'option ignored|^usage:|unrecognized option|illegal option' >/dev/null ; then
1118         _ac_ld_flag_supported=no
1119       fi
1120     fi
1121     rm -f conftest.c conftest.o conftest
1122   fi
1123
1124   AC_MSG_RESULT($_ac_ld_flag_supported)
1125   if test "$_ac_ld_flag_supported" = "yes" ; then
1126     return 0
1127   else
1128     return 1
1129   fi
1130 }
1131
1132 # Don't bother with -Werror on Windows for now, too many warnings
1133 if test x$dbus_win != xyes -a x$dbus_cygwin != xyes -a x$USE_MAINTAINER_MODE = xyes; then
1134   if cc_supports_flag "-Werror"; then
1135     CFLAGS="$CFLAGS -Werror"
1136   fi
1137 fi
1138
1139 if test "x$GCC" = "xyes"; then
1140   changequote(,)dnl
1141   case " $CFLAGS " in
1142   *[\ \ ]-Wall[\ \      ]*) ;;
1143   *) CFLAGS="$CFLAGS -Wall" ;;
1144   esac
1145
1146   case " $CFLAGS " in
1147   *[\ \ ]-Wchar-subscripts[\ \  ]*) ;;
1148   *) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
1149   esac
1150
1151   case " $CFLAGS " in
1152   *[\ \ ]-Wmissing-declarations[\ \     ]*) ;;
1153   *) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
1154   esac
1155
1156   case " $CFLAGS " in
1157   *[\ \ ]-Wmissing-prototypes[\ \       ]*) ;;
1158   *) CFLAGS="$CFLAGS -Wmissing-prototypes" ;;
1159   esac
1160
1161   case " $CFLAGS " in
1162   *[\ \ ]-Wnested-externs[\ \   ]*) ;;
1163   *) CFLAGS="$CFLAGS -Wnested-externs" ;;
1164   esac
1165
1166   case " $CFLAGS " in
1167   *[\ \ ]-Wpointer-arith[\ \    ]*) ;;
1168   *) CFLAGS="$CFLAGS -Wpointer-arith" ;;
1169   esac
1170
1171   case " $CFLAGS " in
1172   *[\ \ ]-Wcast-align[\ \       ]*) ;;
1173   *) CFLAGS="$CFLAGS -Wcast-align" ;;
1174   esac
1175
1176   case " $CFLAGS " in
1177   *[\ \ ]-Wno-address[\ \       ]*) ;;
1178   *) CFLAGS="$CFLAGS -Wno-address" ;;
1179   esac
1180
1181   case " $CFLAGS " in
1182   *[\ \ ]-Wfloat-equal[\ \      ]*) ;;
1183   *) if cc_supports_flag -Wfloat-equal; then
1184         CFLAGS="$CFLAGS -Wfloat-equal"
1185      fi
1186      ;;
1187   esac
1188
1189   case " $CFLAGS " in
1190   *[\ \ ]-Wdeclaration-after-statement[\ \      ]*) ;;
1191   *) if cc_supports_flag -Wdeclaration-after-statement; then
1192         CFLAGS="$CFLAGS -Wdeclaration-after-statement"
1193      fi
1194      ;;
1195   esac
1196
1197   case " $CFLAGS " in
1198   *[\ \ ]-fno-common[\ \        ]*) ;;
1199   *) if cc_supports_flag -fno-common; then
1200         CFLAGS="$CFLAGS -fno-common"
1201      fi
1202      ;;
1203   esac
1204
1205   case " $CFLAGS " in
1206   *[\ \ ]-fPIC[\ \      ]*) ;;
1207   *) if test x$dbus_win = xno && cc_supports_flag -fPIC; then
1208         PIC_CFLAGS="-fPIC"
1209         if ld_supports_flag -z,relro; then
1210            PIC_LDFLAGS="-Wl,-z,relro"
1211         fi
1212      fi
1213      ;;
1214   esac
1215
1216   case " $CFLAGS " in
1217   *[\ \ ]-fPIE[\ \      ]*) ;;
1218   *) if test x$dbus_win = xno && cc_supports_flag -fPIE; then
1219         PIE_CFLAGS="-fPIE"
1220         if ld_supports_flag -z,relro; then
1221            PIE_LDFLAGS="-pie -Wl,-z,relro"
1222         else
1223            PIE_LDFLAGS="-pie"
1224         fi
1225      fi
1226      ;;
1227   esac
1228
1229   ### Disabled warnings, and compiler flag overrides
1230
1231   # Let's just ignore unused for now
1232   case " $CFLAGS " in
1233   *[\ \ ]-Wno-unused[\ \        ]*) ;;
1234   *) CFLAGS="$CFLAGS -Wno-unused" ;;
1235   esac
1236
1237   # This group is for warnings we currently don't pass.
1238   # We would like to, however.  Please fix.
1239
1240   # http://bugs.freedesktop.org/show_bug.cgi?id=17433
1241   case " $CFLAGS " in
1242   *[\ \ ]-Wno-sign-compare[\ \  ]*) ;;
1243   *) CFLAGS="$CFLAGS -Wno-sign-compare" ;;
1244   esac
1245   case " $CFLAGS " in
1246   *[\ \ ]-Wno-pointer-sign[\ \  ]*) ;;
1247   *) if cc_supports_flag -Wno-pointer-sign; then
1248         CFLAGS="$CFLAGS -Wno-pointer-sign"
1249      fi
1250      ;;
1251   esac
1252
1253   # This one is special - it's not a warning override.
1254   # http://bugs.freedesktop.org/show_bug.cgi?id=10599
1255   case " $CFLAGS " in
1256   *[\ \ ]-fno-strict-aliasing[\ \       ]*) ;;
1257   *) CFLAGS="$CFLAGS -fno-strict-aliasing" ;;
1258   esac
1259   ### End disabled warnings
1260
1261   if test "x$enable_ansi" = "xyes"; then
1262     case " $CFLAGS " in
1263     *[\ \       ]-ansi[\ \      ]*) ;;
1264     *) CFLAGS="$CFLAGS -ansi" ;;
1265     esac
1266
1267     case " $CFLAGS " in
1268     *[\ \       ]-D_POSIX_C_SOURCE*) ;;
1269     *) CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=199309L" ;;
1270     esac
1271
1272     case " $CFLAGS " in
1273     *[\ \       ]-D_BSD_SOURCE[\ \      ]*) ;;
1274     *) CFLAGS="$CFLAGS -D_BSD_SOURCE" ;;
1275     esac
1276
1277     case " $CFLAGS " in
1278     *[\ \       ]-pedantic[\ \  ]*) ;;
1279     *) CFLAGS="$CFLAGS -pedantic" ;;
1280     esac
1281   fi
1282   changequote([,])dnl
1283 fi
1284
1285 AC_SUBST(PIC_CFLAGS)
1286 AC_SUBST(PIC_LDFLAGS)
1287 AC_SUBST(PIE_CFLAGS)
1288 AC_SUBST(PIE_LDFLAGS)
1289
1290 if ld_supports_flag --gc-sections; then
1291   SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
1292   CFLAGS="-ffunction-sections -fdata-sections $CFLAGS"
1293 fi
1294 AC_SUBST(SECTION_FLAGS)
1295 AC_SUBST(SECTION_LDFLAGS)
1296 AC_MSG_RESULT($ac_gcsections)
1297
1298 case $host_os in
1299     solaris*)
1300         # Solaris' C library apparently needs these runes to be threadsafe...
1301         CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT"
1302 esac
1303
1304 changequote(,)dnl
1305 # compress spaces in flags
1306 CFLAGS=`echo "$CFLAGS" | sed -e 's/ +/ /g'`
1307 CXXFLAGS=`echo "$CXXFLAGS" | sed -e 's/ +/ /g'`
1308 CPPFLAGS=`echo "$CPPFLAGS" | sed -e 's/ +/ /g'`
1309 changequote([,])dnl
1310
1311 ### Doxygen Documentation
1312
1313 AC_PATH_PROG(DOXYGEN, doxygen, no)
1314
1315 AC_MSG_CHECKING([whether to build Doxygen documentation])
1316
1317 if test x$DOXYGEN = xno ; then
1318     have_doxygen=no
1319 else
1320     have_doxygen=yes
1321 fi
1322
1323 if test x$enable_doxygen_docs = xauto ; then
1324     if test x$have_doxygen = xno ; then
1325         enable_doxygen_docs=no
1326     else
1327         enable_doxygen_docs=yes
1328     fi
1329 fi
1330
1331 if test x$enable_doxygen_docs = xyes; then
1332     if test x$have_doxygen = xno; then
1333         AC_MSG_ERROR([Building Doxygen docs explicitly required, but Doxygen not found])
1334     fi
1335 fi
1336
1337 AM_CONDITIONAL(DBUS_DOXYGEN_DOCS_ENABLED, test x$enable_doxygen_docs = xyes)
1338 AC_MSG_RESULT($enable_doxygen_docs)
1339
1340 ### XML Documentation
1341
1342 AC_PATH_PROG(XMLTO, xmlto, no)
1343
1344 AC_MSG_CHECKING([whether to build XML documentation])
1345
1346 if test x$XMLTO = xno ; then
1347     have_xmlto=no
1348 else
1349     have_xmlto=yes
1350 fi
1351
1352 if test x$enable_xml_docs = xauto ; then
1353     if test x$have_xmlto = xno ; then
1354         enable_xml_docs=no
1355     else
1356         enable_xml_docs=yes
1357     fi
1358 fi
1359
1360 if test x$enable_xml_docs = xyes; then
1361     if test x$have_xmlto = xno; then
1362         AC_MSG_ERROR([Building XML docs explicitly required, but xmlto not found])
1363     fi
1364 fi
1365
1366 AM_CONDITIONAL(DBUS_XML_DOCS_ENABLED, test x$enable_xml_docs = xyes)
1367 AC_MSG_RESULT($enable_xml_docs)
1368
1369 AC_PATH_PROG([MAN2HTML], [man2html])
1370 AC_ARG_VAR([MAN2HTML], [Path to man2html (optional)])
1371 AM_CONDITIONAL(DBUS_HAVE_MAN2HTML, test x$MAN2HTML != x)
1372
1373 AM_CONDITIONAL(DBUS_CAN_UPLOAD_DOCS,
1374     test x$enable_doxygen_docs = xyes -a x$enable_xml_docs = xyes -a \
1375          x$MAN2HTML != x)
1376
1377 #### Have to go $localstatedir->$prefix/var->/usr/local/var
1378
1379 #### find the actual value for $prefix that we'll end up with
1380 ##   (I know this is broken and should be done in the Makefile, but
1381 ##    that's a major pain and almost nobody actually seems to care)
1382 AS_AC_EXPAND(EXPANDED_PREFIX, "$prefix")
1383 AS_AC_EXPAND(EXPANDED_LOCALSTATEDIR, "$localstatedir")
1384 AS_AC_EXPAND(EXPANDED_SYSCONFDIR, "$sysconfdir")
1385 AS_AC_EXPAND(EXPANDED_BINDIR, "$bindir")
1386 AS_AC_EXPAND(EXPANDED_LIBDIR, "$libdir")
1387 AS_AC_EXPAND(EXPANDED_LIBEXECDIR, "$libexecdir")
1388 AS_AC_EXPAND(EXPANDED_DATADIR, "$datadir")
1389
1390 #### Check our operating system
1391 operating_system=unknown
1392 if test -f /etc/redhat-release || test -f $EXPANDED_SYSCONFDIR/redhat-release ; then
1393    operating_system=redhat
1394 fi
1395
1396 if test -f /etc/slackware-version || test -f $EXPANDED_SYSCONFDIR/slackware-version ; then
1397    operating_system=slackware
1398 fi
1399
1400 if test -f /usr/bin/cygwin1.dll || test -f $EXPANDED_BINDIR/cygwin1.dll ; then
1401    operating_system=cygwin
1402 fi
1403
1404 #### Sort out init scripts
1405
1406 if test x$with_init_scripts = x; then
1407     case x$operating_system in
1408         xredhat)        with_init_scripts=redhat ;;
1409         xslackware)     with_init_scripts=slackware ;;
1410         xcygwin)        with_init_scripts=cygwin ;;
1411         *)                      with_init_scripts=none ;;
1412     esac
1413 fi
1414
1415 AM_CONDITIONAL(DBUS_INIT_SCRIPTS_RED_HAT, test x$with_init_scripts = xredhat)
1416 AM_CONDITIONAL(DBUS_INIT_SCRIPTS_SLACKWARE, test x$with_init_scripts = xslackware)
1417 AM_CONDITIONAL(DBUS_INIT_SCRIPTS_CYGWIN, test x$with_init_scripts = xcygwin)
1418
1419 ##### systemd unit files
1420 AC_ARG_WITH([systemdsystemunitdir],
1421 AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
1422         [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
1423 if test "x$with_systemdsystemunitdir" != xno; then
1424    AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
1425 fi
1426 AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
1427
1428 ##### Set up location for system bus socket
1429 if ! test -z "$with_system_socket"; then
1430    DBUS_SYSTEM_SOCKET=$with_system_socket
1431 else
1432    DBUS_SYSTEM_SOCKET=${EXPANDED_LOCALSTATEDIR}/run/dbus/system_bus_socket
1433 fi
1434
1435 AC_SUBST(DBUS_SYSTEM_SOCKET)
1436 AC_DEFINE_UNQUOTED(DBUS_SYSTEM_SOCKET,"$DBUS_SYSTEM_SOCKET",[The name of the socket the system bus listens on by default])
1437
1438 ## system bus only listens on local domain sockets, and never
1439 ## on an abstract socket (so only root can create the socket)
1440 DBUS_SYSTEM_BUS_DEFAULT_ADDRESS="unix:path=$DBUS_SYSTEM_SOCKET"
1441 AC_SUBST(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS)
1442 AC_DEFINE_UNQUOTED(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS, "$DBUS_SYSTEM_BUS_DEFAULT_ADDRESS",[The default D-Bus address of the system bus])
1443
1444 #### Set up the pid file
1445 if ! test -z "$with_system_pid_file"; then
1446    DBUS_SYSTEM_PID_FILE=$with_system_pid_file
1447 elif test x$with_init_scripts = xredhat ; then
1448    DBUS_SYSTEM_PID_FILE=${EXPANDED_LOCALSTATEDIR}/run/messagebus.pid
1449 else
1450    DBUS_SYSTEM_PID_FILE=${EXPANDED_LOCALSTATEDIR}/run/dbus/pid
1451 fi
1452
1453 AC_SUBST(DBUS_SYSTEM_PID_FILE)
1454
1455 #### Directory to check for console ownership
1456 if ! test -z "$with_console_auth_dir"; then
1457    DBUS_CONSOLE_AUTH_DIR=$with_console_auth_dir
1458 else
1459    DBUS_CONSOLE_AUTH_DIR=/var/run/console/
1460 fi
1461
1462 AC_SUBST(DBUS_CONSOLE_AUTH_DIR)
1463 AC_DEFINE_UNQUOTED(DBUS_CONSOLE_AUTH_DIR, "$DBUS_CONSOLE_AUTH_DIR", [Directory to check for console ownerhip])
1464
1465 #### File to check for console ownership
1466 if test x$have_console_owner_file = xyes; then
1467    if ! test -z "$with_console_owner_file"; then
1468       DBUS_CONSOLE_OWNER_FILE=$with_console_owner_file
1469    else
1470       DBUS_CONSOLE_OWNER_FILE=/dev/console
1471    fi
1472 else
1473   DBUS_CONSOLE_OWNER_FILE=
1474 fi
1475
1476 AC_SUBST(DBUS_CONSOLE_OWNER_FILE)
1477 AC_DEFINE_UNQUOTED(DBUS_CONSOLE_OWNER_FILE, "$DBUS_CONSOLE_OWNER_FILE", [File to check for console ownerhip])
1478
1479 #### User to start the system bus as
1480 if test -z "$with_dbus_user" ; then
1481     DBUS_USER=messagebus
1482 else
1483     DBUS_USER=$with_dbus_user
1484 fi
1485 AC_SUBST(DBUS_USER)
1486 AC_DEFINE_UNQUOTED(DBUS_USER,"$DBUS_USER", [User for running the system BUS daemon])
1487
1488 #### Prefix to install into
1489 DBUS_PREFIX=$EXPANDED_PREFIX
1490 AC_SUBST(DBUS_PREFIX)
1491 AC_DEFINE_UNQUOTED(DBUS_PREFIX,"$DBUS_PREFIX", [Prefix for installing DBUS])
1492
1493 #### Direcotry to install data files into
1494 DBUS_DATADIR=$EXPANDED_DATADIR
1495 AC_SUBST(DBUS_DATADIR)
1496 AC_DEFINE_UNQUOTED(DBUS_DATADIR,"$DBUS_DATADIR", [Directory for installing DBUS data files])
1497
1498 #### Directory to install dbus-daemon
1499 if test -z "$with_dbus_daemondir" ; then
1500     DBUS_DAEMONDIR=$EXPANDED_BINDIR
1501 else
1502     DBUS_DAEMONDIR=$with_dbus_daemondir
1503 fi
1504 AC_SUBST(DBUS_DAEMONDIR)
1505 AC_DEFINE_UNQUOTED(DBUS_DAEMONDIR,"$DBUS_DAEMONDIR", [Directory for installing the DBUS daemon])
1506
1507 #### Directory to install the other binaries
1508 DBUS_BINDIR="$EXPANDED_BINDIR"
1509 AC_SUBST(DBUS_BINDIR)
1510 AC_DEFINE_UNQUOTED(DBUS_BINDIR,"$DBUS_BINDIR", [Directory for installing the binaries])
1511
1512 #### Directory to install the libexec binaries
1513 DBUS_LIBEXECDIR="$EXPANDED_LIBEXECDIR"
1514 AC_SUBST(DBUS_LIBEXECDIR)
1515 AC_DEFINE_UNQUOTED(DBUS_LIBEXECDIR,"$DBUS_LIBEXECDIR", [Directory for installing the libexec binaries])
1516
1517 #### Tell tests where to find certain stuff in builddir
1518
1519 DBUS_PWD=`pwd`
1520 # Useful in a cross-compilation environment, where the tests are run on the host system.
1521 AC_ARG_WITH(dbus-test-dir, AS_HELP_STRING([--with-dbus-test-dir=[dirname]],[path where the tests tools are available]),
1522                            DBUS_PWD=$withval)
1523 AC_DEFUN([TEST_PATH], [
1524 TEST_$1=${DBUS_PWD}/test/$2
1525 AC_DEFINE_UNQUOTED(TEST_$1, "$TEST_$1",
1526                    [Full path to test file test/$2 in builddir])
1527 AC_SUBST(TEST_$1)
1528 ])
1529 AC_DEFUN([TEST_PROG], [
1530 TEST_$1=${DBUS_PWD}/test/$2
1531 AC_DEFINE_UNQUOTED(TEST_$1, "$TEST_$1$EXEEXT",
1532                    [Full path to test file test/$2 in builddir])
1533 AC_SUBST(TEST_$1)
1534 ])
1535
1536 TEST_PATH(VALID_SERVICE_DIR, data/valid-service-files)
1537 TEST_PATH(INVALID_SERVICE_DIR, data/invalid-service-files)
1538 TEST_PATH(VALID_SERVICE_SYSTEM_DIR, data/valid-service-files-system)
1539 TEST_PATH(INVALID_SERVICE_SYSTEM_DIR, data/invalid-service-files-system)
1540 TEST_PROG(SERVICE_BINARY, test-service)
1541 TEST_PROG(SHELL_SERVICE_BINARY, test-shell-service)
1542 TEST_PROG(EXIT_BINARY, test-exit)
1543 TEST_PROG(SEGFAULT_BINARY, test-segfault)
1544 TEST_PROG(SLEEP_FOREVER_BINARY, test-sleep-forever)
1545 TEST_PROG(PRIVSERVER_BINARY, name-test/test-privserver)
1546
1547 AC_DEFINE_UNQUOTED(TEST_BUS_BINARY, "$DBUS_PWD/bus/dbus-daemon$EXEEXT",
1548                    [Full path to the daemon in the builddir])
1549 AC_SUBST(TEST_BUS_BINARY)
1550
1551 ## Export the non-setuid external helper
1552 TEST_LAUNCH_HELPER_BINARY="$DBUS_PWD/bus/dbus-daemon-launch-helper-test$EXEEXT"
1553 AC_SUBST(TEST_LAUNCH_HELPER_BINARY)
1554 AC_DEFINE_UNQUOTED(DBUS_TEST_LAUNCH_HELPER_BINARY, "$TEST_LAUNCH_HELPER_BINARY",
1555                    [Full path to the launch helper test program in the builddir])
1556
1557 #### Find socket directories
1558 if ! test -z "$TMPDIR" ; then
1559    DEFAULT_SOCKET_DIR=$TMPDIR
1560 elif ! test -z "$TEMP" ; then
1561    DEFAULT_SOCKET_DIR=$TEMP
1562 elif ! test -z "$TMP" ; then
1563    DEFAULT_SOCKET_DIR=$TMP
1564 else
1565    DEFAULT_SOCKET_DIR=/tmp
1566 fi
1567
1568 DEFAULT_SOCKET_DIR=`echo $DEFAULT_SOCKET_DIR | sed 's/+/%2B/g'`
1569
1570 if ! test -z "$with_test_socket_dir" ; then
1571    TEST_SOCKET_DIR="$with_test_socket_dir"
1572 else
1573    TEST_SOCKET_DIR=$DEFAULT_SOCKET_DIR
1574 fi
1575 AC_SUBST(TEST_SOCKET_DIR)
1576 AC_DEFINE_UNQUOTED(DBUS_TEST_SOCKET_DIR, "$TEST_SOCKET_DIR", [Where to put test sockets])
1577
1578 if ! test -z "$with_session_socket_dir" ; then
1579    DBUS_SESSION_SOCKET_DIR="$with_session_socket_dir"
1580 else
1581    DBUS_SESSION_SOCKET_DIR=$DEFAULT_SOCKET_DIR
1582 fi
1583 AC_DEFINE_UNQUOTED(DBUS_SESSION_SOCKET_DIR, "$DBUS_SESSION_SOCKET_DIR", [Where per-session bus puts its sockets])
1584 AC_SUBST(DBUS_SESSION_SOCKET_DIR)
1585
1586 if test x$dbus_win = xyes; then
1587         DBUS_SESSION_BUS_DEFAULT_ADDRESS="nonce-tcp:"
1588 elif test x$have_launchd = xyes; then
1589         DBUS_SESSION_BUS_DEFAULT_ADDRESS="launchd:env=DBUS_LAUNCHD_SESSION_BUS_SOCKET"
1590 else
1591         DBUS_SESSION_BUS_DEFAULT_ADDRESS="unix:tmpdir=$DBUS_SESSION_SOCKET_DIR"
1592 fi
1593 AC_SUBST(DBUS_SESSION_BUS_DEFAULT_ADDRESS)
1594
1595 # darwin needs this to initialize the environment
1596 AC_CHECK_HEADERS(crt_externs.h)
1597 AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])])
1598 AH_VERBATIM(_DARWIN_ENVIRON,
1599 [
1600 #if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
1601 # include <sys/time.h>
1602 # include <crt_externs.h>
1603 # define environ (*_NSGetEnviron())
1604 #endif
1605 ])
1606
1607 AC_OUTPUT([
1608 Doxyfile
1609 dbus/versioninfo.rc
1610 dbus/dbus-arch-deps.h
1611 bus/system.conf
1612 bus/session.conf
1613 bus/messagebus
1614 bus/messagebus-config
1615 bus/org.freedesktop.dbus-session.plist
1616 bus/rc.messagebus
1617 bus/dbus.service
1618 bus/dbus.socket
1619 Makefile
1620 dbus/Makefile
1621 bus/Makefile
1622 tools/Makefile
1623 test/Makefile
1624 test/name-test/Makefile
1625 doc/Makefile
1626 doc/dbus-daemon.1
1627 dbus-1.pc
1628 test/data/valid-config-files/debug-allow-all.conf
1629 test/data/valid-config-files/debug-allow-all-sha1.conf
1630 test/data/valid-config-files-system/debug-allow-all-pass.conf
1631 test/data/valid-config-files-system/debug-allow-all-fail.conf
1632 test/data/valid-service-files/org.freedesktop.DBus.TestSuite.PrivServer.service
1633 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteEchoService.service
1634 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteForkingEchoService.service
1635 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteSegfaultService.service
1636 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess.service
1637 test/data/valid-service-files/org.freedesktop.DBus.TestSuiteShellEchoServiceFail.service
1638 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteEchoService.service
1639 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteSegfaultService.service
1640 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess.service
1641 test/data/valid-service-files-system/org.freedesktop.DBus.TestSuiteShellEchoServiceFail.service
1642 test/data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoExec.service
1643 test/data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoUser.service
1644 test/data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoService.service
1645 ])
1646
1647 dnl ==========================================================================
1648 echo "
1649                     D-Bus $VERSION
1650                   ==============
1651
1652         prefix:                   ${EXPANDED_PREFIX}
1653         exec_prefix:              ${exec_prefix}
1654         libdir:                   ${EXPANDED_LIBDIR}
1655         libexecdir:               ${EXPANDED_LIBEXECDIR}
1656         bindir:                   ${EXPANDED_BINDIR}
1657         sysconfdir:               ${EXPANDED_SYSCONFDIR}
1658         localstatedir:            ${EXPANDED_LOCALSTATEDIR}
1659         datadir:                  ${EXPANDED_DATADIR}
1660         source code location:     ${srcdir}
1661         compiler:                 ${CC}
1662         cflags:                   ${CFLAGS}
1663         cppflags:                 ${CPPFLAGS}
1664         cxxflags:                 ${CXXFLAGS}
1665         64-bit int:               ${DBUS_INT64_TYPE}
1666         32-bit int:               ${DBUS_INT32_TYPE}
1667         16-bit int:               ${DBUS_INT16_TYPE}
1668         Doxygen:                  ${DOXYGEN:-not found}
1669         xmlto:                    ${XMLTO:-not found}
1670         man2html:                 ${MAN2HTML:-not found}"
1671
1672 echo "
1673         Maintainer mode:          ${USE_MAINTAINER_MODE}
1674         gcc coverage profiling:   ${enable_compiler_coverage}
1675         Building unit tests:      ${enable_tests}
1676         Building verbose mode:    ${enable_verbose_mode}
1677         Building assertions:      ${enable_asserts}
1678         Building checks:          ${enable_checks}
1679         Building SELinux support: ${have_selinux}
1680         Building inotify support: ${have_inotify}
1681         Building dnotify support: ${have_dnotify}
1682         Building kqueue support:  ${have_kqueue}
1683         Building X11 code:        ${enable_x11}
1684         Building Doxygen docs:    ${enable_doxygen_docs}
1685         Building XML docs:        ${enable_xml_docs}
1686         Building cache support:   ${enable_userdb_cache}
1687         Building launchd support: ${have_launchd}
1688         Using XML parser:         ${with_xml}
1689         Init scripts style:       ${with_init_scripts}
1690         Abstract socket names:    ${ac_cv_have_abstract_sockets}
1691         System bus socket:        ${DBUS_SYSTEM_SOCKET}
1692         System bus address:       ${DBUS_SYSTEM_BUS_DEFAULT_ADDRESS}
1693         System bus PID file:      ${DBUS_SYSTEM_PID_FILE}
1694         Session bus address:      ${DBUS_SESSION_BUS_DEFAULT_ADDRESS}
1695         Console auth dir:         ${DBUS_CONSOLE_AUTH_DIR}
1696         Console owner file:       ${have_console_owner_file}
1697         Console owner file path:  ${DBUS_CONSOLE_OWNER_FILE}
1698         System bus user:          ${DBUS_USER}
1699         Session bus services dir: ${EXPANDED_DATADIR}/dbus-1/services
1700         'make check' socket dir:  ${TEST_SOCKET_DIR}
1701 "
1702 if test x$have_launchd = xyes; then
1703         echo "        launchd agent dir:        ${LAUNCHD_AGENT_DIR}"
1704 fi
1705 echo
1706
1707 if test x$enable_tests = xyes; then
1708         echo "NOTE: building with unit tests increases the size of the installed library and renders it insecure."
1709 fi
1710 if test x$enable_tests = xyes -a x$enable_asserts = xno; then
1711         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)"
1712 fi
1713 if test x$enable_compiler_coverage = xyes; then
1714         echo "NOTE: building with coverage profiling is definitely for developers only."
1715 fi
1716 if test x$enable_verbose_mode = xyes; then
1717         echo "NOTE: building with verbose mode increases library size, may slightly increase security risk, and decreases performance."
1718 fi
1719 if test x$enable_asserts = xyes; then
1720         echo "NOTE: building with assertions increases library size and decreases performance."
1721 fi
1722 if test x$enable_checks = xno; then
1723         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."
1724 fi
1725 if test x$dbus_use_libxml = xtrue; then
1726         echo
1727         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)."
1728 fi