glib-compile-resources
GLib resource compiler
TLDR
Compile resources referenced in "file.gresource.xml" to a .gresource binary
Compile resources referenced in "file.gresource.xml" to a C source file
Compile resources in "file.gresource.xml" to a chosen target file, with .c, .h or .gresource extension
Print a list of resource files referenced in "file.gresource.xml"
SYNOPSIS
' glib-compile -resources 'u 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: .RS 4
test .gresource: test .gresource .xml $(shell $(GLIB_COMPILE_RESOURCES) --generate -dependencies test .gresource .xml) .RE 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 .
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 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 .