mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-10 07:00:53 +00:00
libsysprof-capture: Move autocleanup definitions to libsysprof
In preparation for dropping the GLib dependency from libsysprof-capture, move the autocleanup definitions up to libsysprof. Add a new header for them. This is slightly awkward in the tools, which depend on libsysprof-capture but not libsysprof. Rather than make them depend on libsysprof (which might be disabled at configure time), include the `sysprof-capture-autocleanups.h` file between source directories. `SYSPROF_COMPILATION` needs to be defined for this to work. Signed-off-by: Philip Withnall <withnall@endlessm.com> Helps: #40
This commit is contained in:
@ -91,6 +91,4 @@ SYSPROF_AVAILABLE_IN_ALL
|
|||||||
gboolean sysprof_capture_condition_match (const SysprofCaptureCondition *self,
|
gboolean sysprof_capture_condition_match (const SysprofCaptureCondition *self,
|
||||||
const SysprofCaptureFrame *frame);
|
const SysprofCaptureFrame *frame);
|
||||||
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SysprofCaptureCondition, sysprof_capture_condition_unref)
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|||||||
@ -97,6 +97,4 @@ SYSPROF_AVAILABLE_IN_ALL
|
|||||||
void sysprof_capture_cursor_add_condition (SysprofCaptureCursor *self,
|
void sysprof_capture_cursor_add_condition (SysprofCaptureCursor *self,
|
||||||
SysprofCaptureCondition *condition);
|
SysprofCaptureCondition *condition);
|
||||||
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SysprofCaptureCursor, sysprof_capture_cursor_unref)
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|||||||
@ -147,6 +147,5 @@ gboolean sysprof_capture_reader_read_file_fd (
|
|||||||
const gchar *path,
|
const gchar *path,
|
||||||
gint fd);
|
gint fd);
|
||||||
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SysprofCaptureReader, sysprof_capture_reader_unref)
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|||||||
@ -249,6 +249,4 @@ gboolean _sysprof_capture_writer_set_time_range (Sy
|
|||||||
gint64 end_time) G_GNUC_INTERNAL;
|
gint64 end_time) G_GNUC_INTERNAL;
|
||||||
|
|
||||||
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SysprofCaptureWriter, sysprof_capture_writer_unref)
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|||||||
@ -37,6 +37,7 @@ libsysprof_public_sources = [
|
|||||||
libsysprof_public_headers = [
|
libsysprof_public_headers = [
|
||||||
'sysprof-battery-source.h',
|
'sysprof-battery-source.h',
|
||||||
'sysprof-callgraph-profile.h',
|
'sysprof-callgraph-profile.h',
|
||||||
|
'sysprof-capture-autocleanups.h',
|
||||||
'sysprof-capture-gobject.h',
|
'sysprof-capture-gobject.h',
|
||||||
'sysprof-capture-symbol-resolver.h',
|
'sysprof-capture-symbol-resolver.h',
|
||||||
'sysprof-control-source.h',
|
'sysprof-control-source.h',
|
||||||
|
|||||||
41
src/libsysprof/sysprof-capture-autocleanups.h
Normal file
41
src/libsysprof/sysprof-capture-autocleanups.h
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
/* sysprof-capture-gobject.h
|
||||||
|
*
|
||||||
|
* Copyright 2020 Endless Mobile, Inc.
|
||||||
|
*
|
||||||
|
* Author:
|
||||||
|
* - Philip Withnall <withnall@endlessm.com>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#if !defined (SYSPROF_INSIDE) && !defined (SYSPROF_COMPILATION)
|
||||||
|
# error "Only <sysprof.h> can be included directly."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <glib.h>
|
||||||
|
|
||||||
|
#include "sysprof-capture.h"
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SysprofCaptureCondition, sysprof_capture_condition_unref)
|
||||||
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SysprofCaptureCursor, sysprof_capture_cursor_unref)
|
||||||
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SysprofCaptureReader, sysprof_capture_reader_unref)
|
||||||
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SysprofCaptureWriter, sysprof_capture_writer_unref)
|
||||||
|
|
||||||
|
G_END_DECLS
|
||||||
@ -34,6 +34,7 @@
|
|||||||
#include "sysprof-local-profiler.h"
|
#include "sysprof-local-profiler.h"
|
||||||
#include "sysprof-platform.h"
|
#include "sysprof-platform.h"
|
||||||
|
|
||||||
|
#include "sysprof-capture-autocleanups.h"
|
||||||
#include "sysprof-control-source.h"
|
#include "sysprof-control-source.h"
|
||||||
#include "sysprof-gjs-source.h"
|
#include "sysprof-gjs-source.h"
|
||||||
#include "sysprof-hostinfo-source.h"
|
#include "sysprof-hostinfo-source.h"
|
||||||
|
|||||||
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include <sysprof-capture.h>
|
#include <sysprof-capture.h>
|
||||||
|
|
||||||
|
#include "sysprof-capture-autocleanups.h"
|
||||||
#include "sysprof-capture-symbol-resolver.h"
|
#include "sysprof-capture-symbol-resolver.h"
|
||||||
#include "sysprof-elf-symbol-resolver.h"
|
#include "sysprof-elf-symbol-resolver.h"
|
||||||
#include "sysprof-kernel-symbol-resolver.h"
|
#include "sysprof-kernel-symbol-resolver.h"
|
||||||
|
|||||||
@ -25,6 +25,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <sysprof-capture.h>
|
#include <sysprof-capture.h>
|
||||||
|
|
||||||
|
#include "sysprof-capture-autocleanups.h"
|
||||||
#include "sysprof-platform.h"
|
#include "sysprof-platform.h"
|
||||||
#include "sysprof-tracefd-source.h"
|
#include "sysprof-tracefd-source.h"
|
||||||
|
|
||||||
|
|||||||
@ -26,6 +26,7 @@ G_BEGIN_DECLS
|
|||||||
|
|
||||||
# include "sysprof-battery-source.h"
|
# include "sysprof-battery-source.h"
|
||||||
# include "sysprof-callgraph-profile.h"
|
# include "sysprof-callgraph-profile.h"
|
||||||
|
# include "sysprof-capture-autocleanups.h"
|
||||||
# include "sysprof-capture-gobject.h"
|
# include "sysprof-capture-gobject.h"
|
||||||
# include "sysprof-capture-symbol-resolver.h"
|
# include "sysprof-capture-symbol-resolver.h"
|
||||||
# include "sysprof-control-source.h"
|
# include "sysprof-control-source.h"
|
||||||
|
|||||||
@ -24,6 +24,8 @@
|
|||||||
#include <sysprof-capture.h>
|
#include <sysprof-capture.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#include "../libsysprof/sysprof-capture-autocleanups.h"
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
foreach_cb (const SysprofCaptureFrame *frame,
|
foreach_cb (const SysprofCaptureFrame *frame,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
|
|||||||
@ -3,10 +3,13 @@ tools_deps = [
|
|||||||
libsysprof_capture_dep,
|
libsysprof_capture_dep,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
tools_cflags = [ '-DSYSPROF_COMPILATION ']
|
||||||
|
|
||||||
if get_option('libsysprof') and host_machine.system() == 'linux'
|
if get_option('libsysprof') and host_machine.system() == 'linux'
|
||||||
polkit_agent_dep = dependency('polkit-agent-1')
|
polkit_agent_dep = dependency('polkit-agent-1')
|
||||||
sysprof_cli = executable('sysprof-cli', 'sysprof-cli.c',
|
sysprof_cli = executable('sysprof-cli', 'sysprof-cli.c',
|
||||||
dependencies: tools_deps + [libsysprof_dep, polkit_dep, polkit_agent_dep],
|
dependencies: tools_deps + [libsysprof_dep, polkit_dep, polkit_agent_dep],
|
||||||
|
c_args: tools_cflags,
|
||||||
install_dir: get_option('bindir'),
|
install_dir: get_option('bindir'),
|
||||||
install: true,
|
install: true,
|
||||||
)
|
)
|
||||||
@ -14,21 +17,25 @@ endif
|
|||||||
|
|
||||||
sysprof_cat = executable('sysprof-cat', 'sysprof-cat.c',
|
sysprof_cat = executable('sysprof-cat', 'sysprof-cat.c',
|
||||||
dependencies: tools_deps,
|
dependencies: tools_deps,
|
||||||
|
c_args: tools_cflags,
|
||||||
install: false,
|
install: false,
|
||||||
)
|
)
|
||||||
|
|
||||||
sysprof_dump = executable('sysprof-dump', 'sysprof-dump.c',
|
sysprof_dump = executable('sysprof-dump', 'sysprof-dump.c',
|
||||||
dependencies: tools_deps,
|
dependencies: tools_deps,
|
||||||
|
c_args: tools_cflags,
|
||||||
install: false,
|
install: false,
|
||||||
)
|
)
|
||||||
|
|
||||||
sysprof_profiler_ctl = executable('sysprof-profiler-ctl',
|
sysprof_profiler_ctl = executable('sysprof-profiler-ctl',
|
||||||
[ 'sysprof-profiler-ctl.c', ipc_profiler_src ],
|
[ 'sysprof-profiler-ctl.c', ipc_profiler_src ],
|
||||||
dependencies: [ tools_deps, gio_unix_dep ],
|
dependencies: [ tools_deps, gio_unix_dep ],
|
||||||
|
c_args: tools_cflags,
|
||||||
install: false,
|
install: false,
|
||||||
)
|
)
|
||||||
|
|
||||||
list_threads = executable('list-threads', ['list-threads.c'],
|
list_threads = executable('list-threads', ['list-threads.c'],
|
||||||
dependencies: [ tools_deps ],
|
dependencies: [ tools_deps ],
|
||||||
|
c_args: tools_cflags,
|
||||||
install: false,
|
install: false,
|
||||||
)
|
)
|
||||||
|
|||||||
@ -29,6 +29,7 @@
|
|||||||
#include <sysprof-capture.h>
|
#include <sysprof-capture.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#include "../libsysprof/sysprof-capture-autocleanups.h"
|
||||||
#include "sysprof-capture-util-private.h"
|
#include "sysprof-capture-util-private.h"
|
||||||
|
|
||||||
gint
|
gint
|
||||||
|
|||||||
Reference in New Issue
Block a user