#!/bin/bash # To pass options options to libsnark Makefile, put them in env var LIBSNARK_FLAGS. # To clone libsnark from an alternate location, set env var LIBSNARK_SRC. For example: # LIBSNARK_SRC="$HOME/libsnark.git --branch master" ./get-libsnark # To use curve ALT_BN128 instead of BN128 (which is x64-only), use: # CURVE=ALT_BN128 ./get-libsnark set -e LIBSNARK_SRC=${LIBSNARK_SRC:-https://github.com/scipr-lab/libsnark} CURVE=${CURVE:-ALT_BN128} LIBSNARK_FLAGS="$LIBSNARK_FLAGS NO_SUPERCOP=1 NO_GTEST=1 NO_DOCS=1 CURVE=$CURVE NO_PROCPS=1" # if [[ `uname -s` == "Darwin" ]]; then # LIBSNARK_FLAGS="$LIBSNARK_FLAGS NO_PROCPS=1" # fi set -x DEPSRC=./depsrc DEPINST=./depinst mkdir -p $DEPINST DEPINST=`pwd -P`/$DEPINST # remember absolute path mkdir -p $DEPSRC cd $DEPSRC [ ! -d libsnark ] && git clone $LIBSNARK_SRC libsnark cd libsnark git pull #if [ "$CURVE" == "BN128" ]; then # # TODO: submit -fPIC patch to ate-pairing # INC_DIR=-fPIC ./prepare-depends.sh #fi make clean make lib $LIBSNARK_FLAGS make install PREFIX=$DEPINST $LIBSNARK_FLAGS