-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.sh
executable file
·31 lines (24 loc) · 1.19 KB
/
build.sh
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
#!/bin/bash
set -euo pipefail
KLEE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
[ -d "$KLEE_DIR/build" ] || mkdir "$KLEE_DIR/build"
cd "$KLEE_DIR/build"
[ -f "Makefile" ] || CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" \
CMAKE_PREFIX_PATH="$KLEE_DIR/../z3/build" \
CMAKE_INCLUDE_PATH="$KLEE_DIR/../z3/build/include/" \
cmake \
-DENABLE_UNIT_TESTS=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DENABLE_KLEE_ASSERTS=OFF \
-DLLVM_CONFIG_BINARY="$KLEE_DIR/../llvm/Release/bin/llvm-config" \
-DLLVMCC="$KLEE_DIR/../llvm/Release/bin/clang" \
-DLLVMCXX="$KLEE_DIR/../llvm/Release/bin/clang++" \
-DENABLE_SOLVER_Z3=ON \
-DENABLE_KLEE_UCLIBC=ON \
-DKLEE_UCLIBC_PATH="$KLEE_DIR/../klee-uclibc" \
-DENABLE_POSIX_RUNTIME=ON \
-DCMAKE_BUILD_TYPE=Debug \
-DENABLE_KLEE_ASSERTS=ON \
-DENABLE_DOXYGEN=ON \
..
make -kj $(nproc)