From f5f817bf93e9fe1503cd327b546a1237f59e96b4 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Mon, 29 Jan 2018 09:54:30 +0000
Subject: [PATCH] Add some notes on integrating dbus-gmain into larger projects

Signed-off-by: Simon McVittie <smcv@debian.org>
---
 README | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/README b/README
index 17919fe1..ee14484a 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__)".
-- 
GitLab