forked from CakeML/cakeml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build-instructions.sh
executable file
·48 lines (45 loc) · 1.44 KB
/
build-instructions.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/sh
## This file describes how to install Poly/ML, HOL and CakeML.
## build Poly/ML
## alternatively on macOS
# brew install polyml
cd
git clone https://github.com/polyml/polyml
cd polyml
./configure --prefix=/usr
## on Debian/Ubuntu, either:
## - make sure to use --prefix=/usr
## - or add "export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH" to ~/.profile
## anything else will cause trouble with environment variables
## optionally other installation prefixes can be used with
# ./configure --prefix=<dir>
## if necessary, put <dir>/bin in your PATH
# export PATH=<dir>/bin:$PATH
make
make compiler
make install
## build HOL
cd
git clone https://github.com/HOL-Theorem-Prover/HOL
cd HOL
## optionally switch to a released version, e.g., kananaskis-11
# git checkout kananaskis-11
## note: currently, we only aim to ensure that
## CakeML branch master builds on HOL branch master
poly --script tools/smart-configure.sml
bin/build
## optionally set HOLDIR to point to the HOL installation
# export HOLDIR=$HOME/HOL
## optionally put $HOLDIR/bin in your PATH
# export PATH=$HOLDIR/bin:$PATH
## build CakeML
## note: a full build (including the bootstrapped compiler)
## takes a long time (~20 hours) and requires much RAM (~16 GB)
cd
git clone https://github.com/CakeML/cakeml
cd cakeml
## optionally switch to a released version, e.g., version2
# git checkout version2
"$HOME/HOL/bin/Holmake"
## or just Holmake if you set up your PATH as above
# Holmake