g-ir-scanner - Extracting C metadata from sources and headers
g-ir-scanner [OPTION...] FILES...
G-IR-SCANNER(1) G-IR-SCANNER(1)
NAME
g-ir-scanner - Extracting C metadata from sources and headers
SYNOPSIS
g-ir-scanner [OPTION...] FILES...
DESCRIPTION
g-ir-scanner is a tool which generates GIR XML files by parsing headers
and introspecting GObject based libraries. It is usually invoked during
the normal build step for a project and the information is saved to
disk and later installed, so that language bindings and other applica-
tions can use it. Header files and source files are passed in as argu-
ments on the command line. The suffix determines whether a file be
treated as a source file (.c) or a header file (.h). Currently only C
based libraries are supported by the scanner.
OPTIONS
--help Show help options
--quiet
If passed, do not print details of normal operation.
--warn-all
Display warnings for public API which is not introspectable.
--warn-error
Make warnings be fatal errors.
--format=FORMAT
This parameters decides which the resulting format will be used.
The default value is gir.
--include=NAME
Add the specified introspection dependency to the scanned names-
pace. NAME is of the form NAMESPACE-VERSION, like Gtk-3.0.
--include-uninstalled=PATH
Add the specified introspection dependency to the scanned names-
pace. This differs from --include in that it takes a file path,
and does not process the pkg-config dependencies (since they may
not be installed yet).
--add-include-path=PATH
Add a directory to the path which the scanner uses to find GIR
files. Can be used multiple times to specify multiple directo-
ries
-i,--library=LIBRARY
Specifies a library that will be introspected. This means that
the *_get_type() functions in it will be called for GObject data
types. The name of the library should not contain the leading
lib prefix nor the ending shared library suffix.
-L,--library-path=PATH
Include this directory when searching for a library. This option
can be specified multiple times to include more than one direc-
tory to look for libraries in.
-Idirectory
Include this directory in the list of directories to be searched
for header files. You need to pass to the scanner all the direc-
tories you'd normally pass to the compiler when using the speci-
fied source files.
--c-include=C_INCLUDES
Headers which should be included in C programs. This option can
be specified multiple times to include more than one header.
-n,--namespace=NAME
The namespace name. This name should be capitalized, eg the
first letter should be upper case. Examples: Gtk, Clutter,
WebKit.
--no-libtool
Disable usage of libtool for compiling stub introspection
binary. Use this if your build system does not require libtool.
--libtool
Full path to libtool executable. Typically used for Automake
systems.
--nsversion=VERSION
The namespace version. For instance 1.0. This is usually the
platform version, eg 2.0 for Gtk+, not 2.12.7.
-p,--program=PROGRAM
Specifies a binary that will be introspected. This means that
the *_get_type() functions in it will be called for GObject data
types. The binary must be modified to take a --introspect-dump=
option, and to pass the argument to this function to g_ireposi-
tory_dump.
--program-arg=ARG
Additional argument to pass to program for introspection.
--identifier-prefix=PREFIX
This option may be specified multiple times. Each one gives a
prefix that will be stripped from all C identifiers. If none
specified, the namespace will be used. Eg, an identifier prefix
of Foo will export the identifier typdef struct _FooBar FooBar;
as Foo.Bar.
--symbol-prefix=PREFIX
This option may be specified multiple times. Each one gives a
prefix that will be stripped from all C symbols. Eg, an symbol
prefix of foo will export the symbol foo_bar_do_something as
Foo.Bar.do_something.
--accept-unprefixed
If specified, the scanner will accept identifiers and symbols
which do not match the namespace prefix. Try to avoid using this
if possible.
--output=FILENAME
Name of the file to output. Normally namespace + format exten-
sion. Eg, GLib-2.0.gir.
--pkg=PACKAGE
List of pkg-config packages to get compiler and linker flags
from. This option can be specified multiple times to include
flags from several pkg-config packages.
--pkg-export=PACKAGE
List of pkg-config packages that are provided by the generated
gir. This option can be specified multiple times if the gir pro-
vides more packages. If not specified, the packages specified
with --pkg= will be used.
--verbose
Be verbose, include some debugging information.
ENVIRONMENT VARIABLES
The g-ir-scanner uses the XDG_DATA_DIRS variable to check for dirs, the
girs are located in XDG_DATA_DIRS/gir-1.0. It is normally set on a dis-
tribution so you shouldn't need to set it yourself.
The variable GI_SCANNER_DISABLE_CACHE ensures that the scanner will not
write cache data to $HOME.
The variable GI_SCANNER_DEBUG can be used to debug issues in the
build-system that involve g-ir-scanner. When it is set to save-temps,
then g-ir-scanner will not remove temporary files and directories after
it terminates.
The variable GI_HOST_OS can be used to control the OS name on the host
that runs the scanner. It has the same semantics as the Python os.name
property.
The variable GI_CROSS_LAUNCHER can be used to wrap the GType introspec-
tion binary generated by g-ir-scanner before executing it. It is useful
when generating introspection data in a cross-compilation environment.
BUGS
Report bugs at
https://gitlab.gnome.org/GNOME/gobject-introspection/issues
HOMEPAGE AND CONTACT
https://gi.readthedocs.io/
AUTHORS
Johan Dahlin
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+-----------------------------------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------------------------------------+
|Availability | library/desktop/gobject/gobject-introspection |
+---------------+-----------------------------------------------+
|Stability | Pass-through volatile |
+---------------+-----------------------------------------------+
NOTES
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from https://download.gnome.org/sources/gobject-
introspection/1.70/gobject-introspection-1.70.0.tar.xz.
Further information about this software can be found on the open source
community website at https://wiki.gnome.org/Projects/GObjectIntrospec-
tion.
G-IR-SCANNER(1)