build: remove x-prefix comparisons

Very old shells suffered from bugs which meant that prefixing variables
with an "x" to ensure that the lefthand side of a comparison always
started with an alphanumeric character was needed. Modern shells don't
suffer from this issue (i.e Bash was fixed in 1996).

In any case, we've already got unprefixed checks used in our codebase,
i.e https://github.com/bitcoin/bitcoin/blob/master/configure.ac#L292,
and have dependencies (in depends) that also use unprefixed comparisons.

I think it's time that we can consolidate on not using the x-prefix
workaround. At best it's mostly just confusing.

More info:
https://github.com/koalaman/shellcheck/wiki/SC2268
https://www.vidarholen.net/contents/blog/?p=1035
This commit is contained in:
fanquake 2021-11-24 20:16:53 +08:00
parent c9b63ab61e
commit d6d402bd2b
No known key found for this signature in database
GPG key ID: 2EEB9F5CC09526C1
5 changed files with 204 additions and 204 deletions

View file

@ -6,9 +6,9 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
AC_ARG_VAR([BDB_CFLAGS], [C compiler flags for BerkeleyDB, bypasses autodetection]) AC_ARG_VAR([BDB_CFLAGS], [C compiler flags for BerkeleyDB, bypasses autodetection])
AC_ARG_VAR([BDB_LIBS], [Linker flags for BerkeleyDB, bypasses autodetection]) AC_ARG_VAR([BDB_LIBS], [Linker flags for BerkeleyDB, bypasses autodetection])
if test "x$use_bdb" = "xno"; then if test "$use_bdb" = "no"; then
use_bdb=no use_bdb=no
elif test "x$BDB_CFLAGS" = "x"; then elif test "$BDB_CFLAGS" = ""; then
AC_MSG_CHECKING([for Berkeley DB C++ headers]) AC_MSG_CHECKING([for Berkeley DB C++ headers])
BDB_CPPFLAGS= BDB_CPPFLAGS=
bdbpath=X bdbpath=X
@ -28,7 +28,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
#error "failed to find bdb 4.8+" #error "failed to find bdb 4.8+"
#endif #endif
]])],[ ]])],[
if test "x$bdbpath" = "xX"; then if test "$bdbpath" = "X"; then
bdbpath="${searchpath}" bdbpath="${searchpath}"
fi fi
],[ ],[
@ -45,13 +45,13 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
break break
],[]) ],[])
done done
if test "x$bdbpath" = "xX"; then if test "$bdbpath" = "X"; then
use_bdb=no use_bdb=no
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
AC_MSG_WARN([libdb_cxx headers missing]) AC_MSG_WARN([libdb_cxx headers missing])
AC_MSG_WARN(AC_PACKAGE_NAME[ requires this library for BDB (legacy) wallet support]) AC_MSG_WARN(AC_PACKAGE_NAME[ requires this library for BDB (legacy) wallet support])
AC_MSG_WARN([Passing --without-bdb will suppress this warning]) AC_MSG_WARN([Passing --without-bdb will suppress this warning])
elif test "x$bdb48path" = "xX"; then elif test "$bdb48path" = "X"; then
BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx) BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx)
AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[ AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[
AC_MSG_WARN([Found Berkeley DB other than 4.8]) AC_MSG_WARN([Found Berkeley DB other than 4.8])
@ -74,9 +74,9 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
fi fi
AC_SUBST(BDB_CPPFLAGS) AC_SUBST(BDB_CPPFLAGS)
if test "x$use_bdb" = "xno"; then if test "$use_bdb" = "no"; then
use_bdb=no use_bdb=no
elif test "x$BDB_LIBS" = "x"; then elif test "$BDB_LIBS" = ""; then
# TODO: Ideally this could find the library version and make sure it matches the headers being used # TODO: Ideally this could find the library version and make sure it matches the headers being used
for searchlib in db_cxx-4.8 db_cxx db4_cxx; do for searchlib in db_cxx-4.8 db_cxx db4_cxx; do
AC_CHECK_LIB([$searchlib],[main],[ AC_CHECK_LIB([$searchlib],[main],[
@ -84,13 +84,13 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
break break
]) ])
done done
if test "x$BDB_LIBS" = "x"; then if test "$BDB_LIBS" = ""; then
AC_MSG_WARN([libdb_cxx headers missing]) AC_MSG_WARN([libdb_cxx headers missing])
AC_MSG_WARN(AC_PACKAGE_NAME[ requires this library for BDB (legacy) wallet support]) AC_MSG_WARN(AC_PACKAGE_NAME[ requires this library for BDB (legacy) wallet support])
AC_MSG_WARN([Passing --without-bdb will suppress this warning]) AC_MSG_WARN([Passing --without-bdb will suppress this warning])
fi fi
fi fi
if test "x$use_bdb" != "xno"; then if test "$use_bdb" != "no"; then
AC_SUBST(BDB_LIBS) AC_SUBST(BDB_LIBS)
AC_DEFINE([USE_BDB], [1], [Define if BDB support should be compiled in]) AC_DEFINE([USE_BDB], [1], [Define if BDB support should be compiled in])
use_bdb=yes use_bdb=yes

View file

@ -5,8 +5,8 @@ dnl file COPYING or http://www.opensource.org/licenses/mit-license.php.
dnl Helper for cases where a qt dependency is not met. dnl Helper for cases where a qt dependency is not met.
dnl Output: If qt version is auto, set bitcoin_enable_qt to false. Else, exit. dnl Output: If qt version is auto, set bitcoin_enable_qt to false. Else, exit.
AC_DEFUN([BITCOIN_QT_FAIL],[ AC_DEFUN([BITCOIN_QT_FAIL],[
if test "x$bitcoin_qt_want_version" = xauto && test "x$bitcoin_qt_force" != xyes; then if test "$bitcoin_qt_want_version" = "auto" && test "$bitcoin_qt_force" != "yes"; then
if test "x$bitcoin_enable_qt" != xno; then if test "$bitcoin_enable_qt" != "no"; then
AC_MSG_WARN([$1; bitcoin-qt frontend will not be built]) AC_MSG_WARN([$1; bitcoin-qt frontend will not be built])
fi fi
bitcoin_enable_qt=no bitcoin_enable_qt=no
@ -17,7 +17,7 @@ AC_DEFUN([BITCOIN_QT_FAIL],[
]) ])
AC_DEFUN([BITCOIN_QT_CHECK],[ AC_DEFUN([BITCOIN_QT_CHECK],[
if test "x$bitcoin_enable_qt" != xno && test "x$bitcoin_qt_want_version" != xno; then if test "$bitcoin_enable_qt" != "no" && test "$bitcoin_qt_want_version" != "no"; then
true true
$1 $1
else else
@ -35,12 +35,12 @@ dnl Inputs: $4: If "yes", don't fail if $2 is not found.
dnl Output: $1 is set to the path of $2 if found. $2 are searched in order. dnl Output: $1 is set to the path of $2 if found. $2 are searched in order.
AC_DEFUN([BITCOIN_QT_PATH_PROGS],[ AC_DEFUN([BITCOIN_QT_PATH_PROGS],[
BITCOIN_QT_CHECK([ BITCOIN_QT_CHECK([
if test "x$3" != x; then if test "$3" != ""; then
AC_PATH_PROGS([$1], [$2], [], [$3]) AC_PATH_PROGS([$1], [$2], [], [$3])
else else
AC_PATH_PROGS([$1], [$2]) AC_PATH_PROGS([$1], [$2])
fi fi
if test "x$$1" = x && test "x$4" != xyes; then if test "$$1" = "" && test "$4" != "yes"; then
BITCOIN_QT_FAIL([$1 not found]) BITCOIN_QT_FAIL([$1 not found])
fi fi
]) ])
@ -57,14 +57,14 @@ AC_DEFUN([BITCOIN_QT_INIT],[
[build bitcoin-qt GUI (default=auto)])], [build bitcoin-qt GUI (default=auto)])],
[ [
bitcoin_qt_want_version=$withval bitcoin_qt_want_version=$withval
if test "x$bitcoin_qt_want_version" = xyes; then if test "$bitcoin_qt_want_version" = "yes"; then
bitcoin_qt_force=yes bitcoin_qt_force=yes
bitcoin_qt_want_version=auto bitcoin_qt_want_version=auto
fi fi
], ],
[bitcoin_qt_want_version=auto]) [bitcoin_qt_want_version=auto])
AS_IF([test "x$with_gui" = xqt5_debug], AS_IF([test "$with_gui" = "qt5_debug"],
[AS_CASE([$host], [AS_CASE([$host],
[*darwin*], [qt_lib_suffix=_debug], [*darwin*], [qt_lib_suffix=_debug],
[qt_lib_suffix= ]); bitcoin_qt_want_version=qt5], [qt_lib_suffix= ]); bitcoin_qt_want_version=qt5],
@ -87,7 +87,7 @@ AC_DEFUN([BITCOIN_QT_INIT],[
dnl Android doesn't support D-Bus and certainly doesn't use it for notifications dnl Android doesn't support D-Bus and certainly doesn't use it for notifications
case $host in case $host in
*android*) *android*)
if test "x$use_dbus" != xyes; then if test "$use_dbus" != "yes"; then
use_dbus=no use_dbus=no
fi fi
;; ;;
@ -119,10 +119,10 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
CPPFLAGS="$QT_INCLUDES $CPPFLAGS" CPPFLAGS="$QT_INCLUDES $CPPFLAGS"
CXXFLAGS="$PIC_FLAGS $CXXFLAGS" CXXFLAGS="$PIC_FLAGS $CXXFLAGS"
_BITCOIN_QT_IS_STATIC _BITCOIN_QT_IS_STATIC
if test "x$bitcoin_cv_static_qt" = xyes; then if test "$bitcoin_cv_static_qt" = "yes"; then
_BITCOIN_QT_CHECK_STATIC_LIBS _BITCOIN_QT_CHECK_STATIC_LIBS
if test "x$qt_plugin_path" != x; then if test "$qt_plugin_path" != ""; then
if test -d "$qt_plugin_path/platforms"; then if test -d "$qt_plugin_path/platforms"; then
QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms" QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms"
fi fi
@ -138,21 +138,21 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
fi fi
AC_DEFINE([QT_STATICPLUGIN], [1], [Define this symbol if qt plugins are static]) AC_DEFINE([QT_STATICPLUGIN], [1], [Define this symbol if qt plugins are static])
if test "x$TARGET_OS" != xandroid; then if test "$TARGET_OS" != "android"; then
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QMinimalIntegrationPlugin], [-lqminimal]) _BITCOIN_QT_CHECK_STATIC_PLUGIN([QMinimalIntegrationPlugin], [-lqminimal])
AC_DEFINE([QT_QPA_PLATFORM_MINIMAL], [1], [Define this symbol if the minimal qt platform exists]) AC_DEFINE([QT_QPA_PLATFORM_MINIMAL], [1], [Define this symbol if the minimal qt platform exists])
fi fi
if test "x$TARGET_OS" = xwindows; then if test "$TARGET_OS" = "windows"; then
dnl Linking against wtsapi32 is required. See #17749 and dnl Linking against wtsapi32 is required. See #17749 and
dnl https://bugreports.qt.io/browse/QTBUG-27097. dnl https://bugreports.qt.io/browse/QTBUG-27097.
AX_CHECK_LINK_FLAG([-lwtsapi32], [QT_LIBS="$QT_LIBS -lwtsapi32"], [AC_MSG_ERROR([could not link against -lwtsapi32])]) AX_CHECK_LINK_FLAG([-lwtsapi32], [QT_LIBS="$QT_LIBS -lwtsapi32"], [AC_MSG_ERROR([could not link against -lwtsapi32])])
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QWindowsIntegrationPlugin], [-lqwindows]) _BITCOIN_QT_CHECK_STATIC_PLUGIN([QWindowsIntegrationPlugin], [-lqwindows])
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QWindowsVistaStylePlugin], [-lqwindowsvistastyle]) _BITCOIN_QT_CHECK_STATIC_PLUGIN([QWindowsVistaStylePlugin], [-lqwindowsvistastyle])
AC_DEFINE([QT_QPA_PLATFORM_WINDOWS], [1], [Define this symbol if the qt platform is windows]) AC_DEFINE([QT_QPA_PLATFORM_WINDOWS], [1], [Define this symbol if the qt platform is windows])
elif test "x$TARGET_OS" = xlinux; then elif test "$TARGET_OS" = "linux"; then
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QXcbIntegrationPlugin], [-lqxcb]) _BITCOIN_QT_CHECK_STATIC_PLUGIN([QXcbIntegrationPlugin], [-lqxcb])
AC_DEFINE([QT_QPA_PLATFORM_XCB], [1], [Define this symbol if the qt platform is xcb]) AC_DEFINE([QT_QPA_PLATFORM_XCB], [1], [Define this symbol if the qt platform is xcb])
elif test "x$TARGET_OS" = xdarwin; then elif test "$TARGET_OS" = "darwin"; then
AX_CHECK_LINK_FLAG([-framework Carbon], [QT_LIBS="$QT_LIBS -framework Carbon"], [AC_MSG_ERROR(could not link against Carbon framework)]) AX_CHECK_LINK_FLAG([-framework Carbon], [QT_LIBS="$QT_LIBS -framework Carbon"], [AC_MSG_ERROR(could not link against Carbon framework)])
AX_CHECK_LINK_FLAG([-framework IOSurface], [QT_LIBS="$QT_LIBS -framework IOSurface"], [AC_MSG_ERROR(could not link against IOSurface framework)]) AX_CHECK_LINK_FLAG([-framework IOSurface], [QT_LIBS="$QT_LIBS -framework IOSurface"], [AC_MSG_ERROR(could not link against IOSurface framework)])
AX_CHECK_LINK_FLAG([-framework Metal], [QT_LIBS="$QT_LIBS -framework Metal"], [AC_MSG_ERROR(could not link against Metal framework)]) AX_CHECK_LINK_FLAG([-framework Metal], [QT_LIBS="$QT_LIBS -framework Metal"], [AC_MSG_ERROR(could not link against Metal framework)])
@ -160,7 +160,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QCocoaIntegrationPlugin], [-lqcocoa]) _BITCOIN_QT_CHECK_STATIC_PLUGIN([QCocoaIntegrationPlugin], [-lqcocoa])
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QMacStylePlugin], [-lqmacstyle]) _BITCOIN_QT_CHECK_STATIC_PLUGIN([QMacStylePlugin], [-lqmacstyle])
AC_DEFINE([QT_QPA_PLATFORM_COCOA], [1], [Define this symbol if the qt platform is cocoa]) AC_DEFINE([QT_QPA_PLATFORM_COCOA], [1], [Define this symbol if the qt platform is cocoa])
elif test "x$TARGET_OS" = xandroid; then elif test "$TARGET_OS" = "android"; then
QT_LIBS="-Wl,--export-dynamic,--undefined=JNI_OnLoad -lplugins_platforms_qtforandroid_$ANDROID_ARCH -ljnigraphics -landroid -lqtfreetype_$ANDROID_ARCH $QT_LIBS" QT_LIBS="-Wl,--export-dynamic,--undefined=JNI_OnLoad -lplugins_platforms_qtforandroid_$ANDROID_ARCH -ljnigraphics -landroid -lqtfreetype_$ANDROID_ARCH $QT_LIBS"
AC_DEFINE([QT_QPA_PLATFORM_ANDROID], [1], [Define this symbol if the qt platform is android]) AC_DEFINE([QT_QPA_PLATFORM_ANDROID], [1], [Define this symbol if the qt platform is android])
fi fi
@ -169,11 +169,11 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
CXXFLAGS=$TEMP_CXXFLAGS CXXFLAGS=$TEMP_CXXFLAGS
]) ])
if test "x$qt_bin_path" = x; then if test "$qt_bin_path" = ""; then
qt_bin_path="`$PKG_CONFIG --variable=host_bins ${qt_lib_prefix}Core 2>/dev/null`" qt_bin_path="`$PKG_CONFIG --variable=host_bins ${qt_lib_prefix}Core 2>/dev/null`"
fi fi
if test "x$use_hardening" != xno; then if test "$use_hardening" != "no"; then
BITCOIN_QT_CHECK([ BITCOIN_QT_CHECK([
AC_MSG_CHECKING([whether -fPIE can be used with this Qt config]) AC_MSG_CHECKING([whether -fPIE can be used with this Qt config])
TEMP_CPPFLAGS=$CPPFLAGS TEMP_CPPFLAGS=$CPPFLAGS
@ -248,26 +248,26 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
BITCOIN_QT_CHECK([ BITCOIN_QT_CHECK([
bitcoin_enable_qt=yes bitcoin_enable_qt=yes
bitcoin_enable_qt_test=yes bitcoin_enable_qt_test=yes
if test "x$have_qt_test" = xno; then if test "$have_qt_test" = "no"; then
bitcoin_enable_qt_test=no bitcoin_enable_qt_test=no
fi fi
bitcoin_enable_qt_dbus=no bitcoin_enable_qt_dbus=no
if test "x$use_dbus" != xno && test "x$have_qt_dbus" = xyes; then if test "$use_dbus" != "no" && test "$have_qt_dbus" = "yes"; then
bitcoin_enable_qt_dbus=yes bitcoin_enable_qt_dbus=yes
fi fi
if test "x$use_dbus" = xyes && test "x$have_qt_dbus" = xno; then if test "$use_dbus" = "yes" && test "$have_qt_dbus" = "no"; then
AC_MSG_ERROR([libQtDBus not found. Install libQtDBus or remove --with-qtdbus.]) AC_MSG_ERROR([libQtDBus not found. Install libQtDBus or remove --with-qtdbus.])
fi fi
if test "x$LUPDATE" = x; then if test "$LUPDATE" = ""; then
AC_MSG_WARN([lupdate tool is required to update Qt translations.]) AC_MSG_WARN([lupdate tool is required to update Qt translations.])
fi fi
if test "x$LCONVERT" = x; then if test "$LCONVERT" = ""; then
AC_MSG_WARN([lconvert tool is required to update Qt translations.]) AC_MSG_WARN([lconvert tool is required to update Qt translations.])
fi fi
],[ ],[
bitcoin_enable_qt=no bitcoin_enable_qt=no
]) ])
if test x$bitcoin_enable_qt = xyes; then if test $bitcoin_enable_qt = "yes"; then
AC_MSG_RESULT([$bitcoin_enable_qt ($qt_lib_prefix)]) AC_MSG_RESULT([$bitcoin_enable_qt ($qt_lib_prefix)])
else else
AC_MSG_RESULT([$bitcoin_enable_qt]) AC_MSG_RESULT([$bitcoin_enable_qt])
@ -348,18 +348,18 @@ AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_LIBS], [
PKG_CHECK_MODULES([QT_FB], [${qt_lib_prefix}FbSupport${qt_lib_suffix}], [QT_LIBS="$QT_FB_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_FB], [${qt_lib_prefix}FbSupport${qt_lib_suffix}], [QT_LIBS="$QT_FB_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_FONTDATABASE], [${qt_lib_prefix}FontDatabaseSupport${qt_lib_suffix}], [QT_LIBS="$QT_FONTDATABASE_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_FONTDATABASE], [${qt_lib_prefix}FontDatabaseSupport${qt_lib_suffix}], [QT_LIBS="$QT_FONTDATABASE_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_THEME], [${qt_lib_prefix}ThemeSupport${qt_lib_suffix}], [QT_LIBS="$QT_THEME_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_THEME], [${qt_lib_prefix}ThemeSupport${qt_lib_suffix}], [QT_LIBS="$QT_THEME_LIBS $QT_LIBS"])
if test "x$TARGET_OS" = xlinux; then if test "$TARGET_OS" = "linux"; then
PKG_CHECK_MODULES([QT_INPUT], [${qt_lib_prefix}InputSupport], [QT_LIBS="$QT_INPUT_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_INPUT], [${qt_lib_prefix}InputSupport], [QT_LIBS="$QT_INPUT_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_SERVICE], [${qt_lib_prefix}ServiceSupport], [QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_SERVICE], [${qt_lib_prefix}ServiceSupport], [QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_XCBQPA], [${qt_lib_prefix}XcbQpa], [QT_LIBS="$QT_XCBQPA_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_XCBQPA], [${qt_lib_prefix}XcbQpa], [QT_LIBS="$QT_XCBQPA_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_XKBCOMMON], [${qt_lib_prefix}XkbCommonSupport], [QT_LIBS="$QT_XKBCOMMON_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_XKBCOMMON], [${qt_lib_prefix}XkbCommonSupport], [QT_LIBS="$QT_XKBCOMMON_LIBS $QT_LIBS"])
elif test "x$TARGET_OS" = xdarwin; then elif test "$TARGET_OS" = "darwin"; then
PKG_CHECK_MODULES([QT_CLIPBOARD], [${qt_lib_prefix}ClipboardSupport${qt_lib_suffix}], [QT_LIBS="$QT_CLIPBOARD_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_CLIPBOARD], [${qt_lib_prefix}ClipboardSupport${qt_lib_suffix}], [QT_LIBS="$QT_CLIPBOARD_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_GRAPHICS], [${qt_lib_prefix}GraphicsSupport${qt_lib_suffix}], [QT_LIBS="$QT_GRAPHICS_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_GRAPHICS], [${qt_lib_prefix}GraphicsSupport${qt_lib_suffix}], [QT_LIBS="$QT_GRAPHICS_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_SERVICE], [${qt_lib_prefix}ServiceSupport${qt_lib_suffix}], [QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_SERVICE], [${qt_lib_prefix}ServiceSupport${qt_lib_suffix}], [QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"])
elif test "x$TARGET_OS" = xwindows; then elif test "$TARGET_OS" = "windows"; then
PKG_CHECK_MODULES([QT_WINDOWSUIAUTOMATION], [${qt_lib_prefix}WindowsUIAutomationSupport${qt_lib_suffix}], [QT_LIBS="$QT_WINDOWSUIAUTOMATION_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_WINDOWSUIAUTOMATION], [${qt_lib_prefix}WindowsUIAutomationSupport${qt_lib_suffix}], [QT_LIBS="$QT_WINDOWSUIAUTOMATION_LIBS $QT_LIBS"])
elif test "x$TARGET_OS" = xandroid; then elif test "$TARGET_OS" = "android"; then
PKG_CHECK_MODULES([QT_EGL], [${qt_lib_prefix}EglSupport${qt_lib_suffix}], [QT_LIBS="$QT_EGL_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_EGL], [${qt_lib_prefix}EglSupport${qt_lib_suffix}], [QT_LIBS="$QT_EGL_LIBS $QT_LIBS"])
PKG_CHECK_MODULES([QT_SERVICE], [${qt_lib_prefix}ServiceSupport${qt_lib_suffix}], [QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"]) PKG_CHECK_MODULES([QT_SERVICE], [${qt_lib_prefix}ServiceSupport${qt_lib_suffix}], [QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"])
fi fi
@ -392,7 +392,7 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS],[
BITCOIN_QT_CHECK([ BITCOIN_QT_CHECK([
PKG_CHECK_MODULES([QT_TEST], [${qt_lib_prefix}Test${qt_lib_suffix} $qt_version], [QT_TEST_INCLUDES="$QT_TEST_CFLAGS"; have_qt_test=yes], [have_qt_test=no]) PKG_CHECK_MODULES([QT_TEST], [${qt_lib_prefix}Test${qt_lib_suffix} $qt_version], [QT_TEST_INCLUDES="$QT_TEST_CFLAGS"; have_qt_test=yes], [have_qt_test=no])
if test "x$use_dbus" != xno; then if test "$use_dbus" != "no"; then
PKG_CHECK_MODULES([QT_DBUS], [${qt_lib_prefix}DBus $qt_version], [QT_DBUS_INCLUDES="$QT_DBUS_CFLAGS"; have_qt_dbus=yes], [have_qt_dbus=no]) PKG_CHECK_MODULES([QT_DBUS], [${qt_lib_prefix}DBus $qt_version], [QT_DBUS_INCLUDES="$QT_DBUS_CFLAGS"; have_qt_dbus=yes], [have_qt_dbus=no])
fi fi
]) ])

View file

@ -5,13 +5,13 @@ dnl file COPYING or http://www.opensource.org/licenses/mit-license.php.
dnl BITCOIN_SUBDIR_TO_INCLUDE([CPPFLAGS-VARIABLE-NAME],[SUBDIRECTORY-NAME],[HEADER-FILE]) dnl BITCOIN_SUBDIR_TO_INCLUDE([CPPFLAGS-VARIABLE-NAME],[SUBDIRECTORY-NAME],[HEADER-FILE])
dnl SUBDIRECTORY-NAME must end with a path separator dnl SUBDIRECTORY-NAME must end with a path separator
AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[ AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[
if test "x$2" = "x"; then if test "$2" = ""; then
AC_MSG_RESULT([default]) AC_MSG_RESULT([default])
else else
echo "#include <$2$3.h>" >conftest.cpp echo "#include <$2$3.h>" >conftest.cpp
newinclpath=`${CXXCPP} ${CPPFLAGS} -M conftest.cpp 2>/dev/null | [ tr -d '\\n\\r\\\\' | sed -e 's/^.*[[:space:]:]\(\/[^[:space:]]*\)]$3[\.h[[:space:]].*$/\1/' -e t -e d`] newinclpath=`${CXXCPP} ${CPPFLAGS} -M conftest.cpp 2>/dev/null | [ tr -d '\\n\\r\\\\' | sed -e 's/^.*[[:space:]:]\(\/[^[:space:]]*\)]$3[\.h[[:space:]].*$/\1/' -e t -e d`]
AC_MSG_RESULT([${newinclpath}]) AC_MSG_RESULT([${newinclpath}])
if test "x${newinclpath}" != "x"; then if test "${newinclpath}" != ""; then
eval "$1=\"\$$1\"' -I${newinclpath}'" eval "$1=\"\$$1\"' -I${newinclpath}'"
fi fi
fi fi

View file

@ -15,7 +15,7 @@ AC_CONFIG_MACRO_DIR([build-aux/m4])
m4_ifndef([PKG_PROG_PKG_CONFIG], [AC_MSG_ERROR([PKG_PROG_PKG_CONFIG macro not found. Please install pkg-config and re-run autogen.sh])]) m4_ifndef([PKG_PROG_PKG_CONFIG], [AC_MSG_ERROR([PKG_PROG_PKG_CONFIG macro not found. Please install pkg-config and re-run autogen.sh])])
PKG_PROG_PKG_CONFIG PKG_PROG_PKG_CONFIG
if test "x$PKG_CONFIG" = x; then if test "$PKG_CONFIG" = ""; then
AC_MSG_ERROR([pkg-config not found]) AC_MSG_ERROR([pkg-config not found])
fi fi
@ -31,7 +31,7 @@ BITCOIN_MP_GUI_NAME=bitcoin-gui
dnl Unless the user specified ARFLAGS, force it to be cr dnl Unless the user specified ARFLAGS, force it to be cr
AC_ARG_VAR([ARFLAGS], [Flags for the archiver, defaults to <cr> if not set]) AC_ARG_VAR([ARFLAGS], [Flags for the archiver, defaults to <cr> if not set])
if test "x${ARFLAGS+set}" != "xset"; then if test "${ARFLAGS+set}" != "set"; then
ARFLAGS="cr" ARFLAGS="cr"
fi fi
@ -55,7 +55,7 @@ dnl make the compilation flags quiet unless V=1 is used
AM_SILENT_RULES([yes]) AM_SILENT_RULES([yes])
dnl Compiler checks (here before libtool). dnl Compiler checks (here before libtool).
if test "x${CXXFLAGS+set}" = "xset"; then if test "${CXXFLAGS+set}" = "set"; then
CXXFLAGS_overridden=yes CXXFLAGS_overridden=yes
else else
CXXFLAGS_overridden=no CXXFLAGS_overridden=no
@ -86,7 +86,7 @@ CHECK_ATOMIC
dnl Unless the user specified OBJCXX, force it to be the same as CXX. This ensures dnl Unless the user specified OBJCXX, force it to be the same as CXX. This ensures
dnl that we get the same -std flags for both. dnl that we get the same -std flags for both.
m4_ifdef([AC_PROG_OBJCXX],[ m4_ifdef([AC_PROG_OBJCXX],[
if test "x${OBJCXX+set}" = "x"; then if test "${OBJCXX+set}" = ""; then
OBJCXX="${CXX}" OBJCXX="${CXX}"
fi fi
AC_PROG_OBJCXX AC_PROG_OBJCXX
@ -257,7 +257,7 @@ AC_ARG_ENABLE([asm],
[use_asm=$enableval], [use_asm=$enableval],
[use_asm=yes]) [use_asm=yes])
if test "x$use_asm" = xyes; then if test "$use_asm" = "yes"; then
AC_DEFINE([USE_ASM], [1], [Define this symbol to build in assembly routines]) AC_DEFINE([USE_ASM], [1], [Define this symbol to build in assembly routines])
fi fi
@ -289,7 +289,7 @@ AC_ARG_ENABLE(man,
[AS_HELP_STRING([--disable-man], [AS_HELP_STRING([--disable-man],
[do not install man pages (default is to install)])],, [do not install man pages (default is to install)])],,
enable_man=yes) enable_man=yes)
AM_CONDITIONAL([ENABLE_MAN], [test "$enable_man" != no]) AM_CONDITIONAL([ENABLE_MAN], [test "$enable_man" != "no"])
dnl Enable debug dnl Enable debug
AC_ARG_ENABLE([debug], AC_ARG_ENABLE([debug],
@ -353,9 +353,9 @@ case $host in
;; ;;
esac esac
if test "x$enable_debug" = xyes; then if test "$enable_debug" = "yes"; then
dnl Clear default -g -O2 flags dnl Clear default -g -O2 flags
if test "x$CXXFLAGS_overridden" = xno; then if test "$CXXFLAGS_overridden" = "no"; then
CXXFLAGS="" CXXFLAGS=""
fi fi
@ -375,12 +375,12 @@ if test "x$enable_debug" = xyes; then
AX_CHECK_COMPILE_FLAG([-ftrapv], [DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -ftrapv"], [], [$CXXFLAG_WERROR]) AX_CHECK_COMPILE_FLAG([-ftrapv], [DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -ftrapv"], [], [$CXXFLAG_WERROR])
fi fi
if test "x$enable_lto" = "xyes"; then if test "$enable_lto" = "yes"; then
AX_CHECK_COMPILE_FLAG([-flto], [LTO_CXXFLAGS="$LTO_CXXFLAGS -flto"], [AC_MSG_ERROR([compile failed with -flto])], [$CXXFLAG_WERROR]) AX_CHECK_COMPILE_FLAG([-flto], [LTO_CXXFLAGS="$LTO_CXXFLAGS -flto"], [AC_MSG_ERROR([compile failed with -flto])], [$CXXFLAG_WERROR])
AX_CHECK_LINK_FLAG([-flto], [LTO_LDFLAGS="$LTO_LDFLAGS -flto"], [AC_MSG_ERROR([link failed with -flto])], [$CXXFLAG_WERROR]) AX_CHECK_LINK_FLAG([-flto], [LTO_LDFLAGS="$LTO_LDFLAGS -flto"], [AC_MSG_ERROR([link failed with -flto])], [$CXXFLAG_WERROR])
fi fi
if test x$use_sanitizers != x; then if test "$use_sanitizers" != ""; then
dnl First check if the compiler accepts flags. If an incompatible pair like dnl First check if the compiler accepts flags. If an incompatible pair like
dnl -fsanitize=address,thread is used here, this check will fail. This will also dnl -fsanitize=address,thread is used here, this check will fail. This will also
dnl fail if a bad argument is passed, e.g. -fsanitize=undfeined dnl fail if a bad argument is passed, e.g. -fsanitize=undfeined
@ -408,8 +408,8 @@ if test x$use_sanitizers != x; then
fi fi
ERROR_CXXFLAGS= ERROR_CXXFLAGS=
if test "x$enable_werror" = "xyes"; then if test "$enable_werror" = "yes"; then
if test "x$CXXFLAG_WERROR" = "x"; then if test "$CXXFLAG_WERROR" = ""; then
AC_MSG_ERROR([enable-werror set but -Werror is not usable]) AC_MSG_ERROR([enable-werror set but -Werror is not usable])
fi fi
ERROR_CXXFLAGS=$CXXFLAG_WERROR ERROR_CXXFLAGS=$CXXFLAG_WERROR
@ -421,7 +421,7 @@ if test "x$enable_werror" = "xyes"; then
int f(){ assert(false); }]])]) int f(){ assert(false); }]])])
fi fi
if test "x$CXXFLAGS_overridden" = "xno"; then if test "$CXXFLAGS_overridden" = "no"; then
AX_CHECK_COMPILE_FLAG([-Wall], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wall"], [], [$CXXFLAG_WERROR]) AX_CHECK_COMPILE_FLAG([-Wall], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wall"], [], [$CXXFLAG_WERROR])
AX_CHECK_COMPILE_FLAG([-Wextra], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wextra"], [], [$CXXFLAG_WERROR]) AX_CHECK_COMPILE_FLAG([-Wextra], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wextra"], [], [$CXXFLAG_WERROR])
AX_CHECK_COMPILE_FLAG([-Wgnu], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wgnu"], [], [$CXXFLAG_WERROR]) AX_CHECK_COMPILE_FLAG([-Wgnu], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wgnu"], [], [$CXXFLAG_WERROR])
@ -446,7 +446,7 @@ if test "x$CXXFLAGS_overridden" = "xno"; then
AX_CHECK_COMPILE_FLAG([-Wunreachable-code-loop-increment], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wunreachable-code-loop-increment"], [], [$CXXFLAG_WERROR]) AX_CHECK_COMPILE_FLAG([-Wunreachable-code-loop-increment], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wunreachable-code-loop-increment"], [], [$CXXFLAG_WERROR])
AX_CHECK_COMPILE_FLAG([-Wimplicit-fallthrough], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wimplicit-fallthrough"], [], [$CXXFLAG_WERROR]) AX_CHECK_COMPILE_FLAG([-Wimplicit-fallthrough], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wimplicit-fallthrough"], [], [$CXXFLAG_WERROR])
if test x$suppress_external_warnings != xno ; then if test "$suppress_external_warnings" != "no" ; then
AX_CHECK_COMPILE_FLAG([-Wdocumentation], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wdocumentation"], [], [$CXXFLAG_WERROR]) AX_CHECK_COMPILE_FLAG([-Wdocumentation], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wdocumentation"], [], [$CXXFLAG_WERROR])
fi fi
@ -455,7 +455,7 @@ if test "x$CXXFLAGS_overridden" = "xno"; then
dnl set the -Wno-foo case if it works. dnl set the -Wno-foo case if it works.
AX_CHECK_COMPILE_FLAG([-Wunused-parameter], [NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-unused-parameter"], [], [$CXXFLAG_WERROR]) AX_CHECK_COMPILE_FLAG([-Wunused-parameter], [NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-unused-parameter"], [], [$CXXFLAG_WERROR])
AX_CHECK_COMPILE_FLAG([-Wself-assign], [NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-self-assign"], [], [$CXXFLAG_WERROR]) AX_CHECK_COMPILE_FLAG([-Wself-assign], [NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-self-assign"], [], [$CXXFLAG_WERROR])
if test x$suppress_external_warnings != xyes ; then if test "$suppress_external_warnings" != "yes" ; then
AX_CHECK_COMPILE_FLAG([-Wdeprecated-copy], [NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-deprecated-copy"], [], [$CXXFLAG_WERROR]) AX_CHECK_COMPILE_FLAG([-Wdeprecated-copy], [NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-deprecated-copy"], [], [$CXXFLAG_WERROR])
fi fi
fi fi
@ -468,7 +468,7 @@ enable_sse41=no
enable_avx2=no enable_avx2=no
enable_shani=no enable_shani=no
if test "x$use_asm" = "xyes"; then if test "$use_asm" = "yes"; then
dnl Check for optional instruction set support. Enabling these does _not_ imply that all code will dnl Check for optional instruction set support. Enabling these does _not_ imply that all code will
dnl be compiled with them, rather that specific objects/libs may use them after checking for runtime dnl be compiled with them, rather that specific objects/libs may use them after checking for runtime
@ -493,7 +493,7 @@ AX_CHECK_COMPILE_FLAG([-mpclmul], [enable_clmul=yes], [], [$CXXFLAG_WERROR], [AC
return e == 0; return e == 0;
])]) ])])
if test x$enable_clmul = xyes; then if test "$enable_clmul" = "yes"; then
CLMUL_CXXFLAGS="-mpclmul" CLMUL_CXXFLAGS="-mpclmul"
AC_DEFINE([HAVE_CLMUL], [1], [Define this symbol if clmul instructions can be used]) AC_DEFINE([HAVE_CLMUL], [1], [Define this symbol if clmul instructions can be used])
fi fi
@ -658,12 +658,12 @@ case $host in
AX_CHECK_LINK_FLAG([-static], [LIBTOOL_APP_LDFLAGS="$LIBTOOL_APP_LDFLAGS -all-static"]) AX_CHECK_LINK_FLAG([-static], [LIBTOOL_APP_LDFLAGS="$LIBTOOL_APP_LDFLAGS -all-static"])
AC_PATH_PROG([MAKENSIS], [makensis], [none]) AC_PATH_PROG([MAKENSIS], [makensis], [none])
if test x$MAKENSIS = xnone; then if test "$MAKENSIS" = "none"; then
AC_MSG_WARN([makensis not found. Cannot create installer.]) AC_MSG_WARN([makensis not found. Cannot create installer.])
fi fi
AC_PATH_TOOL([WINDRES], [windres], [none]) AC_PATH_TOOL([WINDRES], [windres], [none])
if test x$WINDRES = xnone; then if test "$WINDRES" = "none"; then
AC_MSG_ERROR([windres not found]) AC_MSG_ERROR([windres not found])
fi fi
@ -682,25 +682,25 @@ case $host in
;; ;;
*darwin*) *darwin*)
TARGET_OS=darwin TARGET_OS=darwin
if test x$cross_compiling != xyes; then if test $cross_compiling != "yes"; then
BUILD_OS=darwin BUILD_OS=darwin
AC_PATH_PROGS([RSVG_CONVERT], [rsvg-convert rsvg], [rsvg-convert]) AC_PATH_PROGS([RSVG_CONVERT], [rsvg-convert rsvg], [rsvg-convert])
AC_CHECK_PROG([BREW], [brew], [brew]) AC_CHECK_PROG([BREW], [brew], [brew])
if test x$BREW = xbrew; then if test "$BREW" = "brew"; then
dnl These Homebrew packages may be keg-only, meaning that they won't be found dnl These Homebrew packages may be keg-only, meaning that they won't be found
dnl in expected paths because they may conflict with system files. Ask dnl in expected paths because they may conflict with system files. Ask
dnl Homebrew where each one is located, then adjust paths accordingly. dnl Homebrew where each one is located, then adjust paths accordingly.
dnl It's safe to add these paths even if the functionality is disabled by dnl It's safe to add these paths even if the functionality is disabled by
dnl the user (--without-wallet or --without-gui for example). dnl the user (--without-wallet or --without-gui for example).
if test "x$use_bdb" != xno && $BREW list --versions berkeley-db@4 >/dev/null && test "x$BDB_CFLAGS" = "x" && test "x$BDB_LIBS" = "x"; then if test "$use_bdb" != "no" && $BREW list --versions berkeley-db@4 >/dev/null && test "$BDB_CFLAGS" = "" && test "$BDB_LIBS" = ""; then
bdb_prefix=$($BREW --prefix berkeley-db@4 2>/dev/null) bdb_prefix=$($BREW --prefix berkeley-db@4 2>/dev/null)
dnl This must precede the call to BITCOIN_FIND_BDB48 below. dnl This must precede the call to BITCOIN_FIND_BDB48 below.
BDB_CFLAGS="-I$bdb_prefix/include" BDB_CFLAGS="-I$bdb_prefix/include"
BDB_LIBS="-L$bdb_prefix/lib -ldb_cxx-4.8" BDB_LIBS="-L$bdb_prefix/lib -ldb_cxx-4.8"
fi fi
if test "x$use_sqlite" != xno && $BREW list --versions sqlite3 >/dev/null; then if test "$use_sqlite" != "no" && $BREW list --versions sqlite3 >/dev/null; then
export PKG_CONFIG_PATH="$($BREW --prefix sqlite3 2>/dev/null)/lib/pkgconfig:$PKG_CONFIG_PATH" export PKG_CONFIG_PATH="$($BREW --prefix sqlite3 2>/dev/null)/lib/pkgconfig:$PKG_CONFIG_PATH"
fi fi
@ -714,18 +714,18 @@ case $host in
dnl Therefore, as we do not use pkg-config to detect miniupnpc and libnatpmp dnl Therefore, as we do not use pkg-config to detect miniupnpc and libnatpmp
dnl packages, we should set the CPPFLAGS and LDFLAGS variables for them dnl packages, we should set the CPPFLAGS and LDFLAGS variables for them
dnl explicitly. dnl explicitly.
if test "x$use_upnp" != xno && $BREW list --versions miniupnpc >/dev/null; then if test "$use_upnp" != "no" && $BREW list --versions miniupnpc >/dev/null; then
miniupnpc_prefix=$($BREW --prefix miniupnpc 2>/dev/null) miniupnpc_prefix=$($BREW --prefix miniupnpc 2>/dev/null)
if test "x$suppress_external_warnings" != xno; then if test "$suppress_external_warnings" != "no"; then
CPPFLAGS="$CPPFLAGS -isystem $miniupnpc_prefix/include" CPPFLAGS="$CPPFLAGS -isystem $miniupnpc_prefix/include"
else else
CPPFLAGS="$CPPFLAGS -I$miniupnpc_prefix/include" CPPFLAGS="$CPPFLAGS -I$miniupnpc_prefix/include"
fi fi
LDFLAGS="$LDFLAGS -L$miniupnpc_prefix/lib" LDFLAGS="$LDFLAGS -L$miniupnpc_prefix/lib"
fi fi
if test "x$use_natpmp" != xno && $BREW list --versions libnatpmp >/dev/null; then if test "$use_natpmp" != "no" && $BREW list --versions libnatpmp >/dev/null; then
libnatpmp_prefix=$($BREW --prefix libnatpmp 2>/dev/null) libnatpmp_prefix=$($BREW --prefix libnatpmp 2>/dev/null)
if test "x$suppress_external_warnings" != xno; then if test "$suppress_external_warnings" != "no"; then
CPPFLAGS="$CPPFLAGS -isystem $libnatpmp_prefix/include" CPPFLAGS="$CPPFLAGS -isystem $libnatpmp_prefix/include"
else else
CPPFLAGS="$CPPFLAGS -I$libnatpmp_prefix/include" CPPFLAGS="$CPPFLAGS -I$libnatpmp_prefix/include"
@ -787,18 +787,18 @@ case $host in
;; ;;
esac esac
if test x$use_extended_functional_tests != xno; then if test "$use_extended_functional_tests" != "no"; then
AC_SUBST(EXTENDED_FUNCTIONAL_TESTS, --extended) AC_SUBST(EXTENDED_FUNCTIONAL_TESTS, --extended)
fi fi
if test x$use_lcov = xyes; then if test "$use_lcov" = "yes"; then
if test x$LCOV = x; then if test "$LCOV" = ""; then
AC_MSG_ERROR([lcov testing requested but lcov not found]) AC_MSG_ERROR([lcov testing requested but lcov not found])
fi fi
if test x$PYTHON = x; then if test "$PYTHON" = ""; then
AC_MSG_ERROR([lcov testing requested but python not found]) AC_MSG_ERROR([lcov testing requested but python not found])
fi fi
if test x$GENHTML = x; then if test "$GENHTML" = ""; then
AC_MSG_ERROR([lcov testing requested but genhtml not found]) AC_MSG_ERROR([lcov testing requested but genhtml not found])
fi fi
@ -811,13 +811,13 @@ if test x$use_lcov = xyes; then
#endif #endif
]])],[ ]])],[
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
if test x$LLVM_COV = x; then if test "$LLVM_COV" = ""; then
AC_MSG_ERROR([lcov testing requested but llvm-cov not found]) AC_MSG_ERROR([lcov testing requested but llvm-cov not found])
fi fi
COV_TOOL="$LLVM_COV gcov" COV_TOOL="$LLVM_COV gcov"
],[ ],[
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
if test x$GCOV = x; then if test "$GCOV" = "x"; then
AC_MSG_ERROR([lcov testing requested but gcov not found]) AC_MSG_ERROR([lcov testing requested but gcov not found])
fi fi
COV_TOOL="$GCOV" COV_TOOL="$GCOV"
@ -833,7 +833,7 @@ if test x$use_lcov = xyes; then
CXXFLAGS="$CXXFLAGS -Og" CXXFLAGS="$CXXFLAGS -Og"
fi fi
if test x$use_lcov_branch != xno; then if test "$use_lcov_branch" != "no"; then
AC_SUBST(LCOV_OPTS, "$LCOV_OPTS --rc lcov_branch_coverage=1") AC_SUBST(LCOV_OPTS, "$LCOV_OPTS --rc lcov_branch_coverage=1")
fi fi
@ -853,26 +853,26 @@ AC_SYS_LARGEFILE
dnl detect POSIX or GNU variant of strerror_r dnl detect POSIX or GNU variant of strerror_r
AC_FUNC_STRERROR_R AC_FUNC_STRERROR_R
if test x$ac_cv_sys_file_offset_bits != x && if test "$ac_cv_sys_file_offset_bits" != "" &&
test x$ac_cv_sys_file_offset_bits != xno && test "$ac_cv_sys_file_offset_bits" != "no" &&
test x$ac_cv_sys_file_offset_bits != xunknown; then test "$ac_cv_sys_file_offset_bits" != "unknown"; then
CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits" CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
fi fi
if test x$ac_cv_sys_large_files != x && if test "$ac_cv_sys_large_files" != "" &&
test x$ac_cv_sys_large_files != xno && test "$ac_cv_sys_large_files" != "no" &&
test x$ac_cv_sys_large_files != xunknown; then test "$ac_cv_sys_large_files" != "unknown"; then
CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=$ac_cv_sys_large_files" CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=$ac_cv_sys_large_files"
fi fi
AC_SEARCH_LIBS([clock_gettime],[rt]) AC_SEARCH_LIBS([clock_gettime],[rt])
if test "x$enable_gprof" = xyes; then if test "$enable_gprof" = "yes"; then
dnl -pg is incompatible with -pie. Since hardening and profiling together doesn't make sense, dnl -pg is incompatible with -pie. Since hardening and profiling together doesn't make sense,
dnl we simply make them mutually exclusive here. Additionally, hardened toolchains may force dnl we simply make them mutually exclusive here. Additionally, hardened toolchains may force
dnl -pie by default, in which case it needs to be turned off with -no-pie. dnl -pie by default, in which case it needs to be turned off with -no-pie.
if test x$use_hardening = xyes; then if test "$use_hardening" = "yes"; then
AC_MSG_ERROR([gprof profiling is not compatible with hardening. Reconfigure with --disable-hardening or --disable-gprof]) AC_MSG_ERROR([gprof profiling is not compatible with hardening. Reconfigure with --disable-hardening or --disable-gprof])
fi fi
use_hardening=no use_hardening=no
@ -884,7 +884,7 @@ if test "x$enable_gprof" = xyes; then
[AC_MSG_ERROR([gprof profiling requested but not available])], [$GPROF_LDFLAGS]) [AC_MSG_ERROR([gprof profiling requested but not available])], [$GPROF_LDFLAGS])
fi fi
if test x$TARGET_OS != xwindows; then if test "$TARGET_OS" != "windows"; then
dnl All windows code is PIC, forcing it on just adds useless compile warnings dnl All windows code is PIC, forcing it on just adds useless compile warnings
AX_CHECK_COMPILE_FLAG([-fPIC], [PIC_FLAGS="-fPIC"]) AX_CHECK_COMPILE_FLAG([-fPIC], [PIC_FLAGS="-fPIC"])
fi fi
@ -893,7 +893,7 @@ dnl All versions of gcc that we commonly use for building are subject to bug
dnl https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90348. To work around that, set dnl https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90348. To work around that, set
dnl -fstack-reuse=none for all gcc builds. (Only gcc understands this flag) dnl -fstack-reuse=none for all gcc builds. (Only gcc understands this flag)
AX_CHECK_COMPILE_FLAG([-fstack-reuse=none], [HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-reuse=none"]) AX_CHECK_COMPILE_FLAG([-fstack-reuse=none], [HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-reuse=none"])
if test x$use_hardening != xno; then if test "$use_hardening" != "no"; then
use_hardening=yes use_hardening=yes
AX_CHECK_COMPILE_FLAG([-Wstack-protector], [HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wstack-protector"]) AX_CHECK_COMPILE_FLAG([-Wstack-protector], [HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wstack-protector"])
AX_CHECK_COMPILE_FLAG([-fstack-protector-all], [HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-protector-all"]) AX_CHECK_COMPILE_FLAG([-fstack-protector-all], [HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-protector-all"])
@ -917,7 +917,7 @@ if test x$use_hardening != xno; then
dnl When enable_debug is yes, all optimizations are disabled. dnl When enable_debug is yes, all optimizations are disabled.
dnl However, FORTIFY_SOURCE requires that there is some level of optimization, otherwise it does nothing and just creates a compiler warning. dnl However, FORTIFY_SOURCE requires that there is some level of optimization, otherwise it does nothing and just creates a compiler warning.
dnl Since FORTIFY_SOURCE is a no-op without optimizations, do not enable it when enable_debug is yes. dnl Since FORTIFY_SOURCE is a no-op without optimizations, do not enable it when enable_debug is yes.
if test x$enable_debug != xyes; then if test "$enable_debug" != "yes"; then
AX_CHECK_PREPROC_FLAG([-D_FORTIFY_SOURCE=2],[ AX_CHECK_PREPROC_FLAG([-D_FORTIFY_SOURCE=2],[
AX_CHECK_PREPROC_FLAG([-U_FORTIFY_SOURCE],[ AX_CHECK_PREPROC_FLAG([-U_FORTIFY_SOURCE],[
HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -U_FORTIFY_SOURCE" HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -U_FORTIFY_SOURCE"
@ -945,7 +945,7 @@ fi
dnl These flags are specific to ld64, and may cause issues with other linkers. dnl These flags are specific to ld64, and may cause issues with other linkers.
dnl For example: GNU ld will interpret -dead_strip as -de and then try and use dnl For example: GNU ld will interpret -dead_strip as -de and then try and use
dnl "ad_strip" as the symbol for the entry point. dnl "ad_strip" as the symbol for the entry point.
if test x$TARGET_OS = xdarwin; then if test "$TARGET_OS" = "darwin"; then
AX_CHECK_LINK_FLAG([-Wl,-dead_strip], [LDFLAGS="$LDFLAGS -Wl,-dead_strip"], [], [$LDFLAG_WERROR]) AX_CHECK_LINK_FLAG([-Wl,-dead_strip], [LDFLAGS="$LDFLAGS -Wl,-dead_strip"], [], [$LDFLAG_WERROR])
AX_CHECK_LINK_FLAG([-Wl,-dead_strip_dylibs], [LDFLAGS="$LDFLAGS -Wl,-dead_strip_dylibs"], [], [$LDFLAG_WERROR]) AX_CHECK_LINK_FLAG([-Wl,-dead_strip_dylibs], [LDFLAGS="$LDFLAGS -Wl,-dead_strip_dylibs"], [], [$LDFLAG_WERROR])
AX_CHECK_LINK_FLAG([-Wl,-bind_at_load], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-bind_at_load"], [], [$LDFLAG_WERROR]) AX_CHECK_LINK_FLAG([-Wl,-bind_at_load], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-bind_at_load"], [], [$LDFLAG_WERROR])
@ -1036,7 +1036,7 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([
], ],
[ [
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
if test x$use_reduce_exports = xyes; then if test "$use_reduce_exports" = "yes"; then
AC_MSG_ERROR([Cannot find a working visibility attribute. Use --disable-reduce-exports.]) AC_MSG_ERROR([Cannot find a working visibility attribute. Use --disable-reduce-exports.])
fi fi
] ]
@ -1054,7 +1054,7 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([
[AC_MSG_RESULT([no])] [AC_MSG_RESULT([no])]
) )
if test "x$use_thread_local" = xyes || test "x$use_thread_local" = xauto; then if test "$use_thread_local" = "yes" || test "$use_thread_local" = "auto"; then
TEMP_LDFLAGS="$LDFLAGS" TEMP_LDFLAGS="$LDFLAGS"
LDFLAGS="$TEMP_LDFLAGS $PTHREAD_CFLAGS" LDFLAGS="$TEMP_LDFLAGS $PTHREAD_CFLAGS"
AC_MSG_CHECKING([for thread_local support]) AC_MSG_CHECKING([for thread_local support])
@ -1240,7 +1240,7 @@ AC_LINK_IFELSE(
[ AC_MSG_RESULT([no]) ] [ AC_MSG_RESULT([no]) ]
) )
if test "x$have_any_system" != "xno"; then if test "$have_any_system" != "no"; then
AC_DEFINE([HAVE_SYSTEM], [1], [Define to 1 if std::system or ::wsystem is available.]) AC_DEFINE([HAVE_SYSTEM], [1], [Define to 1 if std::system or ::wsystem is available.])
fi fi
@ -1257,7 +1257,7 @@ AC_DEFUN([SUPPRESS_WARNINGS],
[$(echo $1 |${SED} -E -e 's/(^| )-I/\1-isystem /g' -e 's;-isystem /usr/include([/ ]|$);-I/usr/include\1;g')]) [$(echo $1 |${SED} -E -e 's/(^| )-I/\1-isystem /g' -e 's;-isystem /usr/include([/ ]|$);-I/usr/include\1;g')])
dnl enable-fuzz should disable all other targets dnl enable-fuzz should disable all other targets
if test "x$enable_fuzz" = "xyes"; then if test "$enable_fuzz" = "yes"; then
AC_MSG_WARN([enable-fuzz will disable all other targets and force --enable-fuzz-binary=yes]) AC_MSG_WARN([enable-fuzz will disable all other targets and force --enable-fuzz-binary=yes])
build_bitcoin_utils=no build_bitcoin_utils=no
build_bitcoin_cli=no build_bitcoin_cli=no
@ -1300,7 +1300,7 @@ else
dnl Keep a copy of the original $QT_INCLUDES and use it when invoking qt's moc dnl Keep a copy of the original $QT_INCLUDES and use it when invoking qt's moc
QT_INCLUDES_UNSUPPRESSED=$QT_INCLUDES QT_INCLUDES_UNSUPPRESSED=$QT_INCLUDES
if test x$suppress_external_warnings != xno ; then if test "$suppress_external_warnings" != "no" ; then
QT_INCLUDES=SUPPRESS_WARNINGS($QT_INCLUDES) QT_INCLUDES=SUPPRESS_WARNINGS($QT_INCLUDES)
QT_DBUS_INCLUDES=SUPPRESS_WARNINGS($QT_DBUS_INCLUDES) QT_DBUS_INCLUDES=SUPPRESS_WARNINGS($QT_DBUS_INCLUDES)
QT_TEST_INCLUDES=SUPPRESS_WARNINGS($QT_TEST_INCLUDES) QT_TEST_INCLUDES=SUPPRESS_WARNINGS($QT_TEST_INCLUDES)
@ -1309,29 +1309,29 @@ else
CPPFLAGS="$CPPFLAGS -DPROVIDE_FUZZ_MAIN_FUNCTION" CPPFLAGS="$CPPFLAGS -DPROVIDE_FUZZ_MAIN_FUNCTION"
fi fi
if test x$enable_wallet != xno; then if test "$enable_wallet" != "no"; then
dnl Check for libdb_cxx only if wallet enabled dnl Check for libdb_cxx only if wallet enabled
if test "x$use_bdb" != "xno"; then if test "$use_bdb" != "no"; then
BITCOIN_FIND_BDB48 BITCOIN_FIND_BDB48
if test x$suppress_external_warnings != xno ; then if test "$suppress_external_warnings" != "no" ; then
BDB_CPPFLAGS=SUPPRESS_WARNINGS($BDB_CPPFLAGS) BDB_CPPFLAGS=SUPPRESS_WARNINGS($BDB_CPPFLAGS)
fi fi
fi fi
dnl Check for sqlite3 dnl Check for sqlite3
if test "x$use_sqlite" != "xno"; then if test "$use_sqlite" != "no"; then
PKG_CHECK_MODULES([SQLITE], [sqlite3 >= 3.7.17], [have_sqlite=yes], [have_sqlite=no]) PKG_CHECK_MODULES([SQLITE], [sqlite3 >= 3.7.17], [have_sqlite=yes], [have_sqlite=no])
fi fi
AC_MSG_CHECKING([whether to build wallet with support for sqlite]) AC_MSG_CHECKING([whether to build wallet with support for sqlite])
if test "x$use_sqlite" = "xno"; then if test "$use_sqlite" = "no"; then
use_sqlite=no use_sqlite=no
elif test "x$have_sqlite" = "xno"; then elif test "$have_sqlite" = "no"; then
if test "x$use_sqlite" = "xyes"; then if test "$use_sqlite" = "yes"; then
AC_MSG_ERROR([sqlite support requested but cannot be built. Use --without-sqlite]) AC_MSG_ERROR([sqlite support requested but cannot be built. Use --without-sqlite])
fi fi
use_sqlite=no use_sqlite=no
else else
if test x$use_sqlite != xno; then if test "$use_sqlite" != "no"; then
AC_DEFINE([USE_SQLITE],[1],[Define if sqlite support should be compiled in]) AC_DEFINE([USE_SQLITE],[1],[Define if sqlite support should be compiled in])
use_sqlite=yes use_sqlite=yes
fi fi
@ -1339,15 +1339,15 @@ if test x$enable_wallet != xno; then
AC_MSG_RESULT([$use_sqlite]) AC_MSG_RESULT([$use_sqlite])
dnl Disable wallet if both --without-bdb and --without-sqlite dnl Disable wallet if both --without-bdb and --without-sqlite
if test "x$use_bdb$use_sqlite" = "xnono"; then if test "$use_bdb$use_sqlite" = "nono"; then
if test "x$enable_wallet" = "xyes"; then if test "$enable_wallet" = "yes"; then
AC_MSG_ERROR([wallet functionality requested but no BDB or SQLite support available.]) AC_MSG_ERROR([wallet functionality requested but no BDB or SQLite support available.])
fi fi
enable_wallet=no enable_wallet=no
fi fi
fi fi
if test x$use_ebpf != xno; then if test "$use_ebpf" != "no"; then
AC_MSG_CHECKING([whether eBPF tracepoints are supported]) AC_MSG_CHECKING([whether eBPF tracepoints are supported])
AC_COMPILE_IFELSE([ AC_COMPILE_IFELSE([
AC_LANG_PROGRAM( AC_LANG_PROGRAM(
@ -1359,14 +1359,14 @@ if test x$use_ebpf != xno; then
) )
fi fi
if test x$build_bitcoin_cli$build_bitcoin_tx$build_bitcoin_util$build_bitcoind$bitcoin_enable_qt$use_bench$use_tests = xnonononononono; then if test "$build_bitcoin_cli$build_bitcoin_tx$build_bitcoin_util$build_bitcoind$bitcoin_enable_qt$use_bench$use_tests" = "nonononononono"; then
use_upnp=no use_upnp=no
use_natpmp=no use_natpmp=no
use_zmq=no use_zmq=no
fi fi
dnl Check for libminiupnpc (optional) dnl Check for libminiupnpc (optional)
if test x$use_upnp != xno; then if test "$use_upnp" != "no"; then
AC_CHECK_HEADERS( AC_CHECK_HEADERS(
[miniupnpc/miniupnpc.h miniupnpc/upnpcommands.h miniupnpc/upnperrors.h], [miniupnpc/miniupnpc.h miniupnpc/upnpcommands.h miniupnpc/upnperrors.h],
[AC_CHECK_LIB([miniupnpc], [upnpDiscover], [MINIUPNPC_LIBS=-lminiupnpc], [have_miniupnpc=no])], [AC_CHECK_LIB([miniupnpc], [upnpDiscover], [MINIUPNPC_LIBS=-lminiupnpc], [have_miniupnpc=no])],
@ -1374,7 +1374,7 @@ if test x$use_upnp != xno; then
) )
dnl The minimum supported miniUPnPc API version is set to 10. This keeps compatibility dnl The minimum supported miniUPnPc API version is set to 10. This keeps compatibility
dnl with Ubuntu 16.04 LTS and Debian 8 libminiupnpc-dev packages. dnl with Ubuntu 16.04 LTS and Debian 8 libminiupnpc-dev packages.
if test x$have_miniupnpc != xno; then if test "$have_miniupnpc" != "no"; then
AC_MSG_CHECKING([whether miniUPnPc API version is supported]) AC_MSG_CHECKING([whether miniUPnPc API version is supported])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
@%:@include <miniupnpc/miniupnpc.h> @%:@include <miniupnpc/miniupnpc.h>
@ -1395,48 +1395,48 @@ fi
fi fi
dnl Check for libnatpmp (optional). dnl Check for libnatpmp (optional).
if test "x$use_natpmp" != xno; then if test "$use_natpmp" != "no"; then
AC_CHECK_HEADERS([natpmp.h], AC_CHECK_HEADERS([natpmp.h],
[AC_CHECK_LIB([natpmp], [initnatpmp], [NATPMP_LIBS=-lnatpmp], [have_natpmp=no])], [AC_CHECK_LIB([natpmp], [initnatpmp], [NATPMP_LIBS=-lnatpmp], [have_natpmp=no])],
[have_natpmp=no]) [have_natpmp=no])
fi fi
if test x$build_bitcoin_wallet$build_bitcoin_cli$build_bitcoin_tx$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononononono; then if test "$build_bitcoin_wallet$build_bitcoin_cli$build_bitcoin_tx$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench" = "nonononononono"; then
use_boost=no use_boost=no
else else
use_boost=yes use_boost=yes
fi fi
if test x$use_boost = xyes; then if test "$use_boost" = "yes"; then
dnl Check for Boost headers dnl Check for Boost headers
AX_BOOST_BASE([1.64.0],[],[AC_MSG_ERROR([Boost is not available!])]) AX_BOOST_BASE([1.64.0],[],[AC_MSG_ERROR([Boost is not available!])])
if test x$want_boost = xno; then if test "$want_boost" = "no"; then
AC_MSG_ERROR([only libbitcoinconsensus can be built without Boost]) AC_MSG_ERROR([only libbitcoinconsensus can be built without Boost])
fi fi
AX_BOOST_SYSTEM AX_BOOST_SYSTEM
AX_BOOST_FILESYSTEM AX_BOOST_FILESYSTEM
if test x$suppress_external_warnings != xno; then if test "$suppress_external_warnings" != "no"; then
BOOST_CPPFLAGS=SUPPRESS_WARNINGS($BOOST_CPPFLAGS) BOOST_CPPFLAGS=SUPPRESS_WARNINGS($BOOST_CPPFLAGS)
fi fi
BOOST_LIBS="$BOOST_LDFLAGS $BOOST_SYSTEM_LIB $BOOST_FILESYSTEM_LIB" BOOST_LIBS="$BOOST_LDFLAGS $BOOST_SYSTEM_LIB $BOOST_FILESYSTEM_LIB"
fi fi
if test "x$use_external_signer" != xno; then if test "$use_external_signer" != "no"; then
AC_DEFINE([ENABLE_EXTERNAL_SIGNER], [], [Define if external signer support is enabled]) AC_DEFINE([ENABLE_EXTERNAL_SIGNER], [], [Define if external signer support is enabled])
fi fi
AM_CONDITIONAL([ENABLE_EXTERNAL_SIGNER], [test "x$use_external_signer" = "xyes"]) AM_CONDITIONAL([ENABLE_EXTERNAL_SIGNER], [test "$use_external_signer" = "yes"])
dnl Do not compile with syscall sandbox support when compiling under the sanitizers. dnl Do not compile with syscall sandbox support when compiling under the sanitizers.
dnl The sanitizers introduce use of syscalls that are not typically used in bitcoind dnl The sanitizers introduce use of syscalls that are not typically used in bitcoind
dnl (such as execve when the sanitizers execute llvm-symbolizer). dnl (such as execve when the sanitizers execute llvm-symbolizer).
if test x$use_sanitizers != x; then if test "$use_sanitizers" != ""; then
AC_MSG_WARN([Specifying --with-sanitizers forces --without-seccomp since the sanitizers introduce use of syscalls not allowed by the bitcoind syscall sandbox (-sandbox=<mode>).]) AC_MSG_WARN([Specifying --with-sanitizers forces --without-seccomp since the sanitizers introduce use of syscalls not allowed by the bitcoind syscall sandbox (-sandbox=<mode>).])
seccomp_found=no seccomp_found=no
fi fi
if test "x$seccomp_found" != "xno"; then if test "$seccomp_found" != "no"; then
AC_MSG_CHECKING([for seccomp-bpf (Linux x86-64)]) AC_MSG_CHECKING([for seccomp-bpf (Linux x86-64)])
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
@%:@include <linux/seccomp.h> @%:@include <linux/seccomp.h>
@ -1457,22 +1457,22 @@ dnl Currently only enable -sandbox=<mode> feature if seccomp is found.
dnl In the future, sandboxing could be also be supported with other dnl In the future, sandboxing could be also be supported with other
dnl sandboxing mechanisms besides seccomp. dnl sandboxing mechanisms besides seccomp.
use_syscall_sandbox=$seccomp_found use_syscall_sandbox=$seccomp_found
AM_CONDITIONAL([ENABLE_SYSCALL_SANDBOX], [test "x$use_syscall_sandbox" != "xno"]) AM_CONDITIONAL([ENABLE_SYSCALL_SANDBOX], [test "$use_syscall_sandbox" != "no"])
dnl Check for reduced exports dnl Check for reduced exports
if test x$use_reduce_exports = xyes; then if test "$use_reduce_exports" = "yes"; then
AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [CXXFLAGS="$CXXFLAGS -fvisibility=hidden"], AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [CXXFLAGS="$CXXFLAGS -fvisibility=hidden"],
[AC_MSG_ERROR([Cannot set hidden symbol visibility. Use --disable-reduce-exports.])], [$CXXFLAG_WERROR]) [AC_MSG_ERROR([Cannot set hidden symbol visibility. Use --disable-reduce-exports.])], [$CXXFLAG_WERROR])
AX_CHECK_LINK_FLAG([-Wl,--exclude-libs,ALL], [RELDFLAGS="-Wl,--exclude-libs,ALL"], [], [$LDFLAG_WERROR]) AX_CHECK_LINK_FLAG([-Wl,--exclude-libs,ALL], [RELDFLAGS="-Wl,--exclude-libs,ALL"], [], [$LDFLAG_WERROR])
fi fi
if test x$use_tests = xyes; then if test "$use_tests" = "yes"; then
if test x$HEXDUMP = x; then if test "$HEXDUMP" = ""; then
AC_MSG_ERROR([hexdump is required for tests]) AC_MSG_ERROR([hexdump is required for tests])
fi fi
if test x$use_boost = xyes; then if test "$use_boost" = "yes"; then
AX_BOOST_UNIT_TEST_FRAMEWORK AX_BOOST_UNIT_TEST_FRAMEWORK
@ -1499,26 +1499,26 @@ fi
dnl libevent check dnl libevent check
if test x$build_bitcoin_cli$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench != xnonononono; then if test "$build_bitcoin_cli$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench" != "nonononono"; then
PKG_CHECK_MODULES([EVENT], [libevent >= 2.0.21], [use_libevent=yes], [AC_MSG_ERROR([libevent version 2.0.21 or greater not found.])]) PKG_CHECK_MODULES([EVENT], [libevent >= 2.0.21], [use_libevent=yes], [AC_MSG_ERROR([libevent version 2.0.21 or greater not found.])])
if test x$TARGET_OS != xwindows; then if test "$TARGET_OS" != "windows"; then
PKG_CHECK_MODULES([EVENT_PTHREADS], [libevent_pthreads >= 2.0.21],, [AC_MSG_ERROR([libevent_pthreads version 2.0.21 or greater not found.])]) PKG_CHECK_MODULES([EVENT_PTHREADS], [libevent_pthreads >= 2.0.21],, [AC_MSG_ERROR([libevent_pthreads version 2.0.21 or greater not found.])])
fi fi
if test x$suppress_external_warnings != xno; then if test "$suppress_external_warnings" != "no"; then
EVENT_CFLAGS=SUPPRESS_WARNINGS($EVENT_CFLAGS) EVENT_CFLAGS=SUPPRESS_WARNINGS($EVENT_CFLAGS)
fi fi
fi fi
dnl QR Code encoding library check dnl QR Code encoding library check
if test "x$use_qr" != xno; then if test "$use_qr" != "no"; then
BITCOIN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode], [have_qrencode=yes], [have_qrencode=no])]) BITCOIN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode], [have_qrencode=yes], [have_qrencode=no])])
fi fi
dnl ZMQ check dnl ZMQ check
if test "x$use_zmq" = xyes; then if test "$use_zmq" = "yes"; then
PKG_CHECK_MODULES([ZMQ], [libzmq >= 4], PKG_CHECK_MODULES([ZMQ], [libzmq >= 4],
AC_DEFINE([ENABLE_ZMQ], [1], [Define to 1 to enable ZMQ functions]), AC_DEFINE([ENABLE_ZMQ], [1], [Define to 1 to enable ZMQ functions]),
[AC_DEFINE([ENABLE_ZMQ], [0], [Define to 1 to enable ZMQ functions]) [AC_DEFINE([ENABLE_ZMQ], [0], [Define to 1 to enable ZMQ functions])
@ -1528,7 +1528,7 @@ else
AC_DEFINE_UNQUOTED([ENABLE_ZMQ], [0], [Define to 1 to enable ZMQ functions]) AC_DEFINE_UNQUOTED([ENABLE_ZMQ], [0], [Define to 1 to enable ZMQ functions])
fi fi
if test "x$use_zmq" = xyes; then if test "$use_zmq" = "yes"; then
dnl Assume libzmq was built for static linking dnl Assume libzmq was built for static linking
case $host in case $host in
*mingw*) *mingw*)
@ -1540,12 +1540,12 @@ fi
dnl libmultiprocess library check dnl libmultiprocess library check
libmultiprocess_found=no libmultiprocess_found=no
if test "x$with_libmultiprocess" = xyes || test "x$with_libmultiprocess" = xauto; then if test "$with_libmultiprocess" = "yes" || test "$with_libmultiprocess" = "auto"; then
m4_ifdef([PKG_CHECK_MODULES], [PKG_CHECK_MODULES([LIBMULTIPROCESS], [libmultiprocess], [ m4_ifdef([PKG_CHECK_MODULES], [PKG_CHECK_MODULES([LIBMULTIPROCESS], [libmultiprocess], [
libmultiprocess_found=yes; libmultiprocess_found=yes;
libmultiprocess_prefix=`$PKG_CONFIG --variable=prefix libmultiprocess`; libmultiprocess_prefix=`$PKG_CONFIG --variable=prefix libmultiprocess`;
], [true])]) ], [true])])
elif test "x$with_libmultiprocess" != xno; then elif test "$with_libmultiprocess" != "no"; then
AC_MSG_ERROR([--with-libmultiprocess=$with_libmultiprocess value is not yes, auto, or no]) AC_MSG_ERROR([--with-libmultiprocess=$with_libmultiprocess value is not yes, auto, or no])
fi fi
AC_SUBST(LIBMULTIPROCESS_CFLAGS) AC_SUBST(LIBMULTIPROCESS_CFLAGS)
@ -1553,55 +1553,55 @@ AC_SUBST(LIBMULTIPROCESS_LIBS)
dnl Enable multiprocess check dnl Enable multiprocess check
if test "x$enable_multiprocess" = xyes; then if test "$enable_multiprocess" = "yes"; then
if test "x$libmultiprocess_found" != xyes; then if test "$libmultiprocess_found" != "yes"; then
AC_MSG_ERROR([--enable-multiprocess=yes option specified but libmultiprocess library was not found. May need to install libmultiprocess library, or specify install path with PKG_CONFIG_PATH environment variable. Running 'pkg-config --debug libmultiprocess' may be helpful for debugging.]) AC_MSG_ERROR([--enable-multiprocess=yes option specified but libmultiprocess library was not found. May need to install libmultiprocess library, or specify install path with PKG_CONFIG_PATH environment variable. Running 'pkg-config --debug libmultiprocess' may be helpful for debugging.])
fi fi
build_multiprocess=yes build_multiprocess=yes
elif test "x$enable_multiprocess" = xauto; then elif test "$enable_multiprocess" = "auto"; then
build_multiprocess=$libmultiprocess_found build_multiprocess=$libmultiprocess_found
else else
build_multiprocess=no build_multiprocess=no
fi fi
AM_CONDITIONAL([BUILD_MULTIPROCESS], [test "x$build_multiprocess" = xyes]) AM_CONDITIONAL([BUILD_MULTIPROCESS], [test "$build_multiprocess" = "yes"])
AM_CONDITIONAL([BUILD_BITCOIN_NODE], [test "x$build_multiprocess" = xyes]) AM_CONDITIONAL([BUILD_BITCOIN_NODE], [test "$build_multiprocess" = "yes"])
AM_CONDITIONAL([BUILD_BITCOIN_GUI], [test "x$build_multiprocess" = xyes]) AM_CONDITIONAL([BUILD_BITCOIN_GUI], [test "$build_multiprocess" = "yes"])
dnl codegen tools check dnl codegen tools check
if test x$build_multiprocess != xno; then if test "$build_multiprocess" != "no"; then
if test "x$with_mpgen" = xyes || test "x$with_mpgen" = xauto; then if test "$with_mpgen" = "yes" || test "$with_mpgen" = "auto"; then
MPGEN_PREFIX="$libmultiprocess_prefix" MPGEN_PREFIX="$libmultiprocess_prefix"
elif test "x$with_mpgen" != xno; then elif test "$with_mpgen" != "no"; then
MPGEN_PREFIX="$with_mpgen"; MPGEN_PREFIX="$with_mpgen";
fi fi
AC_SUBST(MPGEN_PREFIX) AC_SUBST(MPGEN_PREFIX)
fi fi
AC_MSG_CHECKING([whether to build bitcoind]) AC_MSG_CHECKING([whether to build bitcoind])
AM_CONDITIONAL([BUILD_BITCOIND], [test x$build_bitcoind = xyes]) AM_CONDITIONAL([BUILD_BITCOIND], [test $build_bitcoind = "yes"])
AC_MSG_RESULT($build_bitcoind) AC_MSG_RESULT($build_bitcoind)
AC_MSG_CHECKING([whether to build bitcoin-cli]) AC_MSG_CHECKING([whether to build bitcoin-cli])
AM_CONDITIONAL([BUILD_BITCOIN_CLI], [test x$build_bitcoin_cli = xyes]) AM_CONDITIONAL([BUILD_BITCOIN_CLI], [test $build_bitcoin_cli = "yes"])
AC_MSG_RESULT($build_bitcoin_cli) AC_MSG_RESULT($build_bitcoin_cli)
AC_MSG_CHECKING([whether to build bitcoin-tx]) AC_MSG_CHECKING([whether to build bitcoin-tx])
AM_CONDITIONAL([BUILD_BITCOIN_TX], [test x$build_bitcoin_tx = xyes]) AM_CONDITIONAL([BUILD_BITCOIN_TX], [test $build_bitcoin_tx = "yes"])
AC_MSG_RESULT($build_bitcoin_tx) AC_MSG_RESULT($build_bitcoin_tx)
AC_MSG_CHECKING([whether to build bitcoin-wallet]) AC_MSG_CHECKING([whether to build bitcoin-wallet])
AM_CONDITIONAL([BUILD_BITCOIN_WALLET], [test x$build_bitcoin_wallet = xyes]) AM_CONDITIONAL([BUILD_BITCOIN_WALLET], [test $build_bitcoin_wallet = "yes"])
AC_MSG_RESULT($build_bitcoin_wallet) AC_MSG_RESULT($build_bitcoin_wallet)
AC_MSG_CHECKING([whether to build bitcoin-util]) AC_MSG_CHECKING([whether to build bitcoin-util])
AM_CONDITIONAL([BUILD_BITCOIN_UTIL], [test x$build_bitcoin_util = xyes]) AM_CONDITIONAL([BUILD_BITCOIN_UTIL], [test $build_bitcoin_util = "yes"])
AC_MSG_RESULT($build_bitcoin_util) AC_MSG_RESULT($build_bitcoin_util)
AC_MSG_CHECKING([whether to build libraries]) AC_MSG_CHECKING([whether to build libraries])
AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test x$build_bitcoin_libs = xyes]) AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test $build_bitcoin_libs = "yes"])
if test x$build_bitcoin_libs = xyes; then if test "$build_bitcoin_libs" = "yes"; then
AC_DEFINE([HAVE_CONSENSUS_LIB], [1], [Define this symbol if the consensus lib has been built]) AC_DEFINE([HAVE_CONSENSUS_LIB], [1], [Define this symbol if the consensus lib has been built])
AC_CONFIG_FILES([libbitcoinconsensus.pc:libbitcoinconsensus.pc.in]) AC_CONFIG_FILES([libbitcoinconsensus.pc:libbitcoinconsensus.pc.in])
fi fi
@ -1609,10 +1609,10 @@ AC_MSG_RESULT($build_bitcoin_libs)
AC_LANG_POP AC_LANG_POP
if test "x$use_ccache" != "xno"; then if test "$use_ccache" != "no"; then
AC_MSG_CHECKING([if ccache should be used]) AC_MSG_CHECKING([if ccache should be used])
if test x$CCACHE = x; then if test "$CCACHE" = ""; then
if test "x$use_ccache" = "xyes"; then if test "$use_ccache" = "yes"; then
AC_MSG_ERROR([ccache not found.]); AC_MSG_ERROR([ccache not found.]);
else else
use_ccache=no use_ccache=no
@ -1623,7 +1623,7 @@ if test "x$use_ccache" != "xno"; then
CXX="$ac_cv_path_CCACHE $CXX" CXX="$ac_cv_path_CCACHE $CXX"
fi fi
AC_MSG_RESULT($use_ccache) AC_MSG_RESULT($use_ccache)
if test "x$use_ccache" = "xyes"; then if test "$use_ccache" = "yes"; then
AX_CHECK_COMPILE_FLAG([-fdebug-prefix-map=A=B], [DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -fdebug-prefix-map=\$(abs_top_srcdir)=."], [], [$CXXFLAG_WERROR]) AX_CHECK_COMPILE_FLAG([-fdebug-prefix-map=A=B], [DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -fdebug-prefix-map=\$(abs_top_srcdir)=."], [], [$CXXFLAG_WERROR])
AX_CHECK_PREPROC_FLAG([-fmacro-prefix-map=A=B], [DEBUG_CPPFLAGS="$DEBUG_CPPFLAGS -fmacro-prefix-map=\$(abs_top_srcdir)=."], [], [$CXXFLAG_WERROR]) AX_CHECK_PREPROC_FLAG([-fmacro-prefix-map=A=B], [DEBUG_CPPFLAGS="$DEBUG_CPPFLAGS -fmacro-prefix-map=\$(abs_top_srcdir)=."], [], [$CXXFLAG_WERROR])
fi fi
@ -1631,7 +1631,7 @@ fi
dnl enable wallet dnl enable wallet
AC_MSG_CHECKING([if wallet should be enabled]) AC_MSG_CHECKING([if wallet should be enabled])
if test x$enable_wallet != xno; then if test "$enable_wallet" != "no"; then
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
AC_DEFINE_UNQUOTED([ENABLE_WALLET],[1],[Define to 1 to enable wallet functions]) AC_DEFINE_UNQUOTED([ENABLE_WALLET],[1],[Define to 1 to enable wallet functions])
enable_wallet=yes enable_wallet=yes
@ -1642,25 +1642,25 @@ fi
dnl enable upnp support dnl enable upnp support
AC_MSG_CHECKING([whether to build with support for UPnP]) AC_MSG_CHECKING([whether to build with support for UPnP])
if test x$have_miniupnpc = xno; then if test "$have_miniupnpc" = "no"; then
if test x$use_upnp = xyes; then if test "$use_upnp" = "yes"; then
AC_MSG_ERROR([UPnP requested but cannot be built. Use --without-miniupnpc]) AC_MSG_ERROR([UPnP requested but cannot be built. Use --without-miniupnpc])
fi fi
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
use_upnp=no use_upnp=no
else else
if test x$use_upnp != xno; then if test "$use_upnp" != "no"; then
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
AC_MSG_CHECKING([whether to build with UPnP enabled by default]) AC_MSG_CHECKING([whether to build with UPnP enabled by default])
use_upnp=yes use_upnp=yes
upnp_setting=0 upnp_setting=0
if test x$use_upnp_default != xno; then if test "$use_upnp_default" != "no"; then
use_upnp_default=yes use_upnp_default=yes
upnp_setting=1 upnp_setting=1
fi fi
AC_MSG_RESULT([$use_upnp_default]) AC_MSG_RESULT([$use_upnp_default])
AC_DEFINE_UNQUOTED([USE_UPNP],[$upnp_setting],[UPnP support not compiled if undefined, otherwise value (0 or 1) determines default state]) AC_DEFINE_UNQUOTED([USE_UPNP],[$upnp_setting],[UPnP support not compiled if undefined, otherwise value (0 or 1) determines default state])
if test x$TARGET_OS = xwindows; then if test "$TARGET_OS" = "windows"; then
MINIUPNPC_CPPFLAGS="-DSTATICLIB -DMINIUPNP_STATICLIB" MINIUPNPC_CPPFLAGS="-DSTATICLIB -DMINIUPNP_STATICLIB"
fi fi
else else
@ -1670,25 +1670,25 @@ fi
dnl Enable NAT-PMP support. dnl Enable NAT-PMP support.
AC_MSG_CHECKING([whether to build with support for NAT-PMP]) AC_MSG_CHECKING([whether to build with support for NAT-PMP])
if test "x$have_natpmp" = xno; then if test "$have_natpmp" = "no"; then
if test "x$use_natpmp" = xyes; then if test "$use_natpmp" = "yes"; then
AC_MSG_ERROR([NAT-PMP requested but cannot be built. Use --without-natpmp]) AC_MSG_ERROR([NAT-PMP requested but cannot be built. Use --without-natpmp])
fi fi
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
use_natpmp=no use_natpmp=no
else else
if test "x$use_natpmp" != xno; then if test "$use_natpmp" != "no"; then
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
AC_MSG_CHECKING([whether to build with NAT-PMP enabled by default]) AC_MSG_CHECKING([whether to build with NAT-PMP enabled by default])
use_natpmp=yes use_natpmp=yes
natpmp_setting=0 natpmp_setting=0
if test "x$use_natpmp_default" != xno; then if test "$use_natpmp_default" != "no"; then
use_natpmp_default=yes use_natpmp_default=yes
natpmp_setting=1 natpmp_setting=1
fi fi
AC_MSG_RESULT($use_natpmp_default) AC_MSG_RESULT($use_natpmp_default)
AC_DEFINE_UNQUOTED([USE_NATPMP], [$natpmp_setting], [NAT-PMP support not compiled if undefined, otherwise value (0 or 1) determines default state]) AC_DEFINE_UNQUOTED([USE_NATPMP], [$natpmp_setting], [NAT-PMP support not compiled if undefined, otherwise value (0 or 1) determines default state])
if test x$TARGET_OS = xwindows; then if test "$TARGET_OS" = "windows"; then
NATPMP_CPPFLAGS="-DSTATICLIB -DNATPMP_STATICLIB" NATPMP_CPPFLAGS="-DSTATICLIB -DNATPMP_STATICLIB"
fi fi
else else
@ -1698,35 +1698,35 @@ fi
dnl these are only used when qt is enabled dnl these are only used when qt is enabled
BUILD_TEST_QT="" BUILD_TEST_QT=""
if test x$bitcoin_enable_qt != xno; then if test "$bitcoin_enable_qt" != "no"; then
dnl enable dbus support dnl enable dbus support
AC_MSG_CHECKING([whether to build GUI with support for D-Bus]) AC_MSG_CHECKING([whether to build GUI with support for D-Bus])
if test x$bitcoin_enable_qt_dbus != xno; then if test "$bitcoin_enable_qt_dbus" != "no"; then
AC_DEFINE([USE_DBUS], [1], [Define if dbus support should be compiled in]) AC_DEFINE([USE_DBUS], [1], [Define if dbus support should be compiled in])
fi fi
AC_MSG_RESULT([$bitcoin_enable_qt_dbus]) AC_MSG_RESULT([$bitcoin_enable_qt_dbus])
dnl enable qr support dnl enable qr support
AC_MSG_CHECKING([whether to build GUI with support for QR codes]) AC_MSG_CHECKING([whether to build GUI with support for QR codes])
if test x$have_qrencode = xno; then if test "$have_qrencode" = "no"; then
if test x$use_qr = xyes; then if test "$use_qr" = "yes"; then
AC_MSG_ERROR([QR support requested but cannot be built. Use --without-qrencode]) AC_MSG_ERROR([QR support requested but cannot be built. Use --without-qrencode])
fi fi
use_qr=no use_qr=no
else else
if test x$use_qr != xno; then if test "$use_qr" != "no"; then
AC_DEFINE([USE_QRCODE], [1], [Define if QR support should be compiled in]) AC_DEFINE([USE_QRCODE], [1], [Define if QR support should be compiled in])
use_qr=yes use_qr=yes
fi fi
fi fi
AC_MSG_RESULT([$use_qr]) AC_MSG_RESULT([$use_qr])
if test x$XGETTEXT = x; then if test "$XGETTEXT" = ""; then
AC_MSG_WARN([xgettext is required to update qt translations]) AC_MSG_WARN([xgettext is required to update qt translations])
fi fi
AC_MSG_CHECKING([whether to build test_bitcoin-qt]) AC_MSG_CHECKING([whether to build test_bitcoin-qt])
if test x$use_gui_tests$bitcoin_enable_qt_test = xyesyes; then if test "$use_gui_tests$bitcoin_enable_qt_test" = "yesyes"; then
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
BUILD_TEST_QT="yes" BUILD_TEST_QT="yes"
else else
@ -1734,11 +1734,11 @@ if test x$bitcoin_enable_qt != xno; then
fi fi
fi fi
AM_CONDITIONAL([ENABLE_ZMQ], [test "x$use_zmq" = "xyes"]) AM_CONDITIONAL([ENABLE_ZMQ], [test "$use_zmq" = "yes"])
AC_MSG_CHECKING([whether to build test_bitcoin]) AC_MSG_CHECKING([whether to build test_bitcoin])
if test x$use_tests = xyes; then if test "$use_tests" = "yes"; then
if test "x$enable_fuzz" = "xyes"; then if test "$enable_fuzz" = "yes"; then
AC_MSG_RESULT([no, because fuzzing is enabled]) AC_MSG_RESULT([no, because fuzzing is enabled])
else else
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
@ -1750,51 +1750,51 @@ else
fi fi
AC_MSG_CHECKING([whether to reduce exports]) AC_MSG_CHECKING([whether to reduce exports])
if test x$use_reduce_exports = xyes; then if test "$use_reduce_exports" = "yes"; then
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
else else
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
fi fi
if test x$build_bitcoin_wallet$build_bitcoin_cli$build_bitcoin_tx$build_bitcoin_libs$build_bitcoind$bitcoin_enable_qt$use_bench$use_tests = xnononononononono; then if test "$build_bitcoin_wallet$build_bitcoin_cli$build_bitcoin_tx$build_bitcoin_libs$build_bitcoind$bitcoin_enable_qt$use_bench$use_tests" = "nononononononono"; then
AC_MSG_ERROR([No targets! Please specify at least one of: --with-utils --with-libs --with-daemon --with-gui --enable-bench or --enable-tests]) AC_MSG_ERROR([No targets! Please specify at least one of: --with-utils --with-libs --with-daemon --with-gui --enable-bench or --enable-tests])
fi fi
if test x$enable_fuzz_binary = xyes; then if test "$enable_fuzz_binary" = "yes"; then
CHECK_RUNTIME_LIB CHECK_RUNTIME_LIB
fi fi
AM_CONDITIONAL([TARGET_DARWIN], [test x$TARGET_OS = xdarwin]) AM_CONDITIONAL([TARGET_DARWIN], [test "$TARGET_OS" = "darwin"])
AM_CONDITIONAL([BUILD_DARWIN], [test x$BUILD_OS = xdarwin]) AM_CONDITIONAL([BUILD_DARWIN], [test "$BUILD_OS" = "darwin"])
AM_CONDITIONAL([TARGET_LINUX], [test x$TARGET_OS = xlinux]) AM_CONDITIONAL([TARGET_LINUX], [test "$TARGET_OS" = "linux"])
AM_CONDITIONAL([TARGET_WINDOWS], [test x$TARGET_OS = xwindows]) AM_CONDITIONAL([TARGET_WINDOWS], [test "$TARGET_OS" = "windows"])
AM_CONDITIONAL([ENABLE_WALLET], [test x$enable_wallet = xyes]) AM_CONDITIONAL([ENABLE_WALLET], [test "$enable_wallet" = "yes"])
AM_CONDITIONAL([USE_SQLITE], [test "x$use_sqlite" = "xyes"]) AM_CONDITIONAL([USE_SQLITE], [test "$use_sqlite" = "yes"])
AM_CONDITIONAL([USE_BDB], [test "x$use_bdb" = "xyes"]) AM_CONDITIONAL([USE_BDB], [test "$use_bdb" = "yes"])
AM_CONDITIONAL([ENABLE_TRACING], [test x$have_sdt = xyes]) AM_CONDITIONAL([ENABLE_TRACING], [test "$have_sdt" = "yes"])
AM_CONDITIONAL([ENABLE_TESTS], [test x$BUILD_TEST = xyes]) AM_CONDITIONAL([ENABLE_TESTS], [test "$BUILD_TEST" = "yes"])
AM_CONDITIONAL([ENABLE_FUZZ], [test x$enable_fuzz = xyes]) AM_CONDITIONAL([ENABLE_FUZZ], [test "$enable_fuzz" = "yes"])
AM_CONDITIONAL([ENABLE_FUZZ_BINARY], [test x$enable_fuzz_binary = xyes]) AM_CONDITIONAL([ENABLE_FUZZ_BINARY], [test "$enable_fuzz_binary" = "yes"])
AM_CONDITIONAL([ENABLE_QT], [test x$bitcoin_enable_qt = xyes]) AM_CONDITIONAL([ENABLE_QT], [test "$bitcoin_enable_qt" = "yes"])
AM_CONDITIONAL([ENABLE_QT_TESTS], [test x$BUILD_TEST_QT = xyes]) AM_CONDITIONAL([ENABLE_QT_TESTS], [test "$BUILD_TEST_QT" = "yes"])
AM_CONDITIONAL([ENABLE_BENCH], [test x$use_bench = xyes]) AM_CONDITIONAL([ENABLE_BENCH], [test "$use_bench" = "yes"])
AM_CONDITIONAL([USE_QRCODE], [test x$use_qr = xyes]) AM_CONDITIONAL([USE_QRCODE], [test "$use_qr" = "yes"])
AM_CONDITIONAL([USE_LCOV], [test x$use_lcov = xyes]) AM_CONDITIONAL([USE_LCOV], [test "$use_lcov" = "yes"])
AM_CONDITIONAL([USE_LIBEVENT], [test x$use_libevent = xyes]) AM_CONDITIONAL([USE_LIBEVENT], [test "$use_libevent" = "yes"])
AM_CONDITIONAL([HARDEN], [test x$use_hardening = xyes]) AM_CONDITIONAL([HARDEN], [test "$use_hardening" = "yes"])
AM_CONDITIONAL([ENABLE_SSE42], [test x$enable_sse42 = xyes]) AM_CONDITIONAL([ENABLE_SSE42], [test "$enable_sse42" = "yes"])
AM_CONDITIONAL([ENABLE_SSE41], [test x$enable_sse41 = xyes]) AM_CONDITIONAL([ENABLE_SSE41], [test "$enable_sse41" = "yes"])
AM_CONDITIONAL([ENABLE_AVX2], [test x$enable_avx2 = xyes]) AM_CONDITIONAL([ENABLE_AVX2], [test "$enable_avx2" = "yes"])
AM_CONDITIONAL([ENABLE_SHANI], [test x$enable_shani = xyes]) AM_CONDITIONAL([ENABLE_SHANI], [test "$enable_shani" = "yes"])
AM_CONDITIONAL([ENABLE_ARM_CRC], [test x$enable_arm_crc = xyes]) AM_CONDITIONAL([ENABLE_ARM_CRC], [test "$enable_arm_crc" = "yes"])
AM_CONDITIONAL([USE_ASM], [test x$use_asm = xyes]) AM_CONDITIONAL([USE_ASM], [test "$use_asm" = "yes"])
AM_CONDITIONAL([WORDS_BIGENDIAN], [test x$ac_cv_c_bigendian = xyes]) AM_CONDITIONAL([WORDS_BIGENDIAN], [test "$ac_cv_c_bigendian" = "yes"])
AM_CONDITIONAL([USE_NATPMP], [test x$use_natpmp = xyes]) AM_CONDITIONAL([USE_NATPMP], [test "$use_natpmp" = "yes"])
AM_CONDITIONAL([USE_UPNP], [test x$use_upnp = xyes]) AM_CONDITIONAL([USE_UPNP], [test "$use_upnp" = "yes"])
dnl for minisketch dnl for minisketch
AM_CONDITIONAL([ENABLE_CLMUL], [test x$enable_clmul = xyes]) AM_CONDITIONAL([ENABLE_CLMUL], [test "$enable_clmul" = "yes"])
AM_CONDITIONAL([HAVE_CLZ], [test x$have_clzl$have_clzll = xyesyes]) AM_CONDITIONAL([HAVE_CLZ], [test "$have_clzl$have_clzll" = "yesyes"])
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])
@ -1926,16 +1926,16 @@ echo " multiprocess = $build_multiprocess"
echo " with experimental syscall sandbox support = $use_syscall_sandbox" echo " with experimental syscall sandbox support = $use_syscall_sandbox"
echo " with libs = $build_bitcoin_libs" echo " with libs = $build_bitcoin_libs"
echo " with wallet = $enable_wallet" echo " with wallet = $enable_wallet"
if test "x$enable_wallet" != "xno"; then if test "$enable_wallet" != "no"; then
echo " with sqlite = $use_sqlite" echo " with sqlite = $use_sqlite"
echo " with bdb = $use_bdb" echo " with bdb = $use_bdb"
fi fi
echo " with gui / qt = $bitcoin_enable_qt" echo " with gui / qt = $bitcoin_enable_qt"
if test x$bitcoin_enable_qt != xno; then if test $bitcoin_enable_qt != "no"; then
echo " with qr = $use_qr" echo " with qr = $use_qr"
fi fi
echo " with zmq = $use_zmq" echo " with zmq = $use_zmq"
if test x$enable_fuzz = xno; then if test $enable_fuzz = "no"; then
echo " with test = $use_tests" echo " with test = $use_tests"
else else
echo " with test = not building test_bitcoin because fuzzing is enabled" echo " with test = not building test_bitcoin because fuzzing is enabled"

View file

@ -62,7 +62,7 @@ if test -z "$with_gui" && test -n "@no_qt@"; then
with_gui=no with_gui=no
fi fi
if test -n "@debug@" && test -z "@no_qt@" && test "x$with_gui" != xno; then if test -n "@debug@" && test -z "@no_qt@" && test "$with_gui" != "no"; then
with_gui=qt5_debug with_gui=qt5_debug
fi fi