Man Linux: Main Page and Category List

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)