-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rip out most of the guts of the
build-sandbox.sh
script, and replace
it with use of submodules instead. Update README and project build metadata to include new packages.
- Loading branch information
1 parent
d5688cb
commit 57a6342
Showing
20 changed files
with
100 additions
and
87 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,4 @@ | ||
/build/ | ||
/dependencies/ | ||
/dependencies | ||
.cabal-sandbox | ||
.stack-work | ||
**/cabal.config | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
[submodule "dependencies/abcBridge"] | ||
path = dependencies/abcBridge | ||
url = [email protected]:GaloisInc/abcBridge.git | ||
branch = master | ||
[submodule "dependencies/aig"] | ||
path = dependencies/aig | ||
url = [email protected]:GaloisInc/aig.git | ||
branch = master | ||
[submodule "dependencies/blt"] | ||
path = dependencies/blt | ||
url = [email protected]:GaloisInc/blt.git | ||
branch = master | ||
[submodule "dependencies/cryptol"] | ||
path = dependencies/cryptol | ||
url = [email protected]:GaloisInc/cryptol.git | ||
branch = master | ||
[submodule "dependencies/cryptol-verifier"] | ||
path = dependencies/cryptol-verifier | ||
url = [email protected]:GaloisInc/cryptol-verifier.git | ||
branch = master | ||
[submodule "dependencies/jvm-parser"] | ||
path = dependencies/jvm-parser | ||
url = [email protected]:GaloisInc/jvm-parser.git | ||
branch = master | ||
[submodule "dependencies/llvm-pretty"] | ||
path = dependencies/llvm-pretty | ||
url = [email protected]:elliottt/llvm-pretty.git | ||
branch = master | ||
[submodule "dependencies/llvm-pretty-bc-parser"] | ||
path = dependencies/llvm-pretty-bc-parser | ||
url = [email protected]:GaloisInc/llvm-pretty-bc-parser.git | ||
branch = master | ||
[submodule "dependencies/hpb"] | ||
path = dependencies/hpb | ||
url = [email protected]:GaloisInc/hpb.git | ||
branch = master | ||
[submodule "dependencies/parameterized-utils"] | ||
path = dependencies/parameterized-utils | ||
url = [email protected]:GaloisInc/parameterized-utils.git | ||
branch = master | ||
[submodule "dependencies/saw-core"] | ||
path = dependencies/saw-core | ||
url = [email protected]:GaloisInc/saw-core.git | ||
branch = master | ||
[submodule "dependencies/saw-core-aig"] | ||
path = dependencies/saw-core-aig | ||
url = [email protected]:GaloisInc/saw-core-aig.git | ||
branch = master | ||
[submodule "dependencies/saw-core-sbv"] | ||
path = dependencies/saw-core-sbv | ||
url = [email protected]:GaloisInc/saw-core-sbv.git | ||
branch = master | ||
[submodule "dependencies/saw-core-what4"] | ||
path = dependencies/saw-core-what4 | ||
url = [email protected]:GaloisInc/saw-core-what4.git | ||
branch = master |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule cryptol-verifier
added at
beff8f
Submodule jvm-parser
added at
f37d40
Submodule llvm-pretty
added at
6cc699
Submodule llvm-pretty-bc-parser
added at
56cd26
Submodule parameterized-utils
added at
fa6085
Submodule saw-core-aig
added at
564803
Submodule saw-core-sbv
added at
0f7c95
Submodule saw-core-what4
added at
6a448a
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,73 +1,4 @@ | ||
#!/bin/bash | ||
# | ||
# This script checks out the repos needed to build crucible libraries and the crucible-server. | ||
# | ||
# This script only requires git to run, but crucible has the following prerequites: | ||
# | ||
# * stack | ||
# - https://github.com/commercialhaskell/stack/wiki/Downloads | ||
# | ||
# * Libraries & Utils: pkg-config, libzmq, NTL, GLPK, Boost | ||
# - to install NTL, GLPK, and Boost easily, see: | ||
# https://github.com/GaloisInc/blt/blob/master/bootstrap.sh | ||
# - to install pkg-config and libzmq on Debian/Ubuntu, do: | ||
# $ sudo apt-get install pkg-config libzmq3 libzmq3-dev | ||
# | ||
# * GHC >= 7.10 (Optional) | ||
# - https://www.haskell.org/ghc/download | ||
# | ||
# Installation: | ||
# | ||
# Execute this script from the top level of the `crucible-public` source repo. | ||
# This will checkout all needed Galois dependencies in `$PWD/dependencies`. | ||
# | ||
# Options: | ||
# | ||
# Set $NO_GIT_PULL if you do not want to 'git pull' in pre-existing dependency repos. | ||
# | ||
|
||
set -e | ||
|
||
checkout () { | ||
local url=$1 # File to unpack | ||
local pkg=$2 | ||
if [ ! -d "dependencies/$pkg" ]; then | ||
pushd dependencies > /dev/null | ||
git clone "$url" | ||
if [ $? -ne 0 ]; then | ||
echo "\n\nFailed to clone private GitHub repos. Please check your \ | ||
ssh keys to make sure you are authorized for the Galois GitHub \ | ||
account" | ||
exit 1 | ||
fi | ||
popd > /dev/null | ||
elif [ -z "${NO_GIT_PULL}" ]; then | ||
echo "Pulling from $pkg" | ||
pushd "dependencies/$pkg" > /dev/null | ||
git pull | ||
popd > /dev/null | ||
fi | ||
} | ||
|
||
# GitHub repos (some private, some public) required by the build | ||
PKG_LIST="GaloisInc/abcBridge GaloisInc/aig GaloisInc/blt \ | ||
GaloisInc/saw-core GaloisInc/saw-core-aig GaloisInc/saw-core-sbv \ | ||
GaloisInc/saw-core-what4 \ | ||
GaloisInc/hpb elliottt/llvm-pretty \ | ||
GaloisInc/jvm-parser \ | ||
GaloisInc/cryptol GaloisInc/cryptol-verifier \ | ||
elliottt/llvm-pretty \ | ||
GaloisInc/llvm-pretty-bc-parser GaloisInc/parameterized-utils" | ||
|
||
# Set base GitHub URL for Galois repos if it's not already set | ||
: ${GITHUB_URL:="[email protected]:"} | ||
echo "Using github url: $GITHUB_URL" | ||
|
||
if [ ! -d "dependencies" ]; then | ||
mkdir -p "dependencies" | ||
fi | ||
|
||
# Download GitHub repos | ||
for pkg in $PKG_LIST; do | ||
checkout "$GITHUB_URL$pkg.git" ${pkg#*/} | ||
done | ||
git submodule init | ||
git submodule update --recursive |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters