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
applications can use it. Header files and source files are passed in
as arguments 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
Parses another metadata file. The format is determined by
looking at the file suffix. If a library depends on another the
corresponding metadata file should be included so references to
external types are correctly specified.
--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
directories
-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
directory 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
directories you'd normally pass to the compiler when using the
specified source files.
-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=
option, and to pass the argument to this function to
g_irepository_dump.
--program-arg=ARG
Additional argument to pass to program for introspection.
--strip-prefix=PREFIX
If this option is specified a prefix will be stripped from all
functions. If not specified, the lower case version of the
namespace will be used. Eg, a strip prefix of g_ and a
namespace set to GLib will export the function g_type_name as
GLib.type_name.
--output=FILENAME
Name of the file to output. Normally namespace + format
extension. Eg, GLib.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.
--verbose
Be verbose, include some debugging information.
--noclosure
Do not delete unknown types from the resulting format.
--typelib-xml
Convert the resulting xml to only output the types relevant to
the typelib compiler. This is mainly useful for verifying the
correctness of the typelib itself.
--inject=FILENAME
Injects a variant of a GIR file into the scanner. This is used
to add custom functions to a GIR wrapping a library without
modifying the upstream library itself. The Format of the inject
file is similar to a GIR, but the root node is <injections>
rather than <repository> and <inject path="..."> where ... is an
xpath expression.
Example:
<inject path="namespace/class[@name='TestDrawable']">
<method name="get_width"
c:identifier="girepo_test_drawable_get_width">
<return-value transfer-ownership="none">
<type name="int" c:type="gint"/>
</return-value>
</method>
</inject>
The example above will add a new method called get_with to the
TestDrawable class.
--xpath-assertions=FILENAME
Loads a list xpath assertions from FILENAME, this is useful for
verifying that the GIR itself is properly generated.
BUGS Report bugs at http://bugzilla.gnome.org/ in the glib product
and introspection component.
HOMEPAGE and CONTACT
http://live.gnome.org/GObjectIntrospection
AUTHORS
Johan Dahlin
g-ir-scanner(1)