The main purpose of the repo is to provide MacOS aarch64 binaries for roynalnaruto/svm-rs and eventually for gakonst/foundry.
Z3
is required to build solc
with SMT solver support.
- Download
Z3
(version4.8.17
should be compatible withsolidity >= 0.8.21
, while4.12.1
is required forsolidity >= 0.8.22
) and unzip
$ wget https://github.com/Z3Prover/z3/releases/download/z3-4.12.1/z3-4.12.1-arm64-osx-11.0.zip
$ unzip z3-4.12.1-arm64-osx-11.0.zip && cd z3-4.12.1-arm64-osx-11.0
- Copy to
/usr/local
$ cp bin/libz3.a /usr/local/lib
$ cp bin/z3 /usr/local/bin
$ cp include/* /usr/local/include
The following steps are meant to be run on a MacOS machine with the M1 chip:
- Clone the solidity repository
- Checkout to the release tag of interest:
$ git checkout tags/v0.8.15
- Build the
solc
binary for the above release tag
$ ./scripts/build.sh
- The binary
solc
is then found under the./build/solc/
directory - Get the SHA-256 checksum for the binary
$ shasum -a 256 ./build/solc/solc
Install the jsoncpp
package:
pkg install jsoncpp