dbus could be build by using autotools or cmake.
When using autotools the configure step is initiated by running ./configure
-with our without additional configuration flags.
+with or without additional configuration flags.
When using cmake the configure step is initiated by running the cmake
-program with our without additional configuration flags.
+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 the cmake build system the dbus-specific configuration flags that can be given
-to the cmake program are these (use -D<key>=<value> on command line)
-
- CMAKE_BUILD_TYPE set dbus build mode - one of Debug|Release|RelWithDebInfo|MinSizeRel
- DBUS_BUILD_TESTS enable unit test code default=ON
- DBUS_BUILD_X11 Build with X11 autolaunch support default=ON
- HAVE_CONSOLE_OWNER_FILE enable console owner file (solaris only) ) default=ON
- DBUS_DISABLE_ASSERTS Disable assertion checking default=OFF
- DBUS_DISABLE_CHECKS Disable public API sanity checking default=OFF
- DBUS_ENABLE_ABSTRACT_SOCKETS enable support for abstract sockets (linux only) default=ON
- DBUS_ENABLE_ANSI enable -ansi -pedantic gcc flags default=OFF
- DBUS_ENABLE_DNOTIFY build with dnotify support (linux only) default=ON
- DBUS_ENABLE_VERBOSE_MODE support verbose debug mode default=ON
- DBUS_ENABLE_DOXYGEN_DOCS build DOXYGEN documentation (requires Doxygen) default=ON
- DBUS_GCOV_ENABLED compile with coverage profiling instrumentation (gcc only) default=OFF
- DBUS_INSTALL_SYSTEM_LIBS install required system libraries default (windows only) =OFF
- DBUS_USE_EXPAT Use expat (== ON) or libxml2 (==OFF) default=ON [1]
- DBUS_USE_NONCE_TCP_DEFAULT_ADDRESS Use nonce tcp default address default=OFF
- DBUS_USE_OUTPUT_DEBUG_STRING enable win32 debug port for message output default=OFF
-
- [1] requires installed development package of the related dependency
-
+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