In older versions of dbus, this file defined the behaviour of the well-known
session bus. That behaviour is now determined by
-@DBUS_DATADIR@/dbus-1/session.conf, which should not be edited.
+@DATADIR_FROM_PKGSYSCONFDIR@/dbus-1/session.conf, which should not be edited.
For local configuration changes, create a file
-@DBUS_SYSCONFDIR@/dbus-1/session-local.conf or files matching
-@DBUS_SYSCONFDIR@/dbus-1/session.d/*.conf, with a <busconfig>
-element containing configuration directives. These directives can
-override D-Bus or OS defaults.
+session-local.conf or files matching session.d/*.conf in the same directory
+as this one, with a <busconfig> element containing configuration directives.
+These directives can override D-Bus or OS defaults.
For upstream or distribution-wide defaults that can be overridden
by a local sysadmin, create files matching
-@DBUS_DATADIR@/dbus-1/session.d/*.conf instead.
+@DATADIR_FROM_PKGSYSCONFDIR@/dbus-1/session.d/*.conf instead.
-->
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
In older versions of dbus, this file defined the behaviour of the well-known
system bus. That behaviour is now determined by
-@DBUS_DATADIR@/dbus-1/system.conf, which should not be edited.
+@DATADIR_FROM_PKGSYSCONFDIR@/dbus-1/system.conf, which should not be edited.
For local configuration changes, create a file
-@DBUS_SYSCONFDIR@/dbus-1/system-local.conf or files matching
-@DBUS_SYSCONFDIR@/dbus-1/system.d/*.conf, with a <busconfig>
-element containing configuration directives. These directives can
-override D-Bus or OS defaults.
+system-local.conf or files matching system.d/*.conf in the same directory
+as this one, with a <busconfig> element containing configuration directives.
+These directives can override D-Bus or OS defaults.
For upstream or distribution-wide defaults that can be overridden
by a local sysadmin, create files matching
-@DBUS_DATADIR@/dbus-1/system.d/*.conf instead.
+@DATADIR_FROM_PKGSYSCONFDIR@/dbus-1/system.d/*.conf instead.
-->
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
</policy>
<!-- Include legacy configuration location -->
- <include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/session.conf</include>
+ <include ignore_missing="yes">@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session.conf</include>
<!-- Config files are placed here that among other things,
further restrict the above policy for specific services. -->
<includedir>session.d</includedir>
- <includedir>@DBUS_SYSCONFDIR@/dbus-1/session.d</includedir>
+ <includedir>@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session.d</includedir>
<!-- This is included last so local configuration can override what's
in this standard file -->
- <include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/session-local.conf</include>
+ <include ignore_missing="yes">@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/session-local.conf</include>
<include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
</policy>
<!-- Include legacy configuration location -->
- <include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/system.conf</include>
+ <include ignore_missing="yes">@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/system.conf</include>
<!-- Config files are placed here that among other things, punch
holes in the above policy for specific services. -->
<includedir>system.d</includedir>
- <includedir>@DBUS_SYSCONFDIR@/dbus-1/system.d</includedir>
+ <includedir>@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/system.d</includedir>
<!-- This is included last so local configuration can override what's
in this standard file -->
- <include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/system-local.conf</include>
+ <include ignore_missing="yes">@SYSCONFDIR_FROM_PKGDATADIR@/dbus-1/system-local.conf</include>
<include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
set(DBUS_BINDIR ${EXPANDED_BINDIR})
set(DBUS_DAEMONDIR ${EXPANDED_BINDIR})
set(DBUS_LOCALSTATEDIR ${EXPANDED_LOCALSTATEDIR})
-set(DBUS_SYSCONFDIR ${EXPANDED_SYSCONFDIR})
+
+# On Windows this is relative to where we put the bus setup, in
+# ${datadir}/dbus-1. For simplicity, we only do this if
+# ${sysconfdir} = ${prefix}/etc and ${datadir} = ${prefix}/share.
+#
+# On Unix, or on Windows with weird install layouts, it's the absolute path.
+if(WIN32 AND ${EXPANDED_SYSCONFDIR} STREQUAL ${prefix}/etc AND ${EXPANDED_DATADIR} STREQUAL ${prefix}/share)
+set(SYSCONFDIR_FROM_PKGDATADIR ../../etc)
+set(DATADIR_FROM_PKGSYSCONFDIR ../../share)
+else()
+set(SYSCONFDIR_FROM_PKGDATADIR ${EXPANDED_SYSCONFDIR})
+set(DATADIR_FROM_PKGSYSCONFDIR ${EXPANDED_DATADIR})
+endif()
+
set(DBUS_LIBEXECDIR ${EXPANDED_LIBDIR})
set(DBUS_DATADIR ${EXPANDED_DATADIR})
AC_DEFINE_UNQUOTED(DBUS_LIBEXECDIR,"$DBUS_LIBEXECDIR", [Directory for installing the libexec binaries])
#### Directory to source sysconfdir configuration from
-DBUS_SYSCONFDIR="$EXPANDED_SYSCONFDIR"
-AC_SUBST(DBUS_SYSCONFDIR)
-AC_DEFINE_UNQUOTED(DBUS_SYSCONFDIR,"$DBUS_SYSCONFDIR", [Directory to source sysconfdir configuration from])
+
+# On Windows this is relative to where we put the bus setup, in
+# ${datadir}/dbus-1. For simplicity, we only do this if
+# ${sysconfdir} = ${prefix}/etc and ${datadir} = ${prefix}/share.
+#
+# On Unix, or on Windows with weird install layouts, it's the absolute path.
+AS_IF([test "${dbus_win}" = yes && \
+ test "$EXPANDED_SYSCONFDIR" = "$EXPANDED_PREFIX/etc" && \
+ test "$EXPANDED_DATADIR" = "$EXPANDED_PREFIX/share"],
+ [SYSCONFDIR_FROM_PKGDATADIR="../../etc"
+ DATADIR_FROM_PKGSYSCONFDIR="../../share"],
+ [SYSCONFDIR_FROM_PKGDATADIR="$EXPANDED_SYSCONFDIR"
+ DATADIR_FROM_PKGSYSCONFDIR="$EXPANDED_DATADIR"])
+AC_SUBST([SYSCONFDIR_FROM_PKGDATADIR])
+AC_SUBST([DATADIR_FROM_PKGSYSCONFDIR])
#### Tell tests where to find certain stuff in builddir