Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

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(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)