2008-07-10 03:27:56 +00:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
|
|
|
|
]>
|
2011-01-15 00:35:34 +00:00
|
|
|
<refentry id="gtk-building">
|
2001-09-08 19:33:06 +00:00
|
|
|
<refmeta>
|
2002-03-06 23:36:37 +00:00
|
|
|
<refentrytitle>Compiling the GTK+ libraries</refentrytitle>
|
2001-09-08 19:33:06 +00:00
|
|
|
<manvolnum>3</manvolnum>
|
|
|
|
<refmiscinfo>GTK Library</refmiscinfo>
|
|
|
|
</refmeta>
|
2000-02-22 00:29:00 +00:00
|
|
|
|
2001-09-08 19:33:06 +00:00
|
|
|
<refnamediv>
|
2002-03-06 23:36:37 +00:00
|
|
|
<refname>Compiling the GTK+ Libraries</refname>
|
2001-09-08 19:33:06 +00:00
|
|
|
<refpurpose>
|
|
|
|
How to compile GTK+ itself
|
|
|
|
</refpurpose>
|
|
|
|
</refnamediv>
|
2002-03-06 23:36:37 +00:00
|
|
|
<refsect1 id="overview">
|
|
|
|
<title>Building GTK+ on UNIX-like systems</title>
|
|
|
|
<para>
|
|
|
|
This chapter covers building and installing GTK+ on UNIX and
|
|
|
|
UNIX-like systems such as Linux. Compiling GTK+ on Microsoft
|
|
|
|
Windows is different in detail and somewhat more difficult to
|
|
|
|
get going since the necessary tools aren't included with
|
|
|
|
the operating system.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Before we get into the details of how to compile GTK+, we should
|
|
|
|
mention that in many cases, binary packages of GTK+ prebuilt for
|
|
|
|
your operating system will be available, either from your
|
|
|
|
operating system vendor or from independent sources. If such a
|
|
|
|
set of packages is available, installing it will get you
|
2011-01-06 06:11:49 +00:00
|
|
|
programming with GTK+ much faster than building it yourself. In
|
2002-03-06 23:36:37 +00:00
|
|
|
fact, you may well already have GTK+ installed on your system
|
|
|
|
already.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
On UNIX-like systems GTK+ uses the standard GNU build system,
|
|
|
|
using <application>autoconf</application> for package
|
|
|
|
configuration and resolving portability issues,
|
|
|
|
<application>automake</application> for building makefiles that
|
|
|
|
comply with the GNU Coding Standards, and
|
|
|
|
<application>libtool</application> for building shared libraries
|
|
|
|
on multiple platforms.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If you are building GTK+ from the distributed source packages,
|
2011-01-06 06:11:49 +00:00
|
|
|
then you won't need these tools installed; the necessary pieces
|
2002-03-06 23:36:37 +00:00
|
|
|
of the tools are already included in the source packages. But
|
|
|
|
it's useful to know a bit about how packages that use these
|
|
|
|
tools work. A source package is distributed as a
|
2011-06-06 11:27:17 +00:00
|
|
|
<literal>tar.bz2</literal> or <literal>tar.xz</literal> file
|
2007-06-10 06:52:51 +00:00
|
|
|
which you unpack into a directory full of the source files as follows:
|
2002-03-06 23:36:37 +00:00
|
|
|
</para>
|
|
|
|
<programlisting>
|
2011-06-06 11:27:17 +00:00
|
|
|
tar xvfj gtk+-3.2.0.tar.bz2
|
|
|
|
tar xvfJ gtk+-3.2.0.tar.xz
|
2002-03-06 23:36:37 +00:00
|
|
|
</programlisting>
|
|
|
|
<para>
|
2011-01-06 06:11:49 +00:00
|
|
|
In the toplevel directory that is created, there will be
|
2002-03-06 23:36:37 +00:00
|
|
|
a shell script called <filename>configure</filename> which
|
|
|
|
you then run to take the template makefiles called
|
|
|
|
<filename>Makefile.in</filename> in the package and create
|
2011-01-06 06:11:49 +00:00
|
|
|
makefiles customized for your operating system.
|
|
|
|
The <filename>configure</filename> script can be passed
|
|
|
|
various command line arguments to determine how the package
|
|
|
|
is built and installed. The most commonly useful argument is
|
|
|
|
the <systemitem>--prefix</systemitem> argument which
|
2002-03-06 23:36:37 +00:00
|
|
|
determines where the package is installed. To install a package
|
|
|
|
in <filename>/opt/gtk</filename> you would run configure as:
|
|
|
|
</para>
|
|
|
|
<programlisting>
|
|
|
|
./configure --prefix=/opt/gtk
|
|
|
|
</programlisting>
|
|
|
|
<para>
|
|
|
|
A full list of options can be found by running
|
|
|
|
<filename>configure</filename> with the
|
|
|
|
<systemitem>--help</systemitem> argument. In general, the defaults are
|
|
|
|
right and should be trusted. After you've run
|
|
|
|
<filename>configure</filename>, you then run the
|
|
|
|
<command>make</command> command to build the package and install
|
|
|
|
it.
|
|
|
|
</para>
|
|
|
|
<programlisting>
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
</programlisting>
|
|
|
|
<para>
|
|
|
|
If you don't have permission to write to the directory you are
|
|
|
|
installing in, you may have to change to root temporarily before
|
2002-03-26 20:43:17 +00:00
|
|
|
running <literal>make install</literal>. Also, if you are
|
|
|
|
installing in a system directory, on some systems (such as
|
|
|
|
Linux), you will need to run <command>ldconfig</command> after
|
|
|
|
<literal>make install</literal> so that the newly installed
|
|
|
|
libraries will be found.
|
2002-03-06 23:36:37 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Several environment variables are useful to pass to set before
|
|
|
|
running configure. <envar>CPPFLAGS</envar> contains options to
|
|
|
|
pass to the C compiler, and is used to tell the compiler where
|
|
|
|
to look for include files. The <envar>LDFLAGS</envar> variable
|
|
|
|
is used in a similar fashion for the linker. Finally the
|
|
|
|
<envar>PKG_CONFIG_PATH</envar> environment variable contains
|
|
|
|
a search path that <command>pkg-config</command> (see below)
|
2014-08-24 00:26:36 +00:00
|
|
|
uses when looking for files describing how to compile
|
2002-03-06 23:36:37 +00:00
|
|
|
programs using different libraries. If you were installing GTK+
|
2010-06-03 05:09:53 +00:00
|
|
|
and it's dependencies into <filename>/opt/gtk</filename>, you
|
2005-01-16 04:12:43 +00:00
|
|
|
might want to set these variables as:
|
2002-03-06 23:36:37 +00:00
|
|
|
</para>
|
|
|
|
<programlisting>
|
2002-03-08 20:16:30 +00:00
|
|
|
CPPFLAGS="-I/opt/gtk/include"
|
2002-03-06 23:36:37 +00:00
|
|
|
LDFLAGS="-L/opt/gtk/lib"
|
|
|
|
PKG_CONFIG_PATH="/opt/gtk/lib/pkgconfig"
|
|
|
|
export CPPFLAGS LDFLAGS PKG_CONFIG_PATH
|
|
|
|
</programlisting>
|
|
|
|
<para>
|
|
|
|
You may also need to set the <envar>LD_LIBRARY_PATH</envar>
|
|
|
|
environment variable so the systems dynamic linker can find
|
|
|
|
the newly installed libraries, and the <envar>PATH</envar>
|
|
|
|
environment program so that utility binaries installed by
|
|
|
|
the various libraries will be found.
|
|
|
|
</para>
|
|
|
|
<programlisting>
|
|
|
|
LD_LIBRARY_PATH="/opt/gtk/lib"
|
|
|
|
PATH="/opt/gtk/bin:$PATH"
|
|
|
|
export LD_LIBRARY_PATH PATH
|
|
|
|
</programlisting>
|
|
|
|
</refsect1>
|
|
|
|
<refsect1 id="dependencies">
|
|
|
|
<title>Dependencies</title>
|
|
|
|
<para>
|
|
|
|
Before you can compile the GTK+ widget toolkit, you need to have
|
|
|
|
various other tools and libraries installed on your
|
|
|
|
system. The two tools needed during the build process (as
|
|
|
|
differentiated from the tools used in when creating GTK+
|
|
|
|
mentioned above such as <application>autoconf</application>)
|
|
|
|
are <command>pkg-config</command> and GNU make.
|
|
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
|
|
|
<ulink
|
|
|
|
url="http://pkg-config.freedesktop.org">pkg-config</ulink>
|
|
|
|
is a tool for tracking the compilation flags needed for
|
|
|
|
libraries that are used by the GTK+ libraries. (For each
|
|
|
|
library, a small <literal>.pc</literal> text file is installed
|
|
|
|
in a standard location that contains the compilation flags
|
|
|
|
needed for that library along with version number information.)
|
|
|
|
</para>
|
2002-03-06 23:36:37 +00:00
|
|
|
</listitem>
|
|
|
|
<listitem>
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
|
|
|
The GTK+ makefiles will mostly work with different versions
|
|
|
|
of <command>make</command>, however, there tends to be
|
|
|
|
a few incompatibilities, so the GTK+ team recommends
|
|
|
|
installing <ulink url="http://www.gnu.org/software/make">GNU
|
|
|
|
make</ulink> if you don't already have it on your system
|
|
|
|
and using it. (It may be called <command>gmake</command>
|
|
|
|
rather than <command>make</command>.)
|
|
|
|
</para>
|
2002-03-06 23:36:37 +00:00
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<para>
|
2010-06-26 05:06:30 +00:00
|
|
|
Some of the libraries that GTK+ depends on are maintained by
|
2011-06-06 11:34:46 +00:00
|
|
|
by the GTK+ team: GLib, GdkPixbuf, Pango, ATK and GObject Introspection.
|
|
|
|
Other libraries are maintained separately.
|
2002-03-06 23:36:37 +00:00
|
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
|
|
|
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
|
2011-06-06 13:26:28 +00:00
|
|
|
from the <ulink url="http://ftp.gtk.org/pub/glib/">GTK+
|
|
|
|
FTP site</ulink> or
|
2011-06-06 13:30:47 +00:00
|
|
|
<ulink url="http://download.gnome.org/sources/glib/">here</ulink>.
|
2010-06-03 05:09:53 +00:00
|
|
|
</para>
|
2002-03-06 23:36:37 +00:00
|
|
|
</listitem>
|
2011-06-06 11:34:46 +00:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
The <ulink url="http://git.gnome.org/browse/gdk-pixbuf/">GdkPixbuf library</ulink>
|
|
|
|
provides facilities for loading images in a variety of file formats.
|
2011-06-06 12:49:43 +00:00
|
|
|
It is available
|
2011-06-06 13:30:47 +00:00
|
|
|
<ulink url="http://download.gnome.org/sources/gdk-pixbuf/">here</ulink>.
|
2011-06-06 11:34:46 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
2002-03-06 23:36:37 +00:00
|
|
|
<listitem>
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
|
|
|
<ulink url="http://www.pango.org">Pango</ulink> is a library
|
2011-06-06 12:49:43 +00:00
|
|
|
for internationalized text handling. It is available
|
2011-06-06 13:30:47 +00:00
|
|
|
<ulink url="http://download.gnome.org/sources/pango/">here</ulink>.
|
2010-06-03 05:09:53 +00:00
|
|
|
</para>
|
2002-03-06 23:36:37 +00:00
|
|
|
</listitem>
|
|
|
|
<listitem>
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
|
|
|
ATK is the Accessibility Toolkit. It provides a set of generic
|
|
|
|
interfaces allowing accessibility technologies such as
|
|
|
|
screen readers to interact with a graphical user interface.
|
2011-06-06 12:49:43 +00:00
|
|
|
It is available
|
2011-06-06 13:30:47 +00:00
|
|
|
<ulink url="http://download.gnome.org/sources/atk/">here</ulink>.
|
2010-06-03 05:09:53 +00:00
|
|
|
</para>
|
2002-03-06 23:36:37 +00:00
|
|
|
</listitem>
|
2011-06-06 11:34:46 +00:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2014-04-08 15:42:36 +00:00
|
|
|
<ulink url="https://wiki.gnome.org/Projects/GObjectIntrospection">Gobject Introspection</ulink>
|
2011-06-06 11:34:46 +00:00
|
|
|
is a framework for making introspection data available to
|
2011-06-06 12:49:43 +00:00
|
|
|
language bindings. It is available
|
2011-06-06 13:30:47 +00:00
|
|
|
<ulink url="http://download.gnome.org/sources/gobject-introspection/">here</ulink>.
|
2011-06-06 11:34:46 +00:00
|
|
|
</para>
|
|
|
|
</listitem>
|
2011-06-06 11:39:13 +00:00
|
|
|
</itemizedlist>
|
|
|
|
<itemizedlist>
|
|
|
|
<title>External dependencies</title>
|
2002-03-06 23:36:37 +00:00
|
|
|
<listitem>
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
|
|
|
The <ulink url="http://www.gnu.org/software/libiconv/">GNU
|
|
|
|
libiconv library</ulink> is needed to build GLib if your
|
|
|
|
system doesn't have the <function>iconv()</function>
|
|
|
|
function for doing conversion between character
|
|
|
|
encodings. Most modern systems should have
|
|
|
|
<function>iconv()</function>.
|
|
|
|
</para>
|
2002-03-06 23:36:37 +00:00
|
|
|
</listitem>
|
|
|
|
<listitem>
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
|
|
|
The libintl library from the <ulink
|
|
|
|
url="http://www.gnu.org/software/gettext/">GNU gettext
|
|
|
|
package</ulink> is needed if your system doesn't have the
|
|
|
|
<function>gettext()</function> functionality for handling
|
|
|
|
message translation databases.
|
|
|
|
</para>
|
2002-03-06 23:36:37 +00:00
|
|
|
</listitem>
|
|
|
|
<listitem>
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
|
|
|
The libraries from the X window system are needed to build
|
|
|
|
Pango and GTK+. You should already have these installed on
|
|
|
|
your system, but it's possible that you'll need to install
|
|
|
|
the development environment for these libraries that your
|
|
|
|
operating system vendor provides.
|
|
|
|
</para>
|
2002-12-20 18:26:12 +00:00
|
|
|
</listitem>
|
|
|
|
<listitem>
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
|
|
|
The <ulink url="http://www.fontconfig.org">fontconfig</ulink>
|
|
|
|
library provides Pango with a standard way of locating
|
|
|
|
fonts and matching them against font names.
|
|
|
|
</para>
|
2002-03-06 23:36:37 +00:00
|
|
|
</listitem>
|
2005-07-06 03:59:37 +00:00
|
|
|
<listitem>
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
|
|
|
<ulink url="http://www.cairographics.org">Cairo</ulink>
|
2010-03-23 15:08:28 +00:00
|
|
|
is a graphics library that supports vector graphics and image
|
2011-01-06 06:11:49 +00:00
|
|
|
compositing. Both Pango and GTK+ use cairo for all of their
|
2005-07-06 03:59:37 +00:00
|
|
|
drawing.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
2014-10-18 16:28:42 +00:00
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
<ulink url="https://github.com/anholt/libepoxy">libepoxy</ulink>
|
|
|
|
is a library that abstracts the differences between different
|
|
|
|
OpenGL libraries. GTK+ uses it for cross-platform GL support.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
The <ulink url="http://wayland.freedesktop.org">Wayland</ulink> libraries
|
|
|
|
are needed to build GTK+ with the Wayland backend.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
2008-08-15 18:01:38 +00:00
|
|
|
<listitem>
|
|
|
|
<para>
|
2010-06-03 05:09:53 +00:00
|
|
|
The <ulink url="http://www.freedesktop.org/wiki/Software/shared-mime-info">shared-mime-info</ulink>
|
|
|
|
package is not a hard dependency of GTK+, but it contains definitions
|
|
|
|
for mime types that are used by GIO and, indirectly, by GTK+.
|
|
|
|
gdk-pixbuf will use GIO for mime type detection if possible. For this
|
|
|
|
to work, shared-mime-info needs to be installed and
|
|
|
|
<envar>XDG_DATA_DIRS</envar> set accordingly at configure time.
|
2008-08-15 18:01:38 +00:00
|
|
|
Otherwise, gdk-pixbuf falls back to its built-in mime type detection.
|
|
|
|
</para>
|
2014-10-18 17:19:21 +00:00
|
|
|
</listitem>
|
2002-03-06 23:36:37 +00:00
|
|
|
</itemizedlist>
|
|
|
|
</refsect1>
|
|
|
|
<refsect1 id="building">
|
|
|
|
<title>Building and testing GTK+</title>
|
|
|
|
<para>
|
|
|
|
First make sure that you have the necessary external
|
|
|
|
dependencies installed: <command>pkg-config</command>, GNU make,
|
|
|
|
the JPEG, PNG, and TIFF libraries, FreeType, and, if necessary,
|
2010-06-03 05:09:53 +00:00
|
|
|
libiconv and libintl. To get detailed information about building
|
2002-03-07 20:39:57 +00:00
|
|
|
these packages, see the documentation provided with the
|
2002-03-06 23:36:37 +00:00
|
|
|
individual packages.
|
|
|
|
On a Linux system, it's quite likely you'll have all of these
|
|
|
|
installed already except for <command>pkg-config</command>.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
Then build and install the GTK+ libraries in the order:
|
|
|
|
GLib, Pango, ATK, then GTK+. For each library, follow the
|
|
|
|
steps of <literal>configure</literal>, <literal>make</literal>,
|
|
|
|
<literal>make install</literal> mentioned above. If you're
|
|
|
|
lucky, this will all go smoothly, and you'll be ready to
|
|
|
|
<link linkend="gtk-compiling">start compiling your own GTK+
|
2011-01-06 06:11:49 +00:00
|
|
|
applications</link>. You can test your GTK+ installation
|
|
|
|
by running the <command>gtk3-demo</command> program that
|
2002-12-20 18:26:12 +00:00
|
|
|
GTK+ installs.
|
2002-03-06 23:36:37 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
If one of the <filename>configure</filename> scripts fails or running
|
2002-03-07 20:39:57 +00:00
|
|
|
<command>make</command> fails, look closely at the error
|
2002-03-06 23:36:37 +00:00
|
|
|
messages printed; these will often provide useful information
|
|
|
|
as to what went wrong. When <filename>configure</filename>
|
|
|
|
fails, extra information, such as errors that a test compilation
|
|
|
|
ran into, is found in the file <filename>config.log</filename>.
|
|
|
|
Looking at the last couple of hundred lines in this file will
|
|
|
|
frequently make clear what went wrong. If all else fails, you
|
|
|
|
can ask for help on the gtk-list mailing list.
|
2002-05-28 22:23:55 +00:00
|
|
|
See <xref linkend="gtk-resources"/> for more information.
|
2002-03-06 23:36:37 +00:00
|
|
|
</para>
|
|
|
|
</refsect1>
|
|
|
|
<refsect1 id="extra-configuration-options">
|
2000-02-22 00:29:00 +00:00
|
|
|
<title>Extra Configuration Options</title>
|
|
|
|
|
|
|
|
<para>
|
2010-06-03 05:09:53 +00:00
|
|
|
In addition to the normal options, the
|
|
|
|
<command>configure</command> script for the GTK+ library
|
|
|
|
supports a number of additional arguments. (Command line
|
|
|
|
arguments for the other GTK+ libraries are described in
|
|
|
|
the documentation distributed with the those libraries.)
|
|
|
|
|
|
|
|
<cmdsynopsis>
|
|
|
|
<command>configure</command>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2010-06-03 05:09:53 +00:00
|
|
|
<group>
|
2013-01-24 11:23:04 +00:00
|
|
|
<arg choice="plain">--disable-modules</arg>
|
|
|
|
<arg choice="plain">--enable-modules</arg>
|
2010-06-03 05:09:53 +00:00
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2004-09-15 02:14:20 +00:00
|
|
|
<group>
|
2010-06-03 05:09:53 +00:00
|
|
|
<arg>--with-included-immodules=MODULE1,MODULE2,...</arg>
|
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2002-01-11 22:39:03 +00:00
|
|
|
<group>
|
2013-01-24 11:31:07 +00:00
|
|
|
<arg choice="plain">--enable-debug=[no/minimum/yes]</arg>
|
2010-06-03 05:09:53 +00:00
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2002-01-11 22:39:03 +00:00
|
|
|
<group>
|
2013-01-24 11:23:04 +00:00
|
|
|
<arg choice="plain">--disable-Bsymbolic</arg>
|
|
|
|
<arg choice="plain">--enable-Bsymbolic</arg>
|
2010-06-03 05:09:53 +00:00
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2010-06-03 05:09:53 +00:00
|
|
|
<group>
|
2013-01-24 11:23:04 +00:00
|
|
|
<arg choice="plain">--disable-xkb</arg>
|
|
|
|
<arg choice="plain">--enable-xkb</arg>
|
2010-06-03 05:09:53 +00:00
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2010-06-03 05:09:53 +00:00
|
|
|
<group>
|
2013-01-24 11:23:04 +00:00
|
|
|
<arg choice="plain">--disable-xinerama</arg>
|
|
|
|
<arg choice="plain">--enable-xinerama</arg>
|
2010-06-03 05:09:53 +00:00
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2010-06-03 05:09:53 +00:00
|
|
|
<group>
|
2013-01-24 11:23:04 +00:00
|
|
|
<arg choice="plain">--disable-gtk-doc</arg>
|
|
|
|
<arg choice="plain">--enable-gtk-doc</arg>
|
2010-06-03 05:09:53 +00:00
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2010-06-03 05:09:53 +00:00
|
|
|
<group>
|
2013-01-24 11:23:04 +00:00
|
|
|
<arg choice="plain">--disable-cups</arg>
|
|
|
|
<arg choice="plain">--enable-cups</arg>
|
2010-06-03 05:09:53 +00:00
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2010-06-03 05:09:53 +00:00
|
|
|
<group>
|
2013-01-24 11:23:04 +00:00
|
|
|
<arg choice="plain">--disable-papi</arg>
|
|
|
|
<arg choice="plain">--enable-papi</arg>
|
2010-06-03 05:09:53 +00:00
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2002-01-11 22:39:03 +00:00
|
|
|
<group>
|
2013-01-24 11:23:04 +00:00
|
|
|
<arg choice="plain">--enable-xinput</arg>
|
|
|
|
<arg choice="plain">--disable-xinput</arg>
|
2002-01-11 22:39:03 +00:00
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2010-03-23 15:08:28 +00:00
|
|
|
<group>
|
2013-01-24 11:23:04 +00:00
|
|
|
<arg choice="plain">--enable-packagekit</arg>
|
|
|
|
<arg choice="plain">--disable-packagekit</arg>
|
2011-01-06 06:11:49 +00:00
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2011-01-06 06:11:49 +00:00
|
|
|
<group>
|
2013-01-24 11:23:04 +00:00
|
|
|
<arg choice="plain">--enable-x11-backend</arg>
|
|
|
|
<arg choice="plain">--disable-x11-backend</arg>
|
|
|
|
</group>
|
|
|
|
<sbr/>
|
|
|
|
<group>
|
|
|
|
<arg choice="plain">--enable-win32-backend</arg>
|
|
|
|
<arg choice="plain">--disable-win32-backend</arg>
|
|
|
|
</group>
|
|
|
|
<sbr/>
|
|
|
|
<group>
|
|
|
|
<arg choice="plain">--enable-quartz-backend</arg>
|
|
|
|
<arg choice="plain">--disable-quartz-backend</arg>
|
|
|
|
</group>
|
|
|
|
<sbr/>
|
|
|
|
<group>
|
|
|
|
<arg choice="plain">--enable-broadway-backend</arg>
|
|
|
|
<arg choice="plain">--disable-broadway-backend</arg>
|
|
|
|
</group>
|
|
|
|
<sbr/>
|
|
|
|
<group>
|
|
|
|
<arg choice="plain">--enable-wayland-backend</arg>
|
|
|
|
<arg choice="plain">--disable-wayland-backend</arg>
|
2011-01-03 16:27:19 +00:00
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2014-05-19 22:03:30 +00:00
|
|
|
<group>
|
|
|
|
<arg choice="plain">--enable-mir-backend</arg>
|
|
|
|
<arg choice="plain">--disable-mir-backend</arg>
|
|
|
|
</group>
|
|
|
|
<sbr/>
|
2011-01-03 16:27:19 +00:00
|
|
|
<group>
|
2013-01-24 11:31:07 +00:00
|
|
|
<arg choice="plain">--enable-introspection=[no/auto/yes]</arg>
|
2010-03-23 15:08:28 +00:00
|
|
|
</group>
|
2011-02-09 05:21:37 +00:00
|
|
|
<sbr/>
|
2013-05-27 18:41:35 +00:00
|
|
|
<group>
|
|
|
|
<arg choice="plain">--enable-installed-tests</arg>
|
|
|
|
<arg choice="plain">--disable-installed-tests</arg>
|
|
|
|
</group>
|
2010-06-03 05:09:53 +00:00
|
|
|
</cmdsynopsis>
|
2000-02-22 00:29:00 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<formalpara>
|
2010-06-03 05:09:53 +00:00
|
|
|
<title><systemitem>--disable-modules</systemitem> and
|
|
|
|
<systemitem>--enable-modules</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
2010-06-26 05:06:30 +00:00
|
|
|
Normally GTK+ will try to build the input method modules
|
2011-01-06 06:11:49 +00:00
|
|
|
as little shared libraries that are loaded on demand.
|
|
|
|
The <systemitem>--disable-modules</systemitem> argument
|
|
|
|
indicates that they should all be built statically
|
|
|
|
into the GTK+ library instead. This is useful for
|
|
|
|
people who need to produce statically-linked binaries.
|
|
|
|
If neither <systemitem>--disable-modules</systemitem> nor
|
|
|
|
<systemitem>--enable-modules</systemitem> is specified,
|
|
|
|
then the <command>configure</command> script will try to
|
2010-06-03 05:09:53 +00:00
|
|
|
auto-detect whether shared modules work on your system.
|
|
|
|
</para>
|
2000-02-22 00:29:00 +00:00
|
|
|
</formalpara>
|
|
|
|
|
2001-09-08 19:33:06 +00:00
|
|
|
<formalpara>
|
2010-06-03 05:09:53 +00:00
|
|
|
<title><systemitem>--with-included-immodules</systemitem></title>
|
2008-05-30 02:30:19 +00:00
|
|
|
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
2008-05-30 02:30:19 +00:00
|
|
|
This option allows you to specify which input method modules you
|
2011-01-06 06:11:49 +00:00
|
|
|
want to include directly into the GTK+ shared library, as opposed
|
|
|
|
to building them as loadable modules.
|
2010-06-03 05:09:53 +00:00
|
|
|
</para>
|
2008-05-30 02:30:19 +00:00
|
|
|
</formalpara>
|
|
|
|
|
2002-01-11 22:39:03 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--enable-debug</systemitem></title>
|
2010-09-03 02:56:41 +00:00
|
|
|
|
2002-01-11 22:39:03 +00:00
|
|
|
<para>
|
2011-01-06 06:11:49 +00:00
|
|
|
Turns on various amounts of debugging support. Setting this to
|
|
|
|
'no' disables g_assert(), g_return_if_fail(), g_return_val_if_fail() and all cast checks between different object types. Setting it
|
|
|
|
to 'minimum' disables only cast checks. Setting it to 'yes' enables
|
2010-06-03 05:09:53 +00:00
|
|
|
<link linkend="GTK-Debug-Options">runtime debugging</link>.
|
2002-01-11 22:39:03 +00:00
|
|
|
The default is 'minimum'.
|
2010-06-03 05:09:53 +00:00
|
|
|
Note that 'no' is fast, but dangerous as it tends to destabilize
|
|
|
|
even mostly bug-free software by changing the effect of many bugs
|
|
|
|
from simple warnings into fatal crashes. Thus
|
|
|
|
<option>--enable-debug=no</option> should <emphasis>not</emphasis>
|
2002-03-07 20:39:57 +00:00
|
|
|
be used for stable releases of GTK+.
|
2002-01-11 22:39:03 +00:00
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
2004-09-15 02:14:20 +00:00
|
|
|
<formalpara>
|
2010-09-03 02:56:41 +00:00
|
|
|
<title><systemitem>--disable-Bsymbolic</systemitem> and
|
|
|
|
<systemitem>--enable-Bsymbolic</systemitem></title>
|
2004-09-15 02:14:20 +00:00
|
|
|
<para>
|
2010-09-03 02:56:41 +00:00
|
|
|
The option <systemitem>--disable-Bsymbolic</systemitem>
|
|
|
|
turns off the use of the -Bsymbolic-functions linker flag.
|
2011-01-06 06:11:49 +00:00
|
|
|
This is only necessary if you want to override GTK+ functions
|
|
|
|
by using <envar>LD_PRELOAD</envar>.
|
2004-09-15 02:14:20 +00:00
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
2002-03-06 23:36:37 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--enable-explicit-deps</systemitem> and
|
|
|
|
<systemitem>--disable-explicit-deps</systemitem></title>
|
|
|
|
<para>
|
2010-06-03 05:09:53 +00:00
|
|
|
If <systemitem>--enable-explicit-deps</systemitem> is
|
|
|
|
specified then GTK+ will write the full set of libraries
|
|
|
|
that GTK+ depends upon into its <literal>.pc</literal> files to be used when
|
|
|
|
programs depending on GTK+ are linked. Otherwise, GTK+
|
|
|
|
only will include the GTK+ libraries themselves, and
|
|
|
|
will depend on system library dependency facilities to
|
|
|
|
bring in the other libraries.
|
|
|
|
By default GTK+ will disable explicit dependencies unless
|
|
|
|
it detects that they are needed on the system. (If you
|
|
|
|
specify <systemitem>--enable-static</systemitem> to force
|
|
|
|
building of static libraries, then explicit dependencies
|
|
|
|
will be written since library dependencies don't work
|
|
|
|
for static libraries.) Specifying
|
|
|
|
<systemitem>--enable-explicit-deps</systemitem> or
|
|
|
|
<systemitem>--enable-static</systemitem> can cause
|
|
|
|
compatibility
|
|
|
|
problems when libraries that GTK+ depends upon change
|
|
|
|
their versions, and should be avoided if possible.
|
2002-03-06 23:36:37 +00:00
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
2002-01-11 22:39:03 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--disable-xkb</systemitem> and
|
|
|
|
<systemitem>--enable-xkb</systemitem></title>
|
2010-06-03 05:09:53 +00:00
|
|
|
|
2002-01-11 22:39:03 +00:00
|
|
|
<para>
|
2010-06-03 05:09:53 +00:00
|
|
|
By default the <command>configure</command> script will try
|
|
|
|
to auto-detect whether the XKB extension is supported by
|
2002-01-11 22:39:03 +00:00
|
|
|
the X libraries GTK+ is linked with.
|
|
|
|
These options can be used to explicitly control whether
|
2010-06-03 05:09:53 +00:00
|
|
|
GTK+ will support the XKB extension.
|
2002-01-11 22:39:03 +00:00
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
2007-06-10 06:52:51 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--disable-xinerama</systemitem> and
|
|
|
|
<systemitem>--enable-xinerama</systemitem></title>
|
2010-06-03 05:09:53 +00:00
|
|
|
|
2007-06-10 06:52:51 +00:00
|
|
|
<para>
|
|
|
|
By default the <command>configure</command> script will try
|
|
|
|
to link against the Xinerama libraries if they are found.
|
|
|
|
These options can be used to explicitly control whether
|
|
|
|
Xinerama should be used.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
2011-01-06 06:11:49 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--disable-xinput</systemitem> and
|
|
|
|
<systemitem>--enable-xinput</systemitem></title>
|
|
|
|
<para>
|
|
|
|
Controls whether GTK+ is built with support for the XInput
|
|
|
|
or XInput2 extension. These extensions provide an extended
|
|
|
|
interface to input devices such as graphics tablets.
|
|
|
|
When this support is compiled in, specially written
|
|
|
|
GTK+ programs can get access to subpixel positions,
|
|
|
|
multiple simultaneous input devices, and extra "axes"
|
|
|
|
provided by the device such as pressure and tilt
|
|
|
|
information.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
2000-02-22 00:29:00 +00:00
|
|
|
<formalpara>
|
2010-06-03 05:09:53 +00:00
|
|
|
<title><systemitem>--disable-gtk-doc</systemitem> and
|
|
|
|
<systemitem>--enable-gtk-doc</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
The <application>gtk-doc</application> package is
|
|
|
|
used to generate the reference documentation included
|
|
|
|
with GTK+. By default support for <application>gtk-doc</application>
|
|
|
|
is disabled because it requires various extra dependencies
|
|
|
|
to be installed. If you have
|
|
|
|
<application>gtk-doc</application> installed and
|
|
|
|
are modifying GTK+, you may want to enable
|
|
|
|
<application>gtk-doc</application> support by passing
|
|
|
|
in <systemitem>--enable-gtk-doc</systemitem>. If not
|
|
|
|
enabled, pre-generated HTML files distributed with GTK+
|
|
|
|
will be installed.
|
|
|
|
</para>
|
2000-02-22 00:29:00 +00:00
|
|
|
</formalpara>
|
2001-09-08 19:33:06 +00:00
|
|
|
|
2008-05-30 02:30:19 +00:00
|
|
|
<formalpara>
|
2010-06-03 05:09:53 +00:00
|
|
|
<title><systemitem>--disable-cups</systemitem> and
|
|
|
|
<systemitem>--enable-cups</systemitem></title>
|
2008-05-30 02:30:19 +00:00
|
|
|
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
2008-05-30 02:30:19 +00:00
|
|
|
By default the <command>configure</command> script will try
|
|
|
|
to build the cups print backend if the cups libraries are found.
|
|
|
|
These options can be used to explicitly control whether
|
|
|
|
the cups print backend should be built.
|
|
|
|
</para>
|
2008-05-30 05:08:50 +00:00
|
|
|
</formalpara>
|
2008-05-30 02:30:19 +00:00
|
|
|
|
2010-06-03 05:09:53 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--disable-papi</systemitem> and
|
|
|
|
<systemitem>--enable-papi</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
By default the <command>configure</command> script will try
|
|
|
|
to build the papi print backend if the papi libraries are found.
|
|
|
|
These options can be used to explicitly control whether
|
|
|
|
the papi print backend should be built.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
2011-01-03 16:27:19 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--disable-packagekit</systemitem> and
|
|
|
|
<systemitem>--enable-packagekit</systemitem></title>
|
|
|
|
<para>
|
|
|
|
By default the <command>configure</command> script will try
|
|
|
|
to build the PackageKit support for the open-with dialog if
|
|
|
|
the PackageKit libraries are found.
|
|
|
|
These options can be used to explicitly control whether
|
|
|
|
PackageKit support should be built.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
2001-09-08 19:33:06 +00:00
|
|
|
<formalpara>
|
2011-01-03 15:45:37 +00:00
|
|
|
<title><systemitem>--enable-x11-backend</systemitem>,
|
2011-01-06 06:11:49 +00:00
|
|
|
<systemitem>--disable-x11-backend</systemitem>,
|
|
|
|
<systemitem>--enable-win32-backend</systemitem>,
|
|
|
|
<systemitem>--disable-win32-backend</systemitem>,
|
|
|
|
<systemitem>--enable-quartz-backend</systemitem>,
|
2013-01-24 11:23:04 +00:00
|
|
|
<systemitem>--disable-quartz-backend</systemitem>,
|
|
|
|
<systemitem>--enable-broadway-backend</systemitem>,
|
|
|
|
<systemitem>--disable-broadway-backend</systemitem>,
|
2014-05-19 22:03:30 +00:00
|
|
|
<systemitem>--enable-wayland-backend</systemitem>,
|
|
|
|
<systemitem>--disable-wayland-backend</systemitem>
|
|
|
|
<systemitem>--enable-mir-backend</systemitem>, and
|
|
|
|
<systemitem>--disable-mir-backend</systemitem></title>
|
2001-09-08 19:33:06 +00:00
|
|
|
|
2010-06-03 05:09:53 +00:00
|
|
|
<para>
|
2011-01-03 15:45:37 +00:00
|
|
|
Enables specific backends for GDK. If none of these options
|
|
|
|
are given, the x11 backend will be enabled by default,
|
|
|
|
unless the platform is Windows, in which case the default is
|
|
|
|
win32. If any backend is explicitly enabled or disabled, no
|
|
|
|
other platform will be enabled automatically. Other
|
|
|
|
supported backends are the quartz backend for OS X.
|
2010-06-03 05:09:53 +00:00
|
|
|
</para>
|
2001-09-08 19:33:06 +00:00
|
|
|
</formalpara>
|
2011-01-15 01:01:05 +00:00
|
|
|
|
2010-03-23 15:08:28 +00:00
|
|
|
<formalpara>
|
2011-01-03 16:27:19 +00:00
|
|
|
<title><systemitem>--enable-introspection</systemitem></title>
|
2001-09-08 19:33:06 +00:00
|
|
|
|
2010-03-23 15:08:28 +00:00
|
|
|
<para>
|
2011-01-03 16:27:19 +00:00
|
|
|
Build with or without introspection support.
|
|
|
|
The default is 'auto'.
|
2010-03-23 15:08:28 +00:00
|
|
|
</para>
|
|
|
|
</formalpara>
|
2011-01-15 01:01:05 +00:00
|
|
|
|
2013-05-27 18:41:35 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--enable-installed-tests</systemitem> or
|
|
|
|
<systemitem>--disable-installed-tests</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Whether to install tests on the system. If enabled, tests
|
|
|
|
and their data are installed in <filename>${libexecdir}/gtk+/installed-tests</filename>.
|
|
|
|
Metadata for the tests is installed in <filename>${prefix}/share/installed-tests/gtk+</filename>.
|
|
|
|
To run the installed tests, gnome-desktop-testing-runner
|
|
|
|
can be used.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
2001-09-08 19:33:06 +00:00
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
</refentry>
|
2002-03-06 23:36:37 +00:00
|
|
|
|
|
|
|
<!-- Local Variables: -->
|
|
|
|
<!-- sgml-parent-document: ("gtk-docs.sgml" "chapter" "refentry") -->
|
|
|
|
<!-- End: -->
|