Changeset View
Changeset View
Standalone View
Standalone View
configure.ac
Show First 20 Lines • Show All 321 Lines • ▼ Show 20 Lines | if test "x$CXXFLAGS_overridden" = "xno"; then | ||||
## set the -Wno-foo case if it works. | ## set the -Wno-foo case if it works. | ||||
AX_CHECK_COMPILE_FLAG([-Wunused-parameter],[CXXFLAGS="$CXXFLAGS -Wno-unused-parameter"],,[[$CXXFLAG_WERROR]]) | AX_CHECK_COMPILE_FLAG([-Wunused-parameter],[CXXFLAGS="$CXXFLAGS -Wno-unused-parameter"],,[[$CXXFLAG_WERROR]]) | ||||
fi | fi | ||||
# Check for optional instruction set support. Enabling these does _not_ imply that all code will | # 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 | # be compiled with them, rather that specific objects/libs may use them after checking for runtime | ||||
# compatibility. | # compatibility. | ||||
AX_CHECK_COMPILE_FLAG([-msse4.2],[[SSE42_CXXFLAGS="-msse4.2"]],,[[$CXXFLAG_WERROR]]) | AX_CHECK_COMPILE_FLAG([-msse4.2],[[SSE42_CXXFLAGS="-msse4.2"]],,[[$CXXFLAG_WERROR]]) | ||||
AX_CHECK_COMPILE_FLAG([-msse4.1],[[SSE41_CXXFLAGS="-msse4.1"]],,[[$CXXFLAG_WERROR]]) | |||||
AX_CHECK_COMPILE_FLAG([-mavx -mavx2],[[AVX2_CXXFLAGS="-mavx -mavx2"]],,[[$CXXFLAG_WERROR]]) | |||||
TEMP_CXXFLAGS="$CXXFLAGS" | TEMP_CXXFLAGS="$CXXFLAGS" | ||||
CXXFLAGS="$CXXFLAGS $SSE42_CXXFLAGS" | CXXFLAGS="$CXXFLAGS $SSE42_CXXFLAGS" | ||||
AC_MSG_CHECKING(for assembler crc32 support) | AC_MSG_CHECKING(for assembler crc32 support) | ||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | ||||
#include <stdint.h> | #include <stdint.h> | ||||
#if defined(_MSC_VER) | #if defined(_MSC_VER) | ||||
#include <intrin.h> | #include <intrin.h> | ||||
#elif defined(__GNUC__) && defined(__SSE4_2__) | #elif defined(__GNUC__) && defined(__SSE4_2__) | ||||
#include <nmmintrin.h> | #include <nmmintrin.h> | ||||
#endif | #endif | ||||
]],[[ | ]],[[ | ||||
uint64_t l = 0; | uint64_t l = 0; | ||||
l = _mm_crc32_u8(l, 0); | l = _mm_crc32_u8(l, 0); | ||||
l = _mm_crc32_u32(l, 0); | l = _mm_crc32_u32(l, 0); | ||||
l = _mm_crc32_u64(l, 0); | l = _mm_crc32_u64(l, 0); | ||||
return l; | return l; | ||||
]])], | ]])], | ||||
[ AC_MSG_RESULT(yes); enable_hwcrc32=yes], | [ AC_MSG_RESULT(yes); enable_hwcrc32=yes], | ||||
[ AC_MSG_RESULT(no)] | [ AC_MSG_RESULT(no)] | ||||
) | ) | ||||
CXXFLAGS="$TEMP_CXXFLAGS" | CXXFLAGS="$TEMP_CXXFLAGS" | ||||
TEMP_CXXFLAGS="$CXXFLAGS" | |||||
CXXFLAGS="$CXXFLAGS $SSE41_CXXFLAGS" | |||||
AC_MSG_CHECKING(for SSE4.1 intrinsics) | |||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | |||||
#include <stdint.h> | |||||
#if defined(_MSC_VER) | |||||
#include <immintrin.h> | |||||
#elif defined(__GNUC__) | |||||
#include <x86intrin.h> | |||||
#endif | |||||
]],[[ | |||||
__m128i l = _mm_set1_epi32(0); | |||||
return _mm_extract_epi32(l, 3); | |||||
]])], | |||||
[ AC_MSG_RESULT(yes); enable_sse41=yes; AC_DEFINE(ENABLE_SSE41, 1, [Define this symbol to build code that uses SSE4.1 intrinsics]) ], | |||||
[ AC_MSG_RESULT(no)] | |||||
) | |||||
CXXFLAGS="$TEMP_CXXFLAGS" | |||||
TEMP_CXXFLAGS="$CXXFLAGS" | |||||
CXXFLAGS="$CXXFLAGS $AVX2_CXXFLAGS" | |||||
AC_MSG_CHECKING(for AVX2 intrinsics) | |||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | |||||
#include <stdint.h> | |||||
#if defined(_MSC_VER) | |||||
#include <immintrin.h> | |||||
#elif defined(__GNUC__) && defined(__AVX2__) | |||||
#include <x86intrin.h> | |||||
#endif | |||||
]],[[ | |||||
__m256i l = _mm256_set1_epi32(0); | |||||
return _mm256_extract_epi32(l, 7); | |||||
]])], | |||||
[ AC_MSG_RESULT(yes); enable_avx2=yes; AC_DEFINE(ENABLE_AVX2, 1, [Define this symbol to build code that uses AVX2 intrinsics]) ], | |||||
[ AC_MSG_RESULT(no)] | |||||
) | |||||
CXXFLAGS="$TEMP_CXXFLAGS" | |||||
CPPFLAGS="$CPPFLAGS -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS" | CPPFLAGS="$CPPFLAGS -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS" | ||||
AC_ARG_WITH([utils], | AC_ARG_WITH([utils], | ||||
[AS_HELP_STRING([--with-utils], | [AS_HELP_STRING([--with-utils], | ||||
[build bitcoin-cli bitcoin-tx (default=yes)])], | [build bitcoin-cli bitcoin-tx (default=yes)])], | ||||
[build_bitcoin_utils=$withval], | [build_bitcoin_utils=$withval], | ||||
[build_bitcoin_utils=yes]) | [build_bitcoin_utils=yes]) | ||||
▲ Show 20 Lines • Show All 858 Lines • ▼ Show 20 Lines | |||||
AM_CONDITIONAL([ENABLE_QT],[test x$bitcoin_enable_qt = xyes]) | AM_CONDITIONAL([ENABLE_QT],[test x$bitcoin_enable_qt = xyes]) | ||||
AM_CONDITIONAL([ENABLE_QT_TESTS],[test x$BUILD_TEST_QT = xyes]) | AM_CONDITIONAL([ENABLE_QT_TESTS],[test x$BUILD_TEST_QT = xyes]) | ||||
AM_CONDITIONAL([ENABLE_BENCH],[test x$use_bench = xyes]) | AM_CONDITIONAL([ENABLE_BENCH],[test x$use_bench = xyes]) | ||||
AM_CONDITIONAL([USE_QRCODE], [test x$use_qr = xyes]) | AM_CONDITIONAL([USE_QRCODE], [test x$use_qr = xyes]) | ||||
AM_CONDITIONAL([USE_LCOV],[test x$use_lcov = xyes]) | AM_CONDITIONAL([USE_LCOV],[test x$use_lcov = xyes]) | ||||
AM_CONDITIONAL([GLIBC_BACK_COMPAT],[test x$use_glibc_compat = xyes]) | AM_CONDITIONAL([GLIBC_BACK_COMPAT],[test x$use_glibc_compat = xyes]) | ||||
AM_CONDITIONAL([HARDEN],[test x$use_hardening = xyes]) | AM_CONDITIONAL([HARDEN],[test x$use_hardening = xyes]) | ||||
AM_CONDITIONAL([ENABLE_HWCRC32],[test x$enable_hwcrc32 = xyes]) | AM_CONDITIONAL([ENABLE_HWCRC32],[test x$enable_hwcrc32 = xyes]) | ||||
AM_CONDITIONAL([ENABLE_SSE41],[test x$enable_sse41 = xyes]) | |||||
AM_CONDITIONAL([ENABLE_AVX2],[test x$enable_avx2 = xyes]) | |||||
AM_CONDITIONAL([USE_ASM],[test x$use_asm = xyes]) | AM_CONDITIONAL([USE_ASM],[test x$use_asm = xyes]) | ||||
AC_DEFINE(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR, [Major version]) | AC_DEFINE(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR, [Major version]) | ||||
AC_DEFINE(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR, [Minor version]) | AC_DEFINE(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR, [Minor version]) | ||||
AC_DEFINE(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION, [Build revision]) | AC_DEFINE(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION, [Build revision]) | ||||
AC_DEFINE(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD, [Version Build]) | AC_DEFINE(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD, [Version Build]) | ||||
AC_DEFINE(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE, [Version is release]) | AC_DEFINE(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE, [Version is release]) | ||||
AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Copyright year]) | AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Copyright year]) | ||||
Show All 20 Lines | |||||
AC_SUBST(COMPAT_LDFLAGS) | AC_SUBST(COMPAT_LDFLAGS) | ||||
AC_SUBST(ERROR_CXXFLAGS) | AC_SUBST(ERROR_CXXFLAGS) | ||||
AC_SUBST(HARDENED_CXXFLAGS) | AC_SUBST(HARDENED_CXXFLAGS) | ||||
AC_SUBST(HARDENED_CPPFLAGS) | AC_SUBST(HARDENED_CPPFLAGS) | ||||
AC_SUBST(HARDENED_LDFLAGS) | AC_SUBST(HARDENED_LDFLAGS) | ||||
AC_SUBST(PIC_FLAGS) | AC_SUBST(PIC_FLAGS) | ||||
AC_SUBST(PIE_FLAGS) | AC_SUBST(PIE_FLAGS) | ||||
AC_SUBST(SSE42_CXXFLAGS) | AC_SUBST(SSE42_CXXFLAGS) | ||||
AC_SUBST(SSE41_CXXFLAGS) | |||||
AC_SUBST(AVX2_CXXFLAGS) | |||||
AC_SUBST(LIBTOOL_APP_LDFLAGS) | AC_SUBST(LIBTOOL_APP_LDFLAGS) | ||||
AC_SUBST(USE_UPNP) | AC_SUBST(USE_UPNP) | ||||
AC_SUBST(USE_QRCODE) | AC_SUBST(USE_QRCODE) | ||||
AC_SUBST(BOOST_LIBS) | AC_SUBST(BOOST_LIBS) | ||||
AC_SUBST(TESTDEFS) | AC_SUBST(TESTDEFS) | ||||
AC_SUBST(LEVELDB_TARGET_FLAGS) | AC_SUBST(LEVELDB_TARGET_FLAGS) | ||||
AC_SUBST(MINIUPNPC_CPPFLAGS) | AC_SUBST(MINIUPNPC_CPPFLAGS) | ||||
AC_SUBST(MINIUPNPC_LIBS) | AC_SUBST(MINIUPNPC_LIBS) | ||||
▲ Show 20 Lines • Show All 93 Lines • Show Last 20 Lines |