22# Distributed under the MIT software license, see the accompanying
33# file COPYING or http://www.opensource.org/licenses/mit-license.php.
44
5- DIST_SUBDIRS = secp256k1 univalue
5+ DIST_SUBDIRS = secp256k1 univalue chiabls
66
77AM_LDFLAGS = $(PTHREAD_CFLAGS ) $(LIBTOOL_LDFLAGS ) $(HARDENED_LDFLAGS ) $(GPROF_LDFLAGS ) $(SANITIZER_LDFLAGS )
88AM_CXXFLAGS = $(DEBUG_CXXFLAGS ) $(HARDENED_CXXFLAGS ) $(WARN_CXXFLAGS ) $(NOWARN_CXXFLAGS ) $(ERROR_CXXFLAGS ) $(GPROF_CXXFLAGS ) $(SANITIZER_CXXFLAGS )
@@ -24,6 +24,8 @@ BITCOIN_INCLUDES=-I$(builddir) -I$(builddir)/obj $(BDB_CPPFLAGS) $(BOOST_CPPFLAG
2424
2525BITCOIN_INCLUDES += -I$(srcdir ) /rust/include
2626BITCOIN_INCLUDES += -I$(srcdir ) /secp256k1/include
27+ BITCOIN_INCLUDES += -I$(srcdir ) /chiabls/src
28+ BITCOIN_INCLUDES += -I$(srcdir ) /chiabls/contrib/relic/include
2729BITCOIN_INCLUDES += $(UNIVALUE_CFLAGS )
2830
2931LIBBITCOIN_SERVER =libbitcoin_server.a
@@ -35,6 +37,7 @@ LIBBITCOIN_ZEROCOIN=libzerocoin/libbitcoin_zerocoin.a
3537LIBBITCOINQT =qt/libbitcoinqt.a
3638LIBSECP256K1 =secp256k1/libsecp256k1.la
3739LIBSAPLING =libsapling.a
40+ LIBCHIABLS =chiabls/libchiabls.la
3841if ENABLE_ONLINE_RUST
3942LIBRUSTZCASH =$(top_builddir ) /target/release/librustzcash.a
4043else
@@ -51,6 +54,8 @@ if ENABLE_WALLET
5154LIBBITCOIN_WALLET =libbitcoin_wallet.a
5255endif
5356
57+ BLS_LIBS = $(LIBCHIABLS )
58+
5459RUST_ENV_VARS = RUSTC="$(RUSTC ) " TERM=dumb
5560RUST_BUILD_OPTS = --release
5661
96101$(LIBSECP256K1 ) : $(wildcard secp256k1/src/* .h) $(wildcard secp256k1/src/* .c) $(wildcard secp256k1/include/* )
97102 $(AM_V_at )$(MAKE ) $(AM_MAKEFLAGS ) -C $(@D ) $(@F )
98103
104+ $(LIBCHIABLS ) :
105+ $(AM_V_at )$(MAKE ) $(AM_MAKEFLAGS ) -C chiabls
106+
99107# Make is not made aware of per-object dependencies to avoid limiting building parallelization
100108# But to build the less dependent modules first, we manually select their order here:
101109EXTRA_LIBRARIES += \
@@ -629,7 +637,7 @@ pivxd_LDADD = \
629637 $(LIBRUSTZCASH ) \
630638 $(LIBZCASH_LIBS )
631639
632- pivxd_LDADD += $(BOOST_LIBS ) $(BDB_LIBS ) $(MINIUPNPC_LIBS ) $(NATPMP_LIBS ) $(EVENT_PTHREADS_LIBS ) $(EVENT_LIBS ) $(ZMQ_LIBS )
640+ pivxd_LDADD += $(BOOST_LIBS ) $(BDB_LIBS ) $(MINIUPNPC_LIBS ) $(NATPMP_LIBS ) $(EVENT_PTHREADS_LIBS ) $(EVENT_LIBS ) $(ZMQ_LIBS ) $( BLS_LIBS )
633641
634642# pivx-cli binary #
635643pivx_cli_SOURCES = pivx-cli.cpp
@@ -650,7 +658,7 @@ pivx_cli_LDADD = \
650658 $(LIBRUSTZCASH ) \
651659 $(LIBZCASH_LIBS )
652660
653- pivx_cli_LDADD += $(BOOST_LIBS ) $(EVENT_LIBS )
661+ pivx_cli_LDADD += $(BOOST_LIBS ) $(EVENT_LIBS ) $( BLS_LIBS )
654662#
655663
656664# pivx-tx binary #
@@ -674,7 +682,7 @@ pivx_tx_LDADD = \
674682 $(LIBRUSTZCASH ) \
675683 $(LIBZCASH_LIBS )
676684
677- pivx_tx_LDADD += $(BOOST_LIBS )
685+ pivx_tx_LDADD += $(BOOST_LIBS ) $( BLS_LIBS )
678686#
679687
680688# bitcoinconsensus library #
@@ -702,7 +710,7 @@ if GLIBC_BACK_COMPAT
702710endif
703711
704712libbitcoinconsensus_la_LDFLAGS = $(AM_LDFLAGS ) -no-undefined $(RELDFLAGS )
705- libbitcoinconsensus_la_LIBADD = $(LIBSECP256K1 )
713+ libbitcoinconsensus_la_LIBADD = $(LIBSECP256K1 ) $( BLS_LIBS )
706714libbitcoinconsensus_la_CPPFLAGS = $(AM_CPPFLAGS ) -I$(builddir ) /obj -I$(srcdir ) /secp256k1/include -DBUILD_BITCOIN_INTERNAL
707715libbitcoinconsensus_la_CXXFLAGS = $(AM_CXXFLAGS ) $(PIE_FLAGS )
708716
@@ -758,6 +766,7 @@ $(top_srcdir)/$(subdir)/config/pivx-config.h.in: $(am__configure_deps)
758766clean-local :
759767 -$(MAKE ) -C secp256k1 clean
760768 -$(MAKE ) -C univalue clean
769+ -$(MAKE ) -C chiabls clean
761770 -rm -f leveldb/* /* .gcda leveldb/* /* .gcno leveldb/helpers/memenv/* .gcda leveldb/helpers/memenv/* .gcno
762771 -rm -f config.h
763772 -rm -rf test/__pycache__
0 commit comments