glfs/general/genlib/libatomic_ops.xml
Bruce Dubbs f60685075f LFS7.4 tags
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@11675 af4574ff-66df-0310-9fd7-8a98e5e911e0
2013-08-23 10:32:24 +00:00

185 lines
5.5 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 libatomic_ops-download-http
"http://www.hpl.hp.com/research/linux/atomic_ops/download/libatomic_ops-&libatomic_ops-version;.tar.gz">
<!ENTITY libatomic_ops-download-ftp " ">
<!ENTITY libatomic_ops-md5sum "e6997db4875909e11b514cd5c3caa3cf">
<!ENTITY libatomic_ops-size "228 KB">
<!ENTITY libatomic_ops-buildsize "5.0 MB">
<!ENTITY libatomic_ops-time "0.1 SBU">
]>
<sect1 id="libatomic_ops" xreflabel="libatomic_ops-&libatomic_ops-version;">
<?dbhtml filename="libatomic_ops.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>libatomic_ops-&libatomic_ops-version;</title>
<indexterm zone="libatomic_ops">
<primary sortas="a-libatomic_ops">libatomic_ops</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to libatomic_ops</title>
<para>
<application>libatomic_ops</application> provides implementations for
atomic memory update operations on a number of architectures. This allows
direct use of these in reasonably portable code. Unlike earlier similar
packages, this one explicitly considers memory barrier semantics, and
allows the construction of code that involves minimum overhead across a
variety of architectures.
</para>
&lfs74_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&libatomic_ops-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&libatomic_ops-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &libatomic_ops-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &libatomic_ops-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &libatomic_ops-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &libatomic_ops-time;
</para>
</listitem>
</itemizedlist>
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/libatomic_ops"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of libatomic_ops</title>
<para>
Install <application>libatomic_ops</application> by running the following
commands:
</para>
<screen><userinput>sed -i 's#AM_CONFIG_HEADER#AC_CONFIG_HEADERS#' configure.ac &amp;&amp;
sed -i 's#AC_PROG_RANLIB#AC_LIBTOOL_DLOPEN\nAC_PROG_LIBTOOL#' configure.ac &amp;&amp;
sed -i 's#b_L#b_LTL#;s#\.a#.la#g;s#_a_#_la_#' src/Makefile.am &amp;&amp;
sed -i 's#\.a#.so#g;s#\.\./src/#../src/.libs/#g' tests/Makefile.am &amp;&amp;
sed -i 's#pkgdata#doc#' doc/Makefile.am &amp;&amp;
autoreconf -fi &amp;&amp;
./configure --prefix=/usr \
--docdir=/usr/share/doc/libatomic_ops-&libatomic_ops-version; \
--disable-static &amp;&amp;
make</userinput></screen>
<para>
To check the results, issue
<command>LD_LIBRARY_PATH=../src/.libs make check</command>.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>sed -i 's#AM_CONFIG_HEADER ...</command>: This
<command>sed</command> fixes building with
<application>Automake</application> 1.13.
</para>
<para>
<command>sed -i 's#AC_PROG_RANLIB ...</command>: These
<command>sed</command>s massage the autotool files so that a shared
library is built, the tests pass, and the docs are installed in an
appropriate directory.
</para>
<para>
<command>autoreconf -fi</command>: This regenerates the
<command>configure</command> script and the <filename>Makefile.in</filename>
files and installs a missing file.
</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/static-libraries.xml"/>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>
None
</seg>
<seg>
libatomic_ops.so and libatomic_ops_gpl.so
</seg>
<seg>
/usr/include/libatomic_ops
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="libatomic_ops-lib">
<term><filename class="libraryfile">libatomic_ops.so</filename></term>
<listitem>
<para>
contains functions for atomic memory operations.
</para>
<indexterm zone="libatomic_ops libatomic_ops-lib">
<primary sortas="c-libatomic_ops">libatomic_ops.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>