build: bump to sysprof 4 ABI

Sysprof has moved to a new ABI which removes GLib from the capture library
so that GLib itself can link against sysprof-capture.

This bumps the library ABI so we can keep things coordinated between all
the new tracing layers in the stack.
This commit is contained in:
Christian Hergert 2020-07-04 11:40:21 -07:00
parent cc50be971d
commit 459af3acab
5 changed files with 28 additions and 11 deletions

View File

@ -75,7 +75,6 @@ RUN dnf -y install \
python3-wheel \ python3-wheel \
redhat-rpm-config \ redhat-rpm-config \
sassc \ sassc \
sysprof-devel \
systemtap-sdt-devel \ systemtap-sdt-devel \
vulkan-devel \ vulkan-devel \
wayland-devel \ wayland-devel \

View File

@ -687,7 +687,20 @@ endif
profiler_enabled = get_option('profiler') profiler_enabled = get_option('profiler')
if profiler_enabled if profiler_enabled
profiler_dep = dependency('sysprof-capture-3', static: true, required: true) # libsysprof-capture support
profiler_dep = dependency('sysprof-capture-4',
required: true,
default_options: [
'enable_examples=false',
'enable_gtk=false',
'enable_tests=false',
'enable_tools=false',
'libsysprof=false',
'with_sysprofd=none',
'help=false',
],
fallback: ['sysprof', 'libsysprof_capture_dep'],
)
if profiler_dep.found() if profiler_dep.found()
cdata.set('HAVE_SYSPROF_CAPTURE', profiler_dep.found()) cdata.set('HAVE_SYSPROF_CAPTURE', profiler_dep.found())
else else

4
subprojects/sysprof.wrap Normal file
View File

@ -0,0 +1,4 @@
[wrap-git]
directory=sysprof
url=https://gitlab.gnome.org/GNOME/sysprof.git
revision=master

View File

@ -1,3 +1,4 @@
#include <errno.h>
#include <stdio.h> #include <stdio.h>
#include <sysprof-capture.h> #include <sysprof-capture.h>
#include <gio/gio.h> #include <gio/gio.h>
@ -7,7 +8,7 @@ typedef struct {
gint64 value; gint64 value;
} Data; } Data;
static gboolean static bool
callback (const SysprofCaptureFrame *frame, callback (const SysprofCaptureFrame *frame,
gpointer user_data) gpointer user_data)
{ {
@ -94,9 +95,9 @@ main (int argc, char *argv[])
g_object_unref (subprocess); g_object_unref (subprocess);
g_object_unref (launcher); g_object_unref (launcher);
reader = sysprof_capture_reader_new (name, &error); reader = sysprof_capture_reader_new (name);
if (error) if (!reader)
g_error ("Opening syscap file: %s", error->message); g_error ("Opening syscap file: %s", g_strerror (errno));
data.group = "style"; data.group = "style";
data.value = 0; data.value = 0;

View File

@ -14,9 +14,9 @@ typedef struct {
gint64 value; gint64 value;
} Data; } Data;
static gboolean static bool
callback (const SysprofCaptureFrame *frame, callback (const SysprofCaptureFrame *frame,
gpointer user_data) gpointer user_data)
{ {
Data *data = user_data; Data *data = user_data;
@ -148,9 +148,9 @@ main (int argc, char *argv[])
g_object_unref (subprocess); g_object_unref (subprocess);
g_object_unref (launcher); g_object_unref (launcher);
reader = sysprof_capture_reader_new (name, &error); reader = sysprof_capture_reader_new (name);
if (error) if (!reader)
g_error ("Opening syscap file: %s", error->message); g_error ("Opening syscap file: %s", g_strerror (errno));
data.mark = opt_mark ? opt_mark : "css validation"; data.mark = opt_mark ? opt_mark : "css validation";
data.detail = opt_detail ? opt_detail : NULL; data.detail = opt_detail ? opt_detail : NULL;