aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts
diff options
context:
space:
mode:
authorMartin Nowack <m.nowack@imperial.ac.uk>2019-03-13 13:31:06 +0000
committerCristian Cadar <c.cadar@imperial.ac.uk>2019-03-17 15:43:21 +0000
commitae1539e421cc225e77cf23d7662644321e78a8ed (patch)
tree707dfdb4438ffa1f3c87fa3225da6ea113d52ef5 /scripts
parentdccfb3d1b62f0c00e3e16547f3d9ec02de49be52 (diff)
downloadklee-ae1539e421cc225e77cf23d7662644321e78a8ed.tar.gz
Add libc++ as build dependency to KLEE
Diffstat (limited to 'scripts')
-rw-r--r--scripts/build/p-klee.inc16
-rwxr-xr-xscripts/build/run-tests.sh5
-rw-r--r--scripts/build/v-klee.inc12
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}"