From e03b54fca541c51473970ff98b356873ac94c247 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Thu, 25 Jun 2020 15:31:16 +0100 Subject: [PATCH] build: Only run gdbus-codegen if building components which need it This is to avoid running `gdbus-codegen` when building sysprof as a subproject underneath libglib, as by that point in the GLib build process, `gdbus-codegen` is not yet available. The interfaces generated by these `gdbus-codegen` invocations are only needed for `sysprofd` and libsysprof, not for the libraries like `libsysprof-capture`. Signed-off-by: Philip Withnall --- src/meson.build | 32 ++++++++++++++++---------------- src/tools/meson.build | 14 ++++++++------ 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/meson.build b/src/meson.build index f464cbba..65ab3bae 100644 --- a/src/meson.build +++ b/src/meson.build @@ -7,25 +7,25 @@ sysprof_version_conf.set('MINOR_VERSION', sysprof_version[1]) sysprof_version_conf.set('MICRO_VERSION', sysprof_version[2]) sysprof_version_conf.set('VERSION', meson.project_version()) -ipc_profiler_src = gnome.gdbus_codegen('ipc-profiler', - sources: 'org.gnome.Sysprof3.Profiler.xml', - interface_prefix: 'org.gnome.Sysprof3.', - namespace: 'Ipc', -) +if get_option('with_sysprofd') == 'bundled' or get_option('libsysprof') + ipc_profiler_src = gnome.gdbus_codegen('ipc-profiler', + sources: 'org.gnome.Sysprof3.Profiler.xml', + interface_prefix: 'org.gnome.Sysprof3.', + namespace: 'Ipc', + ) -ipc_service_src = gnome.gdbus_codegen('ipc-service', - sources: 'org.gnome.Sysprof3.Service.xml', - interface_prefix: 'org.gnome.Sysprof3.', - namespace: 'Ipc', -) + ipc_service_src = gnome.gdbus_codegen('ipc-service', + sources: 'org.gnome.Sysprof3.Service.xml', + interface_prefix: 'org.gnome.Sysprof3.', + namespace: 'Ipc', + ) -ipc_legacy_src = gnome.gdbus_codegen('ipc-legacy', - sources: 'org.gnome.Sysprof2.xml', - interface_prefix: 'org.gnome.', - namespace: 'IpcLegacy', -) + ipc_legacy_src = gnome.gdbus_codegen('ipc-legacy', + sources: 'org.gnome.Sysprof2.xml', + interface_prefix: 'org.gnome.', + namespace: 'IpcLegacy', + ) -if get_option('with_sysprofd') == 'bundled' install_data(['org.gnome.Sysprof3.Service.xml', 'org.gnome.Sysprof2.xml'], install_dir: join_paths(datadir, 'dbus-1/interfaces'), diff --git a/src/tools/meson.build b/src/tools/meson.build index 397f62f0..97a242dd 100644 --- a/src/tools/meson.build +++ b/src/tools/meson.build @@ -28,12 +28,14 @@ sysprof_dump = executable('sysprof-dump', 'sysprof-dump.c', install: false, ) -sysprof_profiler_ctl = executable('sysprof-profiler-ctl', - [ 'sysprof-profiler-ctl.c', ipc_profiler_src ], - dependencies: [ tools_deps, dependency('gio-unix-2.0', version: glib_req_version) ], - c_args: tools_cflags, - install: false, -) +if get_option('with_sysprofd') == 'bundled' or get_option('libsysprof') + sysprof_profiler_ctl = executable('sysprof-profiler-ctl', + [ 'sysprof-profiler-ctl.c', ipc_profiler_src ], + dependencies: [ tools_deps, dependency('gio-unix-2.0', version: glib_req_version) ], + c_args: tools_cflags, + install: false, + ) +endif list_threads = executable('list-threads', ['list-threads.c'], dependencies: [ tools_deps ],