From 3c7b76c6ba96f1d1ff109d58f8e0b0b7d67a5e01 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Thu, 2 Jul 2020 20:00:10 +0100 Subject: [PATCH] =?UTF-8?q?build:=20Move=20Meson=20dependency()=20calls=20?= =?UTF-8?q?to=20where=20they=E2=80=99re=20used?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This avoids making the project depend on all its dependencies, some of which are optional, when being built as a Meson subproject. Signed-off-by: Philip Withnall --- meson.build | 24 ------------------------ src/libsysprof-ui/meson.build | 6 +++--- src/libsysprof/meson.build | 13 +++++++++++-- src/sysprof/meson.build | 2 +- src/sysprofd/meson.build | 8 ++++---- src/tests/meson.build | 6 +++--- src/tools/meson.build | 3 ++- 7 files changed, 24 insertions(+), 38 deletions(-) diff --git a/meson.build b/meson.build index 6550126a..57cffa7e 100644 --- a/meson.build +++ b/meson.build @@ -52,30 +52,6 @@ if get_option('default_library') != 'static' endif endif -glib_dep = dependency('glib-2.0', version: glib_req_version) -gio_dep = dependency('gio-2.0', version: glib_req_version) -gio_unix_dep = dependency('gio-unix-2.0', version: glib_req_version) -pangoft2_dep = dependency('pangoft2', required: false) - -if get_option('enable_gtk') - gtk_dep = dependency('gtk+-3.0', version: gtk_req_version) - dazzle_dep = dependency('libdazzle-1.0', version: dazzle_req_version, fallback: ['libdazzle', 'libdazzle_dep']) -endif - -polkit_dep = dependency('polkit-gobject-1', version: '>= 0.114', required: false) -if polkit_dep.found() - config_h.set10('HAVE_POLKIT_AUTOPTR', true) -endif -polkit_dep = dependency('polkit-gobject-1', version: polkit_req_version, required: false) - -if polkit_dep.found() - config_h.set10('HAVE_POLKIT', true) -else - if get_option('with_sysprofd') == 'bundled' - error('sysprofd requires polkit @0@'.format(polkit_req_version)) - endif -endif - debugdir = get_option('debugdir') if debugdir == '' debugdir = join_paths(get_option('prefix'), get_option('libdir'), 'debug') diff --git a/src/libsysprof-ui/meson.build b/src/libsysprof-ui/meson.build index 1151f391..bb3655f8 100644 --- a/src/libsysprof-ui/meson.build +++ b/src/libsysprof-ui/meson.build @@ -85,9 +85,9 @@ libsysprof_ui_resources = gnome.compile_resources( ) libsysprof_ui_deps = [ - gio_dep, - gtk_dep, - dazzle_dep, + dependency('gio-2.0', version: glib_req_version), + dependency('gtk+-3.0', version: gtk_req_version), + dependency('libdazzle-1.0', version: dazzle_req_version, fallback: ['libdazzle', 'libdazzle_dep']), libsysprof_dep, ] diff --git a/src/libsysprof/meson.build b/src/libsysprof/meson.build index cc5f96ff..a8ecaae1 100644 --- a/src/libsysprof/meson.build +++ b/src/libsysprof/meson.build @@ -100,10 +100,19 @@ librax_dep = declare_dependency( include_directories: include_directories('.'), ) +polkit_dep = dependency('polkit-gobject-1', version: polkit_req_version, required: false) +if polkit_dep.found() + libsysprof_c_args += ['-DHAVE_POLKIT'] +endif + +if dependency('polkit-gobject-1', version: '>= 0.114', required: false).found() + libsysprof_c_args += ['-DHAVE_POLKIT_AUTOPTR'] +endif + libsysprof_deps = [ libsysprof_capture_deps, - gio_dep, - gio_unix_dep, + dependency('gio-2.0', version: glib_req_version), + dependency('gio-unix-2.0', version: glib_req_version), polkit_dep, librax_dep, ] diff --git a/src/sysprof/meson.build b/src/sysprof/meson.build index 7fb58f11..b4e5ea51 100644 --- a/src/sysprof/meson.build +++ b/src/sysprof/meson.build @@ -17,7 +17,7 @@ sysprof_deps = [ libsysprof_capture_dep, libsysprof_dep, libsysprof_ui_dep, - pangoft2_dep, + dependency('pangoft2', required: false), ] sysprof = executable('sysprof', sysprof_resources + sysprof_sources, diff --git a/src/sysprofd/meson.build b/src/sysprofd/meson.build index bf1a652d..719d3af9 100644 --- a/src/sysprofd/meson.build +++ b/src/sysprofd/meson.build @@ -16,10 +16,10 @@ sysprofd_sources = [ pkglibexecdir = join_paths(get_option('prefix'), get_option('libexecdir')) sysprofd_deps = [ - glib_dep, - gio_dep, - gio_unix_dep, - polkit_dep, + dependency('glib-2.0', version: glib_req_version), + dependency('gio-2.0', version: glib_req_version), + dependency('gio-unix-2.0', version: glib_req_version), + dependency('polkit-gobject-1', version: polkit_req_version), libsysprof_capture_dep, ] diff --git a/src/tests/meson.build b/src/tests/meson.build index 1a450aef..b46d6eb1 100644 --- a/src/tests/meson.build +++ b/src/tests/meson.build @@ -116,9 +116,9 @@ if get_option('enable_gtk') test_ui_deps = [ libsysprof_dep, libsysprof_ui_dep, - gtk_dep, - dazzle_dep, - pangoft2_dep, + dependency('gtk+-3.0', version: gtk_req_version), + dependency('libdazzle-1.0', version: dazzle_req_version, fallback: ['libdazzle', 'libdazzle_dep']), + dependency('pangoft2', required: false), ] test_model_filter = executable('test-model-filter', 'test-model-filter.c', diff --git a/src/tools/meson.build b/src/tools/meson.build index 7cd69279..397f62f0 100644 --- a/src/tools/meson.build +++ b/src/tools/meson.build @@ -7,6 +7,7 @@ tools_cflags = [ '-DSYSPROF_COMPILATION '] if get_option('libsysprof') and host_machine.system() == 'linux' polkit_agent_dep = dependency('polkit-agent-1') + polkit_dep = dependency('polkit-gobject-1', version: polkit_req_version, required: false) sysprof_cli = executable('sysprof-cli', 'sysprof-cli.c', dependencies: tools_deps + [libsysprof_dep, polkit_dep, polkit_agent_dep], c_args: tools_cflags, @@ -29,7 +30,7 @@ sysprof_dump = executable('sysprof-dump', 'sysprof-dump.c', sysprof_profiler_ctl = executable('sysprof-profiler-ctl', [ 'sysprof-profiler-ctl.c', ipc_profiler_src ], - dependencies: [ tools_deps, gio_unix_dep ], + dependencies: [ tools_deps, dependency('gio-unix-2.0', version: glib_req_version) ], c_args: tools_cflags, install: false, )