Original DBUS bindings for TQt
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
4.6 KiB

  1. D-BUS is a simple IPC library based on messages.
  2. See also the file HACKING for notes of interest to developers working on D-BUS.
  3. See http://www.freedesktop.org/software/dbus/ for lots of documentation,
  4. mailing lists, etc.
  5. Note
  6. ===
  7. A core concept of the D-BUS implementation is that "libdbus" is
  8. intended to be a low-level API, similar to Xlib. Most programmers are
  9. intended to use the bindings to GLib, Qt, Python, Mono, Java, or
  10. whatever. These bindings have varying levels of completeness.
  11. Configuration flags
  12. ===
  13. These are the dbus-specific configuration flags that can be given to
  14. the ./configure program.
  15. --enable-qt enable Qt-friendly client library (note: Qt4)
  16. --enable-qt-debug enable Qt-friendly client library, linked to debug
  17. Qt libraries
  18. --enable-qt3 enable Qt3-friendly client library
  19. --enable-glib enable GLib-friendly client library
  20. --enable-gtk enable GTK-requiring executables
  21. --enable-tests enable unit test code
  22. --enable-ansi enable -ansi -pedantic gcc flags
  23. --enable-verbose-mode support verbose debug mode
  24. --enable-asserts include assertion checks
  25. --enable-checks include sanity checks on public API
  26. --enable-xml-docs build XML documentation (requires xmlto)
  27. --enable-doxygen-docs build DOXYGEN documentation (requires Doxygen)
  28. --enable-gcov compile with coverage profiling instrumentation (gcc only)
  29. --enable-abstract-sockets
  30. use abstract socket namespace (linux only)
  31. --enable-gcj build gcj bindings
  32. --enable-mono build mono bindings
  33. --enable-mono-docs build mono docs
  34. --enable-python build python bindings
  35. --enable-selinux build with SELinux support
  36. --enable-dnotify build with dnotify support (linux only)
  37. --with-qt-moc=<path> moc for Qt
  38. --with-qt3-moc=<path> moc for Qt3
  39. --with-xml=libxml/expat XML library to use
  40. --with-init-scripts=redhat Style of init scripts to install
  41. --with-session-socket-dir=dirname Where to put sockets for the per-login-session message bus
  42. --with-test-socket-dir=dirname Where to put sockets for make check
  43. --with-system-pid-file=pidfile PID file for systemwide daemon
  44. --with-system-socket=filename UNIX domain socket for systemwide daemon
  45. --with-console-auth-dir=dirname directory to check for console ownerhip
  46. --with-dbus-user=<user> User for running the DBUS daemon (messagebus)
  47. --with-gnu-ld assume the C compiler uses GNU ld [default=no]
  48. --with-tags[=TAGS] include additional configurations [automatic]
  49. --with-x use the X Window System
  50. API/ABI Policy
  51. ===
  52. D-BUS API/ABI and protocol necessarily remain in flux until we are
  53. sure it will meet the various needs it's intended to meet. This means
  54. we need to see some significant sample usage in the contexts of GNOME,
  55. KDE, desktop applications, and systemwide uses such as print queue
  56. monitoring, hotplug events, or whatever. We need the flexibility to
  57. incorporate feedback from this sample usage.
  58. Once we feel confident in the protocol and the API, we will release a
  59. version 1.0. At that point, the intent is:
  60. - The protocol will never be broken again; any message bus should
  61. work with any client forever. However, extensions are possible
  62. where the protocol is extensible.
  63. - If the library API is modified incompatibly, we will rename it
  64. as in http://ometer.com/parallel.html - in other words,
  65. it will always be possible to compile against and use the older
  66. API, and apps will always get the API they expect.
  67. Until 1.0 is released, feedback that requires API changes may be
  68. incorporated into D-BUS. This may break the API, the ABI, the
  69. protocol, or all three.
  70. To avoid a huge soname, the plan is to increment the soname only
  71. between official stable releases, not with every development snapshot.
  72. Versions numbered 0.x are considered development snapshots.
  73. Until 1.0 is released, you have to define -DDBUS_API_SUBJECT_TO_CHANGE
  74. just as a safety check to be sure everyone is aware of this API/ABI
  75. policy and has the right expectations.
  76. We do need people to test the APIs, so please do use the development
  77. snapshots of D-BUS. They are intended to work and we do actively
  78. address bugs.
  79. However, if you're shipping a commercial binary-only application that
  80. needs to keep running on M future versions of N operating systems, you
  81. might want to include your own copy of D-BUS rather than relying on
  82. the installed copy, for example.