LIBBITCOIN_UNIVALUE=univalue/libbitcoin_univalue.a
LIBBITCOINQT=qt/libbitcoinqt.a
LIBSECP256K1=secp256k1/libsecp256k1.la
+LIBZCASH=libzcash.a
$(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*)
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F)
libbitcoin_common.a \
univalue/libbitcoin_univalue.a \
libbitcoin_server.a \
- libbitcoin_cli.a
+ libbitcoin_cli.a \
+ libzcash.a
if ENABLE_WALLET
BITCOIN_INCLUDES += $(BDB_CPPFLAGS)
EXTRA_LIBRARIES += libbitcoin_wallet.a
TESTS =
if BUILD_BITCOIND
- bin_PROGRAMS += bitcoind
+ bin_PROGRAMS += zcashd
endif
if BUILD_BITCOIN_UTILS
- bin_PROGRAMS += bitcoin-cli bitcoin-tx
+ bin_PROGRAMS += zcash-cli bitcoin-tx
endif
+# TODO: rename to libzcash
+LIBZCASH_H = \
+ zcash/IncrementalMerkleTree.h \
+ zerocash/utils/util.h \
+ zcash/NoteEncryption.hpp \
+ zcash/Address.hpp \
+ zcash/JoinSplit.hpp \
+ zcash/Note.hpp \
+ zcash/prf.h \
+ zcash/util.h
+
.PHONY: FORCE
# bitcoin core #
BITCOIN_CORE_H = \
compressor.h \
consensus/consensus.h \
consensus/params.h \
+ consensus/validation.h \
core_io.h \
eccryptoverify.h \
ecwrapper.h \
protocol.h \
pubkey.h \
random.h \
+ reverselock.h \
rpcclient.h \
rpcprotocol.h \
rpcserver.h \
txmempool.h \
ui_interface.h \
uint256.h \
+ uint252.h \
undo.h \
util.h \
utilmoneystr.h \
txmempool.cpp \
validationinterface.cpp \
$(JSON_H) \
- $(BITCOIN_CORE_H)
+ $(BITCOIN_CORE_H) \
+ $(LIBZCASH_H)
# wallet: shared between bitcoind and bitcoin-qt, but only linked
# when wallet enabled
libbitcoin_wallet_a_CPPFLAGS = $(BITCOIN_INCLUDES)
libbitcoin_wallet_a_SOURCES = \
+ zcbenchmarks.cpp \
wallet/crypter.cpp \
wallet/db.cpp \
wallet/rpcdump.cpp \
wallet/wallet.cpp \
wallet/wallet_ismine.cpp \
wallet/walletdb.cpp \
- $(BITCOIN_CORE_H)
+ $(BITCOIN_CORE_H) \
+ $(LIBZCASH_H)
# crypto primitives library
crypto_libbitcoin_crypto_a_CPPFLAGS = $(BITCOIN_CONFIG_INCLUDES)
crypto_libbitcoin_crypto_a_SOURCES = \
crypto/common.h \
+ crypto/equihash.cpp \
+ crypto/equihash.h \
crypto/hmac_sha256.cpp \
crypto/hmac_sha256.h \
crypto/hmac_sha512.cpp \
script/script_error.cpp \
script/sign.cpp \
script/standard.cpp \
- $(BITCOIN_CORE_H)
+ $(BITCOIN_CORE_H) \
+ $(LIBZCASH_H)
# util: shared between all executables.
# This library *must* be included to make sure that the glibc
utilmoneystr.cpp \
utilstrencodings.cpp \
utiltime.cpp \
- $(BITCOIN_CORE_H)
+ $(BITCOIN_CORE_H) \
+ $(LIBZCASH_H)
if GLIBC_BACK_COMPAT
libbitcoin_util_a_SOURCES += compat/glibc_compat.cpp
libbitcoin_cli_a_CPPFLAGS = $(BITCOIN_INCLUDES)
libbitcoin_cli_a_SOURCES = \
rpcclient.cpp \
- $(BITCOIN_CORE_H)
+ $(BITCOIN_CORE_H) \
+ $(LIBZCASH_H)
nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h
#
# bitcoind binary #
-bitcoind_SOURCES = bitcoind.cpp
-bitcoind_CPPFLAGS = $(BITCOIN_INCLUDES)
-bitcoind_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
+zcashd_SOURCES = bitcoind.cpp
+zcashd_CPPFLAGS = $(BITCOIN_INCLUDES)
+zcashd_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
if TARGET_WINDOWS
-bitcoind_SOURCES += bitcoind-res.rc
+zcashd_SOURCES += bitcoind-res.rc
endif
-bitcoind_LDADD = \
+zcashd_LDADD = \
$(LIBBITCOIN_SERVER) \
$(LIBBITCOIN_COMMON) \
$(LIBBITCOIN_UNIVALUE) \
$(LIBBITCOIN_UTIL) \
$(LIBBITCOIN_CRYPTO) \
+ $(LIBZCASH) \
$(LIBLEVELDB) \
$(LIBMEMENV) \
$(LIBSECP256K1)
if ENABLE_WALLET
-bitcoind_LDADD += libbitcoin_wallet.a
+zcashd_LDADD += libbitcoin_wallet.a
endif
-bitcoind_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS)
+zcashd_LDADD += \
+ $(BOOST_LIBS) \
+ $(BDB_LIBS) \
+ $(SSL_LIBS) \
+ $(CRYPTO_LIBS) \
+ $(MINIUPNPC_LIBS) \
+ $(LIBZCASH) \
+ $(LIBBITCOIN_CRYPTO) \
+ $(LIBZCASH_LIBS)
#
# bitcoin-cli binary #
-bitcoin_cli_SOURCES = bitcoin-cli.cpp
-bitcoin_cli_CPPFLAGS = $(BITCOIN_INCLUDES)
-bitcoin_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
+zcash_cli_SOURCES = bitcoin-cli.cpp
+zcash_cli_CPPFLAGS = $(BITCOIN_INCLUDES)
+zcash_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS)
if TARGET_WINDOWS
-bitcoin_cli_SOURCES += bitcoin-cli-res.rc
+zcash_cli_SOURCES += bitcoin-cli-res.rc
endif
-bitcoin_cli_LDADD = \
+zcash_cli_LDADD = \
$(LIBBITCOIN_CLI) \
$(LIBBITCOIN_UTIL) \
- $(LIBSECP256K1)
-
-bitcoin_cli_LDADD += $(BOOST_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS)
+ $(BOOST_LIBS) \
+ $(SSL_LIBS) \
+ $(CRYPTO_LIBS) \
+ $(LIBZCASH) \
+ $(LIBBITCOIN_CRYPTO) \
+ $(LIBZCASH_LIBS)
#
# bitcoin-tx binary #
bitcoin_tx_SOURCES += bitcoin-tx-res.rc
endif
+# FIXME: Is libzcash needed for bitcoin_tx?
bitcoin_tx_LDADD = \
$(LIBBITCOIN_UNIVALUE) \
$(LIBBITCOIN_COMMON) \
$(LIBBITCOIN_UTIL) \
+ $(LIBSECP256K1) \
+ $(LIBZCASH) \
$(LIBBITCOIN_CRYPTO) \
- $(LIBSECP256K1)
+ $(LIBZCASH_LIBS)
bitcoin_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS)
#
+# zerocash protocol primitives #
+libzcash_a_SOURCES = \
+ zcash/IncrementalMerkleTree.cpp \
+ zerocash/utils/util.cpp \
+ zcash/NoteEncryption.cpp \
+ zcash/Address.cpp \
+ zcash/JoinSplit.cpp \
+ zcash/Note.cpp \
+ zcash/prf.cpp \
+ zcash/util.cpp
+
+libzcash_a_CPPFLAGS = -DMULTICORE -fopenmp -fPIC -DBINARY_OUTPUT -DCURVE_ALT_BN128 -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS $(HARDENED_CPPFLAGS) -pipe -O2 -O0 -g -Wstack-protector -fstack-protector-all -fPIE -fvisibility=hidden -DSTATIC $(BITCOIN_INCLUDES)
+
# bitcoinconsensus library #
if BUILD_BITCOIN_LIBS
include_HEADERS = script/bitcoinconsensus.h
libbitcoinconsensus_la_SOURCES = \
+ crypto/equihash.cpp \
crypto/hmac_sha512.cpp \
crypto/ripemd160.cpp \
crypto/sha1.cpp \
if ENABLE_TESTS
include Makefile.test.include
+include Makefile.gtest.include
endif
if ENABLE_QT
if ENABLE_QT_TESTS
include Makefile.qttest.include
endif
+
+include Makefile.zcash.include