blob: 5d5b669e444595c1e5f664c4aaf86813e12e45d8 (
plain) (
blame)
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
|
#!/bin/bash -x
set -e
: ${METASMT_VERSION?"METASMT_VERSION not specified"}
# Get Z3, libgmp, gperf (required by yices2)
sudo apt-get -y install libz3 libz3-dev libgmp-dev gperf
# Get Boost
if [ "X${METASMT_BOOST_VERSION}" != "X" ]; then
# Taken from boost/hana/.travis.yml
BOOST_URL="http://sourceforge.net/projects/boost/files/boost/${METASMT_BOOST_VERSION}/boost_${METASMT_BOOST_VERSION//\./_}.tar.gz"
BOOST_DIR=`pwd`/boost-${METASMT_BOOST_VERSION}
mkdir -p ${BOOST_DIR}
wget --quiet -O - ${BOOST_URL} | tar --strip-components=1 -xz -C ${BOOST_DIR}
sudo ln -s ${BOOST_DIR}/boost /usr/include/boost
else
sudo apt-get -y install libboost1.55-dev
fi
# Get CVC4
wget http://www.informatik.uni-bremen.de/agra/systemc-verification/media/snapshots/cvc4-594301e.tar.gz
tar -xf cvc4-594301e.tar.gz
sudo mv cvc4 /usr
# Clone
git clone -b ${METASMT_VERSION} --single-branch --depth 1 https://github.com/hoangmle/metaSMT.git
cd metaSMT
git submodule update --init
source ${KLEE_SRC}/.travis/sanitizer_flags.sh
if [ "X${IS_SANITIZED_BUILD}" != "X0" ]; then
echo "Error: Requested Sanitized build but sanitized build of metaSMT is not implemented"
exit 1
fi
# Bootstrap
export BOOST_ROOT=/usr
sudo cp dependencies/Z3-2.19/Z3Config.cmake /usr # this is a hack
./bootstrap.sh -d deps -m RELEASE build -DmetaSMT_ENABLE_TESTS=off --build stp-git-basic --build boolector-2.2.0 --build minisat-git --build lingeling-ayv-86bf266-140429 --build yices-2.5.1 -DZ3_DIR=/usr -DCVC4_DIR=/usr/cvc4
sudo cp deps/boolector-2.2.0/lib/* /usr/lib/ #
sudo cp deps/lingeling-ayv-86bf266-140429/lib/* /usr/lib/ #
sudo cp deps/minisat-git/lib/* /usr/lib/ # hack
sudo cp -r deps/stp-git-basic/lib/lib* /usr/lib/ #
sudo cp deps/yices-2.5.1/lib/* /usr/lib/ #
# Build
make -C build install
|