diff options
author | Matthew Burgess <matthew@linuxfromscratch.org> | 2011-05-22 22:21:37 +0000 |
---|---|---|
committer | Matthew Burgess <matthew@linuxfromscratch.org> | 2011-05-22 22:21:37 +0000 |
commit | 47045599e69241222a0288069cd76dc1614aed4d (patch) | |
tree | 94efeed21df1866758b8ff1019c57708913a09c6 /chapter06 | |
parent | b8d2a723d7581ec19e3bca64954d4d0cd2f4b1f5 (diff) |
Upgrade to Pkg-config-0.26 and add PCRE and Glib as required dependencies.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9547 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06')
-rw-r--r-- | chapter06/chapter06.xml | 4 | ||||
-rw-r--r-- | chapter06/glib.xml | 172 | ||||
-rw-r--r-- | chapter06/pcre.xml | 187 | ||||
-rw-r--r-- | chapter06/pkg-config.xml | 8 |
4 files changed, 369 insertions, 2 deletions
diff --git a/chapter06/chapter06.xml b/chapter06/chapter06.xml index f4b21b449..899ab5446 100644 --- a/chapter06/chapter06.xml +++ b/chapter06/chapter06.xml @@ -29,6 +29,9 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpc.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gcc.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sed.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pcre.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glib.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkg-config.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/> @@ -47,7 +50,6 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="perl.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="autoconf.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="automake.xml"/> - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="diffutils.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gawk.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="findutils.xml"/> diff --git a/chapter06/glib.xml b/chapter06/glib.xml new file mode 100644 index 000000000..ee5297676 --- /dev/null +++ b/chapter06/glib.xml @@ -0,0 +1,172 @@ +<?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; +]> + +<sect1 id="ch-system-glib" role="wrap"> + <?dbhtml filename="glib.html"?> + + <sect1info condition="script"> + <productname>glib</productname> + <productnumber>&glib-version;</productnumber> + <address>&glib-url;</address> + </sect1info> + + <title>Glib-&glib-version;</title> + + <indexterm zone="ch-system-glib"> + <primary sortas="a-Glib">Glib</primary> + </indexterm> + + <sect2 role="package"> + <title/> + + <para>The GLib 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> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&glib-ch6-sbu;</seg> + <seg>&glib-ch6-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of Glib</title> + + <para>Prepare Glib for compilation:</para> + +<screen><userinput remap="configure">PCRE_LIBS="-L/usr/lib -lpcre" PCRE_CFLAGS="-I/usr/include" ./configure --prefix=/usr --with-pcre=system</userinput></screen> + + <variablelist> + <title>The meaning of the configure options:</title> + + <varlistentry> + <term><parameter>--with-pcre=system</parameter></term> + <listitem> + <para>This parameter causes the build to use a system-provided + version of the PCRE library instead of an internal version.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Compile the package:</para> + +<screen><userinput remap="make">make</userinput></screen> + + <para>Due to dependencies on additional Perl modules and other packages not yet present + (e.g. desktop-file-utils and DBus), it is not possible to run Glib's test suite.</para> + + <para>Install the package:</para> + +<screen><userinput remap="install">make install</userinput></screen> + + </sect2> + + <sect2 id="contents-glib" role="content"> + <title>Contents of Glib</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + <segtitle>Installed libraries</segtitle> + <segtitle>Installed directories</segtitle> + + <seglistitem> + <seg>gio-querymodules, glib-genmarshal, glib-gettextize, + glib-mkenums, gobject-query, gtester and gtester-report</seg> + <seg>libgio-2.0.so, libglib-2.0.so, libgmodule-2.0.so, + libgobject-2.0.so, and libgthread-2.0.so</seg> + <seg>/usr/include/{gio-unix-2.0/gio,glib-2.0/{gio,glib,gobject}}, + /usr/lib/{gio/modules,glib-2.0/include}, + /usr/share/{gdb/auto-load,glib-2.0/{gdb, gettext/po},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="gio-querymodules"> + <term><command>gio-querymodules</command></term> + <listitem> + <para>is a C code marshaller generation utility for GLib + closures.</para> + <indexterm zone="ch-system-glib gio-querymodules"> + <primary sortas="b-glib">gio-querymodules</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="glib-gettextize"> + <term><command>glib-gettextize</command></term> + <listitem> + <para>is a variant of the gettext internationalization + utility.</para> + <indexterm zone="ch-system-glib 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="ch-system-glib 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="ch-system-glib gobject-query"> + <primary sortas="b-gobject-query">gobject-query</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="gtester"> + <term><command>gtester</command></term> + <listitem> + <para>Is a test running utility.</para> + <indexterm zone="ch-system-glib 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="ch-system-glib gtester-report"> + <primary sortas="b-gtester-report">gtester-report</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="glib"> + <term><filename class="libraryfile">Glib libraries</filename></term> + <listitem> + <para>contain a general purpose low-level core library.</para> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> + +</sect1> diff --git a/chapter06/pcre.xml b/chapter06/pcre.xml new file mode 100644 index 000000000..5d04a7f38 --- /dev/null +++ b/chapter06/pcre.xml @@ -0,0 +1,187 @@ +<?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; +]> + +<sect1 id="ch-system-pcre" role="wrap"> + <?dbhtml filename="pcre.html"?> + + <sect1info condition="script"> + <productname>pcre</productname> + <productnumber>&pcre-version;</productnumber> + <address>&pcre-url;</address> + </sect1info> + + <title>PCRE-&pcre-version;</title> + + <indexterm zone="ch-system-pcre"> + <primary sortas="a-PCRE">PCRE</primary> + </indexterm> + + <sect2 role="package"> + <title/> + + <para>The PCRE package contains Perl Compatible Regular Expression + libraries. These are useful for implementing regular expression pattern + matching using the same syntax and semantics as Perl 5.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&pcre-ch6-sbu;</seg> + <seg>&pcre-ch6-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of PCRE</title> + + <para>Prepare PCRE for compilation:</para> + +<screen><userinput remap="configure">./configure --prefix=/usr \ + --docdir=/usr/share/doc/pcre-8.10 \ + --enable-utf8 \ + --enable-unicode-properties \ + --enable-pcregrep-libz \ + --enable-pcregrep-libbz2</userinput></screen> + + <variablelist> + <title>The meaning of the configure options:</title> + + <varlistentry> + <term><parameter>--enable-utf8</parameter></term> + <listitem> + <para>This switch includes the code for handling UTF-8 character + strings in the library.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>--enable-unicode-properties</parameter></term> + <listitem> + <para>This switch enables Unicode properties support.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><parameter>--enable-pcregrep-lib*</parameter></term> + <listitem> + <para>These switches enable the PCRE library to read files compressed + with <command>gzip</command> and <command>bzip2</command>.</para> + </listitem> + </varlistentry> + </variablelist> + + <para>Compile the package:</para> + +<screen><userinput remap="make">make</userinput></screen> + + <para>To test the results, issue:</para> + +<screen><userinput remap="test">make check</userinput></screen> + + <para>Install the package:</para> + +<screen><userinput remap="install">make install</userinput></screen> + + <para>The <command>grep</command> binary will be installed in <filename class="directory">/bin</filename> and will link against the PCRE library; as such, +move the library to <filename class="directory">/lib</filename>:</para> + +<screen><userinput remap="install">mv -v /usr/lib/libpcre.so.* /lib/ && +ln -v -sf ../../lib/libpcre.so.0 /usr/lib/libpcre.so</userinput></screen> + + </sect2> + + <sect2 id="contents-pcre" role="content"> + <title>Contents of PCRE</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + <segtitle>Installed libraries</segtitle> + <segtitle>Installed directories</segtitle> + + <seglistitem> + <seg>pcregrep, pcretest, and pcre-config</seg> + <seg>libpcre.{so,a}, libpcrecpp.{so,a} and libpcreposix.{so,a}</seg> + <seg>/usr/share/doc/pcre-&pcre-version;</seg> + </seglistitem> + </segmentedlist> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry id="pcregrep"> + <term><command>pcregrep</command></term> + <listitem> + <para>A grep that understands Perl compatible regular + expressions.</para> + <indexterm zone="ch-system-pcre pcregrep"> + <primary sortas="b-pcre">pcregrep</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pcretest"> + <term><command>pcretest</command></term> + <listitem> + <para>Tests a Perl compatible regular expression.</para> + <indexterm zone="ch-system-pcre pcretest"> + <primary sortas="b-pcretest">pcretest</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="pcre-config"> + <term><command>pcre-config</command></term> + <listitem> + <para>Used during the compilation process of programs linking to the + PCRE libraries.</para> + <indexterm zone="ch-system-pcre pcre-config"> + <primary sortas="b-pcre-config">pcre-config</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libpcre"> + <term><filename class="libraryfile">libpcre</filename></term> + <listitem> + <para>Provides functions useful for working with regular + expressions.</para> + <indexterm zone="ch-system-pcre libpcre"> + <primary sortas="c-libpcre*">libpcre*</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libpcrecpp"> + <term><filename class="libraryfile">libpcrecpp</filename></term> + <listitem> + <para>Provides C++ wrapper functions for the libpcre library.</para> + <indexterm zone="ch-system-pcre libpcrecpp"> + <primary sortas="c-libpcrecpp*">libpcrecpp*</primary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry id="libpcreposix"> + <term><filename class="libraryfile">libpcreposix</filename></term> + <listitem> + <para>Provides wrapper functions based on the POSIX regular expression + API.</para> + <indexterm zone="ch-system-pcre libpcreposix"> + <primary sortas="c-libpcre*">libpcreposix*</primary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + + </sect2> + +</sect1> diff --git a/chapter06/pkg-config.xml b/chapter06/pkg-config.xml index 444a30c9a..12498d289 100644 --- a/chapter06/pkg-config.xml +++ b/chapter06/pkg-config.xml @@ -48,9 +48,15 @@ url="&blfs-root;view/svn/general/popt.html">BLFS Popt build instructions</ulink> before installing Pkg-config.</para></note> + + <para>Fix a problem with one of Pkg-config's tests:</para> + +<screen><userinput remap="pre">sed -i -e '21s/EXPECT_RETURN=1/EXPECT_RETURN=0/' check/check-cmd-options</userinput></screen> + <para>Prepare Pkg-config for compilation:</para> -<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> +<screen><userinput remap="configure">GLIB_LIBS="-L/usr/lib -lglib-2.0" \ + GLIB_CFLAGS="-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include" ./configure --prefix=/usr</userinput></screen> <para>Compile the package:</para> |