Added MacOS Compatibility (#53)
This commit is contained in:
parent
5115f245a8
commit
36c4a6d4c5
40
Makefile.am
40
Makefile.am
|
@ -152,10 +152,10 @@ baseline.info:
|
|||
|
||||
baseline_filtered.info: baseline.info
|
||||
$(LCOV) -r $< "/usr/include/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/*.h" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
|
||||
"$(abs_builddir)/src/gtest/*" \
|
||||
"$(abs_builddir)/src/test/*" \
|
||||
-o $@
|
||||
|
@ -165,10 +165,10 @@ leveldb_baseline.info: baseline_filtered.info
|
|||
|
||||
leveldb_baseline_filtered.info: leveldb_baseline.info
|
||||
$(LCOV) -r $< "/usr/include/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/*.h" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
|
||||
"$(abs_builddir)/src/gtest/*" \
|
||||
"$(abs_builddir)/src/test/*" \
|
||||
-o $@
|
||||
|
@ -184,10 +184,10 @@ test_bitcoin.info: baseline_filtered_combined.info
|
|||
|
||||
test_bitcoin_filtered.info: test_bitcoin.info
|
||||
$(LCOV) -r $< "/usr/include/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/*.h" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
|
||||
"$(abs_builddir)/src/gtest/*" \
|
||||
"$(abs_builddir)/src/test/*" \
|
||||
-o $@
|
||||
|
@ -200,10 +200,10 @@ zcash-gtest.info: baseline_filtered_combined.info
|
|||
|
||||
zcash-gtest_filtered.info: zcash-gtest.info
|
||||
$(LCOV) -r $< "/usr/include/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/*.h" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
|
||||
"$(abs_builddir)/src/gtest/*" \
|
||||
"$(abs_builddir)/src/test/*" \
|
||||
-o $@
|
||||
|
@ -217,10 +217,10 @@ block_test.info: test_bitcoin_filtered.info
|
|||
|
||||
block_test_filtered.info: block_test.info
|
||||
$(LCOV) -r $< "/usr/include/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/*.h" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/boost/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gmock/*" \
|
||||
"$(abs_builddir)/depends/x86_64-unknown-linux-gnu/include/gtest/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/*.h" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/boost/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/gmock/*" \
|
||||
"$(abs_builddir)/depends/$(BUILD)/include/gtest/*" \
|
||||
"$(abs_builddir)/src/gtest/*" \
|
||||
"$(abs_builddir)/src/test/*" \
|
||||
-o $@
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
build_darwin_CC: = $(shell xcrun -f clang)
|
||||
build_darwin_CXX: = $(shell xcrun -f clang++)
|
||||
build_darwin_CC = gcc-5
|
||||
build_darwin_CXX = g++-5
|
||||
build_darwin_AR: = $(shell xcrun -f ar)
|
||||
build_darwin_RANLIB: = $(shell xcrun -f ranlib)
|
||||
build_darwin_STRIP: = $(shell xcrun -f strip)
|
||||
|
@ -7,11 +7,11 @@ build_darwin_OTOOL: = $(shell xcrun -f otool)
|
|||
build_darwin_NM: = $(shell xcrun -f nm)
|
||||
build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool)
|
||||
build_darwin_SHA256SUM = shasum -a 256
|
||||
build_darwin_DOWNLOAD = curl --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -L -o
|
||||
build_darwin_DOWNLOAD = curl --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -L -f -o
|
||||
|
||||
#darwin host on darwin builder. overrides darwin host preferences.
|
||||
darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION)
|
||||
darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION)
|
||||
darwin_CC= gcc-5
|
||||
darwin_CXX= g++-5
|
||||
darwin_AR:=$(shell xcrun -f ar)
|
||||
darwin_RANLIB:=$(shell xcrun -f ranlib)
|
||||
darwin_STRIP:=$(shell xcrun -f strip)
|
||||
|
|
|
@ -2,8 +2,8 @@ OSX_MIN_VERSION=10.7
|
|||
OSX_SDK_VERSION=10.9
|
||||
OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk
|
||||
LD64_VERSION=241.9
|
||||
darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION)
|
||||
darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION)
|
||||
darwin_CC=gcc-5 -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION)
|
||||
darwin_CXX=g++-5 -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION)
|
||||
|
||||
darwin_CFLAGS=-pipe
|
||||
darwin_CXXFLAGS=$(darwin_CFLAGS)
|
||||
|
|
|
@ -11,15 +11,15 @@ $(package)_config_opts_debug=variant=debug
|
|||
$(package)_config_opts=--layout=tagged --build-type=complete --user-config=user-config.jam
|
||||
$(package)_config_opts+=threading=multi link=static -sNO_BZIP2=1 -sNO_ZLIB=1
|
||||
$(package)_config_opts_linux=threadapi=pthread runtime-link=shared
|
||||
$(package)_config_opts_darwin=--toolset=darwin-4.2.1 runtime-link=shared
|
||||
$(package)_config_opts_darwin=--toolset=gcc runtime-link=shared threadapi=pthread
|
||||
$(package)_config_opts_mingw32=binary-format=pe target-os=windows threadapi=win32 runtime-link=static
|
||||
$(package)_config_opts_x86_64_mingw32=address-model=64
|
||||
$(package)_config_opts_i686_mingw32=address-model=32
|
||||
$(package)_config_opts_i686_linux=address-model=32 architecture=x86
|
||||
$(package)_toolset_$(host_os)=gcc
|
||||
$(package)_archiver_$(host_os)=$($(package)_ar)
|
||||
$(package)_toolset_darwin=darwin
|
||||
$(package)_archiver_darwin=$($(package)_libtool)
|
||||
$(package)_toolset_darwin=gcc
|
||||
$(package)_archiver_darwin=$($(package)_ar)
|
||||
$(package)_config_libraries=chrono,filesystem,program_options,system,thread,test
|
||||
$(package)_cxxflags=-fvisibility=hidden
|
||||
$(package)_cxxflags_linux=-fPIC
|
||||
|
|
|
@ -9,12 +9,28 @@ $(package)_file_name=$(package)-$($(package)_version).tar.gz
|
|||
$(package)_download_file=release-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=3f20b6acb37e5a98e8c4518165711e3e35d47deb6cdb5a4dd4566563b5efd232
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE) -C make GTEST_DIR='$(host_prefix)' CXXFLAGS='-fPIC' gmock-all.o
|
||||
endef
|
||||
ifeq ($(OS),Windows_NT)
|
||||
uname_S := Windows
|
||||
else
|
||||
uname_S := $(shell uname -s)
|
||||
endif
|
||||
|
||||
ifeq ($(uname_S), Darwin)
|
||||
define $(package)_build_cmds
|
||||
$(MAKE) -C make GTEST_DIR='$(host_prefix)' CXXFLAGS='-fPIC' gmock-all.o
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
install -D ./make/gmock-all.o $($(package)_staging_dir)$(host_prefix)/lib/libgmock.a && \
|
||||
cp -a ./include $($(package)_staging_dir)$(host_prefix)/include
|
||||
endef
|
||||
define $(package)_stage_cmds
|
||||
ginstall -D ./make/gmock-all.o $($(package)_staging_dir)$(host_prefix)/lib/libgmock.a && \
|
||||
cp -a ./include $($(package)_staging_dir)$(host_prefix)/include
|
||||
endef
|
||||
else
|
||||
define $(package)_build_cmds
|
||||
$(MAKE) -C make GTEST_DIR='$(host_prefix)' CXXFLAGS='-fPIC' gmock-all.o
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
install -D ./make/gmock-all.o $($(package)_staging_dir)$(host_prefix)/lib/libgmock.a && \
|
||||
cp -a ./include $($(package)_staging_dir)$(host_prefix)/include
|
||||
endef
|
||||
endif
|
||||
|
|
|
@ -5,11 +5,29 @@ $(package)_file_name=$(package)-$($(package)_version).tar.gz
|
|||
$(package)_download_file=release-$($(package)_version).tar.gz
|
||||
$(package)_sha256_hash=f73a6546fdf9fce9ff93a5015e0333a8af3062a152a9ad6bcb772c96687016cc
|
||||
|
||||
define $(package)_build_cmds
|
||||
$(MAKE) -C make CXXFLAGS=-fPIC gtest.a
|
||||
endef
|
||||
# Determine building operating system
|
||||
ifeq ($(OS),Windows_NT)
|
||||
uname_S := Windows
|
||||
else
|
||||
uname_S := $(shell uname -s)
|
||||
endif
|
||||
|
||||
define $(package)_stage_cmds
|
||||
install -D ./make/gtest.a $($(package)_staging_dir)$(host_prefix)/lib/libgtest.a && \
|
||||
cp -a ./include $($(package)_staging_dir)$(host_prefix)/include
|
||||
endef
|
||||
ifeq ($(uname_S), Darwin)
|
||||
define $(package)_build_cmds
|
||||
$(MAKE) -C make CXXFLAGS=-fPIC gtest.a
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
ginstall -D ./make/gtest.a $($(package)_staging_dir)$(host_prefix)/lib/libgtest.a && \
|
||||
cp -a ./include $($(package)_staging_dir)$(host_prefix)/include
|
||||
endef
|
||||
else
|
||||
define $(package)_build_cmds
|
||||
$(MAKE) -C make CXXFLAGS=-fPIC gtest.a
|
||||
endef
|
||||
|
||||
define $(package)_stage_cmds
|
||||
install -D ./make/gtest.a $($(package)_staging_dir)$(host_prefix)/lib/libgtest.a && \
|
||||
cp -a ./include $($(package)_staging_dir)$(host_prefix)/include
|
||||
endef
|
||||
endif
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package=libsnark
|
||||
$(package)_version=0.1
|
||||
$(package)_download_path=https://github.com/zcash/$(package)/archive/
|
||||
$(package)_download_path=https://github.com/z-classic/$(package)/archive/
|
||||
$(package)_file_name=$(package)-$($(package)_git_commit).tar.gz
|
||||
$(package)_download_file=$($(package)_git_commit).tar.gz
|
||||
$(package)_sha256_hash=9422b1a2a94e6b8be61f07af7f146087c2a7d70b208d07ad076622225aa7f0e4
|
||||
$(package)_git_commit=2e6314a9f7efcd9af1c77669d7d9a229df86a777
|
||||
|
||||
$(package)_sha256_hash=2a8712a575bd9a98c1d1b2a1ebbded554cef09eea311c58da7cbc1278c306964
|
||||
$(package)_git_commit=55e431e0117c7eea01f878244a664ad3554ea1de
|
||||
|
||||
$(package)_dependencies=libgmp libsodium
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ JSON_TEST_FILES = \
|
|||
test/data/g1_compressed.json \
|
||||
test/data/g2_compressed.json
|
||||
|
||||
RAW_TEST_FILES =
|
||||
#RAW_TEST_FILES = test/data/alertTests.raw // disabled for Zclassic
|
||||
|
||||
GENERATED_TEST_FILES = $(JSON_TEST_FILES:.json=.json.h) $(RAW_TEST_FILES:.raw=.raw.h)
|
||||
|
||||
|
|
|
@ -14,7 +14,9 @@
|
|||
|
||||
#include "crypto/equihash.h"
|
||||
#include "util.h"
|
||||
|
||||
#ifdef __LP64__ // required to build on MacOS due to size_t ambiguity errors
|
||||
#include "compat/endian.h"
|
||||
#endif
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
#include <stdexcept>
|
||||
|
|
|
@ -38,8 +38,13 @@ TEST(Transaction, JSDescriptionRandomized) {
|
|||
libzcash::JSOutput(addr, 50),
|
||||
libzcash::JSOutput(addr, 50)
|
||||
};
|
||||
#ifdef __LP64__ // required for building on MacOS
|
||||
boost::array<uint64_t, ZC_NUM_JS_INPUTS> inputMap;
|
||||
boost::array<uint64_t, ZC_NUM_JS_OUTPUTS> outputMap;
|
||||
#else
|
||||
boost::array<size_t, ZC_NUM_JS_INPUTS> inputMap;
|
||||
boost::array<size_t, ZC_NUM_JS_OUTPUTS> outputMap;
|
||||
#endif
|
||||
|
||||
{
|
||||
auto jsdesc = JSDescription::Randomized(
|
||||
|
@ -48,12 +53,22 @@ TEST(Transaction, JSDescriptionRandomized) {
|
|||
inputMap, outputMap,
|
||||
0, 0, false);
|
||||
|
||||
#ifdef __LP64__ // required for building on MacOS
|
||||
std::set<uint64_t> inputSet(inputMap.begin(), inputMap.end());
|
||||
std::set<uint64_t> expectedInputSet {0, 1};
|
||||
#else
|
||||
std::set<size_t> inputSet(inputMap.begin(), inputMap.end());
|
||||
std::set<size_t> expectedInputSet {0, 1};
|
||||
#endif
|
||||
EXPECT_EQ(expectedInputSet, inputSet);
|
||||
|
||||
#ifdef __LP64__ // required for building on MacOS
|
||||
std::set<uint64_t> outputSet(outputMap.begin(), outputMap.end());
|
||||
std::set<uint64_t> expectedOutputSet {0, 1};
|
||||
#else
|
||||
std::set<size_t> outputSet(outputMap.begin(), outputMap.end());
|
||||
std::set<size_t> expectedOutputSet {0, 1};
|
||||
#endif
|
||||
EXPECT_EQ(expectedOutputSet, outputSet);
|
||||
}
|
||||
|
||||
|
@ -64,8 +79,13 @@ TEST(Transaction, JSDescriptionRandomized) {
|
|||
inputMap, outputMap,
|
||||
0, 0, false, GenZero);
|
||||
|
||||
#ifdef __LP64__ // required for building on MacOS
|
||||
boost::array<uint64_t, ZC_NUM_JS_INPUTS> expectedInputMap {1, 0};
|
||||
boost::array<uint64_t, ZC_NUM_JS_OUTPUTS> expectedOutputMap {1, 0};
|
||||
#else
|
||||
boost::array<size_t, ZC_NUM_JS_INPUTS> expectedInputMap {1, 0};
|
||||
boost::array<size_t, ZC_NUM_JS_OUTPUTS> expectedOutputMap {1, 0};
|
||||
#endif
|
||||
EXPECT_EQ(expectedInputMap, inputMap);
|
||||
EXPECT_EQ(expectedOutputMap, outputMap);
|
||||
}
|
||||
|
@ -77,8 +97,13 @@ TEST(Transaction, JSDescriptionRandomized) {
|
|||
inputMap, outputMap,
|
||||
0, 0, false, GenMax);
|
||||
|
||||
#ifdef __LP64__ // required for building on MacOS
|
||||
boost::array<uint64_t, ZC_NUM_JS_INPUTS> expectedInputMap {0, 1};
|
||||
boost::array<uint64_t, ZC_NUM_JS_OUTPUTS> expectedOutputMap {0, 1};
|
||||
#else
|
||||
boost::array<size_t, ZC_NUM_JS_INPUTS> expectedInputMap {0, 1};
|
||||
boost::array<size_t, ZC_NUM_JS_OUTPUTS> expectedOutputMap {0, 1};
|
||||
#endif
|
||||
EXPECT_EQ(expectedInputMap, inputMap);
|
||||
EXPECT_EQ(expectedOutputMap, outputMap);
|
||||
}
|
||||
|
|
|
@ -16,6 +16,10 @@
|
|||
#include "util.h"
|
||||
#include "utilstrencodings.h"
|
||||
|
||||
#ifdef __APPLE__
|
||||
#undef HAVE_GETADDRINFO_A
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GETADDRINFO_A
|
||||
#include <netdb.h>
|
||||
#endif
|
||||
|
|
|
@ -47,8 +47,13 @@ JSDescription JSDescription::Randomized(
|
|||
const uint256& anchor,
|
||||
boost::array<libzcash::JSInput, ZC_NUM_JS_INPUTS>& inputs,
|
||||
boost::array<libzcash::JSOutput, ZC_NUM_JS_OUTPUTS>& outputs,
|
||||
#ifdef __LP64__ // required to build on MacOS due to size_t ambiguity errors
|
||||
boost::array<uint64_t, ZC_NUM_JS_INPUTS>& inputMap,
|
||||
boost::array<uint64_t, ZC_NUM_JS_OUTPUTS>& outputMap,
|
||||
#else
|
||||
boost::array<size_t, ZC_NUM_JS_INPUTS>& inputMap,
|
||||
boost::array<size_t, ZC_NUM_JS_OUTPUTS>& outputMap,
|
||||
#endif
|
||||
CAmount vpub_old,
|
||||
CAmount vpub_new,
|
||||
bool computeProof,
|
||||
|
|
|
@ -86,8 +86,13 @@ public:
|
|||
const uint256& rt,
|
||||
boost::array<libzcash::JSInput, ZC_NUM_JS_INPUTS>& inputs,
|
||||
boost::array<libzcash::JSOutput, ZC_NUM_JS_OUTPUTS>& outputs,
|
||||
#ifdef __LP64__ // required to build on MacOS due to size_t ambiguity errors
|
||||
boost::array<uint64_t, ZC_NUM_JS_INPUTS>& inputMap,
|
||||
boost::array<uint64_t, ZC_NUM_JS_OUTPUTS>& outputMap,
|
||||
#else
|
||||
boost::array<size_t, ZC_NUM_JS_INPUTS>& inputMap,
|
||||
boost::array<size_t, ZC_NUM_JS_OUTPUTS>& outputMap,
|
||||
#endif
|
||||
CAmount vpub_old,
|
||||
CAmount vpub_new,
|
||||
bool computeProof = true, // Set to false in some tests
|
||||
|
|
|
@ -934,8 +934,13 @@ Object AsyncRPCOperation_sendmany::perform_joinsplit(
|
|||
{info.vjsin[0], info.vjsin[1]};
|
||||
boost::array<libzcash::JSOutput, ZC_NUM_JS_OUTPUTS> outputs
|
||||
{info.vjsout[0], info.vjsout[1]};
|
||||
#ifdef __LP64__ // required to build on MacOS due to size_t ambiguity errors
|
||||
boost::array<uint64_t, ZC_NUM_JS_INPUTS> inputMap;
|
||||
boost::array<uint64_t, ZC_NUM_JS_OUTPUTS> outputMap;
|
||||
#else
|
||||
boost::array<size_t, ZC_NUM_JS_INPUTS> inputMap;
|
||||
boost::array<size_t, ZC_NUM_JS_OUTPUTS> outputMap;
|
||||
#endif
|
||||
JSDescription jsdesc = JSDescription::Randomized(
|
||||
*pzcashParams,
|
||||
joinSplitPubKey_,
|
||||
|
|
|
@ -160,7 +160,11 @@ public:
|
|||
// Transaction hash
|
||||
uint256 hash;
|
||||
// Index into CTransaction.vjoinsplit
|
||||
#ifdef __LP64__ // required to build on MacOS due to size_t ambiguity errors
|
||||
uint64_t js;
|
||||
#else
|
||||
size_t js;
|
||||
#endif
|
||||
// Index into JSDescription fields of length ZC_NUM_JS_OUTPUTS
|
||||
uint8_t n;
|
||||
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
#!/bin/bash
|
||||
export CC=gcc-5
|
||||
export CXX=g++-5
|
||||
export LIBTOOL=libtool
|
||||
export AR=ar
|
||||
export RANLIB=ranlib
|
||||
export STRIP=strip
|
||||
export OTOOL=otool
|
||||
export NM=nm
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
if [ "x$*" = 'x--help' ]
|
||||
then
|
||||
cat <<EOF
|
||||
Usage:
|
||||
|
||||
$0 --help
|
||||
Show this help message and exit.
|
||||
|
||||
$0 [ --enable-lcov ] [ MAKEARGS... ]
|
||||
Build Zcash and most of its transitive dependencies from
|
||||
source. MAKEARGS are applied to both dependencies and Zcash itself. If
|
||||
--enable-lcov is passed, Zcash is configured to add coverage
|
||||
instrumentation, thus enabling "make cov" to work.
|
||||
EOF
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# If --enable-lcov is the first argument, enable lcov coverage support:
|
||||
LCOV_ARG=''
|
||||
HARDENING_ARG='--disable-hardening'
|
||||
if [ "x${1:-}" = 'x--enable-lcov' ]
|
||||
then
|
||||
LCOV_ARG='--enable-lcov'
|
||||
HARDENING_ARG='--disable-hardening'
|
||||
shift
|
||||
fi
|
||||
|
||||
TRIPLET=`./depends/config.guess`
|
||||
PREFIX="$(pwd)/depends/$TRIPLET"
|
||||
|
||||
make "$@" -C ./depends/ V=1 NO_QT=1
|
||||
|
||||
./autogen.sh
|
||||
CPPFLAGS="-I$PREFIX/include -arch x86_64" LDFLAGS="-L$PREFIX/lib -arch x86_64 -Wl,-no_pie" \
|
||||
CXXFLAGS='-arch x86_64 -I/usr/local/Cellar/gcc5/5.4.0/include/c++/5.4.0 -I$PREFIX/include -fwrapv -fno-strict-aliasing -Werror -g -Wl,-undefined -Wl,dynamic_lookup' \
|
||||
./configure --prefix="${PREFIX}" --with-gui=no "$HARDENING_ARG" "$LCOV_ARG"
|
||||
|
||||
make "$@" V=1 NO_GTEST=0 STATIC=1
|
|
@ -2,7 +2,11 @@
|
|||
|
||||
set -eu
|
||||
|
||||
PARAMS_DIR="$HOME/.zcash-params"
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
PARAMS_DIR="$HOME/Library/Application Support/ZcashParams"
|
||||
else
|
||||
PARAMS_DIR="$HOME/.zcash-params"
|
||||
fi
|
||||
|
||||
SPROUT_PKEY_NAME='sprout-proving.key'
|
||||
SPROUT_VKEY_NAME='sprout-verifying.key'
|
||||
|
@ -18,15 +22,21 @@ function fetch_params {
|
|||
local dlname="${output}.dl"
|
||||
local expectedhash="$3"
|
||||
|
||||
if ! [ -f "$output" ]
|
||||
then
|
||||
if ! [ -f "$output" ]; then
|
||||
echo "Retrieving: $url"
|
||||
wget \
|
||||
--progress=dot:giga \
|
||||
--output-document="$dlname" \
|
||||
--continue \
|
||||
--retry-connrefused --waitretry=3 --timeout=30 \
|
||||
"$url"
|
||||
if [ $(sw_vers -productName) == "Mac" ]; then
|
||||
curl \
|
||||
--output "$dlname" \
|
||||
-# -L -C - \
|
||||
"$url"
|
||||
else
|
||||
wget \
|
||||
--progress=dot:giga \
|
||||
--output-document="$dlname" \
|
||||
--continue \
|
||||
--retry-connrefused --waitretry=3 --timeout=30 \
|
||||
"$url"
|
||||
fi
|
||||
|
||||
"$SHA256CMD" $SHA256ARGS --check <<EOF
|
||||
$expectedhash $dlname
|
||||
|
|
Loading…
Reference in New Issue