summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
Diffstat (limited to 'service')
-rw-r--r--service/Makefile.am2
-rw-r--r--service/ca.desrt.dconf.service.in3
-rw-r--r--service/meson.build53
3 files changed, 57 insertions, 1 deletions
diff --git a/service/Makefile.am b/service/Makefile.am
index 8d32517..0199c01 100644
--- a/service/Makefile.am
+++ b/service/Makefile.am
@@ -35,7 +35,7 @@ DISTCLEANFILES = ca.desrt.dconf.service
BUILT_SOURCES = dconf-generated.c dconf-generated.h
CLEANFILES = $(BUILT_SOURCES)
-EXTRA_DIST = ca.desrt.dconf.xml
+EXTRA_DIST = ca.desrt.dconf.xml meson.build
ca.desrt.dconf.service: Makefile
$(AM_V_GEN) (echo '[D-BUS Service]'; \
diff --git a/service/ca.desrt.dconf.service.in b/service/ca.desrt.dconf.service.in
new file mode 100644
index 0000000..369948a
--- /dev/null
+++ b/service/ca.desrt.dconf.service.in
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=ca.desrt.dconf
+Exec=@libexecdir@/dconf-service
diff --git a/service/meson.build b/service/meson.build
new file mode 100644
index 0000000..f651e25
--- /dev/null
+++ b/service/meson.build
@@ -0,0 +1,53 @@
+dbus_service_dir = get_option('with-dbus-service-dir').strip()
+if dbus_service_dir == ''
+ dbus_service_dir = join_paths(dconf_datadir, 'dbus-1', 'services')
+endif
+
+dbus_system_service_dir = get_option('with-dbus-system-service-dir').strip()
+if dbus_system_service_dir == ''
+ dbus_system_service_dir = join_paths(dconf_datadir, 'dbus-1', 'system-services')
+endif
+
+service_conf = configuration_data()
+service_conf.set('libexecdir', dconf_libexecdir)
+
+service = dconf_namespace + '.service'
+
+configure_file(
+ input: service + '.in',
+ output: service,
+ install: true,
+ install_dir: dbus_service_dir,
+ configuration: service_conf
+)
+
+sources = [
+ 'dconf-blame.c',
+ 'dconf-gvdb-utils.c',
+ 'dconf-keyfile-writer.c',
+ 'dconf-service.c',
+ 'dconf-shm-writer.c',
+ 'dconf-writer.c',
+ 'main.c'
+]
+
+sources += gnome.gdbus_codegen(
+ 'dconf-generated',
+ dconf_namespace + '.xml',
+ interface_prefix: dconf_namespace + '.',
+ namespace: 'DConfDBus'
+)
+
+executable(
+ 'dconf-service',
+ sources,
+ include_directories: top_inc,
+ dependencies: gio_unix_dep,
+ link_with: [
+ libdconf_common,
+ libdconf_shm,
+ libgvdb
+ ],
+ install: true,
+ install_dir: dconf_libexecdir
+)