glib-compile-resources man page

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.

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 is 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.
--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.

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 in the PATH.

GDK_PIXBUF_PIXDATA

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 in the PATH.

Info

GIO User Commands