diff options
author | Martin Nowack <m.nowack@imperial.ac.uk> | 2019-03-13 13:31:06 +0000 |
---|---|---|
committer | Cristian Cadar <c.cadar@imperial.ac.uk> | 2019-03-17 15:43:21 +0000 |
commit | ae1539e421cc225e77cf23d7662644321e78a8ed (patch) | |
tree | 707dfdb4438ffa1f3c87fa3225da6ea113d52ef5 | |
parent | dccfb3d1b62f0c00e3e16547f3d9ec02de49be52 (diff) | |
download | klee-ae1539e421cc225e77cf23d7662644321e78a8ed.tar.gz |
Add libc++ as build dependency to KLEE
-rw-r--r-- | scripts/build/p-klee.inc | 16 | ||||
-rwxr-xr-x | scripts/build/run-tests.sh | 5 | ||||
-rw-r--r-- | scripts/build/v-klee.inc | 12 |
3 files changed, 26 insertions, 7 deletions
diff --git a/scripts/build/p-klee.inc b/scripts/build/p-klee.inc index a9982fc0..5872ba4a 100644 --- a/scripts/build/p-klee.inc +++ b/scripts/build/p-klee.inc @@ -30,7 +30,6 @@ build_klee() { ############################################################################### # klee-uclibc ############################################################################### - local KLEE_UCLIBC_CONFIGURE_OPTION if [ "${UCLIBC_VERSION}" != "0" ]; then CMAKE_ARGUMENTS+=( @@ -45,6 +44,21 @@ build_klee() { ) fi +############################################################################### +# libc++ +############################################################################### + +if [ "${USE_LIBCXX}" -eq 1 ]; then + CMAKE_ARGUMENTS+=( + "-DENABLE_KLEE_LIBCXX=TRUE" + "-DKLEE_LIBCXX_DIR=${LIBCXX_INSTALL}" + "-DKLEE_LIBCXX_INCLUDE_DIR=${LIBCXX_INSTALL}/include/c++/v1" + ) +else + CMAKE_ARGUMENTS+=( + "-DENABLE_KLEE_LIBCXX=FALSE" + ) +fi ############################################################################### diff --git a/scripts/build/run-tests.sh b/scripts/build/run-tests.sh index f39dcad8..387ef8f3 100755 --- a/scripts/build/run-tests.sh +++ b/scripts/build/run-tests.sh @@ -57,6 +57,11 @@ run_tests() { if [ "${COVERAGE}" -eq 1 ]; then coverage_setup "${build_dir}" fi + + if [[ -n "${SANITIZER_BUILD+x}" ]]; then + for num in {1..10}; do sleep 120; echo 'Keep Travis alive'; done & + fi + make systemtests || return 1 # If metaSMT is the only solver, then rerun lit tests with non-default metaSMT backends diff --git a/scripts/build/v-klee.inc b/scripts/build/v-klee.inc index d90892f4..7ed69001 100644 --- a/scripts/build/v-klee.inc +++ b/scripts/build/v-klee.inc @@ -2,11 +2,13 @@ required_variables_klee=( "COVERAGE" "USE_TCMALLOC" + "USE_LIBCXX" ) required_variables_check_klee() { check_bool "COVERAGE" check_bool "USE_TCMALLOC" + check_bool "USE_LIBCXX" } # On which artifacts does KLEE depend on @@ -16,9 +18,8 @@ artifact_dependency_klee(){ dependencies+=(uclibc) fi - if [[ "${USE_TCMALLOC}" -eq 1 ]]; then - dependencies+=("tcmalloc") - fi + [[ "${USE_TCMALLOC}" -eq 1 ]] && dependencies+=("tcmalloc") + [[ "${USE_LIBCXX}" -eq 1 ]] && dependencies+=("libcxx") for d in "${dependencies[@]}"; do echo "${d}" @@ -32,9 +33,8 @@ runtime_artifact_dependency_klee(){ fi dependencies+=("llvm" "solvers" "gtest") - if [[ "${USE_TCMALLOC}" -eq 1 ]]; then - dependencies+=("tcmalloc") - fi + [[ "${USE_TCMALLOC}" -eq 1 ]] && dependencies+=("tcmalloc") + [[ "${USE_LIBCXX}" -eq 1 ]] && dependencies+=("libcxx") for d in "${dependencies[@]}"; do echo "${d}" |