Commit Graph

144 Commits

Author SHA1 Message Date
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
3d7abf27b8 build: fix warning about add_languages()
We don't need to run things on the build machine, so native is not
required for this.
2022-04-01 17:01:42 -07:00
5efd9e4686 build: bump meson requirement 2022-04-01 16:56:32 -07:00
24ac040563 build: bump versions 2022-04-01 13:16:31 -07:00
5e55f5f2cc build: switch build to GTK 4 2022-04-01 13:14:51 -07:00
a1f8f7e9f8 build: remove dazzle reference 2022-04-01 13:14:51 -07:00
b307550ea5 build: fix various meson deprecation warnings 2022-04-01 13:09:56 -07:00
3c5540047f build: bump for development 2022-04-01 12:41:14 -07:00
7d44e2db75 release 3.44.0 (GNOME 42.0) 2022-03-18 15:46:32 -07:00
c6dfe76810 Release 3.43.90 2022-03-07 13:43:12 -08:00
75364415b3 build: require libunwind unless disabled
Only some situations can use this properly without libunwind, so make
sure that we have it available unless -Dlibunwind=false.

Distributors, please be kind, use libunwind!
2021-11-04 19:48:29 -07:00
2903f08d02 release 3.42.1 2021-11-04 10:26:31 -07:00
f49681cb23 Release 3.42.0 (GNOME 41.0) 2021-09-21 16:41:52 -07:00
c6840d48d1 Release 3.40.1
This release fixes an issue created during GNOME 40 development where the
libsysprof-capture-4.a library could leak symbols into a shared library
that consumed it (such as Pango, GTK 4, and GLib).

This fixes that by removing symbol visibility from libsysprof-capture.a.
Distributions are encouraged to rebuild their libraries that consume
Sysprof's libsysprof-capture-4.a.
2021-03-23 10:58:57 -07:00
3f2b486741 build: remove symbol visibility from capture static library
The visibility of symbols was getting extracted from the .a into the
libraries that link_whole the archive. We can simply disable the visibility
from the .a with a custom config.h.meson which avoids it for the capture
library. Since we already double-compile those sources for the shared
library, the shared library visibility is not affected.

This was tested by compiling a simple library which calls
sysprof_clock_init() and ensuring that no extra symbols were found with
`nm libfoo.so | grep ' T '`.

Fixes #60
2021-03-22 14:49:00 -07:00
5463c965b1 Release 3.40.0 2021-03-19 17:17:46 -07:00
311405fd84 Release 3.39.94 (40.beta2) 2021-02-25 14:43:14 -08:00
902397917b release 3.39.92 2021-02-23 15:52:36 -08:00
4d332dc68a about: add symbolic information to release 2021-02-23 15:40:32 -08:00