%general-entities; ]> LLVM-&llvm-old-version; LLVM3 Introduction to llvm3 This is an old version of llvm, installed in /opt so that can use it. For normal use you should install . This version of the LLVM package contains old versions of the libraries, using the API which Rust expects. Although ships with a version of LLVM-3.9 and will build and link to it statically, its rustbuild build-system will always compile a large number of cross-compilers for different architectures. Using a separate LLVM avoids that. By using a separate LLVM-3.9.1 it will be possible to save time when upgrading Rust (the overall time for the first build will be similar both with and without separate LLVM-3.9.1). &lfs80_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &llvm-old-md5sum; Download size: &llvm-old-size; Estimated disk space required: &llvm-old-buildsize; Estimated build time: &llvm-old-time; llvm3 Dependencies Required Recommended Optional , , (if you force this to be used, the build of will need to be altered) , (or ), , , OCaml, and Sphinx User Notes: Installation of llvm3 Install llvm3 by running the following commands: mkdir -v build && cd build && CC=gcc CXX=g++ \ cmake -DCMAKE_INSTALL_PREFIX=/opt/llvm3 \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_BUILD_LLVM_DYLIB=ON \ -DLLVM_LINK_LLVM_DYLIB=ON \ -DLLVM_TARGETS_TO_BUILD="host" \ -DLLVM_INSTALL_UTILS=ON \ -Wno-dev .. && make To test the results, issue: make check-all. The tests are run using the maximum number of processors/threads available, but the main part of the added time is spent compiling the test programs. This works fine with parallel make. Now, as the root user: echo "/opt/llvm3/lib" >> /etc/ld.so.conf && make install && /sbin/ldconfig && ln -sfv /opt/llvm3/bin/FileCheck /usr/bin Building the documentation for current LLVM is covered in , building docs for this old version would be similar, but almost everyone who needs this old version will also need the current version for so it is redundant to install the docs here. Command Explanations -DLLVM_INSTALL_UTILS_=ON: This switch enables the installation of old utility programs. Of those, rust looks for FileCheck when its configure checks for a system LLVM, the others are not used. /sbin/ldconfig: This ensures the libraries can be found. ln -sfv /opt/llvm3/bin/FileCheck /usr/bin: This ensures that FileCheck can be found by rust even though /opt/llvm3/bin is not on the PATH (having two versions of LLVM generally available has been known to cause pain). Contents Installed Program(s) Installed Librar(y,ies) Installed Director(y,ies) bugpoint, count, FileCheck, llc, lli, llvm-ar, llvm-as, llvm-bcanalyzer, llvm-config, llvm-cov, llvm-c-test, llvm-cxxdump, llvm-diff, llvm-dis, llvm-dsymutil, llvm-dwarfdump, llvm-dwp, llvm-extract, llvm-lib (symlink to llvm-ar), llvm-link, llvm-lto, llvm-mc, llvm-mcmarkup, llvm-nm, llvm-objdump, llvm-pdbdump, llvm-profdata, llvm-ranlib (symlink to llvm-ar), llvm-readobj, llvm-rtdyld, llvm-size, llvm-split, llvm-stress, llvm-symbolizer, llvm-tblgen, not, obj2yaml, opt, sancov, sanstats, verify-uselistorder, yaml-bench and yaml2obj BugpointPasses.so, LLVMHello.so, libLLVM.so, libLLVM*.a (50 libraries), libLTO.so /opt/llvm3 Short Descriptions FileCheck reads two files (one from standard input,the other specified on the command line) and uses one to verify the other. FileCheck For details of the other items in this package, see .