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