Commit Graph

162 Commits

Author SHA1 Message Date
4ad44609d0 build: remove optional support for libunwind
backtrace() was only ever used for bringup, not actually meant to be used
in any production capacity.
2023-08-11 12:22:57 -07:00
b6692e8faa build: prepare for beta 2023-08-07 15:04:48 -07:00
95a3177623 Revert "meson: remove unnecessary join_path() with get_option('prefix')"
This reverts commit 602a4d7fa7.

You absolutely must have these paths expanded when in use in system files.
2023-08-01 19:21:41 -07:00
dc2d7b983f build: make sure PACKAGE_LIBDIR is expanded
This is necessary so that we can access preloads with full paths.
2023-07-31 11:46:18 -07:00
4dca9ab23f build: ensure we can disable various build dependencies
This ensures that configuring with the following works.

meson setup minimal . \
	-Dtests=false \
	-Dsysprofd=host \
	-Dlibsysprof=false \
	-Dlibunwind=true \
	-Dgtk=false \
	-Dtools=false \
	-Dexamples=false \
	-Dhelp=false
2023-07-29 11:07:19 -07:00
31f25b155a build: fix meson project license 2023-07-28 17:42:44 -07:00
bdd6ea8165 meson: remove useless if statement
Just always pass the boolean option.
2023-07-28 14:06:22 -05:00
ba2f3b23c6 meson: use to_string() method on integer 2023-07-28 14:06:00 -05:00
602a4d7fa7 meson: remove unnecessary join_path() with get_option('prefix')
Meson will expand the paths for you.
2023-07-28 14:04:48 -05:00
f40587a38a meson: remove unnecessary argument nesting 2023-07-28 14:03:51 -05:00
b10d056635 meson: use dependency('dl')
Added in Meson 0.62.0. It aids in finding libdl on various platforms.
2023-07-28 14:00:57 -05:00
f93767cfb2 meson: use variables for gio-2.0, glib-2.0, and gio-unix-2.0 2023-07-28 14:00:04 -05:00
39fc1161f6 meson: cleanup formatting 2023-07-28 13:10:54 -05:00
70830bd019 meson: use SPDX license string 2023-07-28 13:07:47 -05:00
dbb7833cbf libsysprof: join libsysprof-analyze and libsysprof-profile
This brings together the two libraries back into one now that the whole
design is pretty well sorted out. They depend on roughly the same libraries
anyway and it's way easier of the single library can both read and write
the capture files (along with bringing in libsysprof-capture symbols in
a single place).
2023-07-19 17:40:41 -07:00
8078ecc60a build: fix some various build options 2023-07-19 12:13:27 -07:00
8dd7478e96 janitorial: move dbus service files into sysprofd
This is the only place they are really used directly, so keep them there.
2023-07-18 16:13:01 -07:00
8bb45686c6 build: bump dex requirement
We need various new API there.
2023-07-17 17:12:17 -07:00
12e75e4c8c build: remove libsysprof
This library is going away now that we have -analyze and -profile libs.
2023-07-17 11:38:25 -07:00
1f4f4d7e50 build: keep libsysprof-capture version at 4
We haven't changed the format, so we really don't want to cause unnecessary
churn by applications consuming this.
2023-07-12 11:49:55 -07:00
88d0589fea libsysprof-profile: tail journald and append logs to capture
It can be handy to get system information from journald to correlate with
what is going on in applications. This simple journald tail GSource will
dispatch to our callback which can append the logs to the capture.

This uses a custom callback rather than the GSourceFunc because that seems
a bit annoying to use with recent GCC function equivalence checks.
2023-07-12 10:31:23 -07:00
d1bcf93922 build: add libdex-1 requirement for libsysprof-profile
Being able to manage asynchronous operations with libdex will drastically
simplify how we implement the profiler and instruments. We may eventually
do the same with libsysprof-analyze to parallelize some operations.
2023-05-26 12:21:36 -07:00
24b876f437 libsysprof-profile: stub out libsysprof-profile library
This does the same thing as we did for libsysprof-analyze, but to contain
the profiler bits that will be used from applications/etc.
2023-05-25 15:43:53 -07:00
a4b5ea6160 build: various meson.build cleanup
We have a lot of twisted options, and could really use some cleanup to
make that all more manageable. I don't know anywhere we care about not
checking for a C++ compiler, so just always check for that so we can use
the demangler.
2023-05-25 15:30:42 -07:00
19b957f4ff build: remove unnecessary warning ignore
This shouldn't be needed anymore.
2023-05-25 15:17:46 -07:00
92b3b77dd2 contrib: create static library for elfparser
I want to move a bunch of this "contrib" style sources into their own
area so we can statically link them but keep them separate from main
sysprof code.
2023-05-25 15:15:20 -07:00
7ec74308b5 build: update required compiler versions 2023-05-25 15:15:20 -07:00
a97f6a34b0 build: bump GLib and GTK requirements 2023-04-25 15:23:48 -07:00
e888d0602e build: always define SYSPROF_COMPILATION 2023-04-25 11:55:25 -07:00
5cbf11db92 build: bump soname to 6
We are doing a lot of upcoming changes, so just synchronize everything to
our next soname bump.
2023-04-25 11:55:13 -07:00
cc7e2820f3 build: bump version for development
This will also attempt to get us on the more modern GNOME versioning
train, hopefully to phase out micro numbers eventually.
2023-04-24 17:26:45 -07:00
815ccfe4a9 Post release version bump 2023-03-17 12:15:35 -07:00
94a6aff06a Release 3.48.0 (GNOME 44.0) 2023-03-17 12:14:21 -07:00
7286515a36 meson: specify GLib and Gtk min/max version allowed
Drasticly reduces the deprecation warnings with recent Gtk versions.
2023-01-18 17:08:24 +01:00
fbd92eea0b Post-release version bump 2022-09-17 13:16:10 -07:00
d2b678d1d5 Release Sysprof 3.46.0 (GNOME 43.0) 2022-09-17 13:14:35 -07:00
7401e434dc Revert "build: remove config.h.meson"
This reverts commit 5298e67d12.
2022-08-22 12:02:07 -07:00
98e23f0a27 Post-release bump 2022-08-05 16:08:09 -07:00
4b68b9180b build: define APP_ID and APP_ID_S in config.h
This allows us to change the app-id in sysprof based on the configuration
so that nightlies do not get the same app-id as regular builds.
2022-07-22 12:54:31 -07:00
97633fd011 build: use -Ddevelopment=true to set DEVELOPMENT_BUILD
And also, we use it as #ifdef, so never define it as 0.
2022-07-22 12:53:51 -07:00
5298e67d12 build: remove config.h.meson
We don't need this anymore, so just drop it and let meson generate our
file every time.
2022-07-22 12:52:57 -07:00
dfe2dbe9bc build: remove org.gnome.sysprof3 gsettings schema
We don't use this anymore, so we can just delete it.
2022-07-22 12:37:53 -07:00
e6a582c3aa build: same thing for install_service_files 2022-07-22 12:09:24 -07:00
fa7580f60f build: always define needs_service_access 2022-07-22 12:04:51 -07:00
0dc0a5b3de build: fix -Dagent=true -Dlibsysprof=false
The agent is statically linked so that it doesn't require using a properly
working libsysprof to be installed. This ensures that it continues to build
properly in that case so it can be used from org.gnome.Sdk.
2022-07-22 11:54:42 -07:00
7da72ce66d build: post-release bump 2022-07-21 11:40:31 -07:00
9c58d931dd build: bump GTK/GLib requirements
This was the case anyway, just be explicit about it.
2022-07-11 13:14:32 -07:00
757d36ae8e Cleanup the build a bit
Makes the Meson build a little bit better and cleans up some of the
formatting.
2022-05-25 14:07:02 -05:00
42027be5dc build: drop meson requirement to 0.59
It's what fedora has in F36, so try to limit ourselves to that rather than
jumping far forward too quickly.
2022-04-01 19:07:57 -07:00
c9416a5d62 build: force libunwind usage when configured 2022-04-01 17:16:34 -07:00