Skip to content

Commit

Permalink
Add scripts for setup in AL2
Browse files Browse the repository at this point in the history
  • Loading branch information
adpaco-aws committed Oct 20, 2023
1 parent de89e12 commit f02fe0e
Show file tree
Hide file tree
Showing 4 changed files with 106 additions and 0 deletions.
32 changes: 32 additions & 0 deletions scripts/setup/al2/install_cbmc.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash
# Copyright Kani Contributors
# SPDX-License-Identifier: Apache-2.0 OR MIT

set -eu

# Source kani-dependencies to get CBMC_VERSION
source kani-dependencies

if [ -z "${CBMC_VERSION:-}" ]; then
echo "$0: Error: CBMC_VERSION is not specified"
exit 1
fi

# Binaries are not released for AL2, so build from source
WORK_DIR=$(mktemp -d)
git clone \
--branch develop --depth 1 \
https://github.com/diffblue/cbmc \
"${WORK_DIR}"

pushd "${WORK_DIR}"

mkdir build
git submodule update --init

cmake -S . -Bbuild -DWITH_JBMC=OFF -Dsat_impl="minisat2;cadical"
make -C build -j$(nproc)
sudo make -C build install

popd
rm -rf "${WORK_DIR}"
31 changes: 31 additions & 0 deletions scripts/setup/al2/install_deps.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/bin/bash
# Copyright Kani Contributors
# SPDX-License-Identifier: Apache-2.0 OR MIT

set -eu

# Dependencies.
DEPS=(
git
openssl-devel
python3-pip
wget
)

set -x

sudo yum -y update
sudo yum -y groupinstall "Development Tools"
sudo yum -y install "${DEPS[@]}"

# Add Python package dependencies
python3 -m pip install autopep8

# Get the directory containing this script
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"

${SCRIPT_DIR}/reinstall_cmake.sh
${SCRIPT_DIR}/install_cbmc.sh
${SCRIPT_DIR}/install_viewer.sh
# The Kissat installation script is platform-independent, so is placed one level up
${SCRIPT_DIR}/../install_kissat.sh
19 changes: 19 additions & 0 deletions scripts/setup/al2/install_viewer.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash
# Copyright Kani Contributors
# SPDX-License-Identifier: Apache-2.0 OR MIT

set -eu

# Install cbmc-viewer

# Source kani-dependencies to get CBMC_VIEWER_VERSION
source kani-dependencies

if [ -z "${CBMC_VIEWER_VERSION:-}" ]; then
echo "$0: Error: CBMC_VIEWER_VERSION is not specified"
exit 1
fi

set -x

python3 -m pip install cbmc-viewer==$CBMC_VIEWER_VERSION
24 changes: 24 additions & 0 deletions scripts/setup/al2/reinstall_cmake.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash
# Copyright Kani Contributors
# SPDX-License-Identifier: Apache-2.0 OR MIT

set -eux

CMAKE_VERSION="3.27.7"

# Remove other versions of CMake
sudo yum -y remove cmake

sudo rm -rf /tmp/cmake_installation
mkdir /tmp/cmake_installation
pushd /tmp/cmake_installation

wget https://github.com/Kitware/CMake/releases/download/v"${CMAKE_VERSION}"/cmake-"${CMAKE_VERSION}".tar.gz
tar -xzvf cmake-"${CMAKE_VERSION}".tar.gz
cd cmake-"${CMAKE_VERSION}"

./bootstrap
make -j$(nproc)
sudo make install

popd

0 comments on commit f02fe0e

Please sign in to comment.