about summary refs log tree commit diff homepage
path: root/.travis/metaSMT.sh
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