Skip to content

Commit

Permalink
build: WIP Automatic Builds
Browse files Browse the repository at this point in the history
  • Loading branch information
ahmedbodi committed Sep 12, 2024
1 parent 80ce530 commit a812463
Show file tree
Hide file tree
Showing 5 changed files with 188 additions and 66 deletions.
2 changes: 1 addition & 1 deletion depends/hosts/darwin.mk
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
OSX_MIN_VERSION=10.14
OSX_MIN_VERSION=10.12
OSX_SDK_VERSION=10.15.1
XCODE_VERSION=11.3.1
XCODE_BUILD_ID=11C505
Expand Down
186 changes: 150 additions & 36 deletions src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -111,42 +111,152 @@ LIBMW_CPPFLAGS = -I$(srcdir) -I$(srcdir)/libmw/include -I$(srcdir)/libmw/deps/cr
libmw_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(LIBMW_CPPFLAGS)
libmw_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
libmw_a_SOURCES = \
libmw/src/common/Logger.cpp \
libmw/src/crypto/Bulletproofs.cpp \
libmw/src/crypto/ConversionUtil.cpp \
libmw/src/crypto/MuSig.cpp \
libmw/src/crypto/Pedersen.cpp \
libmw/src/crypto/PublicKeys.cpp \
libmw/src/crypto/Schnorr.cpp \
libmw/src/crypto/SecretKeys.cpp \
libmw/src/db/CoinDB.cpp \
libmw/src/db/LeafDB.cpp \
libmw/src/db/MMRInfoDB.cpp \
libmw/src/file/File.cpp \
libmw/src/mmr/ILeafSet.cpp \
libmw/src/mmr/IMMR.cpp \
libmw/src/mmr/Index.cpp \
libmw/src/mmr/LeafSet.cpp \
libmw/src/mmr/LeafSetCache.cpp \
libmw/src/mmr/MemMMR.cpp \
libmw/src/mmr/MMRUtil.cpp \
libmw/src/mmr/PMMRCache.cpp \
libmw/src/mmr/PMMR.cpp \
libmw/src/mmr/PruneList.cpp \
libmw/src/models/block/Block.cpp \
libmw/src/models/crypto/Commitment.cpp \
libmw/src/models/crypto/PublicKey.cpp \
libmw/src/models/tx/Input.cpp \
libmw/src/models/tx/Kernel.cpp \
libmw/src/models/tx/Output.cpp \
libmw/src/models/tx/Transaction.cpp \
libmw/src/models/tx/TxBody.cpp \
libmw/src/node/BlockValidator.cpp \
libmw/src/node/BlockBuilder.cpp \
libmw/src/node/CoinsViewCache.cpp \
libmw/src/node/CoinsViewDB.cpp \
libmw/src/wallet/Keychain.cpp \
libmw/src/wallet/TxBuilder.cpp
libmw/deps/caches/include/caches/internal/cache_policy.hpp \
libmw/deps/caches/include/caches/internal/cache.hpp \
libmw/deps/caches/include/caches/internal/fifo_cache_policy.hpp \
libmw/deps/caches/include/caches/internal/lfu_cache_policy.hpp \
libmw/deps/caches/include/caches/internal/lru_cache_policy.hpp \
libmw/deps/caches/include/caches/Cache.h \
libmw/deps/ghc/include/ghc/filesystem.hpp \
libmw/deps/ghc/include/ghc/fs_fwd.hpp \
libmw/deps/ghc/include/ghc/fs_impl.hpp \
libmw/deps/ghc/include/ghc/fs_std_fwd.hpp \
libmw/deps/ghc/include/ghc/fs_std_impl.hpp \
libmw/deps/ghc/include/ghc/fs_std.hpp \
libmw/deps/mio/include/mio/mmap.hpp \
libmw/include/mw/common/BitSet.h \
libmw/include/mw/common/Lock.h \
libmw/include/mw/common/Logger.h \
libmw/include/mw/common/Macros.h \
libmw/include/mw/common/Traits.h \
libmw/include/mw/consensus/Aggregation.h \
libmw/include/mw/consensus/KernelSumValidator.h \
libmw/include/mw/consensus/Params.h \
libmw/include/mw/consensus/StealthSumValidator.h \
libmw/include/mw/consensus/Weight.h \
libmw/include/mw/crypto/Blinds.h \
libmw/include/mw/crypto/Bulletproofs.h \
libmw/include/mw/crypto/Keys.h \
libmw/include/mw/crypto/MuSig.h \
libmw/include/mw/crypto/Pedersen.h \
libmw/include/mw/crypto/PublicKeys.h \
libmw/include/mw/crypto/Schnorr.h \
libmw/include/mw/crypto/SecretKeys.h \
libmw/include/mw/db/CoinDB.h \
libmw/include/mw/db/LeafDB.h \
libmw/include/mw/db/MMRInfoDB.h \
libmw/include/mw/exceptions/CryptoException.h \
libmw/include/mw/exceptions/DatabaseException.h \
libmw/include/mw/exceptions/DeserializationException.h \
libmw/include/mw/exceptions/FileException.h \
libmw/include/mw/exceptions/InsufficientFundsException.h \
libmw/include/mw/exceptions/LTCException.h \
libmw/include/mw/exceptions/NotFoundException.h \
libmw/include/mw/exceptions/ValidationException.h \
libmw/include/mw/file/AppendOnlyFile.h \
libmw/include/mw/file/File.h \
libmw/include/mw/file/FilePath.h \
libmw/include/mw/file/MemMap.h \
libmw/include/mw/interfaces/db_interface.h \
libmw/include/mw/mmr/Index.h \
libmw/include/mw/mmr/Leaf.h \
libmw/include/mw/mmr/LeafIndex.h \
libmw/include/mw/mmr/LeafSet.h \
libmw/include/mw/mmr/MMR.h \
libmw/include/mw/mmr/MMRInfo.h \
libmw/include/mw/mmr/MMRUtil.h \
libmw/include/mw/mmr/PruneList.h \
libmw/include/mw/mmr/Segment.h \
libmw/include/mw/models/block/Block.h \
libmw/include/mw/models/block/BlockUndo.h \
libmw/include/mw/models/block/Header.h \
libmw/include/mw/models/crypto/BigInteger.h \
libmw/include/mw/models/crypto/BlindingFactor.h \
libmw/include/mw/models/crypto/Commitment.h \
libmw/include/mw/models/crypto/Hash.h \
libmw/include/mw/models/crypto/ProofData.h \
libmw/include/mw/models/crypto/ProofMessage.h \
libmw/include/mw/models/crypto/PublicKey.h \
libmw/include/mw/models/crypto/RangeProof.h \
libmw/include/mw/models/crypto/RewoundProof.h \
libmw/include/mw/models/crypto/SecretKey.h \
libmw/include/mw/models/crypto/Signature.h \
libmw/include/mw/models/crypto/SignedMessage.h \
libmw/include/mw/models/tx/Input.h \
libmw/include/mw/models/tx/Kernel.h \
libmw/include/mw/models/tx/Output.h \
libmw/include/mw/models/tx/OutputMask.h \
libmw/include/mw/models/tx/PegInCoin.h \
libmw/include/mw/models/tx/PegOutCoin.h \
libmw/include/mw/models/tx/Transaction.h \
libmw/include/mw/models/tx/TxBody.h \
libmw/include/mw/models/tx/UTXO.h \
libmw/include/mw/models/wallet/Coin.h \
libmw/include/mw/models/wallet/KeyChainPath.h \
libmw/include/mw/models/wallet/Recipient.h \
libmw/include/mw/models/wallet/StealthAddress.h \
libmw/include/mw/node/BlockBuilder.h \
libmw/include/mw/node/BlockValidator.h \
libmw/include/mw/node/CoinsView.h \
libmw/include/mw/util/BitUtil.h \
libmw/include/mw/util/StringUtil.h \
libmw/include/mw/util/VectorUtil.h \
libmw/include/mw/wallet/Keychain.h \
libmw/include/mw/wallet/TxBuilder.h \
libmw/src/common/Logger.cpp \
libmw/src/crypto/Bulletproofs.cpp \
libmw/src/crypto/Context.h \
libmw/src/crypto/ConversionUtil.cpp \
libmw/src/crypto/ConversionUtil.h \
libmw/src/crypto/Hasher.cpp \
libmw/src/crypto/MuSig.cpp \
libmw/src/crypto/Pedersen.cpp \
libmw/src/crypto/PublicKeys.cpp \
libmw/src/crypto/Schnorr.cpp \
libmw/src/crypto/secp256k1-zkp.h \
libmw/src/crypto/SecretKeys.cpp \
libmw/src/db/common/Database.h \
libmw/src/db/common/DBEntry.h \
libmw/src/db/common/DBTable.h \
libmw/src/db/common/DBTransaction.h \
libmw/src/db/common/OrderedMultimap.h \
libmw/src/db/common/SerializableVec.h \
libmw/src/db/CoinDB.cpp \
libmw/src/db/LeafDB.cpp \
libmw/src/db/MMRInfoDB.cpp \
libmw/src/file/File.cpp \
libmw/src/mmr/ILeafSet.cpp \
libmw/src/mmr/IMMR.cpp \
libmw/src/mmr/Index.cpp \
libmw/src/mmr/LeafSet.cpp \
libmw/src/mmr/LeafSetCache.cpp \
libmw/src/mmr/MemMMR.cpp \
libmw/src/mmr/MMRUtil.cpp \
libmw/src/mmr/PMMRCache.cpp \
libmw/src/mmr/PMMR.cpp \
libmw/src/mmr/PruneList.cpp \
libmw/src/mmr/Segment.cpp \
libmw/src/models/block/Block.cpp \
libmw/src/models/crypto/Commitment.cpp \
libmw/src/models/crypto/PublicKey.cpp \
libmw/src/models/tx/Input.cpp \
libmw/src/models/tx/Kernel.cpp \
libmw/src/models/tx/Output.cpp \
libmw/src/models/tx/Transaction.cpp \
libmw/src/models/tx/TxBody.cpp \
libmw/src/node/BlockValidator.cpp \
libmw/src/node/BlockBuilder.cpp \
libmw/src/node/CoinActions.h \
libmw/src/node/CoinsViewCache.cpp \
libmw/src/node/CoinsViewDB.cpp \
libmw/src/wallet/Keychain.cpp \
libmw/src/wallet/TxBuilder.cpp \
crypto/blake3/blake3.c \
crypto/blake3/blake3.h \
crypto/blake3/blake3_dispatch.c \
crypto/blake3/blake3_impl.h \
crypto/blake3/blake3_portable.c


.PHONY: FORCE check-symbols check-security
# bitcoin core #
Expand Down Expand Up @@ -178,6 +288,7 @@ BITCOIN_CORE_H = \
consensus/consensus.h \
consensus/tx_check.h \
consensus/tx_verify.h \
libmw/include/mw/crypto/Hasher.h \
core_io.h \
core_memusage.h \
cuckoocache.h \
Expand Down Expand Up @@ -315,6 +426,8 @@ BITCOIN_CORE_H = \
wallet/scriptpubkeyman.h \
wallet/sqlite.h \
wallet/txassembler.h \
wallet/txrecord.h \
wallet/txlist.h \
wallet/wallet.h \
wallet/walletdb.h \
wallet/wallettool.h \
Expand Down Expand Up @@ -454,6 +567,7 @@ libbitcoin_wallet_tool_a_SOURCES = \
$(BITCOIN_CORE_H)

# crypto primitives library
crypto_libbitcoin_crypto_base_a_CFLAGS = $(AM_CFLAGS)
crypto_libbitcoin_crypto_base_a_CPPFLAGS = $(AM_CPPFLAGS) $(SSL_CFLAGS) $(BITCOIN_INCLUDES)
crypto_libbitcoin_crypto_base_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
crypto_libbitcoin_crypto_base_a_SOURCES = \
Expand Down
56 changes: 32 additions & 24 deletions src/Makefile.test.include
Original file line number Diff line number Diff line change
Expand Up @@ -163,11 +163,11 @@ FUZZ_TARGETS = \
if ENABLE_FUZZ
noinst_PROGRAMS += $(FUZZ_TARGETS:=)
else
bin_PROGRAMS += test/test_fairbrix
bin_PROGRAMS += test/test_catcoin
endif

TEST_SRCDIR = test
TEST_BINARY=test/test_fairbrix$(EXEEXT)
TEST_BINARY=test/test_catcoin$(EXEEXT)

JSON_TEST_FILES = \
test/data/script_tests.json \
Expand Down Expand Up @@ -313,7 +313,15 @@ endif

BITCOIN_TEST_SUITE += \
libmw/test/framework/src/TxBuilder.cpp \
libmw/test/framework/src/models/Tx.cpp
libmw/test/framework/src/models/Tx.cpp \
libmw/test/framework/include/test_framework/models/MinedBlock.h \
libmw/test/framework/include/test_framework/models/Tx.h \
libmw/test/framework/include/test_framework/models/TxInput.h \
libmw/test/framework/include/test_framework/Deserializer.h \
libmw/test/framework/include/test_framework/Miner.h \
libmw/test/framework/include/test_framework/TestLeafSet.h \
libmw/test/framework/include/test_framework/TestMWEB.h \
libmw/test/framework/include/test_framework/TxBuilder.h

BITCOIN_TESTS += \
libmw/test/tests/consensus/Test_Aggregation.cpp \
Expand All @@ -332,6 +340,7 @@ BITCOIN_TESTS += \
libmw/test/tests/mmr/Test_MMR.cpp \
libmw/test/tests/mmr/Test_MMRUtil.cpp \
libmw/test/tests/mmr/Test_PruneList.cpp \
libmw/test/tests/mmr/Test_Segment.cpp \
libmw/test/tests/models/block/Test_Block.cpp \
libmw/test/tests/models/block/Test_Header.cpp \
libmw/test/tests/models/crypto/Test_BigInteger.cpp \
Expand All @@ -345,27 +354,26 @@ BITCOIN_TESTS += \
libmw/test/tests/models/tx/Test_UTXO.cpp \
libmw/test/tests/node/Test_BlockBuilder.cpp \
libmw/test/tests/node/Test_BlockValidator.cpp \
libmw/test/tests/node/Test_CoinsView.cpp \
libmw/test/tests/node/Test_MineChain.cpp \
libmw/test/tests/node/Test_Reorg.cpp \
libmw/test/tests/wallet/Test_Keychain.cpp

test_test_fairbrix_SOURCES = $(BITCOIN_TEST_SUITE) $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES)
test_test_fairbrix_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(TESTDEFS) $(EVENT_CFLAGS) $(LIBMW_CPPFLAGS) -Ilibmw/test/framework/include
test_test_fairbrix_LDADD = $(LIBTEST_UTIL)
test_test_catcoin_SOURCES = $(BITCOIN_TEST_SUITE) $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES)
test_test_catcoin_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(TESTDEFS) $(EVENT_CFLAGS) $(LIBMW_CPPFLAGS) -Ilibmw/test/framework/include
test_test_catcoin_LDADD = $(LIBTEST_UTIL)
if ENABLE_WALLET
test_test_fairbrix_LDADD += $(LIBBITCOIN_WALLET)
test_test_catcoin_LDADD += $(LIBBITCOIN_WALLET)
endif

test_test_fairbrix_LDADD += $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) \
test_test_catcoin_LDADD += $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) \
$(LIBLEVELDB) $(LIBLEVELDB_SSE42) $(LIBMEMENV) $(LIBMW) $(MWEB_LIBS) $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSECP256K1) $(EVENT_LIBS) $(EVENT_PTHREADS_LIBS)
test_test_fairbrix_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
test_test_catcoin_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)

test_test_fairbrix_LDADD += $(BDB_LIBS) $(MINIUPNPC_LIBS) $(CRYPTO_LIBS) $(SQLITE_LIBS)
test_test_fairbrix_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) $(PTHREAD_FLAGS) -static
test_test_catcoin_LDADD += $(BDB_LIBS) $(MINIUPNPC_LIBS) $(CRYPTO_LIBS) $(SQLITE_LIBS)
test_test_catcoin_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) $(PTHREAD_FLAGS) -static

if ENABLE_ZMQ
test_test_fairbrix_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
test_test_catcoin_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
endif

if ENABLE_FUZZ
Expand Down Expand Up @@ -1310,29 +1318,29 @@ test_fuzz_versionbits_SOURCES = test/fuzz/versionbits.cpp

endif # ENABLE_FUZZ

nodist_test_test_fairbrix_SOURCES = $(GENERATED_TEST_FILES)
nodist_test_test_catcoin_SOURCES = $(GENERATED_TEST_FILES)

$(BITCOIN_TESTS): $(GENERATED_TEST_FILES)

CLEAN_LITECOIN_TEST = test/*.gcda test/*.gcno test/fuzz/*.gcda test/fuzz/*.gcno test/util/*.gcda test/util/*.gcno $(GENERATED_TEST_FILES) $(BITCOIN_TESTS:=.log)
CLEAN_CATCOIN_TEST = test/*.gcda test/*.gcno test/fuzz/*.gcda test/fuzz/*.gcno test/util/*.gcda test/util/*.gcno $(GENERATED_TEST_FILES) $(BITCOIN_TESTS:=.log)

CLEANFILES += $(CLEAN_LITECOIN_TEST)
CLEANFILES += $(CLEAN_CATCOIN_TEST)

if TARGET_WINDOWS
fairbrix_test: $(TEST_BINARY)
catcoin_test: $(TEST_BINARY)
else
if ENABLE_BENCH
fairbrix_test: $(TEST_BINARY) $(BENCH_BINARY)
catcoin_test: $(TEST_BINARY) $(BENCH_BINARY)
else
fairbrix_test: $(TEST_BINARY)
catcoin_test: $(TEST_BINARY)
endif
endif

fairbrix_test_check: $(TEST_BINARY) FORCE
catcoin_test_check: $(TEST_BINARY) FORCE
$(MAKE) check-TESTS TESTS=$^

fairbrix_test_clean : FORCE
rm -f $(CLEAN_LITECOIN_TEST) $(test_test_fairbrix_OBJECTS) $(TEST_BINARY)
catcoin_test_clean : FORCE
rm -f $(CLEAN_CATCOIN_TEST) $(test_test_catcoin_OBJECTS) $(TEST_BINARY)

check-local: $(BITCOIN_TESTS:.cpp=.cpp.test)
if BUILD_BITCOIN_TX
Expand All @@ -1344,11 +1352,11 @@ endif
if TARGET_WINDOWS
else
if ENABLE_BENCH
@echo "Running bench/bench_fairbrix ..."
@echo "Running bench/bench_catcoin ..."
$(BENCH_BINARY) > /dev/null
endif
endif
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C secp256k1 check
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C secp256k1-zkp check
if EMBEDDED_UNIVALUE
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C univalue check
endif
Expand Down
5 changes: 5 additions & 0 deletions src/crypto/blake3/blake3_dispatch.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@

#include "blake3_impl.h"

#define BLAKE3_NO_AVX512 1
#define BLAKE3_NO_AVX2 1
#define BLAKE3_NO_SSE41 1
#define BLAKE3_NO_SSE2 1

#if defined(IS_X86)
#if defined(_MSC_VER)
#include <intrin.h>
Expand Down
5 changes: 0 additions & 5 deletions src/secp256k1-zkp/src/modules/aggsig/Makefile.am.include
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
include_HEADERS += include/secp256k1_aggsig.h
noinst_HEADERS += src/modules/aggsig/main_impl.h
noinst_HEADERS += src/modules/aggsig/tests_impl.h
if USE_BENCHMARK
noinst_PROGRAMS += bench_aggsig
bench_aggsig_SOURCES = src/bench_aggsig.c
bench_aggsig_LDADD = libsecp256k1.la $(SECP_LIBS) $(COMMON_LIB)
endif

0 comments on commit a812463

Please sign in to comment.