diff options
author | Martin Nowack <m.nowack@imperial.ac.uk> | 2019-02-28 11:56:19 +0000 |
---|---|---|
committer | Cristian Cadar <c.cadar@imperial.ac.uk> | 2019-03-10 20:10:32 +0000 |
commit | cf930214e12b49e89be4674043d9f461d667baae (patch) | |
tree | 90de5ea1c643d0d7ad2c5cf55e862d309e605d48 /scripts/build/p-metasmt.inc | |
parent | b4d8fe0301b82e8abff0336bf6d1347dff11a853 (diff) | |
download | klee-cf930214e12b49e89be4674043d9f461d667baae.tar.gz |
Updated dependency build system for KLEE
Provide a single `scripts/build/build.sh` file to build KLEE and its dependencies.
Diffstat (limited to 'scripts/build/p-metasmt.inc')
-rw-r--r-- | scripts/build/p-metasmt.inc | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/scripts/build/p-metasmt.inc b/scripts/build/p-metasmt.inc new file mode 100644 index 00000000..a0b973a4 --- /dev/null +++ b/scripts/build/p-metasmt.inc @@ -0,0 +1,64 @@ +setup_build_variables_metasmt() { + METASMT_SRC_PATH="${BASE}/metaSMT-${METASMT_VERSION}" + METASMT_BUILD_PATH="${BASE}/metaSMT-${METASMT_VERSION}-build" + METASMT_INSTALL_PATH="${BASE}/metaSMT-${METASMT_VERSION}-install" + METASMT_DEPS_PATH="${BASE}/metaSMT-${METASMT_VERSION}-deps" +} + +download_metasmt() { + # Clone + git clone --single-branch --depth 1 https://github.com/hoangmle/metaSMT.git "${METASMT_SRC_PATH}" + cd "${METASMT_SRC_PATH}" + git submodule update --init + # Bootstrap + git clone https://github.com/agra-uni-bremen/dependencies.git +} + +build_metasmt() { + cd "${METASMT_SRC_PATH}" + ./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 --build Z3-4.4.1 \ + --build cvc4-1.5 \ + --deps "${METASMT_DEPS_PATH}/" \ + --install "${METASMT_INSTALL_PATH}/" \ + -j "$(nproc)" \ + "${METASMT_BUILD_PATH}" + + # Build + cd "${METASMT_BUILD_PATH}" + make +} + +install_metasmt() { + cd "${METASMT_BUILD_PATH}" + make install + touch "${METASMT_INSTALL_PATH}"/.is_installed +} + +get_docker_config_id_metasmt() { + echo "${METASMT_VERSION}" +} + +# Check if the binary artifact is installed +is_installed_metasmt() { + ( + setup_build_variables_metasmt + [[ -f "${METASMT_INSTALL_PATH}"/.is_installed ]] + ) +} + +get_docker_config_id_metasmt() { + ( + echo "${METASMT_VERSION}" + ) +} + +get_build_artifacts_metasmt() { + ( + setup_build_variables_metasmt + echo "${METASMT_INSTALL_PATH}/" + echo "${METASMT_BUILD_PATH}/" + echo "${METASMT_DEPS_PATH}/" + ) +} \ No newline at end of file |