2001-09-08 19:33:06 +00:00
|
|
|
<refentry id="gtk-building" revision="6 Sept 2001">
|
|
|
|
<refmeta>
|
|
|
|
<refentrytitle>Compiling the GTK+ package</refentrytitle>
|
|
|
|
<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>
|
|
|
|
<refname>Compiling the GTK+ Package</refname>
|
|
|
|
<refpurpose>
|
|
|
|
How to compile GTK+ itself
|
|
|
|
</refpurpose>
|
|
|
|
</refnamediv>
|
2000-02-22 00:29:00 +00:00
|
|
|
|
2001-09-08 19:33:06 +00:00
|
|
|
<refsect1 id="building">
|
|
|
|
<title>Building the Library on UNIX</title>
|
2000-02-22 00:29:00 +00:00
|
|
|
<para>
|
2001-09-08 19:33:06 +00:00
|
|
|
On UNIX, GTK+ uses the standard GNU build system,
|
2000-10-09 17:22:20 +00:00
|
|
|
using <application>autoconf</application> for package
|
|
|
|
configuration and resolving portability issues,
|
2000-04-13 01:18:41 +00:00
|
|
|
<application>automake</application> for building makefiles
|
2000-02-22 00:29:00 +00:00
|
|
|
that comply with the GNU Coding Standards, and
|
2000-04-13 01:18:41 +00:00
|
|
|
<application>libtool</application> for building shared
|
2000-02-22 00:29:00 +00:00
|
|
|
libraries on multiple platforms. The normal sequence for
|
2001-09-08 19:33:06 +00:00
|
|
|
compiling and installing the GTK+ library is thus:
|
2000-02-22 00:29:00 +00:00
|
|
|
|
|
|
|
<literallayout>
|
|
|
|
<userinput>./configure</userinput>
|
|
|
|
<userinput>make</userinput>
|
|
|
|
<userinput>make install</userinput>
|
|
|
|
</literallayout>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2000-04-13 01:18:41 +00:00
|
|
|
The standard options provided by <application>GNU
|
|
|
|
autoconf</application> may be passed to the
|
2000-02-22 00:29:00 +00:00
|
|
|
<command>configure</command> script. Please see the
|
2000-04-13 01:18:41 +00:00
|
|
|
<application>autoconf</application> documentation or run
|
2000-02-22 00:29:00 +00:00
|
|
|
<command>./configure --help</command> for information about
|
|
|
|
the standard options.
|
|
|
|
</para>
|
2001-09-08 19:33:06 +00:00
|
|
|
</refsect1>
|
2000-02-22 00:29:00 +00:00
|
|
|
|
2001-09-08 19:33:06 +00:00
|
|
|
<refsect1 id="extra-configuration-options">
|
2000-02-22 00:29:00 +00:00
|
|
|
<title>Extra Configuration Options</title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
In addition to the normal options, the
|
2001-09-08 19:33:06 +00:00
|
|
|
<command>configure</command> script in the GTK+
|
2000-10-09 17:22:20 +00:00
|
|
|
library supports these additional arguments:
|
2000-02-22 00:29:00 +00:00
|
|
|
|
|
|
|
<cmdsynopsis>
|
|
|
|
<command>configure</command>
|
|
|
|
|
|
|
|
<group>
|
|
|
|
<arg>--disable-modules</arg>
|
|
|
|
<arg>--enable-modules</arg>
|
|
|
|
</group>
|
2001-09-08 19:33:06 +00:00
|
|
|
<group>
|
|
|
|
<arg>--with-included-loaders==LOADER1,LOADER2,...</arg>
|
|
|
|
</group>
|
2002-01-11 22:39:03 +00:00
|
|
|
<group>
|
|
|
|
<arg>--enable-debug=[no|minimum|yes]</arg>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<arg>--disable-shm</arg>
|
|
|
|
<arg>--enable-shm</arg>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<arg>--disable-xim</arg>
|
|
|
|
<arg>--enable-xim</arg>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<arg>--disable-xim-inst</arg>
|
|
|
|
<arg>--enable-xim-inst</arg>
|
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<arg>--disable-xkb</arg>
|
|
|
|
<arg>--enable-xkb</arg>
|
|
|
|
</group>
|
2000-02-22 00:29:00 +00:00
|
|
|
<group>
|
|
|
|
<arg>--disable-gtk-doc</arg>
|
|
|
|
<arg>--enable-gtk-doc</arg>
|
|
|
|
</group>
|
2002-01-11 22:39:03 +00:00
|
|
|
<group>
|
|
|
|
<arg>--with-xinput=[no|gxi|xfree]</arg>
|
|
|
|
</group>
|
2001-09-08 19:33:06 +00:00
|
|
|
<group>
|
2002-01-11 22:39:03 +00:00
|
|
|
<arg>--with-gdktarget=[x11|linux-fb|win32]</arg>
|
2001-09-08 19:33:06 +00:00
|
|
|
</group>
|
|
|
|
<group>
|
|
|
|
<arg>--disable-shadowfb</arg>
|
|
|
|
<arg>--enable-shadowfb</arg>
|
|
|
|
</group>
|
2000-02-22 00:29:00 +00:00
|
|
|
</cmdsynopsis>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--disable-modules</systemitem> and
|
|
|
|
<systemitem>--enable-modules</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
2001-09-08 19:33:06 +00:00
|
|
|
Normally GTK+ will try to build the GdkPixbuf image file
|
2000-10-09 17:22:20 +00:00
|
|
|
format loaders as little shared libraries that are loaded on
|
|
|
|
demand. The <systemitem>--disable-modules</systemitem>
|
|
|
|
argument indicates that they should all be built statically
|
2001-09-08 19:33:06 +00:00
|
|
|
into the GTK+ library instead. This is useful for
|
2000-10-09 17:22:20 +00:00
|
|
|
people who need to produce statically-linked binaries. If
|
|
|
|
neither <systemitem>--disable-modules</systemitem> nor
|
2000-02-22 00:29:00 +00:00
|
|
|
<systemitem>--enable-modules</systemitem> is specified, then
|
|
|
|
the <command>configure</command> script will try to
|
|
|
|
auto-detect whether shared modules work on your system.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
2001-09-08 19:33:06 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--with-included-loaders</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
This option allows you to specify which image loaders you
|
|
|
|
want to include; for example, you might include only the PNG
|
|
|
|
loader to create a smaller GdkPixbuf binary.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
2002-01-11 22:39:03 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--enable-debug</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
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
|
|
|
|
<link linkend="GTK-Debug-Options">runtime debugging</link>.
|
|
|
|
The default is 'minimum'.
|
|
|
|
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>
|
|
|
|
be used for stable releases of gtk+.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--disable-shm</systemitem> and
|
|
|
|
<systemitem>--enable-shm</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
These options can be used to control whether GTK+ will use shared
|
|
|
|
memory to communicate with the X server when possible.
|
|
|
|
The default is yes.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--disable-xim</systemitem> and
|
|
|
|
<systemitem>--enable-xim</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
These options can be used to control whether GTK+ will
|
|
|
|
be compiled with support for XIM.
|
|
|
|
The default is yes.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--disable-xim-inst</systemitem> and
|
|
|
|
<systemitem>--enable-xim-inst</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
These options determine whether GTK+ will use the
|
|
|
|
XIM instantiate callback.
|
|
|
|
The default is yes, unless the host system is Solaris,
|
|
|
|
where <function>XRegisterIMInstantiateCallback</function>
|
|
|
|
seems to cause a segfault.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--disable-xkb</systemitem> and
|
|
|
|
<systemitem>--enable-xkb</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
By default the <command>configure</command> script will try
|
|
|
|
to auto-detect whether the XKB extension is supported by
|
|
|
|
the X libraries GTK+ is linked with.
|
|
|
|
These options can be used to explicitly control whether
|
|
|
|
GTK+ will support the XKB extension.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
2000-02-22 00:29:00 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--disable-gtk-doc</systemitem> and
|
|
|
|
<systemitem>--enable-gtk-doc</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
By default the <command>configure</command> script will try
|
|
|
|
to auto-detect whether the
|
2000-04-13 01:18:41 +00:00
|
|
|
<application>gtk-doc</application> package is installed. If
|
2000-02-22 00:29:00 +00:00
|
|
|
it is, then it will use it to extract and build the
|
2001-09-08 19:33:06 +00:00
|
|
|
documentation for the GTK+ library. These options
|
Markup fixes.
* gdk-pixbuf/tmpl/creating.sgml,
gdk-pixbuf/tmpl/gdk-pixbuf-xlib-from-drawables.sgml,
gdk-pixbuf/tmpl/gdk-pixbuf-xlib-init.sgml,
gdk-pixbuf/tmpl/gdk-pixbuf-xlib-rendering.sgml,
gdk-pixbuf/tmpl/refcounting.sgml: Markup fixes.
* gtk/building.sgml, gtk/resources.sgml: Markup fixes.
* gtk/gtk.types: Remove gtk_text_layout_get_type(). (???)
* gdk/tmpl/general.sgml: Use <envar>, not <envvar>.
* gdk-pixbuf-io.c, gdk-pixbuf-animation.c, gdk-pixbuf-data.c,
gdk-pixbuf-loader.c, gdk-pixbuf-scale.c, gdk-pixbuf-util.c,
gdk-pixdata.c: Markup fixes.
2001-12-17 23:06:47 +00:00
|
|
|
can be used to explicitly control whether
|
|
|
|
<application>gtk-doc</application> should be
|
2000-10-09 17:22:20 +00:00
|
|
|
used or not. If it is not used, the distributed,
|
|
|
|
pre-generated HTML files will be installed instead of
|
|
|
|
building them on your machine.
|
2000-02-22 00:29:00 +00:00
|
|
|
</para>
|
|
|
|
</formalpara>
|
2001-09-08 19:33:06 +00:00
|
|
|
|
2002-01-11 22:39:03 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--with-xinput</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
2001-09-08 19:33:06 +00:00
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--with-gdktarget</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
2002-01-11 22:39:03 +00:00
|
|
|
Toggles between the supported backends for GDK.
|
|
|
|
The default is x11, unless the platform is Windows, in which
|
|
|
|
case the default is win32.
|
2001-09-08 19:33:06 +00:00
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
|
|
|
<formalpara>
|
|
|
|
<title><systemitem>--disable-shadowfb</systemitem> and
|
|
|
|
<systemitem>--enable-shadowfb</systemitem></title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Toggles shadow framebuffer support for the linux-fb target,
|
|
|
|
if selected.
|
|
|
|
</para>
|
|
|
|
</formalpara>
|
|
|
|
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
</refentry>
|