[librsvg: 9/21] Start a chapter with "Librsvg as a product" to describe the build artifacts
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 9/21] Start a chapter with "Librsvg as a product" to describe the build artifacts
- Date: Thu, 18 Aug 2022 02:48:12 +0000 (UTC)
commit ab36b3e8bba98210652a34346cb74d70156ceb4e
Author: Federico Mena Quintero <federico gnome org>
Date: Wed Aug 17 17:11:36 2022 -0500
Start a chapter with "Librsvg as a product" to describe the build artifacts
Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/729>
devel-docs/index.rst | 25 ++++++++++++++++++++-----
devel-docs/product.rst | 31 +++++++++++++++++++++++++++++++
2 files changed, 51 insertions(+), 5 deletions(-)
---
diff --git a/devel-docs/index.rst b/devel-docs/index.rst
index 2a0601b01..c530887fd 100644
--- a/devel-docs/index.rst
+++ b/devel-docs/index.rst
@@ -1,19 +1,32 @@
-Development documentation for librsvg
-=====================================
+Development guide for librsvg
+=============================
.. toctree::
+ product
:maxdepth: 2
:caption: Contents:
-Welcome to the developer's manual for librsvg. This is for people who
-want to work on librsvg's development, not for users of the library or
-the `rsvg-convert` program.
+Welcome to the developer's guide for librsvg. This is for people who
+want to work on the development of librsvg itself, not for users of
+the library or the `rsvg-convert` program.
Before embarking on big changes to librsvg, please write a little
design document modeled on the following ones, and submit a merge
request. We can then discuss it before coding. This way we will have
a sort of big-picture development history apart from commit messages.
+Introduction
+------------
+
+Librsvg is a project with a long history; it started 2001 as a way to
+use the then-new Scalable Vector Graphics format (SVG) for GNOME's
+icons and other graphical assets on the desktop. Since then, it has
+evolved into a few different tools.
+
+You may want to familiarize yourself with :doc:`product` to see what a
+full build produces: the library itself, the ``rsvg-convert``
+executable, etc.
+
Getting started
===============
@@ -51,6 +64,8 @@ Link to SVG/CSS specs; other useful bits.
Links to Mozilla's SVG, WebKit, resvg, Inkscape.
+Talks on librsvg.
+
Indices and tables
==================
diff --git a/devel-docs/product.rst b/devel-docs/product.rst
new file mode 100644
index 000000000..ee089fec3
--- /dev/null
+++ b/devel-docs/product.rst
@@ -0,0 +1,31 @@
+Librsvg as a product
+====================
+
+A full build of librsvg produces several *artifacts*. For this
+discussion, we will talk about the "library part" of the build, and
+the "rsvg-convert" part.
+
+The "library part" of the build produces the following:
+
+- A shared library ``librsvg-2.so``. This is usually installed as
+ part of the system's libraries. For example, the GTK toolkit
+ assumes that librsvg's library is installed in the system, and uses
+ it to load SVG assets like icons.
+
+- A group of C header files (``*.h``) that will be installed in the
+ system's location for header files. C and C++ programs can use
+ these directly.
+
+- A ``librsvg-2.pc`` file for `pkg-config
+ <https://www.freedesktop.org/wiki/Software/pkg-config/>`. This lets
+ compilation scripts find the location of the installed library and
+ header files.
+
+- ``.gir`` and ``.typelib`` files for `GObject Introspection
+ <https://gi.readthedocs.io/en/latest/>`. These are machine-readable
+ descriptions of the API/ABI in the `.so` library, which are used by
+ language bindings to make librsvg's functionality available to many
+ programming languages.
+
+- A ``.vapi`` description of the API for the `Vala <https://vala.dev/>` compiler.
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]