@@ -236,6 +236,12 @@ if test "x$CXXFLAGS_overridden" = "xno"; then | |||
AX_CHECK_COMPILE_FLAG([-Wunused-local-typedef],[CXXFLAGS="$CXXFLAGS -Wno-unused-local-typedef"],,[[$CXXFLAG_WERROR]]) | |||
AX_CHECK_COMPILE_FLAG([-Wdeprecated-register],[CXXFLAGS="$CXXFLAGS -Wno-deprecated-register"],,[[$CXXFLAG_WERROR]]) | |||
AX_CHECK_COMPILE_FLAG([-Wimplicit-fallthrough],[CXXFLAGS="$CXXFLAGS -Wno-implicit-fallthrough"],,[[$CXXFLAG_WERROR]]) | |||
# Check for optional instruction set support. Enabling these does _not_ imply that all code will | |||
# be compiled with them, rather that specific objects/libs may use them after checking for runtime | |||
# compatibility. | |||
AX_CHECK_COMPILE_FLAG([-msse4.2],[[enable_sse42=yes; SSE42_CXXFLAGS="-msse4.2"]],,[[$CXXFLAG_WERROR]]) | |||
fi | |||
CPPFLAGS="$CPPFLAGS -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS" | |||
@@ -1114,6 +1120,7 @@ AM_CONDITIONAL([USE_QRCODE], [test x$use_qr = xyes]) | |||
AM_CONDITIONAL([USE_LCOV],[test x$use_lcov = xyes]) | |||
AM_CONDITIONAL([GLIBC_BACK_COMPAT],[test x$use_glibc_compat = xyes]) | |||
AM_CONDITIONAL([HARDEN],[test x$use_hardening = xyes]) | |||
AM_CONDITIONAL([ENABLE_SSE42],[test x$enable_sse42 = xyes]) | |||
AC_DEFINE(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR, [Major version]) | |||
AC_DEFINE(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR, [Minor version]) | |||
@@ -1146,6 +1153,7 @@ AC_SUBST(HARDENED_CPPFLAGS) | |||
AC_SUBST(HARDENED_LDFLAGS) | |||
AC_SUBST(PIC_FLAGS) | |||
AC_SUBST(PIE_FLAGS) | |||
AC_SUBST(SSE42_CXXFLAGS) | |||
AC_SUBST(LIBTOOL_APP_LDFLAGS) | |||
AC_SUBST(USE_UPNP) | |||
AC_SUBST(USE_QRCODE) |
@@ -380,6 +380,7 @@ bitcoind_LDADD = \ | |||
$(LIBBITCOIN_CONSENSUS) \ | |||
$(LIBBITCOIN_CRYPTO) \ | |||
$(LIBLEVELDB) \ | |||
$(LIBLEVELDB_SSE42) \ | |||
$(LIBMEMENV) \ | |||
$(LIBSECP256K1) | |||
@@ -39,6 +39,7 @@ bench_bench_bitcoin_LDADD = \ | |||
$(LIBBITCOIN_CONSENSUS) \ | |||
$(LIBBITCOIN_CRYPTO) \ | |||
$(LIBLEVELDB) \ | |||
$(LIBLEVELDB_SSE42) \ | |||
$(LIBMEMENV) \ | |||
$(LIBSECP256K1) \ | |||
$(LIBUNIVALUE) |
@@ -4,12 +4,15 @@ | |||
LIBLEVELDB_INT = leveldb/libleveldb.a | |||
LIBMEMENV_INT = leveldb/libmemenv.a | |||
LIBLEVELDB_SSE42_INT = leveldb/libleveldb_sse42.a | |||
EXTRA_LIBRARIES += $(LIBLEVELDB_INT) | |||
EXTRA_LIBRARIES += $(LIBMEMENV_INT) | |||
EXTRA_LIBRARIES += $(LIBLEVELDB_SSE42_INT) | |||
LIBLEVELDB += $(LIBLEVELDB_INT) | |||
LIBMEMENV += $(LIBMEMENV_INT) | |||
LIBLEVELDB_SSE42 = $(LIBLEVELDB_SSE42_INT) | |||
LEVELDB_CPPFLAGS += -I$(srcdir)/leveldb/include | |||
LEVELDB_CPPFLAGS += -I$(srcdir)/leveldb/helpers/memenv | |||
@@ -135,3 +138,11 @@ 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_libleveldb_sse42_a_CPPFLAGS = $(leveldb_libleveldb_a_CPPFLAGS) | |||
leveldb_libleveldb_sse42_a_CXXFLAGS = $(leveldb_libleveldb_a_CXXFLAGS) | |||
if ENABLE_SSE42 | |||
leveldb_libleveldb_sse42_a_CPPFLAGS += -DLEVELDB_PLATFORM_POSIX_SSE | |||
leveldb_libleveldb_sse42_a_CXXFLAGS += $(SSE42_CXXFLAGS) | |||
endif | |||
leveldb_libleveldb_sse42_a_SOURCES = leveldb/port/port_posix_sse.cc |
@@ -407,7 +407,7 @@ endif | |||
if ENABLE_ZMQ | |||
qt_bitcoin_qt_LDADD += $(LIBBITCOIN_ZMQ) $(ZMQ_LIBS) | |||
endif | |||
qt_bitcoin_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ | |||
qt_bitcoin_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBLEVELDB_SSE42) $(LIBMEMENV) \ | |||
$(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \ | |||
$(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) | |||
qt_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) |
@@ -60,7 +60,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) \ | |||
$(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \ | |||
$(LIBLEVELDB_SSE42) $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \ | |||
$(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \ | |||
$(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) | |||
qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) |
@@ -97,8 +97,8 @@ endif | |||
test_test_bitcoin_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) | |||
test_test_bitcoin_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) $(EVENT_CFLAGS) | |||
test_test_bitcoin_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ | |||
$(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSECP256K1) $(EVENT_LIBS) $(EVENT_PTHREADS_LIBS) | |||
test_test_bitcoin_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CONSENSUS) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) \ | |||
$(LIBLEVELDB) $(LIBLEVELDB_SSE42) $(LIBMEMENV) $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSECP256K1) $(EVENT_LIBS) $(EVENT_PTHREADS_LIBS) | |||
test_test_bitcoin_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) | |||
if ENABLE_WALLET | |||
test_test_bitcoin_LDADD += $(LIBBITCOIN_WALLET) |