about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorMartin Nowack <martin@se.inf.tu-dresden.de>2017-07-22 22:28:52 +0200
committerMartin Nowack <martin@se.inf.tu-dresden.de>2017-07-23 12:18:35 +0200
commita0a94cfa1a6b8309bd65ca50761fe21bc214f7a7 (patch)
treed67e3e25610fdd56799bf9e94cd0ba59ad3e0870
parentafae176824d8fd1733e5e302a62e6bd09a86aff2 (diff)
downloadklee-a0a94cfa1a6b8309bd65ca50761fe21bc214f7a7.tar.gz
Cleanup Travis builder
-rw-r--r--.travis.yml7
-rwxr-xr-x.travis/install-llvm-and-runtime-compiler.sh28
-rwxr-xr-x.travis/klee.sh30
-rwxr-xr-x.travis/testing-utils.sh56
4 files changed, 27 insertions, 94 deletions
diff --git a/.travis.yml b/.travis.yml
index 09147e38..f6034540 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -20,7 +20,7 @@ env:
     ###########################################################################
 
     # Check a subset of the matrix of:
-    #   LLVM  : {2.9, 3.4, 3.5, 3.6}
+    #   LLVM  : {3.4, 3.5, 3.6}
     #   SOLVERS : {Z3, STP, STP:Z3, metaSMT}
     #   STP_VERSION   : {2.1.2, master}
     #   METASMT_VERSION : {v4.rc1}
@@ -46,7 +46,6 @@ env:
 
     - LLVM_VERSION=3.4 SOLVERS=STP:Z3 STP_VERSION=2.1.2 KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0 USE_TCMALLOC=1 USE_CMAKE=1
     - LLVM_VERSION=3.4 SOLVERS=metaSMT METASMT_VERSION=v4.rc1 METASMT_DEFAULT=STP KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0 USE_TCMALLOC=1 USE_CMAKE=1
-    - LLVM_VERSION=2.9 SOLVERS=STP:Z3 STP_VERSION=2.1.2 KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0 USE_TCMALLOC=1 USE_CMAKE=1
 
     # ASan build. Do unoptimized build otherwise the optimizer might remove problematic code
     - LLVM_VERSION=3.4 SOLVERS=STP STP_VERSION=2.1.2 KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=0 COVERAGE=0 USE_CMAKE=1 USE_TCMALLOC=0 ASAN_BUILD=1
@@ -59,18 +58,15 @@ env:
 
     # Test we can still build with Z3 in the old build sytem
     - LLVM_VERSION=3.4 SOLVERS=Z3 KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0
-    - LLVM_VERSION=2.9 SOLVERS=Z3 KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0
 
     # Test we can build against STP master
     - LLVM_VERSION=3.4 SOLVERS=STP STP_VERSION=master KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0
 
     # Check we can build latest klee-uclibc branch
     - LLVM_VERSION=3.4 SOLVERS=STP STP_VERSION=2.1.2 KLEE_UCLIBC=klee_0_9_29 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0
-    - LLVM_VERSION=2.9 SOLVERS=STP STP_VERSION=2.1.2 KLEE_UCLIBC=klee_0_9_29 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0
 
     # Test metaSMT support
     - LLVM_VERSION=3.4 SOLVERS=metaSMT METASMT_VERSION=v4.rc1 METASMT_DEFAULT=btor KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0
-    - LLVM_VERSION=2.9 SOLVERS=metaSMT METASMT_VERSION=v4.rc1 METASMT_DEFAULT=btor KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0 METASMT_BOOST_VERSION=1.60.0
 
     # Check at least one build with Asserts disabled.
     - LLVM_VERSION=3.4 SOLVERS=STP STP_VERSION=2.1.2 KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=1 ENABLE_OPTIMIZED=1 COVERAGE=0
@@ -80,7 +76,6 @@ env:
 
     # Check with TCMALLOC
     - LLVM_VERSION=3.4 SOLVERS=STP STP_VERSION=2.1.2 KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0 USE_TCMALLOC=1
-    - LLVM_VERSION=2.9 SOLVERS=STP STP_VERSION=2.1.2 KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0 USE_TCMALLOC=1
     global:
     - secure: EF/WAc4BdIRUchF3mjATN3/UwtGWtGaRgb5oIIJHjKhgZFdPsgWsXFgaOB0jaK2hfO/svj/LvlasuRIGxeePVjeaiX8ZlVpuHiX67vdYLY+0kCDRwkusRjm60/GbPU9O/Xjgb/d4aWAEkoq5OnsprVTEvU8iY2JHtAqgwR+wW9I=
     - secure: Hrp1MRSxDUH2GTQg3QR/yUttY/3KmgbFb5e+zyy551dKpHjxJdsNe8bquY9oFoT7KmPQYl0HNNjEv4qWW8RK+HWHOCB55nL1KlGpOG7vAJcUEZg7ScbliGgiovMB6jIQVfeP9FhYngfc13vNZQ5PGlqzfSsHSAbvkwEogBToHVw=
diff --git a/.travis/install-llvm-and-runtime-compiler.sh b/.travis/install-llvm-and-runtime-compiler.sh
index 8e8e9863..6c9bc009 100755
--- a/.travis/install-llvm-and-runtime-compiler.sh
+++ b/.travis/install-llvm-and-runtime-compiler.sh
@@ -4,31 +4,9 @@ set -ev
 if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
   sudo apt-get install -y llvm-${LLVM_VERSION} llvm-${LLVM_VERSION}-dev
 
-  if [ "${LLVM_VERSION}" != "2.9" ]; then
-    sudo apt-get install -y llvm-${LLVM_VERSION}-tools clang-${LLVM_VERSION}
-    sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${LLVM_VERSION} 20
-    sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${LLVM_VERSION} 20
-  else
-    # Get llvm-gcc. We don't bother installing it
-    wget http://llvm.org/releases/2.9/llvm-gcc4.2-2.9-x86_64-linux.tar.bz2
-    tar -xjf llvm-gcc4.2-2.9-x86_64-linux.tar.bz2
-    mv llvm-gcc4.2-2.9-x86_64-linux llvm-gcc
-
-    # Hack to make llvm-gcc capable of building a native executable
-    OLD_DIR=$(pwd)
-    cd llvm-gcc/lib/gcc/x86_64-unknown-linux-gnu/4.2.1
-    ln -s /usr/lib/x86_64-linux-gnu/crt1.o
-    ln -s /usr/lib/x86_64-linux-gnu/crti.o
-    ln -s /usr/lib/x86_64-linux-gnu/crtn.o
-    cd "$OLD_DIR"
-
-    # Check it can compile hello world
-    echo -e "#include <stdio.h> \n int main(int argc, char** argv) { printf(\"Hello World\"); return 0;}" > test.c
-    export C_INCLUDE_PATH=/usr/include/x86_64-linux-gnu
-    export CPLUS_INCLUDE_PATH=/usr/include/x86_64-linux-gnu
-    llvm-gcc/bin/llvm-gcc test.c -o hello_world
-    ./hello_world
-  fi
+  sudo apt-get install -y llvm-${LLVM_VERSION}-tools clang-${LLVM_VERSION}
+  sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${LLVM_VERSION} 20
+  sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${LLVM_VERSION} 20
 elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
   # NOTE: We should not easily generalize, since we need the corresponding support of bottled formulas
   if [ "${LLVM_VERSION}" == "3.4" ]; then
diff --git a/.travis/klee.sh b/.travis/klee.sh
index 5ee631fa..19b9e47f 100755
--- a/.travis/klee.sh
+++ b/.travis/klee.sh
@@ -9,29 +9,15 @@ SVN_BRANCH="release_$( echo ${LLVM_VERSION} | sed 's/\.//g')"
 ###############################################################################
 # Select the compiler to use to generate LLVM bitcode
 ###############################################################################
-if [ "${LLVM_VERSION}" != "2.9" ]; then
-  if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
-    KLEE_CC=/usr/bin/clang-${LLVM_VERSION}
-    KLEE_CXX=/usr/bin/clang++-${LLVM_VERSION}
-  elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
-    KLEE_CC=/usr/local/bin/clang-${LLVM_VERSION}
-    KLEE_CXX=/usr/local/bin/clang++-${LLVM_VERSION}
-  else
-    echo "Unhandled TRAVIS_OS_NAME \"${TRAVIS_OS_NAME}\""
-    exit 1
-  fi
+if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
+  KLEE_CC=/usr/bin/clang-${LLVM_VERSION}
+  KLEE_CXX=/usr/bin/clang++-${LLVM_VERSION}
+elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
+  KLEE_CC=/usr/local/bin/clang-${LLVM_VERSION}
+  KLEE_CXX=/usr/local/bin/clang++-${LLVM_VERSION}
 else
-    # Just use pre-built llvm-gcc downloaded earlier
-    KLEE_CC=${BUILD_DIR}/llvm-gcc/bin/llvm-gcc
-    KLEE_CXX=${BUILD_DIR}/llvm-gcc/bin/llvm-g++
-    export C_INCLUDE_PATH=/usr/include/x86_64-linux-gnu
-    export CPLUS_INCLUDE_PATH=/usr/include/x86_64-linux-gnu
-
-    # Add symlinks to fix llvm-2.9-dev package so KLEE can configure properly
-    # Because of the way KLEE's configure script works this must be a relative
-    # symlink, **not** absolute!
-    sudo sh -c 'cd /usr/lib/llvm-2.9/build/ && ln -s ../ Release'
-    sudo sh -c 'cd /usr/lib/llvm-2.9/build/ && ln -s ../include include'
+  echo "Unhandled TRAVIS_OS_NAME \"${TRAVIS_OS_NAME}\""
+  exit 1
 fi
 
 ###############################################################################
diff --git a/.travis/testing-utils.sh b/.travis/testing-utils.sh
index 153a5546..7502b4fc 100755
--- a/.travis/testing-utils.sh
+++ b/.travis/testing-utils.sh
@@ -10,46 +10,20 @@ if [ "X${USE_CMAKE}" == "X1" ]; then
     exit 0
 fi
 
-if [ "${LLVM_VERSION}" != "2.9" ]; then
-    # Using LLVM3.4 all we need is vanilla GoogleTest :)
-    wget https://github.com/google/googletest/archive/release-1.7.0.zip
-    unzip release-1.7.0.zip
-    cd googletest-release-1.7.0/
-    cmake .
-    make
-    # Normally I wouldn't do something like this but hey we're running on a temporary virtual machine, so who cares?
-    if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
-      sudo cp lib* /usr/lib/
-      sudo cp -r include/gtest /usr/include
-    elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
-      sudo cp lib* /usr/local/lib/
-      sudo cp -r include/gtest /usr/local/include
-    else
-      echo "Unhandled TRAVIS_OS_NAME \"${TRAVIS_OS_NAME}\""
-      exit 1
-    fi
+# Using LLVM3.4 all we need is vanilla GoogleTest :)
+wget https://github.com/google/googletest/archive/release-1.7.0.zip
+unzip release-1.7.0.zip
+cd googletest-release-1.7.0/
+cmake .
+make
+# Normally I wouldn't do something like this but hey we're running on a temporary virtual machine, so who cares?
+if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
+   sudo cp lib* /usr/lib/
+   sudo cp -r include/gtest /usr/include
+elif [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
+   sudo cp lib* /usr/local/lib/
+   sudo cp -r include/gtest /usr/local/include
 else
-    # LLVM2.9 on the other hand is a pain
-
-    # We need the version of GoogleTest used in LLVM2.9
-    # This is a hack
-    old_dir=`pwd`
-    cd "${KLEE_SRC}"
-    cd tools/
-    svn export http://llvm.org/svn/llvm-project/llvm/branches/release_29/utils/unittest unittest
-
-    # Now put the header files in the search path so building will succeed
-    sudo cp -r unittest/googletest/include/gtest /usr/include/
-
-    # We need the FileCheck and not utilites as well because they aren't in the llvm-2.9-dev package
-    for tool in FileCheck not; do
-        svn export http://llvm.org/svn/llvm-project/llvm/branches/release_29/utils/${tool} ${tool}
-        # Patch the Makefile so it will work in KLEE's build system
-        sed -i 's/^USEDLIBS.*$/LINK_COMPONENTS = support/' ${tool}/Makefile
-    done
-
-    # Now hack the make file to build the unittest library and the FileCheck and not tools
-    sed -i '0,/^PARALLEL_DIRS/a PARALLEL_DIRS += unittest FileCheck not' Makefile
-
-    cd "${old_dir}"
+   echo "Unhandled TRAVIS_OS_NAME \"${TRAVIS_OS_NAME}\""
+   exit 1
 fi