diff --git a/meson.build b/meson.build index b86e72af..cd5e77e3 100644 --- a/meson.build +++ b/meson.build @@ -47,8 +47,17 @@ if get_option('default_library') != 'static' endif endif -if get_option('with_sysprofd') != 'none' - config_h.set10('ENABLE_POLKIT', true) +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) +gtk_dep = dependency('gtk+-3.0', version: gtk_req_version) + +# If we find polkit 0.114, we don't need to backport autoptr cleanups +polkit_dep = dependency('polkit-gobject-1', version: '0.114', required: false) +if polkit_dep.found() + config_h.set10('HAVE_POLKIT_AUTOPTR', true) +else + polkit_dep = dependency('polkit-gobject-1', version: polkit_req_version) endif debugdir = get_option('debugdir') diff --git a/src/libsysprof-capture/meson.build b/src/libsysprof-capture/meson.build index ce487ddd..b848225b 100644 --- a/src/libsysprof-capture/meson.build +++ b/src/libsysprof-capture/meson.build @@ -30,7 +30,7 @@ configure_file( ) libsysprof_capture_deps = [ - dependency('glib-2.0', version: glib_req_version), + glib_dep, ] libsysprof_capture = static_library( diff --git a/src/libsysprof-ui/meson.build b/src/libsysprof-ui/meson.build index bbb1a577..b1607fad 100644 --- a/src/libsysprof-ui/meson.build +++ b/src/libsysprof-ui/meson.build @@ -54,8 +54,8 @@ libsysprof_ui_resources = gnome.compile_resources( ) libsysprof_ui_deps = [ - dependency('gio-2.0', version: glib_req_version), - dependency('gtk+-3.0', version: gtk_req_version), + gio_dep, + gtk_dep, libsysprof_dep, ] diff --git a/src/libsysprof/meson.build b/src/libsysprof/meson.build index 395155a5..cb0b5d29 100644 --- a/src/libsysprof/meson.build +++ b/src/libsysprof/meson.build @@ -58,8 +58,9 @@ libsysprof_public_sources += libsysprof_capture_sources libsysprof_public_headers += libsysprof_capture_headers libsysprof_deps = [ - dependency('gio-2.0', version: glib_req_version), - dependency('gio-unix-2.0', version: glib_req_version), + gio_dep, + gio_unix_dep, + polkit_dep, ] if host_machine.system() == 'linux' @@ -89,10 +90,6 @@ if host_machine.system() != 'darwin' libsysprof_deps += [cxx.find_library('stdc++')] endif -if get_option('with_sysprofd') != 'none' - libsysprof_deps += dependency('polkit-gobject-1') -endif - libsysprof = shared_library( 'sysprof-@0@'.format(libsysprof_api_version), libsysprof_public_sources + libsysprof_private_sources, diff --git a/src/sysprofd/meson.build b/src/sysprofd/meson.build index 5cdbc6c0..2478e41e 100644 --- a/src/sysprofd/meson.build +++ b/src/sysprofd/meson.build @@ -10,10 +10,10 @@ sysprofd_sources = [ pkglibexecdir = join_paths(get_option('prefix'), get_option('libexecdir')) sysprofd_deps = [ - 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), + glib_dep, + gio_dep, + gio_unix_dep, + polkit_dep, ] sysprofd = executable('sysprofd', sysprofd_sources,