mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-27 07:56:14 +01:00
031e65808d
So they are consistent with the way we’re building man pages in other projects, and because some people are allergic to XML. This changes the build-time dependencies from `xsltproc` to `rst2man`, and also takes the opportunity to change the `-Dman` Meson option from a boolean to a feature (so you should use `-Dman-pages={enabled,disabled}` now, rather than `-Dman={true,false}`). Signed-off-by: Philip Withnall <pwithnall@gnome.org> Helps: #3037
181 lines
6.0 KiB
ReStructuredText
181 lines
6.0 KiB
ReStructuredText
.. _glib-compile-resources(1):
|
||
.. meta::
|
||
:copyright: Copyright 2012, 2016 Red Hat, Inc.
|
||
:copyright: Copyright 2012 Christian Persch
|
||
:copyright: Copyright 2016 Sam Thursfield
|
||
:copyright: Copyright 2016 Patrick Griffis
|
||
:copyright: Copyright 2018 Ninja-Koala
|
||
:copyright: Copyright 2018, 2021 Emmanuele Bassi
|
||
:copyright: Copyright 2020 Endless OS Foundation, LLC
|
||
:license: LGPL-2.1-or-later
|
||
..
|
||
This has to be duplicated from above to make it machine-readable by `reuse`:
|
||
SPDX-FileCopyrightText: 2012, 2016 Red Hat, Inc.
|
||
SPDX-FileCopyrightText: 2012 Christian Persch
|
||
SPDX-FileCopyrightText: 2016 Sam Thursfield
|
||
SPDX-FileCopyrightText: 2016 Patrick Griffis
|
||
SPDX-FileCopyrightText: 2018 Ninja-Koala
|
||
SPDX-FileCopyrightText: 2018, 2021 Emmanuele Bassi
|
||
SPDX-FileCopyrightText: 2020 Endless OS Foundation, LLC
|
||
SPDX-License-Identifier: LGPL-2.1-or-later
|
||
|
||
======================
|
||
glib-compile-resources
|
||
======================
|
||
|
||
----------------------
|
||
GLib resource compiler
|
||
----------------------
|
||
|
||
SYNOPSIS
|
||
--------
|
||
|
||
| **glib-compile-resources** [*OPTION*…] *FILE*
|
||
|
||
DESCRIPTION
|
||
-----------
|
||
|
||
``glib-compile-resources`` reads the resource description from ``FILE`` and the
|
||
files that it references and creates a binary resource bundle that is suitable
|
||
for use with the ``GResource`` API. The resulting bundle is then written out
|
||
as-is, or as C source for linking into an application.
|
||
|
||
The XML resource files normally have the filename extension ``.gresource.xml``.
|
||
For a detailed description of the XML file format, see the
|
||
``GResource`` `documentation <https://docs.gtk.org/gio/struct.Resource.html>`_.
|
||
|
||
OPTIONS
|
||
-------
|
||
|
||
``-h``, ``--help``
|
||
|
||
Print help and exit.
|
||
|
||
``--version``
|
||
|
||
Print program version and exit.
|
||
|
||
``--target <TARGET>``
|
||
|
||
Store the compiled resources in the file ``TARGET``. If not specified a
|
||
filename based on the ``FILE`` basename is used.
|
||
|
||
``--sourcedir <DIRECTORY>``
|
||
|
||
The files referenced in ``FILE`` are loaded from this directory. If not
|
||
specified, the current directory is used.
|
||
|
||
``--generate``
|
||
|
||
Write the output file in the format selected for by its filename extension:
|
||
|
||
``.c``
|
||
|
||
C source
|
||
|
||
``.h``
|
||
|
||
C header
|
||
|
||
``.gresource``
|
||
|
||
resource bundle
|
||
|
||
``--generate-source``
|
||
|
||
Instead of a writing the resource bundle in binary form, create a C source
|
||
file that contains the resource bundle. This can then be compiled into an
|
||
application for easy access.
|
||
|
||
``--generate-header``
|
||
|
||
Generate a header file for use with C code generated by ``--generate-source``.
|
||
|
||
``--generate-dependencies``
|
||
|
||
Prints the list of files that the resource bundle references to standard
|
||
output. This can be used to track dependencies in the build system. For
|
||
example, the following make rule would mark ``test.gresource`` as depending on
|
||
all the files that ``test.gresource.xml`` includes, so that it is
|
||
automatically rebuilt if any of them change::
|
||
|
||
test.gresource: test.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies test.gresource.xml)
|
||
|
||
Note that this may or may not be portable to non-GNU ``make``.
|
||
|
||
Also see ``--dependency-file``.
|
||
|
||
``--c-name``
|
||
|
||
Specify the prefix used for the C identifiers in the code generated by
|
||
``--generate-source`` and ``--generate-header``.
|
||
|
||
``--manual-register``
|
||
|
||
By default, code generated by ``--generate-source`` uses automatic
|
||
initialization of the resource. This works on most systems by using the
|
||
compiler support for constructors. However, some (uncommon) compilers may not
|
||
support this, you can then specify ``--manual-register``,
|
||
which will generate custom register and unregister functions that your code
|
||
can manually call at initialization and uninitialization time.
|
||
|
||
``--internal``
|
||
|
||
By default, code generated by ``--generate-source`` declares all
|
||
initialization functions as ``extern``. So they are exported unless this is
|
||
prevented by a link script or other means. Since libraries usually want to
|
||
use the functions only internally it can be more useful to declare them as
|
||
``G_GNUC_INTERNAL`` which is what ``--internal`` does.
|
||
|
||
``--external-data``
|
||
|
||
By default, code generated by ``--generate-source`` embeds the resource data
|
||
as a string literal. When ``--external-data`` is given, the data is only
|
||
declared in the generated C file, and the data has to be linked externally.
|
||
|
||
``--dependency-file <FILE>``
|
||
|
||
Write dependencies in the same style as ``gcc -M -MF`` to the given file. If
|
||
``FILE`` is ``-``, the dependencies are written to the standard output. Unlike
|
||
``--generate-dependencies``, this option can be combined with other
|
||
``--generate`` options to generate dependencies as a side-effect of generating
|
||
sources.
|
||
|
||
``--generate-phony-targets``
|
||
|
||
When creating a dependency file with ``--dependency-file`` include phony
|
||
targets in the same style as ``gcc -MP``. This would typically be used with
|
||
``make``.
|
||
|
||
``--compiler <NAME>``
|
||
|
||
Generate code that is going to target the given compiler ``NAME``. The current
|
||
two compiler modes are ``gcc``, for all GCC-compatible toolchains; and
|
||
``msvc``, for the Microsoft Visual C Compiler. If this option isn’t set, then
|
||
the default will be taken from the ``CC`` environment variable.
|
||
|
||
ENVIRONMENT
|
||
-----------
|
||
|
||
``XMLLINT``
|
||
|
||
The full path to the ``xmllint`` executable. This is used to preprocess
|
||
resources with the ``xml-stripblanks`` preprocessing option. If this
|
||
environment variable is not set, ``xmllint`` is searched for in the ``PATH``.
|
||
|
||
``GDK_PIXBUF_PIXDATA``
|
||
|
||
Deprecated since gdk-pixbuf 2.32, as ``GResource`` supports embedding
|
||
modern image formats without conversion.
|
||
|
||
The full path to the ``gdk-pixbuf-pixdata`` executable. This is used to
|
||
preprocess resources with the ``to-pixdata`` preprocessing option. If this
|
||
environment variable is not set, ``gdk-pixbuf-pixdata`` is searched for in the
|
||
``PATH``.
|
||
|
||
``JSON_GLIB_FORMAT``
|
||
|
||
The full path to the ``json-glib-format`` executable. This is used to
|
||
preprocess resources with the ``json-stripblanks`` preprocessing option. If
|
||
this environment variable is not set, ``json-glib-format`` is searched for in
|
||
the ``PATH``. |