source: archive/llvm3.xml@ 3f2db3a6

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 3f2db3a6 was 3f2db3a6, checked in by Pierre Labastie <pierre.labastie@…>, 17 months ago

Remove sect1info tags

They only contain a date tag that is nowhere used.

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