Gir now uses analyzed objects to generate documentation, and to know
exactly what is available. Additionally, this allows more bindings to
be generated.
The generator does not read Gir.toml from dependencies, missing out on
trait renames like `ObjectExt` turning into GstObjectExt` (to prevent
clashes with `glib`'s `ObjectExt`). Renaming through `trait_name` is
now taken into account in `gir` thanks to [1], but the renames still
need to be availble to all crates referencing this type. Fortunately
only `Gst.Object` is affected - other renamed traits are not extended in
any of the other crates.
[1]: https://github.com/gtk-rs/gir/pull/1108
The generator is now solely in charge of the output path. Besides, only
few crates were inconsistently defining this path while the rest was
leaving it up to a default or the path specified on the cmdline.
The previous commit reinstantiated `girs_dir`, and this commit applies
the rename to `girs_directories` and adds the new/missing
`gst-gir-files` directory where GStreamer-specific `.gir` files live.
This reverts commit 7f9fcb09e2.
`generator.py` is in the process of being moved to a generic place in
the `gir` repository for reuse across crates. This means `-d` cannot be
passed for our GStreamer-specific `gst-gir-files` directory anymore, and
should be configured from `Gir.toml` instead.
We were already using `gir -d` and especially now that our files are
separated across two directories that are relative to the directory
containing Gir.toml this only becomes cumbersome. Besides `gir` lacks
functionality to normalize the path, leading to ie.
gstreamer-gl/egl/sys/../../../gir-files in the version comment as a
result.