summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorChristian Hergert <chergert@redhat.com>2019-05-29 19:02:30 -0700
committerChristian Hergert <chergert@redhat.com>2019-05-29 19:02:30 -0700
commit3a0beeadc5881a19a66bfcff7174fdad6f906158 (patch)
tree60e937d3c24fdaf138a87791d0faad9be967b1d4 /meson.build
parent853e83270299bd05d85afc7572558e6c1fb41bed (diff)
downloadgtk+-3a0beeadc5881a19a66bfcff7174fdad6f906158.tar.gz
profiler: port GdkProfiler to sysprof-3
This uses the new sysprof-3 ABI to implement the capture writer. It also uses the statically linked libsysprof-capture-3.a that is provided with Sysprof for the capture writing to ensure that we do not leak any symbols nor depend on any additional libraries. The GTK_TRACE_FD can be used to pass a FD for tracing into Gtk. Sysprof uses this when the Gtk instrument is selected for recording.
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build11
1 files changed, 11 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index 97cc7fdf28..34cf3cfcc5 100644
--- a/meson.build
+++ b/meson.build
@@ -666,6 +666,16 @@ if cloudproviders_enabled
endif
endif
+profiler_enabled = get_option('profiler')
+if profiler_enabled
+ profiler_dep = dependency('sysprof-capture-3', static: true, required: true)
+ if profiler_dep.found()
+ cdata.set('HAVE_SYSPROF_CAPTURE', profiler_dep.found())
+ else
+ error('Profiler support not found, but was explicitly requested.')
+ endif
+endif
+
graphene_dep_type = graphene_dep.type_name()
if graphene_dep_type == 'pkgconfig'
graphene_has_sse2 = graphene_dep.get_pkgconfig_variable('graphene_has_sse2') == '1'
@@ -811,6 +821,7 @@ summary = [
' Vulkan support: @0@'.format(have_vulkan),
' Cloud support: @0@'.format(get_option('cloudproviders')),
' Colord support: @0@'.format(get_option('colord')),
+ ' Profiler: @0@'.format(get_option('profiler')),
' Introspection: @0@'.format(get_option('introspection')),
' Documentation: @0@'.format(get_option('documentation')),
' Man pages: @0@'.format(get_option('man-pages')),