mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 14:59:39 -04:00
Merge bitcoin/bitcoin#24322: [kernel 1/n] Introduce initial libbitcoinkernel
035fa1f07a
build: Remove LIBTOOL_APP_LDFLAGS for bitcoin-chainstate (Cory Fields)3f0595095d
docs: Add libbitcoinkernel_la_SOURCES explanation (Carl Dong)94ad45deb2
ci: Build libbitcoinkernel (Carl Dong)26b2e7ffb3
build: Extract the libbitcoinkernel library (Carl Dong)1df44dd20c
b-cs: Define G_TRANSLATION_FUN in bitcoinkernel.cpp (Carl Dong)83a0bb7cc9
build: Separate lib_LTLIBRARIES initialization (Carl Dong)c1e16cb31f
build: Create .la library for bitcoincrypto (Carl Dong)8bdfe057c7
build: Create .la library for leveldb (Carl Dong)05d1525b6d
build: Create .la library for crc32c (Carl Dong)64caf94479
build: Remove vestigial LIBLEVELDB_SSE42 (Carl Dong)1392e8e2d8
build: Don't add unrelated libs to LIBTEST_* (Carl Dong) Pull request description: Part of: #24303 This PR introduces a `libbitcoinkernel` static library linking in the minimal list of files necessary to use our consensus engine as-is. `bitcoin-chainstate` introduced in #24304 now will link against `libbitcoinkernel`. Most of the changes are related to the build system. Please read the commit messages for more details. ACKs for top commit: theuni: This may be my favorite PR ever. It's a privilege to ACK035fa1f07a
. Tree-SHA512: b755edc3471c7c1098847e9b16ab182a6abb7582563d9da516de376a770ac7543c6fdb24238ddd4d3d2d458f905a0c0614b8667aab182aa7e6b80c1cca7090bc
This commit is contained in:
commit
dd17c42a16
13 changed files with 285 additions and 206 deletions
|
@ -11,4 +11,4 @@ export DOCKER_NAME_TAG=ubuntu:18.04 # Use bionic to have one config run the tes
|
|||
export PACKAGES="python3-zmq clang-8 llvm-8 libc++abi-8-dev libc++-8-dev" # Use clang-8 to test C++17 compatibility, see doc/dependencies.md
|
||||
export DEP_OPTS="NO_WALLET=1 CC=clang-8 CXX='clang++-8 -stdlib=libc++'"
|
||||
export GOAL="install"
|
||||
export BITCOIN_CONFIG="--enable-reduce-exports CC=clang-8 CXX='clang++-8 -stdlib=libc++' --enable-experimental-util-chainstate"
|
||||
export BITCOIN_CONFIG="--enable-reduce-exports CC=clang-8 CXX='clang++-8 -stdlib=libc++' --enable-experimental-util-chainstate --with-experimental-kernel-lib --enable-shared"
|
||||
|
|
16
configure.ac
16
configure.ac
|
@ -663,6 +663,12 @@ AC_ARG_WITH([libs],
|
|||
[build_bitcoin_libs=$withval],
|
||||
[build_bitcoin_libs=yes])
|
||||
|
||||
AC_ARG_WITH([experimental-kernel-lib],
|
||||
[AS_HELP_STRING([--with-experimental-kernel-lib],
|
||||
[build experimental bitcoinkernel library (default is to build if we're building libraries and the experimental build-chainstate executable)])],
|
||||
[build_experimental_kernel_lib=$withval],
|
||||
[build_experimental_kernel_lib=auto])
|
||||
|
||||
AC_ARG_WITH([daemon],
|
||||
[AS_HELP_STRING([--with-daemon],
|
||||
[build bitcoind daemon (default=yes)])],
|
||||
|
@ -1656,15 +1662,23 @@ AM_CONDITIONAL([BUILD_BITCOIN_UTIL], [test $build_bitcoin_util = "yes"])
|
|||
AC_MSG_RESULT($build_bitcoin_util)
|
||||
|
||||
AC_MSG_CHECKING([whether to build experimental bitcoin-chainstate])
|
||||
AM_CONDITIONAL([BUILD_BITCOIN_CHAINSTATE], [test $build_bitcoin_chainstate = "yes"])
|
||||
if test "$build_experimental_kernel_lib" = "no"; then
|
||||
AC_MSG_ERROR([experimental bitcoin-chainstate cannot be built without the experimental bitcoinkernel library. Use --with-experimental-kernel-lib]);
|
||||
else
|
||||
AM_CONDITIONAL([BUILD_BITCOIN_CHAINSTATE], [test $build_bitcoin_chainstate = "yes"])
|
||||
fi
|
||||
AC_MSG_RESULT($build_bitcoin_chainstate)
|
||||
|
||||
AC_MSG_CHECKING([whether to build libraries])
|
||||
AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test $build_bitcoin_libs = "yes"])
|
||||
|
||||
if test "$build_bitcoin_libs" = "yes"; then
|
||||
AC_DEFINE([HAVE_CONSENSUS_LIB], [1], [Define this symbol if the consensus lib has been built])
|
||||
AC_CONFIG_FILES([libbitcoinconsensus.pc:libbitcoinconsensus.pc.in])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([BUILD_BITCOIN_KERNEL_LIB], [test "$build_experimental_kernel_lib" != "no" && ( test "$build_experimental_kernel_lib" = "yes" || test "$build_bitcoin_chainstate" = "yes" )])
|
||||
|
||||
AC_MSG_RESULT($build_bitcoin_libs)
|
||||
|
||||
AC_LANG_POP
|
||||
|
|
163
src/Makefile.am
163
src/Makefile.am
|
@ -15,14 +15,23 @@ AM_LIBTOOLFLAGS = --preserve-dup-deps
|
|||
PTHREAD_FLAGS = $(PTHREAD_CFLAGS) $(PTHREAD_LIBS)
|
||||
EXTRA_LIBRARIES =
|
||||
|
||||
lib_LTLIBRARIES =
|
||||
noinst_LTLIBRARIES =
|
||||
|
||||
bin_PROGRAMS =
|
||||
noinst_PROGRAMS =
|
||||
TESTS =
|
||||
BENCHMARKS =
|
||||
|
||||
BITCOIN_INCLUDES=-I$(builddir) -I$(srcdir)/$(MINISKETCH_INCLUDE_DIR_INT) -I$(srcdir)/secp256k1/include -I$(srcdir)/$(UNIVALUE_INCLUDE_DIR_INT) $(BDB_CPPFLAGS) $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS)
|
||||
|
||||
LIBBITCOIN_NODE=libbitcoin_node.a
|
||||
LIBBITCOIN_COMMON=libbitcoin_common.a
|
||||
LIBBITCOIN_CONSENSUS=libbitcoin_consensus.a
|
||||
LIBBITCOIN_CLI=libbitcoin_cli.a
|
||||
LIBBITCOIN_KERNEL=libbitcoin_kernel.a
|
||||
LIBBITCOIN_UTIL=libbitcoin_util.a
|
||||
LIBBITCOIN_CRYPTO_BASE=crypto/libbitcoin_crypto_base.a
|
||||
LIBBITCOIN_CRYPTO_BASE=crypto/libbitcoin_crypto_base.la
|
||||
LIBBITCOINQT=qt/libbitcoinqt.a
|
||||
LIBSECP256K1=secp256k1/libsecp256k1.la
|
||||
|
||||
|
@ -32,28 +41,32 @@ endif
|
|||
if BUILD_BITCOIN_LIBS
|
||||
LIBBITCOINCONSENSUS=libbitcoinconsensus.la
|
||||
endif
|
||||
if BUILD_BITCOIN_KERNEL_LIB
|
||||
LIBBITCOINKERNEL=libbitcoinkernel.la
|
||||
endif
|
||||
if ENABLE_WALLET
|
||||
LIBBITCOIN_WALLET=libbitcoin_wallet.a
|
||||
LIBBITCOIN_WALLET_TOOL=libbitcoin_wallet_tool.a
|
||||
endif
|
||||
|
||||
LIBBITCOIN_CRYPTO= $(LIBBITCOIN_CRYPTO_BASE)
|
||||
LIBBITCOIN_CRYPTO = $(LIBBITCOIN_CRYPTO_BASE)
|
||||
if ENABLE_SSE41
|
||||
LIBBITCOIN_CRYPTO_SSE41 = crypto/libbitcoin_crypto_sse41.a
|
||||
LIBBITCOIN_CRYPTO_SSE41 = crypto/libbitcoin_crypto_sse41.la
|
||||
LIBBITCOIN_CRYPTO += $(LIBBITCOIN_CRYPTO_SSE41)
|
||||
endif
|
||||
if ENABLE_AVX2
|
||||
LIBBITCOIN_CRYPTO_AVX2 = crypto/libbitcoin_crypto_avx2.a
|
||||
LIBBITCOIN_CRYPTO_AVX2 = crypto/libbitcoin_crypto_avx2.la
|
||||
LIBBITCOIN_CRYPTO += $(LIBBITCOIN_CRYPTO_AVX2)
|
||||
endif
|
||||
if ENABLE_X86_SHANI
|
||||
LIBBITCOIN_CRYPTO_X86_SHANI = crypto/libbitcoin_crypto_x86_shani.a
|
||||
LIBBITCOIN_CRYPTO_X86_SHANI = crypto/libbitcoin_crypto_x86_shani.la
|
||||
LIBBITCOIN_CRYPTO += $(LIBBITCOIN_CRYPTO_X86_SHANI)
|
||||
endif
|
||||
if ENABLE_ARM_SHANI
|
||||
LIBBITCOIN_CRYPTO_ARM_SHANI = crypto/libbitcoin_crypto_arm_shani.a
|
||||
LIBBITCOIN_CRYPTO_ARM_SHANI = crypto/libbitcoin_crypto_arm_shani.la
|
||||
LIBBITCOIN_CRYPTO += $(LIBBITCOIN_CRYPTO_ARM_SHANI)
|
||||
endif
|
||||
noinst_LTLIBRARIES += $(LIBBITCOIN_CRYPTO)
|
||||
|
||||
$(LIBSECP256K1): $(wildcard secp256k1/src/*.h) $(wildcard secp256k1/src/*.c) $(wildcard secp256k1/include/*)
|
||||
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F)
|
||||
|
@ -61,7 +74,6 @@ $(LIBSECP256K1): $(wildcard secp256k1/src/*.h) $(wildcard secp256k1/src/*.c) $(w
|
|||
# Make is not made aware of per-object dependencies to avoid limiting building parallelization
|
||||
# But to build the less dependent modules first, we manually select their order here:
|
||||
EXTRA_LIBRARIES += \
|
||||
$(LIBBITCOIN_CRYPTO) \
|
||||
$(LIBBITCOIN_UTIL) \
|
||||
$(LIBBITCOIN_COMMON) \
|
||||
$(LIBBITCOIN_CONSENSUS) \
|
||||
|
@ -72,14 +84,6 @@ EXTRA_LIBRARIES += \
|
|||
$(LIBBITCOIN_WALLET_TOOL) \
|
||||
$(LIBBITCOIN_ZMQ)
|
||||
|
||||
lib_LTLIBRARIES = $(LIBBITCOINCONSENSUS)
|
||||
noinst_LTLIBRARIES =
|
||||
|
||||
bin_PROGRAMS =
|
||||
noinst_PROGRAMS =
|
||||
TESTS =
|
||||
BENCHMARKS =
|
||||
|
||||
if BUILD_BITCOIND
|
||||
bin_PROGRAMS += bitcoind
|
||||
endif
|
||||
|
@ -464,9 +468,16 @@ libbitcoin_wallet_tool_a_SOURCES = \
|
|||
$(BITCOIN_CORE_H)
|
||||
|
||||
# crypto primitives library
|
||||
crypto_libbitcoin_crypto_base_a_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
crypto_libbitcoin_crypto_base_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
crypto_libbitcoin_crypto_base_a_SOURCES = \
|
||||
crypto_libbitcoin_crypto_base_la_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
|
||||
# Specify -static in both CXXFLAGS and LDFLAGS so libtool will only build a
|
||||
# static version of this library. We don't need a dynamic version, and a dynamic
|
||||
# version can't be used on windows anyway because the library doesn't currently
|
||||
# export DLL symbols.
|
||||
crypto_libbitcoin_crypto_base_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -static
|
||||
crypto_libbitcoin_crypto_base_la_LDFLAGS = $(AM_LDFLAGS) -static
|
||||
|
||||
crypto_libbitcoin_crypto_base_la_SOURCES = \
|
||||
crypto/aes.cpp \
|
||||
crypto/aes.h \
|
||||
crypto/chacha_poly_aead.h \
|
||||
|
@ -498,32 +509,44 @@ crypto_libbitcoin_crypto_base_a_SOURCES = \
|
|||
crypto/siphash.h
|
||||
|
||||
if USE_ASM
|
||||
crypto_libbitcoin_crypto_base_a_SOURCES += crypto/sha256_sse4.cpp
|
||||
crypto_libbitcoin_crypto_base_la_SOURCES += crypto/sha256_sse4.cpp
|
||||
endif
|
||||
|
||||
crypto_libbitcoin_crypto_sse41_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
crypto_libbitcoin_crypto_sse41_a_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
crypto_libbitcoin_crypto_sse41_a_CXXFLAGS += $(SSE41_CXXFLAGS)
|
||||
crypto_libbitcoin_crypto_sse41_a_CPPFLAGS += -DENABLE_SSE41
|
||||
crypto_libbitcoin_crypto_sse41_a_SOURCES = crypto/sha256_sse41.cpp
|
||||
# See explanation for -static in crypto_libbitcoin_crypto_base_la's LDFLAGS and
|
||||
# CXXFLAGS above
|
||||
crypto_libbitcoin_crypto_sse41_la_LDFLAGS = $(AM_LDFLAGS) -static
|
||||
crypto_libbitcoin_crypto_sse41_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -static
|
||||
crypto_libbitcoin_crypto_sse41_la_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
crypto_libbitcoin_crypto_sse41_la_CXXFLAGS += $(SSE41_CXXFLAGS)
|
||||
crypto_libbitcoin_crypto_sse41_la_CPPFLAGS += -DENABLE_SSE41
|
||||
crypto_libbitcoin_crypto_sse41_la_SOURCES = crypto/sha256_sse41.cpp
|
||||
|
||||
crypto_libbitcoin_crypto_avx2_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
crypto_libbitcoin_crypto_avx2_a_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
crypto_libbitcoin_crypto_avx2_a_CXXFLAGS += $(AVX2_CXXFLAGS)
|
||||
crypto_libbitcoin_crypto_avx2_a_CPPFLAGS += -DENABLE_AVX2
|
||||
crypto_libbitcoin_crypto_avx2_a_SOURCES = crypto/sha256_avx2.cpp
|
||||
# See explanation for -static in crypto_libbitcoin_crypto_base_la's LDFLAGS and
|
||||
# CXXFLAGS above
|
||||
crypto_libbitcoin_crypto_avx2_la_LDFLAGS = $(AM_LDFLAGS) -static
|
||||
crypto_libbitcoin_crypto_avx2_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -static
|
||||
crypto_libbitcoin_crypto_avx2_la_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
crypto_libbitcoin_crypto_avx2_la_CXXFLAGS += $(AVX2_CXXFLAGS)
|
||||
crypto_libbitcoin_crypto_avx2_la_CPPFLAGS += -DENABLE_AVX2
|
||||
crypto_libbitcoin_crypto_avx2_la_SOURCES = crypto/sha256_avx2.cpp
|
||||
|
||||
crypto_libbitcoin_crypto_x86_shani_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
crypto_libbitcoin_crypto_x86_shani_a_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
crypto_libbitcoin_crypto_x86_shani_a_CXXFLAGS += $(X86_SHANI_CXXFLAGS)
|
||||
crypto_libbitcoin_crypto_x86_shani_a_CPPFLAGS += -DENABLE_X86_SHANI
|
||||
crypto_libbitcoin_crypto_x86_shani_a_SOURCES = crypto/sha256_x86_shani.cpp
|
||||
# See explanation for -static in crypto_libbitcoin_crypto_base_la's LDFLAGS and
|
||||
# CXXFLAGS above
|
||||
crypto_libbitcoin_crypto_x86_shani_la_LDFLAGS = $(AM_LDFLAGS) -static
|
||||
crypto_libbitcoin_crypto_x86_shani_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -static
|
||||
crypto_libbitcoin_crypto_x86_shani_la_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
crypto_libbitcoin_crypto_x86_shani_la_CXXFLAGS += $(X86_SHANI_CXXFLAGS)
|
||||
crypto_libbitcoin_crypto_x86_shani_la_CPPFLAGS += -DENABLE_X86_SHANI
|
||||
crypto_libbitcoin_crypto_x86_shani_la_SOURCES = crypto/sha256_x86_shani.cpp
|
||||
|
||||
crypto_libbitcoin_crypto_arm_shani_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
crypto_libbitcoin_crypto_arm_shani_a_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
crypto_libbitcoin_crypto_arm_shani_a_CXXFLAGS += $(ARM_SHANI_CXXFLAGS)
|
||||
crypto_libbitcoin_crypto_arm_shani_a_CPPFLAGS += -DENABLE_ARM_SHANI
|
||||
crypto_libbitcoin_crypto_arm_shani_a_SOURCES = crypto/sha256_arm_shani.cpp
|
||||
# See explanation for -static in crypto_libbitcoin_crypto_base_la's LDFLAGS and
|
||||
# CXXFLAGS above
|
||||
crypto_libbitcoin_crypto_arm_shani_la_LDFLAGS = $(AM_LDFLAGS) -static
|
||||
crypto_libbitcoin_crypto_arm_shani_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -static
|
||||
crypto_libbitcoin_crypto_arm_shani_la_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
crypto_libbitcoin_crypto_arm_shani_la_CXXFLAGS += $(ARM_SHANI_CXXFLAGS)
|
||||
crypto_libbitcoin_crypto_arm_shani_la_CPPFLAGS += -DENABLE_ARM_SHANI
|
||||
crypto_libbitcoin_crypto_arm_shani_la_SOURCES = crypto/sha256_arm_shani.cpp
|
||||
|
||||
# consensus: shared between all executables that validate any consensus rules.
|
||||
libbitcoin_consensus_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
|
||||
|
@ -683,7 +706,6 @@ bitcoin_bin_ldadd = \
|
|||
$(LIBBITCOIN_CONSENSUS) \
|
||||
$(LIBBITCOIN_CRYPTO) \
|
||||
$(LIBLEVELDB) \
|
||||
$(LIBLEVELDB_SSE42) \
|
||||
$(LIBMEMENV) \
|
||||
$(LIBSECP256K1)
|
||||
|
||||
|
@ -782,8 +804,48 @@ bitcoin_util_LDADD = \
|
|||
#
|
||||
|
||||
# bitcoin-chainstate binary #
|
||||
bitcoin_chainstate_SOURCES = \
|
||||
bitcoin-chainstate.cpp \
|
||||
bitcoin_chainstate_SOURCES = bitcoin-chainstate.cpp
|
||||
bitcoin_chainstate_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
|
||||
bitcoin_chainstate_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
|
||||
# $(LIBTOOL_APP_LDFLAGS) deliberately omitted here so that we can test linking
|
||||
# bitcoin-chainstate against libbitcoinkernel as a shared or static library by
|
||||
# setting --{en,dis}able-shared.
|
||||
bitcoin_chainstate_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(PTHREAD_FLAGS)
|
||||
bitcoin_chainstate_LDADD = $(LIBBITCOINKERNEL)
|
||||
#
|
||||
|
||||
# bitcoinkernel library #
|
||||
if BUILD_BITCOIN_KERNEL_LIB
|
||||
lib_LTLIBRARIES += $(LIBBITCOINKERNEL)
|
||||
|
||||
libbitcoinkernel_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS) $(PTHREAD_FLAGS)
|
||||
libbitcoinkernel_la_LIBADD = $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) $(LIBSECP256K1)
|
||||
libbitcoinkernel_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj -I$(srcdir)/secp256k1/include -DBUILD_BITCOIN_INTERNAL $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS) -I$(srcdir)/$(UNIVALUE_INCLUDE_DIR_INT)
|
||||
|
||||
# libbitcoinkernel requires default symbol visibility, explicitly specify that
|
||||
# here so that things still work even when user configures with
|
||||
# --enable-reduce-exports
|
||||
#
|
||||
# Note this is a quick hack that will be removed as we incrementally define what
|
||||
# to export from the library.
|
||||
libbitcoinkernel_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -fvisibility=default
|
||||
|
||||
# TODO: For now, Specify -static in both CXXFLAGS and LDFLAGS when building for
|
||||
# windows targets so libtool will only build a static version of this
|
||||
# library. There are unresolved problems when building dll's for mingw-w64
|
||||
# and attempting to statically embed libstdc++, libpthread, etc.
|
||||
if TARGET_WINDOWS
|
||||
libbitcoinkernel_la_LDFLAGS += -static
|
||||
libbitcoinkernel_la_CXXFLAGS += -static
|
||||
endif
|
||||
|
||||
# TODO: libbitcoinkernel is a work in progress consensus engine library, as more
|
||||
# and more modules are decoupled from the consensus engine, this list will
|
||||
# shrink to only those which are absolutely necessary. For example, things
|
||||
# like index/*.cpp will be removed.
|
||||
libbitcoinkernel_la_SOURCES = \
|
||||
kernel/bitcoinkernel.cpp \
|
||||
arith_uint256.cpp \
|
||||
blockfilter.cpp \
|
||||
chain.cpp \
|
||||
|
@ -862,26 +924,19 @@ bitcoin_chainstate_SOURCES = \
|
|||
validationinterface.cpp \
|
||||
versionbits.cpp \
|
||||
warnings.cpp
|
||||
bitcoin_chainstate_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES)
|
||||
bitcoin_chainstate_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
bitcoin_chainstate_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) $(PTHREAD_FLAGS)
|
||||
bitcoin_chainstate_LDADD = \
|
||||
$(LIBBITCOIN_CRYPTO) \
|
||||
$(LIBUNIVALUE) \
|
||||
$(LIBSECP256K1) \
|
||||
$(LIBLEVELDB) \
|
||||
$(LIBLEVELDB_SSE42) \
|
||||
$(LIBMEMENV)
|
||||
|
||||
# Required for obj/build.h to be generated first.
|
||||
# More details: https://www.gnu.org/software/automake/manual/html_node/Built-Sources-Example.html
|
||||
bitcoin_chainstate-clientversion.$(OBJEXT): obj/build.h
|
||||
libbitcoinkernel_la-clientversion.l$(OBJEXT): obj/build.h
|
||||
endif # BUILD_BITCOIN_KERNEL_LIB
|
||||
#
|
||||
|
||||
# bitcoinconsensus library #
|
||||
if BUILD_BITCOIN_LIBS
|
||||
lib_LTLIBRARIES += $(LIBBITCOINCONSENSUS)
|
||||
|
||||
include_HEADERS = script/bitcoinconsensus.h
|
||||
libbitcoinconsensus_la_SOURCES = support/cleanse.cpp $(crypto_libbitcoin_crypto_base_a_SOURCES) $(libbitcoin_consensus_a_SOURCES)
|
||||
libbitcoinconsensus_la_SOURCES = support/cleanse.cpp $(crypto_libbitcoin_crypto_base_la_SOURCES) $(libbitcoin_consensus_a_SOURCES)
|
||||
|
||||
libbitcoinconsensus_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS)
|
||||
libbitcoinconsensus_la_LIBADD = $(LIBSECP256K1)
|
||||
|
|
|
@ -52,15 +52,14 @@ nodist_bench_bench_bitcoin_SOURCES = $(GENERATED_BENCH_FILES)
|
|||
bench_bench_bitcoin_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(EVENT_CFLAGS) $(EVENT_PTHREADS_CFLAGS) -I$(builddir)/bench/
|
||||
bench_bench_bitcoin_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
bench_bench_bitcoin_LDADD = \
|
||||
$(LIBTEST_UTIL) \
|
||||
$(LIBBITCOIN_NODE) \
|
||||
$(LIBBITCOIN_WALLET) \
|
||||
$(LIBBITCOIN_COMMON) \
|
||||
$(LIBBITCOIN_UTIL) \
|
||||
$(LIBBITCOIN_CONSENSUS) \
|
||||
$(LIBBITCOIN_CRYPTO) \
|
||||
$(LIBTEST_UTIL) \
|
||||
$(LIBLEVELDB) \
|
||||
$(LIBLEVELDB_SSE42) \
|
||||
$(LIBMEMENV) \
|
||||
$(LIBSECP256K1) \
|
||||
$(LIBUNIVALUE) \
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
LIBCRC32C_INT = crc32c/libcrc32c.a
|
||||
LIBLEVELDB_SSE42_INT = leveldb/libleveldb_sse42.a
|
||||
LIBCRC32C_INT = crc32c/libcrc32c.la
|
||||
|
||||
EXTRA_LIBRARIES += $(LIBCRC32C_INT)
|
||||
noinst_LTLIBRARIES += $(LIBCRC32C_INT)
|
||||
|
||||
LIBCRC32C = $(LIBCRC32C_INT)
|
||||
|
||||
|
@ -34,41 +33,49 @@ else
|
|||
CRC32C_CPPFLAGS_INT += -DBYTE_ORDER_BIG_ENDIAN=0
|
||||
endif
|
||||
|
||||
crc32c_libcrc32c_a_CPPFLAGS = $(AM_CPPFLAGS) $(CRC32C_CPPFLAGS_INT) $(CRC32C_CPPFLAGS)
|
||||
crc32c_libcrc32c_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
crc32c_libcrc32c_la_CPPFLAGS = $(AM_CPPFLAGS) $(CRC32C_CPPFLAGS_INT) $(CRC32C_CPPFLAGS)
|
||||
|
||||
crc32c_libcrc32c_a_SOURCES =
|
||||
crc32c_libcrc32c_a_SOURCES += crc32c/include/crc32c/crc32c.h
|
||||
crc32c_libcrc32c_a_SOURCES += crc32c/src/crc32c_arm64.h
|
||||
crc32c_libcrc32c_a_SOURCES += crc32c/src/crc32c_arm64_check.h
|
||||
crc32c_libcrc32c_a_SOURCES += crc32c/src/crc32c_internal.h
|
||||
crc32c_libcrc32c_a_SOURCES += crc32c/src/crc32c_prefetch.h
|
||||
crc32c_libcrc32c_a_SOURCES += crc32c/src/crc32c_read_le.h
|
||||
crc32c_libcrc32c_a_SOURCES += crc32c/src/crc32c_round_up.h
|
||||
crc32c_libcrc32c_a_SOURCES += crc32c/src/crc32c_sse42_check.h
|
||||
crc32c_libcrc32c_a_SOURCES += crc32c/src/crc32c_sse42.h
|
||||
# Specify -static in both CXXFLAGS and LDFLAGS so libtool will only build a
|
||||
# static version of this library. We don't need a dynamic version, and a dynamic
|
||||
# version can't be used on windows anyway because the library doesn't currently
|
||||
# export DLL symbols.
|
||||
crc32c_libcrc32c_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) -static
|
||||
crc32c_libcrc32c_la_LDFLAGS = $(AM_LDFLAGS) -static
|
||||
|
||||
crc32c_libcrc32c_a_SOURCES += crc32c/src/crc32c.cc
|
||||
crc32c_libcrc32c_a_SOURCES += crc32c/src/crc32c_portable.cc
|
||||
crc32c_libcrc32c_la_SOURCES =
|
||||
crc32c_libcrc32c_la_SOURCES += crc32c/include/crc32c/crc32c.h
|
||||
crc32c_libcrc32c_la_SOURCES += crc32c/src/crc32c_arm64.h
|
||||
crc32c_libcrc32c_la_SOURCES += crc32c/src/crc32c_arm64_check.h
|
||||
crc32c_libcrc32c_la_SOURCES += crc32c/src/crc32c_internal.h
|
||||
crc32c_libcrc32c_la_SOURCES += crc32c/src/crc32c_prefetch.h
|
||||
crc32c_libcrc32c_la_SOURCES += crc32c/src/crc32c_read_le.h
|
||||
crc32c_libcrc32c_la_SOURCES += crc32c/src/crc32c_round_up.h
|
||||
crc32c_libcrc32c_la_SOURCES += crc32c/src/crc32c_sse42_check.h
|
||||
crc32c_libcrc32c_la_SOURCES += crc32c/src/crc32c_sse42.h
|
||||
|
||||
crc32c_libcrc32c_la_SOURCES += crc32c/src/crc32c.cc
|
||||
crc32c_libcrc32c_la_SOURCES += crc32c/src/crc32c_portable.cc
|
||||
|
||||
if ENABLE_SSE42
|
||||
LIBCRC32C_SSE42_INT = crc32c/libcrc32c_sse42.a
|
||||
EXTRA_LIBRARIES += $(LIBCRC32C_SSE42_INT)
|
||||
LIBCRC32C_SSE42_INT = crc32c/libcrc32c_sse42.la
|
||||
noinst_LTLIBRARIES += $(LIBCRC32C_SSE42_INT)
|
||||
LIBCRC32C += $(LIBCRC32C_SSE42_INT)
|
||||
|
||||
crc32c_libcrc32c_sse42_a_CPPFLAGS = $(crc32c_libcrc32c_a_CPPFLAGS)
|
||||
crc32c_libcrc32c_sse42_a_CXXFLAGS = $(crc32c_libcrc32c_a_CXXFLAGS) $(SSE42_CXXFLAGS)
|
||||
crc32c_libcrc32c_sse42_la_CPPFLAGS = $(crc32c_libcrc32c_la_CPPFLAGS)
|
||||
crc32c_libcrc32c_sse42_la_CXXFLAGS = $(crc32c_libcrc32c_la_CXXFLAGS) $(SSE42_CXXFLAGS)
|
||||
crc32c_libcrc32c_sse42_la_LDFLAGS = $(crc32c_libcrc32c_la_LDFLAGS)
|
||||
|
||||
crc32c_libcrc32c_sse42_a_SOURCES = crc32c/src/crc32c_sse42.cc
|
||||
crc32c_libcrc32c_sse42_la_SOURCES = crc32c/src/crc32c_sse42.cc
|
||||
endif
|
||||
|
||||
if ENABLE_ARM_CRC
|
||||
LIBCRC32C_ARM_CRC_INT = crc32c/libcrc32c_arm_crc.a
|
||||
EXTRA_LIBRARIES += $(LIBCRC32C_ARM_CRC_INT)
|
||||
LIBCRC32C_ARM_CRC_INT = crc32c/libcrc32c_arm_crc.la
|
||||
noinst_LTLIBRARIES += $(LIBCRC32C_ARM_CRC_INT)
|
||||
LIBCRC32C += $(LIBCRC32C_ARM_CRC_INT)
|
||||
|
||||
crc32c_libcrc32c_arm_crc_a_CPPFLAGS = $(crc32c_libcrc32c_a_CPPFLAGS)
|
||||
crc32c_libcrc32c_arm_crc_a_CXXFLAGS = $(crc32c_libcrc32c_a_CXXFLAGS) $(ARM_CRC_CXXFLAGS)
|
||||
crc32c_libcrc32c_arm_crc_la_CPPFLAGS = $(crc32c_libcrc32c_la_CPPFLAGS)
|
||||
crc32c_libcrc32c_arm_crc_la_CXXFLAGS = $(crc32c_libcrc32c_la_CXXFLAGS) $(ARM_CRC_CXXFLAGS)
|
||||
crc32c_libcrc32c_arm_crc_la_LDFLAGS = $(crc32c_libcrc32c_la_LDFLAGS)
|
||||
|
||||
crc32c_libcrc32c_arm_crc_a_SOURCES = crc32c/src/crc32c_arm64.cc
|
||||
crc32c_libcrc32c_arm_crc_la_SOURCES = crc32c/src/crc32c_arm64.cc
|
||||
endif
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
LIBLEVELDB_INT = leveldb/libleveldb.a
|
||||
LIBMEMENV_INT = leveldb/libmemenv.a
|
||||
LIBLEVELDB_INT = leveldb/libleveldb.la
|
||||
LIBMEMENV_INT = leveldb/libmemenv.la
|
||||
|
||||
EXTRA_LIBRARIES += $(LIBLEVELDB_INT)
|
||||
EXTRA_LIBRARIES += $(LIBMEMENV_INT)
|
||||
noinst_LTLIBRARIES += $(LIBLEVELDB_INT)
|
||||
noinst_LTLIBRARIES += $(LIBMEMENV_INT)
|
||||
|
||||
LIBLEVELDB = $(LIBLEVELDB_INT) $(LIBCRC32C)
|
||||
LIBMEMENV = $(LIBMEMENV_INT)
|
||||
|
@ -37,111 +37,118 @@ else
|
|||
LEVELDB_CPPFLAGS_INT += -DLEVELDB_PLATFORM_POSIX
|
||||
endif
|
||||
|
||||
leveldb_libleveldb_a_CPPFLAGS = $(AM_CPPFLAGS) $(LEVELDB_CPPFLAGS_INT) $(LEVELDB_CPPFLAGS)
|
||||
leveldb_libleveldb_a_CXXFLAGS = $(filter-out -Wconditional-uninitialized -Werror=conditional-uninitialized -Wsuggest-override -Werror=suggest-override, $(AM_CXXFLAGS)) $(PIE_FLAGS)
|
||||
leveldb_libleveldb_la_CPPFLAGS = $(AM_CPPFLAGS) $(LEVELDB_CPPFLAGS_INT) $(LEVELDB_CPPFLAGS)
|
||||
|
||||
leveldb_libleveldb_a_SOURCES=
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/port/port_stdcxx.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/port/port.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/port/thread_annotations.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/db.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/options.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/comparator.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/filter_policy.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/slice.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/table_builder.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/env.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/export.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/c.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/iterator.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/cache.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/dumpfile.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/table.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/write_batch.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/include/leveldb/status.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/log_format.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/memtable.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/version_set.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/write_batch_internal.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/filename.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/version_edit.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/dbformat.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/builder.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/log_writer.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/db_iter.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/skiplist.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/db_impl.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/table_cache.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/snapshot.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/log_reader.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/filter_block.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/block_builder.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/block.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/two_level_iterator.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/merger.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/format.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/iterator_wrapper.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/crc32c.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/env_posix_test_helper.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/env_windows_test_helper.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/arena.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/random.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/posix_logger.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/hash.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/histogram.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/coding.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/testutil.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/mutexlock.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/logging.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/no_destructor.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/testharness.h
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/windows_logger.h
|
||||
# Specify -static in both CXXFLAGS and LDFLAGS so libtool will only build a
|
||||
# static version of this library. We don't need a dynamic version, and a dynamic
|
||||
# version can't be used on windows anyway because the library doesn't currently
|
||||
# export DLL symbols.
|
||||
leveldb_libleveldb_la_CXXFLAGS = $(filter-out -Wconditional-uninitialized -Werror=conditional-uninitialized -Wsuggest-override -Werror=suggest-override, $(AM_CXXFLAGS)) $(PIE_FLAGS) -static
|
||||
leveldb_libleveldb_la_LDFLAGS = $(AM_LDFLAGS) -static
|
||||
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/builder.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/c.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/dbformat.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/db_impl.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/db_iter.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/dumpfile.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/filename.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/log_reader.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/log_writer.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/memtable.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/repair.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/table_cache.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/version_edit.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/version_set.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/db/write_batch.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/block_builder.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/block.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/filter_block.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/format.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/iterator.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/merger.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/table_builder.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/table.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/table/two_level_iterator.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/arena.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/bloom.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/cache.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/coding.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/comparator.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/crc32c.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/env.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/filter_policy.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/hash.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/histogram.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/logging.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/options.cc
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/status.cc
|
||||
leveldb_libleveldb_la_SOURCES=
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/port/port_stdcxx.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/port/port.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/port/thread_annotations.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/db.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/options.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/comparator.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/filter_policy.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/slice.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/table_builder.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/env.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/export.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/c.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/iterator.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/cache.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/dumpfile.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/table.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/write_batch.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/include/leveldb/status.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/log_format.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/memtable.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/version_set.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/write_batch_internal.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/filename.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/version_edit.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/dbformat.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/builder.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/log_writer.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/db_iter.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/skiplist.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/db_impl.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/table_cache.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/snapshot.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/log_reader.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/filter_block.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/block_builder.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/block.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/two_level_iterator.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/merger.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/format.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/iterator_wrapper.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/crc32c.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/env_posix_test_helper.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/env_windows_test_helper.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/arena.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/random.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/posix_logger.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/hash.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/histogram.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/coding.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/testutil.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/mutexlock.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/logging.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/no_destructor.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/testharness.h
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/windows_logger.h
|
||||
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/builder.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/c.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/dbformat.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/db_impl.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/db_iter.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/dumpfile.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/filename.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/log_reader.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/log_writer.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/memtable.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/repair.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/table_cache.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/version_edit.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/version_set.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/db/write_batch.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/block_builder.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/block.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/filter_block.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/format.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/iterator.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/merger.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/table_builder.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/table.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/table/two_level_iterator.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/arena.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/bloom.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/cache.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/coding.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/comparator.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/crc32c.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/env.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/filter_policy.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/hash.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/histogram.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/logging.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/options.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/status.cc
|
||||
|
||||
if TARGET_WINDOWS
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/env_windows.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/env_windows.cc
|
||||
else
|
||||
leveldb_libleveldb_a_SOURCES += leveldb/util/env_posix.cc
|
||||
leveldb_libleveldb_la_SOURCES += leveldb/util/env_posix.cc
|
||||
endif
|
||||
|
||||
leveldb_libmemenv_a_CPPFLAGS = $(leveldb_libleveldb_a_CPPFLAGS)
|
||||
leveldb_libmemenv_a_CXXFLAGS = $(leveldb_libleveldb_a_CXXFLAGS)
|
||||
leveldb_libmemenv_a_SOURCES = leveldb/helpers/memenv/memenv.cc
|
||||
leveldb_libmemenv_a_SOURCES += leveldb/helpers/memenv/memenv.h
|
||||
leveldb_libmemenv_la_CPPFLAGS = $(leveldb_libleveldb_la_CPPFLAGS)
|
||||
leveldb_libmemenv_la_CXXFLAGS = $(leveldb_libleveldb_la_CXXFLAGS)
|
||||
leveldb_libmemenv_la_LDFLAGS = $(leveldb_libleveldb_la_LDFLAGS)
|
||||
leveldb_libmemenv_la_SOURCES = leveldb/helpers/memenv/memenv.cc
|
||||
leveldb_libmemenv_la_SOURCES += leveldb/helpers/memenv/memenv.h
|
||||
|
|
|
@ -330,7 +330,7 @@ endif
|
|||
if ENABLE_ZMQ
|
||||
bitcoin_qt_ldadd += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
|
||||
endif
|
||||
bitcoin_qt_ldadd += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBLEVELDB_SSE42) $(LIBMEMENV) \
|
||||
bitcoin_qt_ldadd += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \
|
||||
$(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(BDB_LIBS) $(MINIUPNPC_LIBS) $(NATPMP_LIBS) $(LIBSECP256K1) \
|
||||
$(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) $(SQLITE_LIBS)
|
||||
bitcoin_qt_ldflags = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) $(PTHREAD_FLAGS)
|
||||
|
|
|
@ -55,7 +55,7 @@ if ENABLE_ZMQ
|
|||
qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS)
|
||||
endif
|
||||
qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) \
|
||||
$(LIBLEVELDB_SSE42) $(LIBMEMENV) $(QT_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) \
|
||||
$(LIBMEMENV) $(QT_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) \
|
||||
$(QR_LIBS) $(BDB_LIBS) $(MINIUPNPC_LIBS) $(NATPMP_LIBS) $(LIBSECP256K1) \
|
||||
$(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) $(SQLITE_LIBS)
|
||||
qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) $(PTHREAD_FLAGS)
|
||||
|
|
|
@ -47,7 +47,6 @@ FUZZ_SUITE_LD_COMMON = \
|
|||
$(LIBBITCOIN_CLI) \
|
||||
$(LIBUNIVALUE) \
|
||||
$(LIBLEVELDB) \
|
||||
$(LIBLEVELDB_SSE42) \
|
||||
$(LIBMEMENV) \
|
||||
$(LIBSECP256K1) \
|
||||
$(MINISKETCH_LIBS) \
|
||||
|
@ -205,7 +204,7 @@ test_test_bitcoin_LDADD += $(LIBBITCOIN_WALLET)
|
|||
endif
|
||||
|
||||
test_test_bitcoin_LDADD += $(LIBBITCOIN_NODE) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) \
|
||||
$(LIBLEVELDB) $(LIBLEVELDB_SSE42) $(LIBMEMENV) $(LIBSECP256K1) $(EVENT_LIBS) $(EVENT_PTHREADS_LIBS) $(MINISKETCH_LIBS)
|
||||
$(LIBLEVELDB) $(LIBMEMENV) $(LIBSECP256K1) $(EVENT_LIBS) $(EVENT_PTHREADS_LIBS) $(MINISKETCH_LIBS)
|
||||
test_test_bitcoin_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
|
||||
test_test_bitcoin_LDADD += $(BDB_LIBS) $(MINIUPNPC_LIBS) $(NATPMP_LIBS) $(SQLITE_LIBS)
|
||||
|
|
|
@ -18,8 +18,3 @@ libtest_fuzz_a_SOURCES = \
|
|||
test/fuzz/fuzz.cpp \
|
||||
test/fuzz/util.cpp \
|
||||
$(TEST_FUZZ_H)
|
||||
|
||||
LIBTEST_FUZZ += $(LIBBITCOIN_NODE)
|
||||
LIBTEST_FUZZ += $(LIBBITCOIN_COMMON)
|
||||
LIBTEST_FUZZ += $(LIBBITCOIN_UTIL)
|
||||
LIBTEST_FUZZ += $(LIBBITCOIN_CRYPTO_BASE)
|
||||
|
|
|
@ -34,8 +34,3 @@ libtest_util_a_SOURCES = \
|
|||
test/util/validation.cpp \
|
||||
test/util/wallet.cpp \
|
||||
$(TEST_UTIL_H)
|
||||
|
||||
LIBTEST_UTIL += $(LIBBITCOIN_NODE)
|
||||
LIBTEST_UTIL += $(LIBBITCOIN_COMMON)
|
||||
LIBTEST_UTIL += $(LIBBITCOIN_UTIL)
|
||||
LIBTEST_UTIL += $(LIBBITCOIN_CRYPTO_BASE)
|
||||
|
|
|
@ -28,8 +28,6 @@
|
|||
#include <functional>
|
||||
#include <iosfwd>
|
||||
|
||||
const std::function<std::string(const char*)> G_TRANSLATION_FUN = nullptr;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
// SETUP: Argument parsing and handling
|
||||
|
|
10
src/kernel/bitcoinkernel.cpp
Normal file
10
src/kernel/bitcoinkernel.cpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
// Copyright (c) 2022 The Bitcoin Core developers
|
||||
// Distributed under the MIT software license, see the accompanying
|
||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
#include <functional>
|
||||
#include <string>
|
||||
|
||||
// Define G_TRANSLATION_FUN symbol in libbitcoinkernel library so users of the
|
||||
// library aren't required to export this symbol
|
||||
extern const std::function<std::string(const char*)> G_TRANSLATION_FUN = nullptr;
|
Loading…
Add table
Reference in a new issue