mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-24 15:12:11 +08:00
d4796f8b41
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@8661 af4574ff-66df-0310-9fd7-8a98e5e911e0
161 lines
5.5 KiB
XML
161 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 gc-download-http "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc&gc-version;.tar.gz">
|
|
<!ENTITY gc-download-ftp "&gentoo-ftp-repo;/gc&gc-version;.tar.gz">
|
|
<!ENTITY gc-md5sum "418d38bd9c66398386a372ec0435250e">
|
|
<!ENTITY gc-size "739 KB">
|
|
<!ENTITY gc-buildsize "7.1 MB">
|
|
<!ENTITY gc-time "0.2 SBU">
|
|
]>
|
|
|
|
<sect1 id="gc" xreflabel="GC-&gc-version;">
|
|
<?dbhtml filename="gc.html"?>
|
|
|
|
<sect1info>
|
|
<othername>$LastChangedBy$</othername>
|
|
<date>$Date$</date>
|
|
</sect1info>
|
|
|
|
<title>GC-&gc-version;</title>
|
|
|
|
<indexterm zone="gc">
|
|
<primary sortas="a-GC">GC</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to GC</title>
|
|
|
|
<para>The <application>GC</application> package contains the
|
|
Boehm-Demers-Weiser conservative garbage collector, which can be used as a
|
|
garbage collecting replacement for the C malloc function or C++ new
|
|
operator. It allows you to allocate memory basically as you normally would,
|
|
without explicitly deallocating memory that is no longer useful. The
|
|
collector automatically recycles memory when it determines that it can no
|
|
longer be otherwise accessed. The collector is also used by a number of
|
|
programming language implementations that either use C as intermediate
|
|
code, want to facilitate easier interoperation with C libraries, or just
|
|
prefer the simple collector interface. Alternatively, the garbage collector
|
|
may be used as a leak detector for C or C++ programs, though that is not
|
|
its primary goal.</para>
|
|
|
|
&lfs67_built;
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>Download (HTTP): <ulink url="&gc-download-http;"/></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download (FTP): <ulink url="&gc-download-ftp;"/></para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download MD5 sum: &gc-md5sum;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download size: &gc-size;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Estimated disk space required: &gc-buildsize;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Estimated build time: &gc-time;</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para condition="html" role="usernotes">User Notes:
|
|
<ulink url="&blfs-wiki;/gc"/></para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of GC</title>
|
|
|
|
<para>Install <application>GC</application> by running the following
|
|
commands:</para>
|
|
|
|
<screen><userinput>sed -i "s|\$(datadir)/@PACKAGE@|&-&gc-version;|" doc/Makefile.in &&
|
|
./configure --prefix=/usr \
|
|
--datadir=/usr/share/doc --enable-cplusplus &&
|
|
make</userinput></screen>
|
|
|
|
<para>To test the results, issue: <command>make check</command>.</para>
|
|
|
|
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
|
|
|
|
<screen role="root"><userinput>make install &&
|
|
install -v -m644 doc/gc.man /usr/share/man/man3/gc_malloc.3 &&
|
|
ln -v -s gc_malloc.3 /usr/share/man/man3/gc.3</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<para><command>sed -i "s|\$(datadir)/@PACKAGE@|&-&gc-version;|" ...</command>:
|
|
This command appends <quote>-&gc-version;</quote> to the default documentation
|
|
installation path of
|
|
<filename class='directory'>/usr/share/doc/gc</filename>.</para>
|
|
|
|
<para><parameter>--datadir=/usr/share/doc</parameter>: This parameter
|
|
changes the installation path of the documentation to
|
|
<filename class='directory'>/usr/share/doc/gc</filename> instead of
|
|
<filename class='directory'>/usr/share/gc</filename>.</para>
|
|
|
|
<para><parameter>--enable-cplusplus</parameter>: This parameter forces
|
|
the building and installation of the C++ library along with the standard
|
|
C library.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Programs</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directories</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>None</seg>
|
|
<seg>libgc.{so,a} and libgccpp.{so,a}</seg>
|
|
<seg>/usr/include/gc and /usr/share/doc/gc-&gc-version;</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="libgc">
|
|
<term><filename class='libraryfile'>libgc.{so,a}</filename></term>
|
|
<listitem>
|
|
<para>contains a C interface to the conservative garbage collector,
|
|
primarily designed to replace the C malloc function.</para>
|
|
<indexterm zone="gc libgc">
|
|
<primary sortas="c-libgc">libgc.{so,a}</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="libgccpp">
|
|
<term><filename class='libraryfile'>libgccpp.{so,a}</filename></term>
|
|
<listitem>
|
|
<para>contains a C++ interface to the conservative garbage
|
|
collector.</para>
|
|
<indexterm zone="gc libgccpp">
|
|
<primary sortas="c-libgccpp">libgccpp.{so,a}</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|