summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2018-01-29 09:54:30 +0000
committerSimon McVittie <smcv@debian.org>2018-01-29 09:54:30 +0000
commitf5f817bf93e9fe1503cd327b546a1237f59e96b4 (patch)
tree404c45f820d6344d77a7b07c8c4b0347f3b247ff
parent20dce212d5554d5aaf25cba51f594b360a0f799d (diff)
downloaddbus-glib-f5f817bf93e9fe1503cd327b546a1237f59e96b4.tar.gz
Add some notes on integrating dbus-gmain into larger projects
Signed-off-by: Simon McVittie <smcv@debian.org>
-rw-r--r--README34
1 files changed, 34 insertions, 0 deletions
diff --git a/README b/README
index 17919fe..ee14484 100644
--- a/README
+++ b/README
@@ -13,3 +13,37 @@ issues.
However, using this module is still better than using dbus-glib; the
rest of dbus-glib mostly consists of design flaws.
+
+Integrating dbus-gmain in a larger project
+------------------------------------------
+
+dbus-gmain requires libdbus >= 1.8. This can be reduced to some ancient
+version if you don't build the tests.
+
+dbus-gmain requires GLib >= 2.40. This can be reduced to 2.32, or
+probably older, if you don't build the tests.
+
+If you use the included Makefile.am (which requires building the tests),
+you must check for libdbus via pkg-config using the prefix "DBUS", check
+for GLib (and optionally gobject and gio) via pkg-config using the prefix
+"GLIB", and check for DBUS_RUN_SESSION for the tests:
+
+PKG_CHECK_MODULES([DBUS], [dbus-1 >= 1.8])
+PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.40])
+AC_ARG_VAR([DBUS_RUN_SESSION],
+ [The dbus-run-session tool from dbus 1.8 or later])
+AC_PATH_PROG([DBUS_RUN_SESSION], [dbus-run-session], [dbus-run-session])
+
+Alternatively, you can include dbus-gmain.[ch] among the source files for
+some executable or library.
+
+By default, dbus-gmain declares its functions in the dbus_gmain_*
+namespace. To change this, define DBUS_GMAIN_FUNCTION_NAME(name) to
+a suitably prefixed or suffixed version of name. The default is
+"dbus_gmain_ ## name".
+
+By default, dbus-gmain declares its functions G_GNUC_INTERNAL, so they
+will not be part of your library's ABI on supported compilers. To change
+this (not recommended), define DBUS_GMAIN_FUNCTION(ret, name, ...) to
+a form that includes suitable decorators. The default is
+"G_GNUC_INTERNAL ret DBUS_GMAIN_FUNCTION_NAME (name) (__VA_ARGS__)".