-
Notifications
You must be signed in to change notification settings - Fork 56
/
INSTALL
82 lines (58 loc) · 2.48 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
Prerequisites
-------------
To build STACK from source code, you need to build Clang and LLVM
version 3.4. Using pre-built versions of Clang/LLVM is not recommended,
because Stack relies on specific Clang/LLVM build options to help reduce
false warnings.
Roughly, you should do the following:
wget http://llvm.org/releases/3.4/llvm-3.4.src.tar.gz \
http://llvm.org/releases/3.4/clang-3.4.src.tar.gz \
http://llvm.org/releases/3.4/clang-tools-extra-3.4.src.tar.gz \
http://llvm.org/releases/3.4/compiler-rt-3.4.src.tar.gz
tar zxf llvm-3.4.src.tar.gz
tar zxf clang-3.4.src.tar.gz -C llvm-3.4/tools
mv llvm-3.4/tools/clang{-3.4,}
tar zxf clang-tools-extra-3.4.src.tar.gz -C llvm-3.4/tools/clang/tools
mv llvm-3.4/tools/clang/tools/{clang-tools-extra-3.4,extra}
tar zxf compiler-rt-3.4.src.tar.gz -C llvm-3.4/projects
mv llvm-3.4/projects/compiler-rt{-3.4,}
mkdir build && cd build
../llvm-3.4/configure --enable-cxx11 --enable-targets=host \
--enable-bindings=none --enable-shared \
--enable-debug-symbols --enable-optimized
make
make install
You need a compiler that supports C++11, such as gcc 4.7 or later.
If you prefer to install Clang and LLVM in a directory other than
/usr/local, also pass --prefix=... to its configure, and add that
directory to your PATH.
This will install Clang and LLVM. To use them, prepend their bin
directory to PATH.
This roughly follows the build instructions from this page, except
using Clang/LLVM 3.4 rather than checking out the code from svn:
http://clang.llvm.org/get_started.html
STACK
-----
You need to choose an SMT solver for constraint solving. The default
one is Boolector, which is released under GPL. If you need a more
liberal license, see "Use other solvers".
Build STACK in its source root directory.
If building from git, first do:
$ autoreconf -fvi
Then configure and make.
$ mkdir build
$ cd build
$ ../configure
$ make
Finally, add `<STACK_ROOT>/build/bin` to PATH.
Use other solvers
-----------------
By default, STACK links to the Boolector solver v1.5.116 [1], which
is released under GPLv3. If you want to use the MIT license, choose
other solvers.
One option is the STP solver [2], which uses the MIT license.
Download and build STP, and you should get the executable `stp`.
Then, add the following parameter to STACK's configure:
--with-smtlib="path/to/stp --SMTLIB2"
[1] Boolector. http://fmv.jku.at/boolector/
[2] STP. https://sites.google.com/site/stpfastprover/