![]() |
![]() |
![]() |
![]() |
Compiling the GObject Introspection packageCompiling the GObject Introspection Package — How to compile GObject Introspection itself |
On UNIX, GObject Introspection uses the standard GNU build system, using autoconf for package configuration and resolving portability issues, automake for building makefiles that comply with the GNU Coding Standards, and libtool for building shared libraries on multiple platforms. The normal sequence for compiling and installing the GObject Introspection package is thus:
./configure
make
make install
The standard options provided by GNU autoconf may be passed to the configure script. Please see the autoconf documentation or run ./configure --help for information about the standard options.
Before you can compile GObject Introspection, you need to have various other tools and libraries installed on your system. The tools needed during the build process (as differentiated from the basic build tools mentioned before are:
pkg-config
is a tool for tracking the compilation flags needed for
libraries that are used by the GObjecct Introspection. (For each
library, a small .pc
text file is
installed in a standard location that contains the compilation
flags needed for that library along with version number
information.)
The GObject-Introspection makefiles will mostly work with different versions of make, however, there tends to be a few incompatibilities, so the GObject-Introspection team recommends installing GNU make if you don't already have it on your system and using it. (It may be called gmake rather than make.)
GObject-Introspection depends on a number of libraries and tools maintained under the umbrella of the GNOME project:
The GLib library provides core non-graphical functionality such as high level data types, Unicode manipulation, and an object and type system to C programs. It is available from the GNOME FTP site or here.
TODO: GTK-Doc
In addition to the normal options, the configure script in the GObject Introspection package supports these additional arguments:
--disable-Bsymbolic
and
--enable-Bsymbolic
.
By default, the GObject Introspection package uses the
-Bsymbolic-functions linker flag to avoid intra-library
PLT jumps. A side-effect of this is that it is no longer
possible to override internal uses of GObject Introspection
functions with LD_PRELOAD
. Therefore, it may
make sense to turn this feature off in some situations.
The --disable-Bsymbolic
option allows
to do that.
--disable-gtk-doc
and
--enable-gtk-doc
.
By default the configure script will try
to auto-detect whether the
gtk-doc package is installed.
If it is, then it will use it to extract and build the
documentation for the GObject Introspection package. These options
can be used to explicitly control whether
gtk-doc should be
used or not. If it is not used, the distributed,
pre-generated HTML files will be installed instead of
building them on your machine.
--disable-doctool
and
--enable-doctool
.
TODO
--with-python
.
Allows specifying the Python interpreter to use, either as an
absolute path, or as a program name. GObject Introspection can
be built with Python 2 (at least version 2.6) but does not yet
support Python 3.