source: archive/llvm3.xml

trunk
Last change on this file was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 3 months ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

  • Property mode set to 100644
File size: 8.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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 <!-- for the moment, this is internally llvm-old but visibly llvm3
8 so that when rust eventually understands a less-old version the
9 visible fields, and the page itself, can be moved to that newer
10 number -->
11 <!ENTITY llvm-old-download-http "http://llvm.org/releases/&llvm-old-version;/llvm-&llvm-old-version;.src.tar.xz">
12 <!ENTITY llvm-old-download-ftp " ">
13 <!ENTITY llvm-old-md5sum "3259018a7437e157f3642df80f1983ea">
14 <!ENTITY llvm-old-size "18 MB">
15 <!ENTITY llvm-old-buildsize "663 MB (112 MB installed) plus 101 MB for the testsuite">
16 <!ENTITY llvm-old-time "6.9 SBU (plus 1.8 SBU for the testsuite, both with parallelism=4)">
17]>
18
19<sect1 id="llvm-old" xreflabel="LLVM-&llvm-old-version;">
20 <?dbhtml filename="llvm-old.html"?>
21
22 <sect1info>
23 <date>$Date$</date>
24 </sect1info>
25
26 <title>LLVM-&llvm-old-version;</title>
27
28 <indexterm zone="llvm-old">
29 <primary sortas="a-llvm3">LLVM3</primary>
30 </indexterm>
31
32 <sect2 role="package">
33 <title>Introduction to llvm3</title>
34
35 <para>
36 This is an old version of <application>llvm</application>, installed
37 in /opt so that <xref linkend="rust"/> can use it. For normal use you
38 should install <xref linkend="llvm"/>.
39 </para>
40
41 <para>
42 This version of the <application>LLVM</application> package contains old
43 versions of the libraries, using the API which
44 <application>Rust</application> expects. Although <xref linkend="rust"/>
45 ships with a version of LLVM-3.9 and will build and link to it statically,
46 its <application>rustbuild</application> build-system will always compile
47 a large number of cross-compilers for different architectures. Using a
48 separate LLVM avoids that.
49 </para>
50
51 <para>
52 By using a separate <application>LLVM-3.9.1</application> it will be
53 possible to save time when upgrading <application>Rust</application> (the
54 overall time for the first build will be similar both with and without
55 separate <application>LLVM-3.9.1</application>).
56 </para>
57
58 &lfs80_checked;
59
60 <bridgehead renderas="sect3">Package Information</bridgehead>
61 <itemizedlist spacing="compact">
62 <listitem>
63 <para>
64 Download (HTTP): <ulink url="&llvm-old-download-http;"/>
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Download (FTP): <ulink url="&llvm-old-download-ftp;"/>
70 </para>
71 </listitem>
72 <listitem>
73 <para>
74 Download MD5 sum: &llvm-old-md5sum;
75 </para>
76 </listitem>
77 <listitem>
78 <para>
79 Download size: &llvm-old-size;
80 </para>
81 </listitem>
82 <listitem>
83 <para>
84 Estimated disk space required: &llvm-old-buildsize;
85 </para>
86 </listitem>
87 <listitem>
88 <para>
89 Estimated build time: &llvm-old-time;
90 </para>
91 </listitem>
92 </itemizedlist>
93
94 <bridgehead renderas="sect3">llvm3 Dependencies</bridgehead>
95
96 <bridgehead renderas="sect4">Required</bridgehead>
97 <para role="required">
98 <xref linkend="cmake"/>
99 </para>
100
101 <bridgehead renderas="sect4">Recommended</bridgehead>
102 <para role="recommended">
103 <xref linkend="python2"/>
104 </para>
105
106 <bridgehead renderas="sect4">Optional</bridgehead>
107 <para role="optional">
108 <xref linkend="doxygen"/>,
109 <xref linkend="graphviz"/>,
110 <xref linkend="libffi"/> (if you force this to be
111 used, the build of <xref linkend="rust"/> will need to be altered)
112 <xref linkend="libxml2"/>,
113 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>),
114 <xref linkend="valgrind"/>,
115 <xref linkend="zip"/>,
116 <ulink url="http://www.ocaml.org/">OCaml</ulink>, and
117 <ulink url="https://pypi.python.org/pypi/Sphinx">Sphinx</ulink>
118 </para>
119
120 <para condition="html" role="usernotes">
121 User Notes: <ulink url="&blfs-wiki;/llvm3"/>
122 </para>
123 </sect2>
124
125 <sect2 role="installation">
126 <title>Installation of llvm3</title>
127
128 <para>
129 Install <application>llvm3</application> by running the following
130 commands:
131 </para>
132
133<screen><userinput>mkdir -v build &amp;&amp;
134cd build &amp;&amp;
135
136CC=gcc CXX=g++ \
137cmake -DCMAKE_INSTALL_PREFIX=/opt/llvm3 \
138 -DCMAKE_BUILD_TYPE=Release \
139 -DLLVM_BUILD_LLVM_DYLIB=ON \
140 -DLLVM_LINK_LLVM_DYLIB=ON \
141 -DLLVM_TARGETS_TO_BUILD="host" \
142 -DLLVM_INSTALL_UTILS=ON \
143 -Wno-dev .. &amp;&amp;
144make</userinput></screen>
145
146 <para>
147 To test the results, issue: <command>make check-all</command>. The tests
148 are run using the maximum number of processors/threads available, but the
149 main part of the added time is spent compiling the test programs. This
150 works fine with parallel make.
151 </para>
152
153 <para>
154 Now, as the <systemitem class="username">root</systemitem> user:
155 </para>
156
157<screen role="root"><userinput>echo "/opt/llvm3/lib" >> /etc/ld.so.conf &amp;&amp;
158make install &amp;&amp;
159/sbin/ldconfig &amp;&amp;
160ln -sfv /opt/llvm3/bin/FileCheck /usr/bin</userinput></screen>
161
162 <para>
163 Building the documentation for <emphasis>current</emphasis> LLVM is
164 covered in <xref linkend="llvm"/>, building docs for this old version
165 would be similar, but almost everyone who needs this old version will
166 also need the current version for <xref linkend="mesa"/> so it is
167 redundant to install the docs here.
168 </para>
169
170 </sect2>
171
172 <sect2 role="commands">
173 <title>Command Explanations</title>
174
175 <para>
176 <parameter>-DLLVM_INSTALL_UTILS_=ON</parameter>: This switch enables
177 the installation of old utility programs. Of those,
178 <application>rust</application> looks for <command>FileCheck</command>
179 when its configure checks for a system LLVM, the others are not used.
180 </para>
181
182 <para>
183 <parameter>/sbin/ldconfig</parameter>: This ensures the libraries can be
184 found.
185 </para>
186
187 <para>
188 <parameter>ln -sfv /opt/llvm3/bin/FileCheck /usr/bin</parameter>: This
189 ensures that FileCheck can be found by <application>rust</application>
190 even though <filename class="directory">/opt/llvm3/bin</filename> is not
191 on the PATH (having two versions of <application>LLVM</application>
192 generally available has been known to cause pain).
193 </para>
194
195 </sect2>
196
197 <sect2 role="content">
198 <title>Contents</title>
199
200 <segmentedlist>
201 <segtitle>Installed Program(s)</segtitle>
202 <segtitle>Installed Librar(y,ies)</segtitle>
203 <segtitle>Installed Director(y,ies)</segtitle>
204
205 <seglistitem>
206 <seg>
207 bugpoint, count, FileCheck,
208 llc, lli, llvm-ar, llvm-as, llvm-bcanalyzer, llvm-config, llvm-cov,
209 llvm-c-test, llvm-cxxdump, llvm-diff, llvm-dis, llvm-dsymutil,
210 llvm-dwarfdump, llvm-dwp, llvm-extract, llvm-lib (symlink to
211 llvm-ar), llvm-link, llvm-lto, llvm-mc, llvm-mcmarkup, llvm-nm,
212 llvm-objdump, llvm-pdbdump, llvm-profdata, llvm-ranlib (symlink to
213 llvm-ar), llvm-readobj, llvm-rtdyld, llvm-size, llvm-split,
214 llvm-stress, llvm-symbolizer, llvm-tblgen, not, obj2yaml, opt, sancov,
215 sanstats, verify-uselistorder, yaml-bench and yaml2obj
216 </seg>
217 <seg>
218 BugpointPasses.so, LLVMHello.so, libLLVM.so, libLLVM*.a (50
219 libraries), libLTO.so
220 </seg>
221 <seg>
222 /opt/llvm3
223 </seg>
224 </seglistitem>
225 </segmentedlist>
226
227 <variablelist>
228 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
229 <?dbfo list-presentation="list"?>
230 <?dbhtml list-presentation="table"?>
231
232 <varlistentry id="FileCheck">
233 <term><command>FileCheck</command></term>
234 <listitem>
235 <para>
236 reads two files (one from standard input,the other specified on the
237 command line) and uses one to verify the other.
238 </para>
239 <indexterm zone="llvm-old FileCheck">
240 <primary sortas="b-FileCheck">FileCheck</primary>
241 </indexterm>
242 </listitem>
243 </varlistentry>
244
245 </variablelist>
246
247 <para>
248 For details of the other items in this package, see <xref linkend="llvm"/>.
249 </para>
250
251 </sect2>
252</sect1>
Note: See TracBrowser for help on using the repository browser.