mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-31 00:12:19 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			183 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			183 lines
		
	
	
		
			6.1 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. If ``--sourcedir`` is used more
 | ||
|   than once, the specified directories are searched in order.
 | ||
| 
 | ||
| ``--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``.
 |