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