introduced since the last stable release. Development snapshots are
likely to have more bugs than stable releases, obviously.
-Configuration flags
+Configuration
===
-These are the dbus-specific configuration flags that can be given to
-the ./configure program.
-
- --enable-tests enable unit test code
- --enable-ansi enable -ansi -pedantic gcc flags
- --enable-verbose-mode support verbose debug mode
- --enable-asserts include assertion checks
- --enable-checks include sanity checks on public API
- --enable-xml-docs build XML documentation (requires xmlto)
- --enable-doxygen-docs build DOXYGEN documentation (requires Doxygen)
- --enable-gcov compile with coverage profiling instrumentation (gcc only)
- --enable-abstract-sockets
- use abstract socket namespace (linux only)
- --enable-selinux build with SELinux support
- --enable-dnotify build with dnotify support (linux only)
- --enable-kqueue build with kqueue support (*BSD only)
- --with-xml=libxml/expat XML library to use
- --with-init-scripts=redhat Style of init scripts to install
- --with-session-socket-dir=dirname Where to put sockets for the per-login-session message bus
- --with-test-socket-dir=dirname Where to put sockets for make check
- --with-system-pid-file=pidfile PID file for systemwide daemon
- --with-system-socket=filename UNIX domain socket for systemwide daemon
- --with-console-auth-dir=dirname directory to check for console ownerhip
- --with-dbus-user=<user> User for running the DBUS daemon (messagebus)
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-tags[=TAGS] include additional configurations [automatic]
- --with-x use the X Window System
+dbus could be build by using autotools or cmake.
+
+When using autotools the configure step is initiated by running ./configure
+with or without additional configuration flags.
+
+When using cmake the configure step is initiated by running the cmake
+program with or without additional configuration flags.
+Configuration flags
+===
+When using autotools, run "./configure --help" to see the possible
+configuration options and environment variables.
+
+When using cmake, inspect README.cmake to see the possible
+configuration options and environment variables.
+
API/ABI Policy
===
main D-Bus package, and have their own release cycles, levels of
maturity, and ABI stability policies. Please consult the documentation
for your binding.
+
+Bootstrapping D-Bus on new platforms
+===
+
+A full build of D-Bus, with all regression tests enabled and run, has some
+dependencies which themselves depend on D-Bus, either for compilation or
+for some of *their* regression tests: GLib, dbus-glib and dbus-python are
+currently affected.
+
+To avoid circular dependencies, when bootstrapping D-Bus for the first time
+on a new OS or CPU architecture, you can either cross-compile some of
+those components, or choose the build order and options carefully:
+
+* build and install D-Bus without tests
+ - do not use the --enable-modular-tests=yes configure option
+ - do not use the --enable-tests=yes configure option
+* build and install GLib, again without tests
+* use those versions of libdbus and GLib to build and install dbus-glib
+* ... and use those to install dbus-python
+* rebuild libdbus; this time you can run all of the tests
+* rebuild GLib; this time you can run all of the tests