glib/gobject
Emmanuele Bassi 3c53fb8790 Move the GLib type system into libglib
The type system should have never been relegated to libgobject: it's a low
level API to register types at run time.

Having GType inside libglib allows us to use the type system information
everywhere:

- generic but type safe storage data types
- explicit memory management semantics for all data types
- enumeration types for all flags

Having the type system inside libglib also allows us to create new and
better fundamental types in the future, like sum types, option types,
tuples, and generic types.

Moved:

- gatomicarray
- gboxed
- genums
- gtype
- gtypeplugin
- gvalue

The move is mostly Git surgery, but given the amount of internal API
surface, it results in a single commit to avoid breaking bisectability.

We need to maintain `gobject/gvaluecollector.h` as a publicly installed
header but, to avoid issues in case of excessive inclusions, we make it
conflict with `glib/gvaluecollector.h`.

See: #2370

See: https://discourse.gnome.org/t/straw-man-moving-the-gtype-api-down-to-libglib-2-0/11169
2025-01-03 22:56:56 +00:00
..
tests Merge branch 'wfloat-conversion' into 'main' 2024-09-17 17:57:11 +00:00
gbinding.c Remove all nicks and blurbs from param specs 2023-11-29 13:41:34 +00:00
gbinding.h docs: Move the GBinding SECTION 2023-10-16 23:34:04 +01:00
gbindinggroup.c Remove all nicks and blurbs from param specs 2023-11-29 13:41:34 +00:00
gbindinggroup.h docs: Move the GBindingGroup SECTION 2023-10-16 23:34:20 +01:00
gclosure.c Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gclosure.h Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
glib-enumtypes.c.template gio, gobject: Improve reproducibility of enumtypes headers 2024-12-13 23:40:32 +00:00
glib-enumtypes.h.template gio, gobject: Improve reproducibility of enumtypes headers 2024-12-13 23:40:32 +00:00
glib-genmarshal.in Use the python found by meson as the interpreter for installed scripts 2024-03-25 15:17:59 -04:00
glib-mkenums.in Use the python found by meson as the interpreter for installed scripts 2024-03-25 15:17:59 -04:00
gmarshal.c Replace all uses of G_VA_COPY with Standard C va_copy 2022-10-26 18:07:55 +01:00
gmarshal.h Rename all visibility macros 2022-10-13 20:53:56 -04:00
gobject_gdb.py gobject_gdb.py: Do not break bt on optimized build 2023-12-12 17:30:01 +00:00
gobject_probes.d Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gobject_trace.h Add SPDX license headers for LGPL-2.1-or-later to various files 2022-06-01 12:44:23 +01:00
gobject-autocleanups.h Ignore autocleanups when generating introspection data 2023-10-23 10:25:30 +01:00
gobject-private.h Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gobject-query.c gobject: Fix various implicit conversions from size_t to smaller types 2024-04-25 12:39:46 +01:00
gobject.c Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gobject.h Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gobject.rc.in meson: build Windows resource files 2018-01-04 22:19:30 +01:00
gobject.stp.in stp: add code comment to gobject.object_unref about object being dangling 2023-12-30 00:20:17 +01:00
gobjectnotifyqueue.c fix https://gitlab.gnome.org/GNOME/glib/-/issues/3444 2024-09-26 22:47:30 +03:00
gparam.c Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gparam.h Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gparamspecs.c Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gparamspecs.h Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gsignal.c Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gsignal.h Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gsignalgroup.c Remove all nicks and blurbs from param specs 2023-11-29 13:41:34 +00:00
gsignalgroup.h docs: Move the GSignalGroup SECTION 2023-10-16 23:34:44 +01:00
gsourceclosure.c gobject: use g_once_init_enter_pointer for GType initializers 2023-10-04 14:50:54 +01:00
gsourceclosure.h Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gtypemodule.c Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gtypemodule.h Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gvaluearray.c Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gvaluearray.h Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
gvaluecollector.h Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00
libgobject-gdb.py.in Rename gdb macros with _gdb suffix to avoid ns clashes 2016-05-23 10:52:10 -04:00
meson.build Move the GLib type system into libglib 2025-01-03 22:56:56 +00:00