Merge branch 'makefile' into 'dev'
Makefile See merge request ligolang/ligo!51
This commit is contained in:
commit
2b29eac11f
25
makefile
Normal file
25
makefile
Normal file
@ -0,0 +1,25 @@
|
||||
# Use install-deps instead of 'install' because usually 'make install' adds a
|
||||
# binary to the system path and we don't want to confuse users
|
||||
install-deps:
|
||||
# Install ligo/tezos specific system-level dependencies
|
||||
sudo scripts/install_native_dependencies.sh
|
||||
|
||||
build-deps:
|
||||
# Create opam dev switch locally for use with Ligo, add merlin/etc
|
||||
if [ -n "`opam switch show | grep -P ".+/ligo"`" ];
|
||||
then exit; else scripts/setup_dev_switch.sh;
|
||||
fi
|
||||
# Set up the local ligo opam repository so that it can be built
|
||||
if [ -n "`opam repo list --safe | grep -P "ligo-opam-repository"`" ];
|
||||
then exit; else scripts/setup_ligo_opam_repository.sh;
|
||||
fi
|
||||
# Install OCaml build dependencies for Ligo
|
||||
scripts/install_ligo_with_dependencies.sh
|
||||
|
||||
build: build-deps
|
||||
# Build Ligo for local dev use
|
||||
scripts/build_ligo_local.sh
|
||||
|
||||
.ONESHELL:
|
||||
test: build
|
||||
scripts/test_ligo.sh
|
2
scripts/build_ligo_local.sh
Executable file
2
scripts/build_ligo_local.sh
Executable file
@ -0,0 +1,2 @@
|
||||
eval $(opam env)
|
||||
dune build -p ligo
|
64
scripts/install_build_environment.sh
Executable file
64
scripts/install_build_environment.sh
Executable file
@ -0,0 +1,64 @@
|
||||
# This script installs opam for the user. It should NOT be included in any makefiles/etc.
|
||||
|
||||
if [ -n "`which opam`" ]
|
||||
then
|
||||
if [ -n "`opam --version | grep -P "2\..\.."`" ]
|
||||
then
|
||||
echo "Opam 2.x seems to already exist, exiting..."
|
||||
exit 1
|
||||
else
|
||||
read -p "This script will upgrade opam to the 2.x series, are you okay with that? (y/n)" choice1
|
||||
case "$choice1" in
|
||||
y|Y ) : ;;
|
||||
n|N ) exit ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
sudo apt-get install -y make \
|
||||
m4 \
|
||||
gcc \
|
||||
patch \
|
||||
bubblewrap \
|
||||
rsync \
|
||||
curl \
|
||||
|
||||
if [ -n "`uname -a | grep -i ubuntu`" ]
|
||||
then
|
||||
sudo add-apt-repository -y ppa:avsm/ppa
|
||||
sudo apt-get update
|
||||
sudo apt-get install opam
|
||||
else
|
||||
# I'm going to assume here that we're on x86_64, 32-bit users should be basically
|
||||
# extinct at this point right?
|
||||
curl -L https://github.com/ocaml/opam/releases/download/2.0.4/opam-2.0.4-x86_64-linux \
|
||||
--output opam_temp_version_2_0_4.bin
|
||||
if [ "`openssl sha256 -r opam_temp_version_2_0_4.bin`" = "373e34f92f282273d482537f8103caad0d17b6f2699ff504bed77f474cb0c951 *opam_temp_version_2_0_4.bin" ]
|
||||
then
|
||||
# Stay paranoid, in case other checks fail don't want to overrwrite
|
||||
# user's opam on accident
|
||||
chmod +x opam_temp_version_2_0_4.bin # Set execute so we can get version
|
||||
if [ -e /usr/local/bin/opam ]
|
||||
then
|
||||
opam_old_v=`/usr/local/bin/opam --version`
|
||||
opam_new_v=`opam_temp_version_2_0_4.bin --version`
|
||||
read -p "This will overrwrite the opam you have in /usr/local/bin (version $opam_old_v) with version $opam_new_v, do you actually want to do that? Type yes. (yes/n)" choice2
|
||||
else
|
||||
choice2="yes"
|
||||
fi
|
||||
if [ $choice2 = "yes" ]
|
||||
then
|
||||
sudo mv opam_temp_version_2_0_4.bin /usr/local/bin/opam
|
||||
else
|
||||
rm opam_temp_version_2_0_4.bin
|
||||
exit
|
||||
fi
|
||||
else
|
||||
echo "opam file hash doesn't match what was recorded at time of signature verification!"
|
||||
echo "(If you actually get this message, you should probably file an issue)"
|
||||
echo "https://gitlab.com/ligolang/ligo/issues"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
opam init -a --bare
|
4
scripts/setup_dev_switch.sh
Executable file
4
scripts/setup_dev_switch.sh
Executable file
@ -0,0 +1,4 @@
|
||||
opam switch create . ocaml-base-compiler.4.06.1
|
||||
eval $(opam env)
|
||||
opam install -y ocp-indent tuareg merlin alcotest-lwt crowbar
|
||||
opam -y user-setup install
|
2
scripts/test_ligo.sh
Executable file
2
scripts/test_ligo.sh
Executable file
@ -0,0 +1,2 @@
|
||||
eval $(opam env)
|
||||
dune build @ligo-test
|
Loading…
Reference in New Issue
Block a user