mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 10:38:42 +01:00
901336eee7
705ce7ed8c Merge bitcoin-core/secp256k1#1129: ElligatorSwift + integrated x-only DH 0702ecb061 Merge bitcoin-core/secp256k1#1338: Drop no longer needed `#include "../include/secp256k1.h"` 90e360acc2 Add doc/ellswift.md with ElligatorSwift explanation 4f091847c2 Add ellswift testing to CI 1bcea8c57f Add benchmarks for ellswift module 2d1d41acf8 Add ctime tests for ellswift module df633cdeba Add _prefix and _bip324 ellswift_xdh hash functions 9695deb351 Add tests for ellswift module c47917bbd6 Add ellswift module implementing ElligatorSwift 79e5b2a8b8 Add functions to test if X coordinate is valid a597a5a9ce Add benchmark for key generation 30574f22ea Merge bitcoin-core/secp256k1#1349: Normalize ge produced from secp256k1_pubkey_load 45c5ca7675 Merge bitcoin-core/secp256k1#1350: scalar: introduce and use `secp256k1_{read,write}_be64` helpers f1652528be Normalize ge produced from secp256k1_pubkey_load 7067ee54b4 tests: add tests for `secp256k1_{read,write}_be64` 740528caad scalar: use newly introduced `secp256k1_{read,write}_be64` helpers (4x64 impl.) 67214f5f7d Merge bitcoin-core/secp256k1#1339: scalar: refactor: use `secp256k1_{read,write}_be32` helpers cb1a59275c Merge bitcoin-core/secp256k1#1341: docs: correct `pubkey` param descriptions for `secp256k1_keypair_{xonly_,}pub` f3644287b1 docs: correct `pubkey` param descriptions for `secp256k1_keypair_{xonly_,}pub` 887183e7de scalar: use `secp256k1_{read,write}_be32` helpers (4x64 impl.) 52b84238de scalar: use `secp256k1_{read,write}_be32` helpers (8x32 impl.) e449af6872 Drop no longer needed `#include "../include/secp256k1.h"` 60556c9f49 Merge bitcoin-core/secp256k1#1337: ci: Fix error D8037 in `cl.exe` (attempt 2) db29bf220c ci: Remove quirk that runs dummy command after wineserver c7db4942b3 ci: Fix error D8037 in `cl.exe` 7dae115861 Revert "ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe" bf29f8d0a6 Merge bitcoin-core/secp256k1#1334: fix input range comment for `secp256k1_fe_add_int` 605e07e365 fix input range comment for `secp256k1_fe_add_int` debf3e5c08 Merge bitcoin-core/secp256k1#1330: refactor: take use of `secp256k1_scalar_{zero,one}` constants d75dc59b58 Merge bitcoin-core/secp256k1#1333: test: Warn if both `VERIFY` and `COVERAGE` are defined ade5b36701 tests: add checks for scalar constants `secp256k1_scalar_{zero,one}` e83801f5db test: Warn if both `VERIFY` and `COVERAGE` are defined 654246c635 refactor: take use of `secp256k1_scalar_{zero,one}` constants 908e02d596 Merge bitcoin-core/secp256k1#1328: build: Bump MSVC warning level up to W3 1549db0ca5 build: Level up MSVC warnings 20a5da5fb1 Merge bitcoin-core/secp256k1#1310: Refine release process ad84603297 release process: clarify change log updates 6348bc7eee release process: fix process for maintenance release 79fa50b082 release process: mention targeted release schedule 165206789b release process: add sanity checks 09df0bfb23 Merge bitcoin-core/secp256k1#1327: ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe 27504d5c94 ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe d373a7215b Merge bitcoin-core/secp256k1#1316: Do not invoke fe_is_zero on failed set_b32_limit 6433175ffe Do not invoke fe_is_zero on failed set_b32_limit 5f7903c73c Merge bitcoin-core/secp256k1#1318: build: Enable -DVERIFY for precomputation binaries e9e4526a4e Merge bitcoin-core/secp256k1#1317: Make fe_cmov take max of magnitudes 5768b50229 build: Enable -DVERIFY for precomputation binaries 31b4bbee1e Make fe_cmov take max of magnitudes 83186db34a Merge bitcoin-core/secp256k1#1314: release cleanup: bump version after 0.3.2 95448ef2f8 release cleanup: bump version after 0.3.2 acf5c55ae6 Merge bitcoin-core/secp256k1#1312: release: Prepare for 0.3.2 d490ca2046 release: Prepare for 0.3.2 3e3d125b83 Merge bitcoin-core/secp256k1#1309: changelog: Catch up e8295d07ab Merge bitcoin-core/secp256k1#1311: Revert "Remove unused scratch space from API" 697e1ccf4a changelog: Catch up 3ad1027a40 Revert "Remove unused scratch space from API" 76b43f3443 changelog: Add entry for #1303 7d4f86d242 Merge bitcoin-core/secp256k1#1307: Mark more assembly outputs as early clobber b54a0672ef Merge bitcoin-core/secp256k1#1304: build: Rename arm to arm32 and check if it's really supported c6bb29b303 build: Rename `64bit` to `x86_64` 8c9ae37a5a Add release note 03246457a8 autotools: Add `SECP_ARM32_ASM_CHECK` macro ed4ba238e2 cmake: Add `check_arm32_assembly` function 350b4bd6e6 Mark stack variables as early clobber for technical correctness 0c729ba70d Bugfix: mark outputs as early clobber in scalar x86_64 asm 3353d3c753 Merge bitcoin-core/secp256k1#1207: Split fe_set_b32 into reducing and normalizing variants 5b32602295 Split fe_set_b32 into reducing and normalizing variants 006ddc1f42 Merge bitcoin-core/secp256k1#1306: build: Make tests work with external default callbacks 1907f0f166 build: Make tests work with external default callbacks fb3a806365 Merge bitcoin-core/secp256k1#1133: schnorrsig: Add test vectors for variable-length messages cd54ac7c1c schnorrsig: Improve docs of schnorrsig_sign_custom 28687b0312 schnorrsig: Add BIP340 varlen test vectors 97a98bed1e schnorrsig: Refactor test vector code to allow varlen messages ab5a917128 Merge bitcoin-core/secp256k1#1303: ct: Use more volatile 9eb6934f69 Merge bitcoin-core/secp256k1#1305: Remove unused scratch space from API 073d98a076 Merge bitcoin-core/secp256k1#1292: refactor: Make 64-bit shift explicit 17fa21733a ct: Be cautious and use volatile trick in more "conditional" paths 5fb336f9ce ct: Use volatile trick in scalar_cond_negate 712e7f8722 Remove unused scratch space from API 54d34b6c24 Merge bitcoin-core/secp256k1#1300: Avoid normalize conditional on VERIFY c63ec88ebf Merge bitcoin-core/secp256k1#1066: Abstract out and merge all the magnitude/normalized logic 7fc642fa25 Simplify secp256k1_fe_{impl_,}verify 4e176ad5b9 Abstract out verify logic for fe_is_square_var 4371f98346 Abstract out verify logic for fe_add_int 89e324c6b9 Abstract out verify logic for fe_half 283cd80ab4 Abstract out verify logic for fe_get_bounds d5aa2f0358 Abstract out verify logic for fe_inv{,_var} 3167646072 Abstract out verify logic for fe_from_storage 76d31e5047 Abstract out verify logic for fe_to_storage 1e6894bdd7 Abstract out verify logic for fe_cmov be82bd8e03 Improve comments/checks for fe_sqrt 6ab35082ef Abstract out verify logic for fe_sqr 4c25f6efbd Abstract out verify logic for fe_mul e179e651cb Abstract out verify logic for fe_add 7e7ad7ff57 Abstract out verify logic for fe_mul_int 65d82a3445 Abstract out verify logic for fe_negate 144670893e Abstract out verify logic for fe_get_b32 f7a7666aeb Abstract out verify logic for fe_set_b32 ce4d2093e8 Abstract out verify logic for fe_cmp_var 7d7d43c6dd Improve comments/check for fe_equal{,_var} c5e788d672 Abstract out verify logic for fe_is_odd d3f3fe8616 Abstract out verify logic for fe_is_zero c701d9a471 Abstract out verify logic for fe_clear 19a2bfeeea Abstract out verify logic for fe_set_int 864f9db491 Abstract out verify logic for fe_normalizes_to_zero{,_var} 6c31371120 Abstract out verify logic for fe_normalize_var e28b51f522 Abstract out verify logic for fe_normalize_weak b6b6f9cb97 Abstract out verify logic for fe_normalize 7fa5195559 Bugfix: correct SECP256K1_FE_CONST mag/norm fields e5cf4bf3ff build: Rename `arm` to `arm32` b29566c51b Merge magnitude/normalized fields, move/improve comments 97c63b9039 Avoid normalize conditional on VERIFY 341cc19726 Merge bitcoin-core/secp256k1#1299: Infinity handling: ecmult_const(infinity) works, and group verification bbc834467c Avoid secp256k1_ge_set_gej_zinv with uninitialized z 0a2e0b2ae4 Make secp256k1_{fe,ge,gej}_verify work as no-op if non-VERIFY f20266722a Add invariant checking to group elements a18821d5b1 Always initialize output coordinates in secp256k1_ge_set_gej 3086cb90ac Expose secp256k1_fe_verify to other modules a0e696fd4d Make secp256k1_ecmult_const handle infinity 24c768ae09 Merge bitcoin-core/secp256k1#1301: Avoid using bench_verify_data as bench_sign_data; merge them 2e65f1fdbc Avoid using bench_verify_data as bench_sign_data; merge them 1cf15ebd94 Merge bitcoin-core/secp256k1#1296: docs: complete interface description for `secp256k1_schnorrsig_sign_custom` 149c41cee1 docs: complete interface description for `secp256k1_schnorrsig_sign_custom` f30c74866b Merge bitcoin-core/secp256k1#1270: cmake: Fix library ABI versioning d1e48e5474 refactor: Make 64-bit shift explicit b2e29e43d0 ci: Treat all compiler warnings as errors in "Windows (VS 2022)" task 3c81838856 Merge bitcoin-core/secp256k1#1289: cmake: Use full signature of `add_test()` command 755629bc03 cmake: Use full signature of `add_test()` command bef448f9af cmake: Fix library ABI versioning 4b0f711d46 Merge bitcoin-core/secp256k1#1277: autotools: Clean up after adding Wycheproof 222ecaf661 Merge bitcoin-core/secp256k1#1284: cmake: Some improvements using `PROJECT_IS_TOP_LEVEL` variable 71f746c057 cmake: Include `include` directory for subtree builds 024a409484 Merge bitcoin-core/secp256k1#1240: cmake: Improve and document compiler flag checks a8d059f76c cmake, doc: Document compiler flags 6ece1507cb cmake, refactor: Rename `try_add_compile_option` to `try_append_cflags` 19516ed3e9 cmake: Use `add_compile_options()` in `try_add_compile_option()` 4b84f4bf0f Merge bitcoin-core/secp256k1#1239: cmake: Bugfix and other improvements after bumping CMake up to 3.13 596b336ff6 Merge bitcoin-core/secp256k1#1234: cmake: Add dev-mode 6b7e5b717d Merge bitcoin-core/secp256k1#1275: build: Fix C4005 "macro redefinition" MSVC warnings in examples 1c89536718 Merge bitcoin-core/secp256k1#1286: tests: remove extra semicolon in macro c4062d6b5d debug: move helper for printing buffers into util.h 7e977b3c50 autotools: Take VPATH builds into account when generating testvectors 2418d3260a autotools: Create src/wycheproof dir before creating file in it 8764034ed5 autotools: Make all "pregenerated" targets .PHONY e1b9ce8811 autotools: Use same conventions for all pregenerated files 3858bad2c6 tests: remove extra semicolon in macro 1f33bb2b1c Merge bitcoin-core/secp256k1#1205: field: Improve docs +tests of secp256k1_fe_set_b32 162da73e9a tests: Add debug helper for printing buffers e9fd3dff76 field: Improve docs and tests of secp256k1_fe_set_b32 f6bef03c0a Merge bitcoin-core/secp256k1#1283: Get rid of secp256k1_fe_const_b 5431b9decd cmake: Make `SECP256K1_INSTALL` default depend on `PROJECT_IS_TOP_LEVEL` 5ec1333d4f Merge bitcoin-core/secp256k1#1285: bench: Make sys/time.h a system include 68b16a1662 bench: Make sys/time.h a system include 162608cc98 cmake: Emulate `PROJECT_IS_TOP_LEVEL` for CMake<3.21 69e1ec0331 Get rid of secp256k1_fe_const_b ce5ba9e24d gitignore: Add CMakeUserPresets.json 0a446a312f cmake: Add dev-mode CMake preset a6f4bcf6e1 Merge bitcoin-core/secp256k1#1231: Move `SECP256K1_INLINE` macro definition out from `include/secp256k1.h` a273d74b2e cmake: Improve version comparison 6a58b483ef cmake: Use `if(... IN_LIST ...)` command 2445808c02 cmake: Use dedicated `GENERATOR_IS_MULTI_CONFIG` property 9f8703ef17 cmake: Use dedicated `CMAKE_HOST_APPLE` variable 8c2017035a cmake: Use recommended `add_compile_definitions` command 04d4cc071a cmake: Add `DESCRIPTION` and `HOMEPAGE_URL` options to `project` command 8a8b6536ef cmake: Use `SameMinorVersion` compatibility mode 5b0444a3b5 Merge bitcoin-core/secp256k1#1263: cmake: Make installation optional 47ac3d63cd cmake: Make installation optional 2e035af251 Merge bitcoin-core/secp256k1#1273: build: Make `SECP_VALGRIND_CHECK` preserve `CPPFLAGS` 5be353d658 Merge bitcoin-core/secp256k1#1279: tests: lint wycheproof's python script 08f4b1632d autotools: Move code around to tidy Makefile 04bf3f6778 Merge bitcoin-core/secp256k1#1230: Build: allow static or shared but not both 9ce9984f32 Merge bitcoin-core/secp256k1#1265: Remove bits argument from secp256k1_wnaf_const{_xonly} 566faa17d3 Merge bitcoin-core/secp256k1#1267: doc: clarify process for patch releases ef49a11d29 build: allow static or shared but not both 35ada3b954 tests: lint wycheproof's python script 529b54d922 autotools: Move Wycheproof header from EXTRA_DIST to noinst_HEADERS dc0657c762 build: Fix C4005 "macro redefinition" MSVC warnings in examples 1ecb94ebe9 build: Make `SECP_VALGRIND_CHECK` preserve `CPPFLAGS` 1b6fb5593c doc: clarify process for patch releases a575339c02 Remove bits argument from secp256k1_wnaf_const (always 256) 36b0adf1b9 build: remove warning until it's reproducible 8e142ca410 Move `SECP256K1_INLINE` macro definition out from `include/secp256k1.h` 77445898a5 Remove `SECP256K1_INLINE` usage from examples ca92a35d01 field: Simplify code in secp256k1_fe_set_b32 d93f62e369 field: Verify field element even after secp256k1_fe_set_b32 fails git-subtree-dir: src/secp256k1 git-subtree-split: 705ce7ed8c1557a31e1bfc99be06082c5098d9f5
353 lines
13 KiB
Makefile
353 lines
13 KiB
Makefile
# Copyright (c) 2013-2020 The Bitcoin Core developers
|
|
# Distributed under the MIT software license, see the accompanying
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
# Pattern rule to print variables, e.g. make print-top_srcdir
|
|
print-%: FORCE
|
|
@echo '$*'='$($*)'
|
|
|
|
ACLOCAL_AMFLAGS = -I build-aux/m4
|
|
SUBDIRS = src
|
|
if ENABLE_MAN
|
|
SUBDIRS += doc/man
|
|
endif
|
|
.PHONY: deploy FORCE
|
|
.INTERMEDIATE: $(COVERAGE_INFO)
|
|
|
|
export PYTHONPATH
|
|
|
|
if BUILD_BITCOIN_LIBS
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
pkgconfig_DATA = libbitcoinconsensus.pc
|
|
endif
|
|
|
|
BITCOIND_BIN=$(top_builddir)/src/$(BITCOIN_DAEMON_NAME)$(EXEEXT)
|
|
BITCOIN_QT_BIN=$(top_builddir)/src/qt/$(BITCOIN_GUI_NAME)$(EXEEXT)
|
|
BITCOIN_TEST_BIN=$(top_builddir)/src/test/$(BITCOIN_TEST_NAME)$(EXEEXT)
|
|
BITCOIN_CLI_BIN=$(top_builddir)/src/$(BITCOIN_CLI_NAME)$(EXEEXT)
|
|
BITCOIN_TX_BIN=$(top_builddir)/src/$(BITCOIN_TX_NAME)$(EXEEXT)
|
|
BITCOIN_UTIL_BIN=$(top_builddir)/src/$(BITCOIN_UTIL_NAME)$(EXEEXT)
|
|
BITCOIN_WALLET_BIN=$(top_builddir)/src/$(BITCOIN_WALLET_TOOL_NAME)$(EXEEXT)
|
|
BITCOIN_NODE_BIN=$(top_builddir)/src/$(BITCOIN_MP_NODE_NAME)$(EXEEXT)
|
|
BITCOIN_GUI_BIN=$(top_builddir)/src/$(BITCOIN_MP_GUI_NAME)$(EXEEXT)
|
|
BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win64-setup$(EXEEXT)
|
|
|
|
empty :=
|
|
space := $(empty) $(empty)
|
|
|
|
OSX_APP=Bitcoin-Qt.app
|
|
OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME))
|
|
OSX_DMG = $(OSX_VOLNAME).dmg
|
|
OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
|
|
OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns
|
|
OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed
|
|
|
|
DIST_CONTRIB = \
|
|
$(top_srcdir)/test/sanitizer_suppressions/lsan \
|
|
$(top_srcdir)/test/sanitizer_suppressions/tsan \
|
|
$(top_srcdir)/test/sanitizer_suppressions/ubsan \
|
|
$(top_srcdir)/contrib/linearize/linearize-data.py \
|
|
$(top_srcdir)/contrib/linearize/linearize-hashes.py \
|
|
$(top_srcdir)/contrib/signet/miner
|
|
|
|
DIST_SHARE = \
|
|
$(top_srcdir)/share/genbuild.sh \
|
|
$(top_srcdir)/share/rpcauth
|
|
|
|
BIN_CHECKS=$(top_srcdir)/contrib/devtools/symbol-check.py \
|
|
$(top_srcdir)/contrib/devtools/security-check.py \
|
|
$(top_srcdir)/contrib/devtools/utils.py
|
|
|
|
WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \
|
|
$(top_srcdir)/share/pixmaps/nsis-header.bmp \
|
|
$(top_srcdir)/share/pixmaps/nsis-wizard.bmp \
|
|
$(top_srcdir)/doc/README_windows.txt
|
|
|
|
OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_INSTALLER_ICONS) \
|
|
$(top_srcdir)/contrib/macdeploy/detached-sig-create.sh
|
|
|
|
COVERAGE_INFO = $(COV_TOOL_WRAPPER) baseline.info \
|
|
test_bitcoin_filtered.info total_coverage.info \
|
|
baseline_filtered.info functional_test.info functional_test_filtered.info \
|
|
test_bitcoin_coverage.info test_bitcoin.info fuzz.info fuzz_filtered.info fuzz_coverage.info
|
|
|
|
dist-hook:
|
|
-$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf -
|
|
|
|
if TARGET_WINDOWS
|
|
$(BITCOIN_WIN_INSTALLER): all-recursive
|
|
$(MKDIR_P) $(top_builddir)/release
|
|
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release
|
|
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $(top_builddir)/release
|
|
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_TEST_BIN) $(top_builddir)/release
|
|
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_CLI_BIN) $(top_builddir)/release
|
|
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_TX_BIN) $(top_builddir)/release
|
|
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_WALLET_BIN) $(top_builddir)/release
|
|
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_UTIL_BIN) $(top_builddir)/release
|
|
@test -f $(MAKENSIS) && echo 'OutFile "$@"' | cat $(top_builddir)/share/setup.nsi - | $(MAKENSIS) -V2 - || \
|
|
echo error: could not build $@
|
|
@echo built $@
|
|
|
|
deploy: $(BITCOIN_WIN_INSTALLER)
|
|
endif
|
|
|
|
if TARGET_DARWIN
|
|
$(OSX_APP)/Contents/PkgInfo:
|
|
$(MKDIR_P) $(@D)
|
|
@echo "APPL????" > $@
|
|
|
|
$(OSX_APP)/Contents/Resources/empty.lproj:
|
|
$(MKDIR_P) $(@D)
|
|
@touch $@
|
|
|
|
$(OSX_APP)/Contents/Info.plist: $(OSX_PLIST)
|
|
$(MKDIR_P) $(@D)
|
|
$(INSTALL_DATA) $< $@
|
|
|
|
$(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS)
|
|
$(MKDIR_P) $(@D)
|
|
$(INSTALL_DATA) $< $@
|
|
|
|
$(OSX_APP)/Contents/MacOS/Bitcoin-Qt: all-recursive
|
|
$(MKDIR_P) $(@D)
|
|
STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $@
|
|
|
|
$(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings:
|
|
$(MKDIR_P) $(@D)
|
|
echo '{ CFBundleDisplayName = "$(PACKAGE_NAME)"; CFBundleName = "$(PACKAGE_NAME)"; }' > $@
|
|
|
|
OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \
|
|
$(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \
|
|
$(OSX_APP)/Contents/MacOS/Bitcoin-Qt $(OSX_APP)/Contents/Resources/Base.lproj/InfoPlist.strings
|
|
|
|
osx_volname:
|
|
echo $(OSX_VOLNAME) >$@
|
|
|
|
if BUILD_DARWIN
|
|
$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING)
|
|
$(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) $(OSX_VOLNAME) -translations-dir=$(QT_TRANSLATION_DIR) -dmg
|
|
|
|
deploydir: $(OSX_DMG)
|
|
else !BUILD_DARWIN
|
|
APP_DIST_DIR=$(top_builddir)/dist
|
|
|
|
$(OSX_DMG): deploydir
|
|
$(XORRISOFS) -D -l -V "$(OSX_VOLNAME)" -no-pad -r -dir-mode 0755 -o $@ $(APP_DIST_DIR) -- $(if $(SOURCE_DATE_EPOCH),-volume_date all_file_dates =$(SOURCE_DATE_EPOCH))
|
|
|
|
$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
|
|
INSTALL_NAME_TOOL=$(INSTALL_NAME_TOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) $(OSX_VOLNAME) -translations-dir=$(QT_TRANSLATION_DIR)
|
|
|
|
deploydir: $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Bitcoin-Qt
|
|
endif !BUILD_DARWIN
|
|
|
|
deploy: $(OSX_DMG)
|
|
endif
|
|
|
|
$(BITCOIN_QT_BIN): FORCE
|
|
$(MAKE) -C src qt/$(@F)
|
|
|
|
$(BITCOIND_BIN): FORCE
|
|
$(MAKE) -C src $(@F)
|
|
|
|
$(BITCOIN_CLI_BIN): FORCE
|
|
$(MAKE) -C src $(@F)
|
|
|
|
$(BITCOIN_TX_BIN): FORCE
|
|
$(MAKE) -C src $(@F)
|
|
|
|
$(BITCOIN_UTIL_BIN): FORCE
|
|
$(MAKE) -C src $(@F)
|
|
|
|
$(BITCOIN_WALLET_BIN): FORCE
|
|
$(MAKE) -C src $(@F)
|
|
|
|
$(BITCOIN_NODE_BIN): FORCE
|
|
$(MAKE) -C src $(@F)
|
|
|
|
$(BITCOIN_GUI_BIN): FORCE
|
|
$(MAKE) -C src $(@F)
|
|
|
|
if USE_LCOV
|
|
LCOV_FILTER_PATTERN = \
|
|
-p "/usr/local/" \
|
|
-p "/usr/include/" \
|
|
-p "/usr/lib/" \
|
|
-p "/usr/lib64/" \
|
|
-p "src/leveldb/" \
|
|
-p "src/crc32c/" \
|
|
-p "src/bench/" \
|
|
-p "src/crypto/ctaes" \
|
|
-p "src/minisketch" \
|
|
-p "src/secp256k1" \
|
|
-p "depends"
|
|
|
|
DIR_FUZZ_SEED_CORPUS ?= qa-assets/fuzz_seed_corpus
|
|
|
|
$(COV_TOOL_WRAPPER):
|
|
@echo 'exec $(COV_TOOL) "$$@"' > $(COV_TOOL_WRAPPER)
|
|
@chmod +x $(COV_TOOL_WRAPPER)
|
|
|
|
baseline.info: $(COV_TOOL_WRAPPER)
|
|
$(LCOV) -c -i -d $(abs_builddir)/src -o $@
|
|
|
|
baseline_filtered.info: baseline.info
|
|
$(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
|
|
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
|
|
|
fuzz.info: baseline_filtered.info
|
|
@TIMEOUT=15 test/fuzz/test_runner.py $(DIR_FUZZ_SEED_CORPUS) -l DEBUG
|
|
$(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src --t fuzz-tests -o $@
|
|
$(LCOV) -z $(LCOV_OPTS) -d $(abs_builddir)/src
|
|
|
|
fuzz_filtered.info: fuzz.info
|
|
$(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
|
|
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
|
|
|
test_bitcoin.info: baseline_filtered.info
|
|
$(MAKE) -C src/ check
|
|
$(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src -t test_bitcoin -o $@
|
|
$(LCOV) -z $(LCOV_OPTS) -d $(abs_builddir)/src
|
|
|
|
test_bitcoin_filtered.info: test_bitcoin.info
|
|
$(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
|
|
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
|
|
|
functional_test.info: test_bitcoin_filtered.info
|
|
@TIMEOUT=15 test/functional/test_runner.py $(EXTENDED_FUNCTIONAL_TESTS)
|
|
$(LCOV) -c $(LCOV_OPTS) -d $(abs_builddir)/src --t functional-tests -o $@
|
|
$(LCOV) -z $(LCOV_OPTS) -d $(abs_builddir)/src
|
|
|
|
functional_test_filtered.info: functional_test.info
|
|
$(abs_builddir)/contrib/filter-lcov.py $(LCOV_FILTER_PATTERN) $< $@
|
|
$(LCOV) -a $@ $(LCOV_OPTS) -o $@
|
|
|
|
fuzz_coverage.info: fuzz_filtered.info
|
|
$(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a fuzz_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
|
|
|
|
test_bitcoin_coverage.info: baseline_filtered.info test_bitcoin_filtered.info
|
|
$(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_bitcoin_filtered.info -o $@
|
|
|
|
total_coverage.info: test_bitcoin_filtered.info functional_test_filtered.info
|
|
$(LCOV) -a $(LCOV_OPTS) baseline_filtered.info -a test_bitcoin_filtered.info -a functional_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt
|
|
|
|
fuzz.coverage/.dirstamp: fuzz_coverage.info
|
|
$(GENHTML) -s $(LCOV_OPTS) $< -o $(@D)
|
|
@touch $@
|
|
|
|
test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info
|
|
$(GENHTML) -s $(LCOV_OPTS) $< -o $(@D)
|
|
@touch $@
|
|
|
|
total.coverage/.dirstamp: total_coverage.info
|
|
$(GENHTML) -s $(LCOV_OPTS) $< -o $(@D)
|
|
@touch $@
|
|
|
|
cov_fuzz: fuzz.coverage/.dirstamp
|
|
|
|
cov: test_bitcoin.coverage/.dirstamp total.coverage/.dirstamp
|
|
|
|
endif
|
|
|
|
dist_noinst_SCRIPTS = autogen.sh
|
|
|
|
EXTRA_DIST = $(DIST_SHARE) $(DIST_CONTRIB) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) $(BIN_CHECKS)
|
|
|
|
EXTRA_DIST += \
|
|
test/functional \
|
|
test/fuzz
|
|
|
|
EXTRA_DIST += \
|
|
test/util/test_runner.py \
|
|
test/util/data/bitcoin-util-test.json \
|
|
test/util/data/blanktxv1.hex \
|
|
test/util/data/blanktxv1.json \
|
|
test/util/data/blanktxv2.hex \
|
|
test/util/data/blanktxv2.json \
|
|
test/util/data/tt-delin1-out.hex \
|
|
test/util/data/tt-delin1-out.json \
|
|
test/util/data/tt-delout1-out.hex \
|
|
test/util/data/tt-delout1-out.json \
|
|
test/util/data/tt-locktime317000-out.hex \
|
|
test/util/data/tt-locktime317000-out.json \
|
|
test/util/data/tx394b54bb.hex \
|
|
test/util/data/txcreate1.hex \
|
|
test/util/data/txcreate1.json \
|
|
test/util/data/txcreate2.hex \
|
|
test/util/data/txcreate2.json \
|
|
test/util/data/txcreatedata1.hex \
|
|
test/util/data/txcreatedata1.json \
|
|
test/util/data/txcreatedata2.hex \
|
|
test/util/data/txcreatedata2.json \
|
|
test/util/data/txcreatedata_seq0.hex \
|
|
test/util/data/txcreatedata_seq0.json \
|
|
test/util/data/txcreatedata_seq1.hex \
|
|
test/util/data/txcreatedata_seq1.json \
|
|
test/util/data/txcreatemultisig1.hex \
|
|
test/util/data/txcreatemultisig1.json \
|
|
test/util/data/txcreatemultisig2.hex \
|
|
test/util/data/txcreatemultisig2.json \
|
|
test/util/data/txcreatemultisig3.hex \
|
|
test/util/data/txcreatemultisig3.json \
|
|
test/util/data/txcreatemultisig4.hex \
|
|
test/util/data/txcreatemultisig4.json \
|
|
test/util/data/txcreatemultisig5.json \
|
|
test/util/data/txcreateoutpubkey1.hex \
|
|
test/util/data/txcreateoutpubkey1.json \
|
|
test/util/data/txcreateoutpubkey2.hex \
|
|
test/util/data/txcreateoutpubkey2.json \
|
|
test/util/data/txcreateoutpubkey3.hex \
|
|
test/util/data/txcreateoutpubkey3.json \
|
|
test/util/data/txcreatescript1.hex \
|
|
test/util/data/txcreatescript1.json \
|
|
test/util/data/txcreatescript2.hex \
|
|
test/util/data/txcreatescript2.json \
|
|
test/util/data/txcreatescript3.hex \
|
|
test/util/data/txcreatescript3.json \
|
|
test/util/data/txcreatescript4.hex \
|
|
test/util/data/txcreatescript4.json \
|
|
test/util/data/txcreatescript5.hex \
|
|
test/util/data/txcreatescript6.hex \
|
|
test/util/data/txcreatesignsegwit1.hex \
|
|
test/util/data/txcreatesignv1.hex \
|
|
test/util/data/txcreatesignv1.json \
|
|
test/util/data/txcreatesignv2.hex \
|
|
test/util/rpcauth-test.py
|
|
|
|
CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER)
|
|
|
|
DISTCHECK_CONFIGURE_FLAGS = --enable-man
|
|
|
|
doc/doxygen/.stamp: doc/Doxyfile FORCE
|
|
$(MKDIR_P) $(@D)
|
|
$(DOXYGEN) $^
|
|
$(AM_V_at) touch $@
|
|
|
|
if HAVE_DOXYGEN
|
|
docs: doc/doxygen/.stamp
|
|
else
|
|
docs:
|
|
@echo "error: doxygen not found"
|
|
endif
|
|
|
|
clean-docs:
|
|
rm -rf doc/doxygen
|
|
|
|
clean-local: clean-docs
|
|
rm -rf coverage_percent.txt test_bitcoin.coverage/ total.coverage/ fuzz.coverage/ test/tmp/ cache/ $(OSX_APP)
|
|
rm -rf test/functional/__pycache__ test/functional/test_framework/__pycache__ test/cache share/rpcauth/__pycache__
|
|
rm -rf osx_volname dist/
|
|
|
|
test-security-check:
|
|
if TARGET_DARWIN
|
|
$(AM_V_at) CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_MACHO
|
|
$(AM_V_at) CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-symbol-check.py TestSymbolChecks.test_MACHO
|
|
endif
|
|
if TARGET_WINDOWS
|
|
$(AM_V_at) CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_PE
|
|
$(AM_V_at) CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-symbol-check.py TestSymbolChecks.test_PE
|
|
endif
|
|
if TARGET_LINUX
|
|
$(AM_V_at) CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-security-check.py TestSecurityChecks.test_ELF
|
|
$(AM_V_at) CC='$(CC)' CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' $(PYTHON) $(top_srcdir)/contrib/devtools/test-symbol-check.py TestSymbolChecks.test_ELF
|
|
endif
|