diff options
author | Martin Nowack <m.nowack@imperial.ac.uk> | 2022-03-28 13:34:50 +0100 |
---|---|---|
committer | Cristian Cadar <c.cadar@imperial.ac.uk> | 2022-03-30 12:18:59 +0100 |
commit | 31f92c57dd2627d4f8c7a5a1e280397456af6a72 (patch) | |
tree | 4ce3349f11c1536d10e5c0b0e588a0b3153d0eed | |
parent | 0d747ccf52025ac0d0d9067fbda33fb61a8d9843 (diff) | |
download | klee-31f92c57dd2627d4f8c7a5a1e280397456af6a72.tar.gz |
Refactor cmake installation into own component
-rw-r--r-- | scripts/build/p-cmake-linux-ubuntu.inc | 51 | ||||
-rw-r--r-- | scripts/build/p-cmake-osx.inc | 15 | ||||
-rw-r--r-- | scripts/build/p-klee-linux-ubuntu.inc | 25 | ||||
-rw-r--r-- | scripts/build/p-libcxx-linux-ubuntu.inc | 23 | ||||
-rw-r--r-- | scripts/build/p-llvm-linux-ubuntu.inc | 23 | ||||
-rw-r--r-- | scripts/build/v-clang.inc | 2 | ||||
-rw-r--r-- | scripts/build/v-cmake.inc | 7 | ||||
-rw-r--r-- | scripts/build/v-klee.inc | 2 | ||||
-rw-r--r-- | scripts/build/v-libcxx.inc | 1 | ||||
-rw-r--r-- | scripts/build/v-llvm.inc | 5 |
10 files changed, 80 insertions, 74 deletions
diff --git a/scripts/build/p-cmake-linux-ubuntu.inc b/scripts/build/p-cmake-linux-ubuntu.inc new file mode 100644 index 00000000..50a9d168 --- /dev/null +++ b/scripts/build/p-cmake-linux-ubuntu.inc @@ -0,0 +1,51 @@ +install_binary_artifact_cmake() { + source "${DIR}/common-functions" + + # Check if the Ubuntu version is an LTS version - otherwise no cmake version available + if grep -q LTS /etc/os-release; then + if ! grep -qr "apt.kitware.com" /etc/apt; then + with_sudo apt update -y + # Add Kitware's certificate for CMake + dependencies=( + apt-transport-https + ca-certificates + gnupg + lsb-release + software-properties-common + wget + ) + + with_sudo apt -y --no-install-recommends install "${dependencies[@]}" + wget -O - "https://apt.kitware.com/keys/kitware-archive-latest.asc" 2> /dev/null \ + | gpg --dearmor - | with_sudo tee /etc/apt/trusted.gpg.d/kitware.gpg > /dev/null + + # Add CMake repository + codename="$(lsb_release --codename --short)" + with_sudo apt-add-repository -y "deb https://apt.kitware.com/ubuntu/ ${codename} main" + fi + fi + + with_sudo apt update -y + + dependencies=( + cmake + ) + with_sudo apt -y --no-install-recommends install "${dependencies[@]}" +} + +get_build_artifacts_cmake() { + return 0 +} + +# Check if the binary artifact is installed +is_installed_cmake() { + if which cmake ; then + return 0 + fi + + return 1 +} + +setup_artifact_variables_cmake() { + return 0 +} \ No newline at end of file diff --git a/scripts/build/p-cmake-osx.inc b/scripts/build/p-cmake-osx.inc new file mode 100644 index 00000000..52a92004 --- /dev/null +++ b/scripts/build/p-cmake-osx.inc @@ -0,0 +1,15 @@ +# Package script for LLVM builds OSX +install_binary_artifact_cmake () { + # Use the brew provided package + LLVM_VERSION_MAJOR="${LLVM_VERSION/.*/}" + brew install "cmake" +} + +# Check if the binary artifact is installed +is_installed_cmake() { + if which cmake ; then + return 0 + fi + + return 1 +} \ No newline at end of file diff --git a/scripts/build/p-klee-linux-ubuntu.inc b/scripts/build/p-klee-linux-ubuntu.inc index 5e7f8135..c2a0808c 100644 --- a/scripts/build/p-klee-linux-ubuntu.inc +++ b/scripts/build/p-klee-linux-ubuntu.inc @@ -1,35 +1,10 @@ install_build_dependencies_klee() { source "${DIR}/common-functions" - # Check if the Ubuntu version is an LTS version - otherwise no cmake version available - if [[ $(grep -q LTS /etc/os-release) ]]; then - with_sudo apt update -y - # Add Kitware's certificate for CMake - dependencies=( - apt-transport-https - ca-certificates - gnupg - lsb-release - software-properties-common - wget - ) - - with_sudo apt -y --no-install-recommends install "${dependencies[@]}" - wget -O - "https://apt.kitware.com/keys/kitware-archive-latest.asc" 2> /dev/null \ - | gpg --dearmor - | with_sudo tee /etc/apt/trusted.gpg.d/kitware.gpg > /dev/null - - # Add CMake repository - codename="$(lsb_release --codename --short)" - with_sudo apt-add-repository -y "deb https://apt.kitware.com/ubuntu/ ${codename} main" - fi - - with_sudo apt update -y - # Install KLEE's dependencies dependencies=( build-essential gcc-multilib # to generate 32bit - cmake zlib1g-dev python3 python3-setuptools diff --git a/scripts/build/p-libcxx-linux-ubuntu.inc b/scripts/build/p-libcxx-linux-ubuntu.inc index 36333f19..623ec1f2 100644 --- a/scripts/build/p-libcxx-linux-ubuntu.inc +++ b/scripts/build/p-libcxx-linux-ubuntu.inc @@ -1,28 +1,6 @@ install_build_dependencies_libcxx() { source "${DIR}/common-functions" - # Check if the Ubuntu version is an LTS version - otherwise no cmake version available - if [[ $(grep -q LTS /etc/os-release) ]]; then - with_sudo apt update -y - # Add Kitware's certificate for CMake - dependencies=( - apt-transport-https - ca-certificates - gnupg - lsb-release - software-properties-common - wget - ) - - with_sudo apt -y --no-install-recommends install "${dependencies[@]}" - wget -O - "https://apt.kitware.com/keys/kitware-archive-latest.asc" 2> /dev/null \ - | gpg --dearmor - | with_sudo tee /etc/apt/trusted.gpg.d/kitware.gpg > /dev/null - - # Add CMake repository - codename="$(lsb_release --codename --short)" - with_sudo apt-add-repository -y "deb https://apt.kitware.com/ubuntu/ ${codename} main" - fi - with_sudo apt-get update -y dependencies=( build-essential @@ -30,7 +8,6 @@ install_build_dependencies_libcxx() { git python3 python3-pip - cmake curl file # Needed for wllvm ) diff --git a/scripts/build/p-llvm-linux-ubuntu.inc b/scripts/build/p-llvm-linux-ubuntu.inc index f066592b..421fe8cd 100644 --- a/scripts/build/p-llvm-linux-ubuntu.inc +++ b/scripts/build/p-llvm-linux-ubuntu.inc @@ -2,28 +2,6 @@ install_build_dependencies_llvm() { source "${DIR}/common-functions" - # Check if the Ubuntu version is an LTS version - otherwise no cmake version available - if grep -q LTS /etc/os-release; then - with_sudo apt update -y - # Add Kitware's certificate for CMake - dependencies=( - apt-transport-https - ca-certificates - gnupg - lsb-release - software-properties-common - wget - ) - - with_sudo apt -y --no-install-recommends install "${dependencies[@]}" - wget -O - "https://apt.kitware.com/keys/kitware-archive-latest.asc" 2> /dev/null \ - | gpg --dearmor - | with_sudo tee /etc/apt/trusted.gpg.d/kitware.gpg > /dev/null - - # Add CMake repository - codename="$(lsb_release --codename --short)" - with_sudo apt-add-repository -y "deb https://apt.kitware.com/ubuntu/ ${codename} main" - fi - with_sudo apt update -y dependencies=( @@ -39,7 +17,6 @@ install_build_dependencies_llvm() { make git # To check out code zlib1g-dev - cmake git ) diff --git a/scripts/build/v-clang.inc b/scripts/build/v-clang.inc index c6a2cf58..7d919a4d 100644 --- a/scripts/build/v-clang.inc +++ b/scripts/build/v-clang.inc @@ -2,7 +2,7 @@ required_variables_clang=( "LLVM_VERSION" ) -artifact_dependency_clang=("") +artifact_dependency_clang=("cmake") setup_variables_clang() { local v_a diff --git a/scripts/build/v-cmake.inc b/scripts/build/v-cmake.inc new file mode 100644 index 00000000..a69c90b9 --- /dev/null +++ b/scripts/build/v-cmake.inc @@ -0,0 +1,7 @@ +artifact_dependency_cmake=("") + +required_variables_cmake=("") + +get_docker_config_id_cmake() { + return 0 +} \ No newline at end of file diff --git a/scripts/build/v-klee.inc b/scripts/build/v-klee.inc index 60b4a498..78c4e1d1 100644 --- a/scripts/build/v-klee.inc +++ b/scripts/build/v-klee.inc @@ -16,7 +16,7 @@ required_variables_check_klee() { # On which artifacts does KLEE depend on artifact_dependency_klee(){ - local dependencies=("llvm" "solvers" "gtest" "sqlite") + local dependencies=("llvm" "solvers" "gtest" "sqlite" "cmake") if [[ "${OS}" != "osx" ]]; then dependencies+=(uclibc) fi diff --git a/scripts/build/v-libcxx.inc b/scripts/build/v-libcxx.inc index 147b4db4..4a60d69e 100644 --- a/scripts/build/v-libcxx.inc +++ b/scripts/build/v-libcxx.inc @@ -8,4 +8,5 @@ required_variables_check_libcxx() { artifact_dependency_libcxx(){ echo "clang" + echo "cmake" } diff --git a/scripts/build/v-llvm.inc b/scripts/build/v-llvm.inc index 7c3ade0a..795146f3 100644 --- a/scripts/build/v-llvm.inc +++ b/scripts/build/v-llvm.inc @@ -19,7 +19,10 @@ export_variables_llvm=( "BITCODE_CXX" ) -artifact_dependency_llvm=("sanitizer") +artifact_dependency_llvm=( +"sanitizer" +"cmake" +) setup_variables_llvm() { local v_a |