glfs/general/genlib/glib2.xml
Krejzi 0913f480b0 gdk-pixbuf 2.26.0, cogl, gobject-introspection, glib and vala instruction fixes
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9816 af4574ff-66df-0310-9fd7-8a98e5e911e0
2012-03-30 19:22:43 +00:00

379 lines
14 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY glib2-download-http "&gnome-download-http;/glib/2.32/glib-&glib2-version;.tar.xz">
<!ENTITY glib2-download-ftp "&gnome-download-ftp;/glib/2.32/glib-&glib2-version;.tar.xz">
<!ENTITY glib2-md5sum "c5fa76fbf9184d20dfb04af66b598190">
<!ENTITY glib2-size "5.9 MB">
<!ENTITY glib2-buildsize "160 MB">
<!ENTITY glib2-time "1.0 SBU (additional 4.0 SBU to run the test suite)">
]>
<sect1 id="glib2" xreflabel="GLib-&glib2-version;">
<?dbhtml filename="glib2.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>GLib-&glib2-version;</title>
<indexterm zone="glib2">
<primary sortas="a-GLib2">GLib2</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to GLib</title>
<para>The <application>GLib</application> package contains a low-level core
library. This is useful for providing data structure handling for C,
portability wrappers and interfaces for such runtime functionality as an
event loop, threads, dynamic loading, and an object system.</para>
&lfs71_checked;
<!-- Compiled against PCRE, Python, and desktop-file-utils.
1 test failed (regex) -->
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&glib2-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&glib2-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &glib2-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &glib2-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &glib2-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &glib2-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">GLib Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required"><xref linkend="libffi"/> and <xref linkend="python2"/>
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended"><xref linkend="pcre"/>
(built with unicode properties)</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional"><xref linkend="attr"/>, <xref linkend="dbus"/>
(required to run the tests), <xref linkend="gamin"/> and
<xref linkend="gtk-doc"/></para>
<!-- Couldn't find this
Re: It's giofam module. It may be unnecesary since there is inotify support now.
-->
<para><application>Gamin</application> requires
<application>GLib</application> in order to compile; therefore, you must
first install <application>GLib</application>, then compile
<application>Gamin</application>, and recompile
<application>GLib</application> against it.</para>
<bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
<para role="optional">Quoted directly from the <filename>INSTALL</filename>
file; <quote>Some of the mimetype-related functionality in GIO requires the
<command>update-mime-database</command> and
<command>update-desktop-database</command> utilities</quote>, which are part of
<xref linkend="shared-mime-info"/> and
<xref linkend="desktop-file-utils"/>, respectively.</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/glib2"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of GLib</title>
<para>Install <application>GLib</application> by running the following
commands:</para>
<!-- This should be discussed as the instructions in the tarball give
many reasons why the internal PCRE should be used -->
<!-- Re: PCRE 8.30 is bundled, and BLFS has same version -->
<screen><userinput>PCRE_LIBS=-lpcre PCRE_CFLAGS=" " \
LIBFFI_LIBS=-lffi LIBFFI_CFLAGS=" " \
./configure --prefix=/usr --sysconfdir=/etc --with-pcre=system &amp;&amp;
make</userinput></screen>
<para>The <application>GLib</application> test suite requires
<application>desktop-file-utils</application> in order to run. However,
<application>desktop-file-utils</application> requires
<application>GLib</application> in order to compile; therefore, you must
first install <application>GLib</application> and then run the test
suite.</para>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make install &amp;&amp;
ln -v -sfn ../../lib/glib-2.0/include/glibconfig.h /usr/include/glib-2.0/glibconfig.h</userinput></screen>
<para>You should now install <xref linkend="desktop-file-utils"/> and proceed to
run the test suite.</para>
<para>To test the results, issue: <command>make check</command>.</para>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>PCRE_* and LIBFFI_*: <application>Glib</application> is a prerequsite
for <application>pkg_config</application>, but it wants to use
<application>pkg_config</application> during the build process. These
environment variables work around not having
<application>pkg_config</application> available.</para>
<para><command>ln -v -sfn ... glibconfig.h</command>: Place a link to an
architecture dependent header file where programs can find it.</para>
<para><parameter>--with-pcre=system</parameter>: This parameter causes the
build to use a system-provided version of the
<application>PCRE</application> library instead of an internal
version.</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/gtk-doc-rebuild.xml"/>
</sect2>
<!-- This has never caused any problems for me. A doc hint could help me
understand why this was here in first place.
<sect2 role="configuration">
<title>Configuring GLib</title>
<sect3>
<title>Configuration Information</title>
<para>By default, <application>GLib</application> assumes that all
filenames are in the UTF-8 charset. See the <xref
linkend="locale-wrong-filename-encoding"/> section of the <xref
linkend="locale-issues"/> page for more details on this kind of issue. In
order to tell <application>GLib</application> and applications that use
it that filenames are in the default locale encoding, set the variable
<envar>G_FILENAME_ENCODING</envar> to the value "@locale". As the
<systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>cat &gt; /etc/profile.d/glib2-locale.sh &lt;&lt; "EOF"
<literal># Use the current locale charset for filenames
# in applications using GLib
export G_FILENAME_ENCODING=@locale</literal>
EOF</userinput></screen>
</sect3>
</sect2>
-->
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
gdbus, gdbus-codegen, gio-querymodules,
glib-compile-resources, glib-compile-schemas,
glib-genmarshal, glib-gettextize, glib-mkenums,
gobject-query, gresource, gsettings, gtester
and gtester-report
</seg>
<seg>
libgio-2.0.so, libglib-2.0.so, libgmodule-2.0.so,
libgobject-2.0.so, libgthread-2.0.so and libgiofam.so
</seg>
<seg>
/usr/include/{gio-unix-2.0/gio,glib-2.0/{gio,glib,gobject}},
/usr/lib/{gdbus-2.0/codegen,gio/modules,glib-2.0/include},
/usr/share/glib-2.0/{gdb,gettext/po} and
/usr/share/gtk-doc/html/{gio,glib,gobject}
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="gdbus">
<term><command>gdbus</command></term>
<listitem>
<para>is a simple tool for working with D-Bus objects.</para>
<indexterm zone="glib2 gdbus">
<primary sortas="b-gdbus">gdbus</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gdbus-codegen">
<term><command>gdbus-codegen</command></term>
<listitem>
<para>is used to generate code and/or documentation for one or
more D-Bus interfaces.</para>
<indexterm zone="glib2 gdbus-codegen">
<primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gio-querymodules">
<term><command>gio-querymodules</command></term>
<listitem>
<para>is used to create a giomodule.cache file in the listed directories.
This file lists the implemented extension points for each module that has
been found.</para>
<indexterm zone="glib2 gio-querymodules">
<primary sortas="b-gio-querymodules">gio-querymodules</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="glib-compile-resources">
<term><command>glib-compile-resources</command></term>
<listitem>
<para>is used to read the resource description from file and
the files that it references to create a binary resource
bundle that is suitable for use with the GResource API.</para>
<indexterm zone="glib2 glib-compile-resources">
<primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="glib-compile-schemas">
<term><command>glib-compile-schemas</command></term>
<listitem>
<para>is used to compile all the GSettings XML schema files
in directory into a binary file with the name gschemas.compiled
that can be used by GSettings.</para>
<indexterm zone="glib2 glib-compile-schemas">
<primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="glib-genmarshal">
<term><command>glib-genmarshal</command></term>
<listitem>
<para>is a C code marshaller generation utility for GLib
closures.</para>
<indexterm zone="glib2 glib-genmarshal">
<primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="glib-gettextize">
<term><command>glib-gettextize</command></term>
<listitem>
<para>is a variant of the <application>gettext</application>
internationalization utility.</para>
<indexterm zone="glib2 glib-gettextize">
<primary sortas="b-glib-gettextize">glib-gettextize</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="glib-mkenums">
<term><command>glib-mkenums</command></term>
<listitem>
<para>is a C language enum description generation utility.</para>
<indexterm zone="glib2 glib-mkenums">
<primary sortas="b-glib-mkenums">glib-mkenums</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gobject-query">
<term><command>gobject-query</command></term>
<listitem>
<para>is a small utility that draws a tree of types.</para>
<indexterm zone="glib2 gobject-query">
<primary sortas="b-gobject-query">gobject-query</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gresource">
<term><command>gresource</command></term>
<listitem>
<para>offers a simple commandline interface to GResource.</para>
<indexterm zone="glib2 gresource">
<primary sortas="b-gresource">gresource</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gsettings">
<term><command>gsettings</command></term>
<listitem>
<para>offers a simple commandline interface to GSettings.</para>
<indexterm zone="glib2 gsettings">
<primary sortas="b-gsettings">gsettings</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gtester">
<term><command>gtester</command></term>
<listitem>
<para>is a test running utility.</para>
<indexterm zone="glib2 gtester">
<primary sortas="b-gtester">gtester</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gtester-report">
<term><command>gtester-report</command></term>
<listitem>
<para>is a test report formatting utility.</para>
<indexterm zone="glib2 gtester-report">
<primary sortas="b-gtester-report">gtester-report</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="GLib-libraries">
<term>GLib libraries</term>
<listitem>
<para>contain a low-level core library for the
<application>GIMP</application> Toolkit.</para>
<indexterm zone="glib2 GLib-libraries">
<primary sortas="c-GLib-libraries">Glib libraries</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>