[librsvg: 9/21] Start a chapter with "Librsvg as a product" to describe the build artifacts




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]