capture: avoid GObject in libsysprof-capture-2.a

The point of this file was to be easily usable by applications that want
to generate capture files (or proxy them). The intention here is that we
only have SpCaptureReader/SpCaptureWriter (and associated bits necessary
to support that).

This makes sure that we do not use GObject from the libsysprof-capture-2.a
while still having GType's in the libsysprof-2.so dynamic library.

We also invert the GObject macro check so that the default is to not
register a GType which increases the chances that copy/paste code does
not run into double-registering a GType if used with an application that
links against libsysprof-2. (One such example could be if Gtk uses this
code for timers, as it would break Sysprof itself).
This commit is contained in:
Christian Hergert
2018-05-21 13:52:02 -07:00
parent 5cc838fd47
commit b3bf7968ad
11 changed files with 30 additions and 21 deletions

View File

@ -24,6 +24,7 @@
G_BEGIN_DECLS
#define SYSPROF_INSIDE
#define SP_ENABLE_GOBJECT
# include "sp-address.h"
# include "sp-clock.h"
@ -57,6 +58,7 @@ G_BEGIN_DECLS
# include "util/sp-map-lookaside.h"
# include "util/sp-selection.h"
#undef SP_ENABLE_GOBJECT
#undef SYSPROF_INSIDE
G_END_DECLS