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