Software LLVM Requires

Written by Reid Spencer

This document provides a list of the software packages that LLVM depends on in order to be built successfully from CVS sources. The requirements for building from a distribution are fewer. Items only needed for building from a distribution are noted with an asterisk (*).

The table below shows the required software packages. Package is the usual name for a given software package that LLVM depends on. Version is a list of "known to work" versions of the package. Usage describes how LLVM uses the package.

Package | Version | Usage
--- | --- | ---
autoconf* | 2.59 | Configuration script builder
bison | 1.35 | YACC compiler for various languages
cvs* | 1.11 | Obtaining latest CVS versions
deja-gnu | 1.4.2 | Automated test suite
flex | 2.5.4 | LEX compiler for various languages
expect | 5.38.0 | Automated test suite
perl | >5.6.0 | Nightly tester, utilities
GCC | 3.4.2 | C/C++ compiler
GNU Make | 3.79, 3.79.1 | Makefile/build processor
libtool* | 1.5.10 | Shared library manager
qmtest | 2.0.3 | Automated test suite
tcl | 8.3 | Automated test suite

Additionally, your compilation host is expected to have the usual plethora of Unix utilities. Specifically:

- ar - archive library builder
- bzip2* - bzip2 command for distribution generation
- bunzip2* - bunzip2 command for distribution checking
- chmod - change permissions on a file
- cat - output concatentation utility
- cp - copy files
- date - print the current date/time
- echo - print to standard output
- egrep - extended regular expression search utility
- etags - C/C++ tag file creator for vim/emacs
- find - find files/dirs in a file system
- grep - regular expression search utility
- gzip* - gzip command for distribution generation
- gunzip* - gunzip command for distribution checking
- install - install directories/files
- mkdir - create a directory
- mv - move (rename) files
- ranlib - symbol table builder for archive libraries
- sed - stream editor for transforming output
- sh - Bourne shell for make build scripts
- tar - tape archive for distribution generation
- test - test things in file system
- unzip* - unzip command for distribution checking
- zip* - zip command for distribution generation