source: general/prog/gc.xml

trunk
Last change on this file was 99c90fa, checked in by Douglas R. Reno <renodr@…>, 2 months ago

Lots of tags

  • Property mode set to 100644
File size: 6.3 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY gc-download-http "https://github.com/ivmai/bdwgc/releases/download/v&gc-version;/gc-&gc-version;.tar.gz">
8 <!ENTITY gc-download-ftp " ">
9 <!ENTITY gc-md5sum "fc5351214bc2e854070ee3319181a467">
10 <!ENTITY gc-size "1.2 MB">
11 <!ENTITY gc-buildsize "11 MB (with tests)">
12 <!ENTITY gc-time "0.2 SBU (with tests)">
13]>
14
15<sect1 id="gc" xreflabel="GC-&gc-version;">
16 <?dbhtml filename="gc.html"?>
17
18
19 <title>GC-&gc-version;</title>
20
21 <indexterm zone="gc">
22 <primary sortas="a-GC">GC</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to GC</title>
27
28 <para>
29 The <application>GC</application> package contains the Boehm-Demers-Weiser
30 conservative garbage collector, which can be used as a garbage collecting
31 replacement for the C malloc function or C++ new operator. It allows you
32 to allocate memory basically as you normally would, without explicitly
33 deallocating memory that is no longer useful. The collector automatically
34 recycles memory when it determines that it can no longer be otherwise
35 accessed. The collector is also used by a number of programming language
36 implementations that either use C as intermediate code, want to facilitate
37 easier interoperation with C libraries, or just prefer the simple
38 collector interface. Alternatively, the garbage collector may be used as a
39 leak detector for C or C++ programs, though that is not its primary goal.
40 </para>
41
42 &lfs121_checked;
43
44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>
48 Download (HTTP): <ulink url="&gc-download-http;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download (FTP): <ulink url="&gc-download-ftp;"/>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download MD5 sum: &gc-md5sum;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Download size: &gc-size;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated disk space required: &gc-buildsize;
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Estimated build time: &gc-time;
74 </para>
75 </listitem>
76 </itemizedlist>
77
78 <bridgehead renderas="sect4">Optional</bridgehead>
79 <para role="optional">
80 <xref linkend="libatomic_ops"/>
81 </para>
82
83 </sect2>
84
85 <sect2 role="installation">
86 <title>Installation of GC</title>
87
88 <para>
89 Install <application>GC</application> by running the following commands:
90 </para>
91
92<screen><userinput>./configure --prefix=/usr \
93 --enable-cplusplus \
94 --disable-static \
95 --docdir=/usr/share/doc/gc-&gc-version; &amp;&amp;
96make</userinput></screen>
97
98 <para>
99 To test the results, issue: <command>make check</command>.
100 </para>
101
102 <para>
103 Now, as the <systemitem class="username">root</systemitem> user:
104 </para>
105
106<screen role="root"><userinput>make install &amp;&amp;
107install -v -m644 doc/gc.man /usr/share/man/man3/gc_malloc.3</userinput></screen>
108 </sect2>
109
110 <sect2 role="commands">
111 <title>Command Explanations</title>
112
113 <para>
114 <parameter>--docdir=/usr/share/doc/gc-&gc-version;</parameter>:
115 This option is used so the package will install the
116 documentation in a versioned directory.
117 </para>
118
119 <para>
120 <parameter>--enable-cplusplus</parameter>: This parameter enables the
121 building and installing of the C++ library along with the standard
122 C library.
123 </para>
124
125 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
126 href="../../xincludes/static-libraries.xml"/>
127
128 </sect2>
129
130 <sect2 role="content">
131 <title>Contents</title>
132
133 <segmentedlist>
134 <segtitle>Installed Programs</segtitle>
135 <segtitle>Installed Libraries</segtitle>
136 <segtitle>Installed Directories</segtitle>
137
138 <seglistitem>
139 <seg>
140 None
141 </seg>
142 <seg>
143 libcord.so,
144 libgc.so,
145 libgccpp.so, and
146 libgctba.so
147 </seg>
148 <seg>
149 /usr/include/gc and
150 /usr/share/doc/gc-&gc-version;
151 </seg>
152 </seglistitem>
153 </segmentedlist>
154
155 <variablelist>
156 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
157 <?dbfo list-presentation="list"?>
158 <?dbhtml list-presentation="table"?>
159
160 <varlistentry id="libcord">
161 <term><filename class="libraryfile">libcord.so</filename></term>
162 <listitem>
163 <para>
164 contains a tree-based string library
165 </para>
166 <indexterm zone="gc libcord">
167 <primary sortas="c-libcord">libcord.so</primary>
168 </indexterm>
169 </listitem>
170 </varlistentry>
171
172 <varlistentry id="libgc">
173 <term><filename class="libraryfile">libgc.so</filename></term>
174 <listitem>
175 <para>
176 contains a C interface to the conservative garbage collector,
177 primarily designed to replace the C malloc function
178 </para>
179 <indexterm zone="gc libgc">
180 <primary sortas="c-libgc">libgc.so</primary>
181 </indexterm>
182 </listitem>
183 </varlistentry>
184
185 <varlistentry id="libgccpp">
186 <term><filename class="libraryfile">libgccpp.so</filename></term>
187 <listitem>
188 <para>
189 contains a C++ interface to the conservative garbage collector
190 </para>
191 <indexterm zone="gc libgccpp">
192 <primary sortas="c-libgccpp">libgccpp.so</primary>
193 </indexterm>
194 </listitem>
195 </varlistentry>
196
197 <varlistentry id="libgctba">
198 <term><filename class="libraryfile">libgctba.so</filename></term>
199 <listitem>
200 <para>
201 contains a C++ interface to throw bad allocations
202 </para>
203 <indexterm zone="gc libgctba">
204 <primary sortas="c-libgctba">libgctba.so</primary>
205 </indexterm>
206 </listitem>
207 </varlistentry>
208
209 </variablelist>
210
211 </sect2>
212
213</sect1>
Note: See TracBrowser for help on using the repository browser.