diff options
Diffstat (limited to 'chapter06/libffi.xml')
-rw-r--r-- | chapter06/libffi.xml | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/chapter06/libffi.xml b/chapter06/libffi.xml new file mode 100644 index 000000000..c04a39f69 --- /dev/null +++ b/chapter06/libffi.xml @@ -0,0 +1,104 @@ +<?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-libffi" role="wrap"> + <?dbhtml filename="libffi.html"?> + + <sect1info condition="script"> + <productname>libffi</productname> + <productnumber>&libffi-version;</productnumber> + <address>&libffi-url;</address> + </sect1info> + + <title>libffi-&libffi-version;</title> + + <indexterm zone="ch-system-libffi"> + <primary sortas="a-libffi">libffi</primary> + </indexterm> + + <sect2 role="package"> + <title/> + + <para>The libffi library provides a portable, high level programming + interface to various calling conventions. This allows a programmer to call + any function specified by a call interface description at run time.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&libffi-ch6-sbu;</seg> + <seg>&libffi-ch6-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of libffi</title> + + <para>Modify the Makefile to install headers into the standard + <filename class="directory">/usr/include</filename> directory instead of + <filename class="directory">/usr/lib/libffi-3.2.1/include</filename>.</para> + +<screen><userinput remap="pre">sed -e '/^includesdir/ s/$(libdir).*$/$(includedir)/' \ + -i include/Makefile.in + +sed -e '/^includedir/ s/=.*$/=@includedir@/' \ + -e 's/^Cflags: -I${includedir}/Cflags:/' \ + -i libffi.pc.in</userinput></screen> + + <para>Prepare libffi for compilation:</para> + +<screen><userinput remap="configure">./configure --prefix=/usr --disable-static</userinput></screen> + + <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> + + </sect2> + + <sect2 id="contents-libffi" role="content"> + <title>Contents of libffi</title> + + <segmentedlist> + <segtitle>Installed library</segtitle> + + <seglistitem> + <seg>libffi.so</seg> + </seglistitem> + </segmentedlist> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <varlistentry id="libffi"> + <term><filename class="libraryfile">libffi</filename></term> + <listitem> + <para>contains the libffi API functions.</para> + <indexterm zone="ch-system-libffi"> + <primary sortas="c-libffi">libffi</primary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + + </sect2> + +</sect1> + |