[gtk/wip/chergert/bump-sysprof-abi] build: bump to sysprof 4 ABI



commit 340c9861025ab938d04288af88146ed0fddd85b8
Author: Christian Hergert <chergert redhat com>
Date:   Sat Jul 4 11:40:21 2020 -0700

    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.

 .gitlab-ci/fedora-base.Dockerfile |  1 -
 meson.build                       | 15 ++++++++++++++-
 subprojects/sysprof.wrap          |  4 ++++
 tests/testperf.c                  |  9 +++++----
 4 files changed, 23 insertions(+), 6 deletions(-)
---
diff --git a/.gitlab-ci/fedora-base.Dockerfile b/.gitlab-ci/fedora-base.Dockerfile
index 0237b3804b..c9553b1e0b 100644
--- a/.gitlab-ci/fedora-base.Dockerfile
+++ b/.gitlab-ci/fedora-base.Dockerfile
@@ -73,7 +73,6 @@ RUN dnf -y install \
     python3-wheel \
     redhat-rpm-config \
     sassc \
-    sysprof-devel \
     systemtap-sdt-devel \
     vulkan-devel \
     wayland-devel \
diff --git a/meson.build b/meson.build
index 1b3358fe70..4f1956fb89 100644
--- a/meson.build
+++ b/meson.build
@@ -685,7 +685,20 @@ endif
 
 profiler_enabled = get_option('profiler')
 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()
     cdata.set('HAVE_SYSPROF_CAPTURE', profiler_dep.found())
   else
diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap
new file mode 100644
index 0000000000..b1cff4b09f
--- /dev/null
+++ b/subprojects/sysprof.wrap
@@ -0,0 +1,4 @@
+[wrap-git]
+directory=sysprof
+url=https://gitlab.gnome.org/GNOME/sysprof.git
+revision=master
diff --git a/tests/testperf.c b/tests/testperf.c
index 27b9d623aa..ed14bab66f 100644
--- a/tests/testperf.c
+++ b/tests/testperf.c
@@ -1,3 +1,4 @@
+#include <errno.h>
 #include <stdio.h>
 #include <sysprof-capture.h>
 #include <gio/gio.h>
@@ -7,7 +8,7 @@ typedef struct {
   gint64 value;
 } Data;
 
-static gboolean
+static bool
 callback (const SysprofCaptureFrame *frame,
           gpointer              user_data)
 {
@@ -94,9 +95,9 @@ main (int argc, char *argv[])
       g_object_unref (subprocess);
       g_object_unref (launcher);
 
-      reader = sysprof_capture_reader_new (name, &error);
-      if (error)
-        g_error ("Opening syscap file: %s", error->message);
+      reader = sysprof_capture_reader_new (name);
+      if (!reader)
+        g_error ("Opening syscap file: %s", g_strerror (errno));
 
       data.group = "style";
       data.value = 0;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]