mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-10 05:57:59 +01:00
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:
@@ -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_LIBS], [Linker flags for BerkeleyDB, bypasses autodetection])
|
||||
|
||||
if test "x$use_bdb" = "xno"; then
|
||||
if test "$use_bdb" = "no"; then
|
||||
use_bdb=no
|
||||
elif test "x$BDB_CFLAGS" = "x"; then
|
||||
elif test "$BDB_CFLAGS" = ""; then
|
||||
AC_MSG_CHECKING([for Berkeley DB C++ headers])
|
||||
BDB_CPPFLAGS=
|
||||
bdbpath=X
|
||||
@@ -28,7 +28,7 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
|
||||
#error "failed to find bdb 4.8+"
|
||||
#endif
|
||||
]])],[
|
||||
if test "x$bdbpath" = "xX"; then
|
||||
if test "$bdbpath" = "X"; then
|
||||
bdbpath="${searchpath}"
|
||||
fi
|
||||
],[
|
||||
@@ -45,13 +45,13 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
|
||||
break
|
||||
],[])
|
||||
done
|
||||
if test "x$bdbpath" = "xX"; then
|
||||
if test "$bdbpath" = "X"; then
|
||||
use_bdb=no
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_WARN([libdb_cxx headers missing])
|
||||
AC_MSG_WARN(AC_PACKAGE_NAME[ requires this library for BDB (legacy) wallet support])
|
||||
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)
|
||||
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])
|
||||
@@ -74,9 +74,9 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
|
||||
fi
|
||||
AC_SUBST(BDB_CPPFLAGS)
|
||||
|
||||
if test "x$use_bdb" = "xno"; then
|
||||
if test "$use_bdb" = "no"; then
|
||||
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
|
||||
for searchlib in db_cxx-4.8 db_cxx db4_cxx; do
|
||||
AC_CHECK_LIB([$searchlib],[main],[
|
||||
@@ -84,13 +84,13 @@ AC_DEFUN([BITCOIN_FIND_BDB48],[
|
||||
break
|
||||
])
|
||||
done
|
||||
if test "x$BDB_LIBS" = "x"; then
|
||||
if test "$BDB_LIBS" = ""; then
|
||||
AC_MSG_WARN([libdb_cxx headers missing])
|
||||
AC_MSG_WARN(AC_PACKAGE_NAME[ requires this library for BDB (legacy) wallet support])
|
||||
AC_MSG_WARN([Passing --without-bdb will suppress this warning])
|
||||
fi
|
||||
fi
|
||||
if test "x$use_bdb" != "xno"; then
|
||||
if test "$use_bdb" != "no"; then
|
||||
AC_SUBST(BDB_LIBS)
|
||||
AC_DEFINE([USE_BDB], [1], [Define if BDB support should be compiled in])
|
||||
use_bdb=yes
|
||||
|
||||
@@ -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 Output: If qt version is auto, set bitcoin_enable_qt to false. Else, exit.
|
||||
AC_DEFUN([BITCOIN_QT_FAIL],[
|
||||
if test "x$bitcoin_qt_want_version" = xauto && test "x$bitcoin_qt_force" != xyes; then
|
||||
if test "x$bitcoin_enable_qt" != xno; then
|
||||
if test "$bitcoin_qt_want_version" = "auto" && test "$bitcoin_qt_force" != "yes"; then
|
||||
if test "$bitcoin_enable_qt" != "no"; then
|
||||
AC_MSG_WARN([$1; bitcoin-qt frontend will not be built])
|
||||
fi
|
||||
bitcoin_enable_qt=no
|
||||
@@ -17,7 +17,7 @@ AC_DEFUN([BITCOIN_QT_FAIL],[
|
||||
])
|
||||
|
||||
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
|
||||
$1
|
||||
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.
|
||||
AC_DEFUN([BITCOIN_QT_PATH_PROGS],[
|
||||
BITCOIN_QT_CHECK([
|
||||
if test "x$3" != x; then
|
||||
if test "$3" != ""; then
|
||||
AC_PATH_PROGS([$1], [$2], [], [$3])
|
||||
else
|
||||
AC_PATH_PROGS([$1], [$2])
|
||||
fi
|
||||
if test "x$$1" = x && test "x$4" != xyes; then
|
||||
if test "$$1" = "" && test "$4" != "yes"; then
|
||||
BITCOIN_QT_FAIL([$1 not found])
|
||||
fi
|
||||
])
|
||||
@@ -57,14 +57,14 @@ AC_DEFUN([BITCOIN_QT_INIT],[
|
||||
[build bitcoin-qt GUI (default=auto)])],
|
||||
[
|
||||
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_want_version=auto
|
||||
fi
|
||||
],
|
||||
[bitcoin_qt_want_version=auto])
|
||||
|
||||
AS_IF([test "x$with_gui" = xqt5_debug],
|
||||
AS_IF([test "$with_gui" = "qt5_debug"],
|
||||
[AS_CASE([$host],
|
||||
[*darwin*], [qt_lib_suffix=_debug],
|
||||
[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
|
||||
case $host in
|
||||
*android*)
|
||||
if test "x$use_dbus" != xyes; then
|
||||
if test "$use_dbus" != "yes"; then
|
||||
use_dbus=no
|
||||
fi
|
||||
;;
|
||||
@@ -119,10 +119,10 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
||||
CPPFLAGS="$QT_INCLUDES $CPPFLAGS"
|
||||
CXXFLAGS="$PIC_FLAGS $CXXFLAGS"
|
||||
_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
|
||||
|
||||
if test "x$qt_plugin_path" != x; then
|
||||
if test "$qt_plugin_path" != ""; then
|
||||
if test -d "$qt_plugin_path/platforms"; then
|
||||
QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms"
|
||||
fi
|
||||
@@ -138,21 +138,21 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
||||
fi
|
||||
|
||||
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])
|
||||
AC_DEFINE([QT_QPA_PLATFORM_MINIMAL], [1], [Define this symbol if the minimal qt platform exists])
|
||||
fi
|
||||
if test "x$TARGET_OS" = xwindows; then
|
||||
if test "$TARGET_OS" = "windows"; then
|
||||
dnl Linking against wtsapi32 is required. See #17749 and
|
||||
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])])
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QWindowsIntegrationPlugin], [-lqwindows])
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QWindowsVistaStylePlugin], [-lqwindowsvistastyle])
|
||||
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])
|
||||
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 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)])
|
||||
@@ -160,7 +160,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QCocoaIntegrationPlugin], [-lqcocoa])
|
||||
_BITCOIN_QT_CHECK_STATIC_PLUGIN([QMacStylePlugin], [-lqmacstyle])
|
||||
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"
|
||||
AC_DEFINE([QT_QPA_PLATFORM_ANDROID], [1], [Define this symbol if the qt platform is android])
|
||||
fi
|
||||
@@ -169,11 +169,11 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
||||
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`"
|
||||
fi
|
||||
|
||||
if test "x$use_hardening" != xno; then
|
||||
if test "$use_hardening" != "no"; then
|
||||
BITCOIN_QT_CHECK([
|
||||
AC_MSG_CHECKING([whether -fPIE can be used with this Qt config])
|
||||
TEMP_CPPFLAGS=$CPPFLAGS
|
||||
@@ -248,26 +248,26 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
|
||||
BITCOIN_QT_CHECK([
|
||||
bitcoin_enable_qt=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
|
||||
fi
|
||||
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
|
||||
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.])
|
||||
fi
|
||||
if test "x$LUPDATE" = x; then
|
||||
if test "$LUPDATE" = ""; then
|
||||
AC_MSG_WARN([lupdate tool is required to update Qt translations.])
|
||||
fi
|
||||
if test "x$LCONVERT" = x; then
|
||||
if test "$LCONVERT" = ""; then
|
||||
AC_MSG_WARN([lconvert tool is required to update Qt translations.])
|
||||
fi
|
||||
],[
|
||||
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)])
|
||||
else
|
||||
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_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"])
|
||||
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_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_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_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"])
|
||||
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"])
|
||||
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_SERVICE], [${qt_lib_prefix}ServiceSupport${qt_lib_suffix}], [QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"])
|
||||
fi
|
||||
@@ -392,7 +392,7 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS],[
|
||||
|
||||
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])
|
||||
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])
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -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 SUBDIRECTORY-NAME must end with a path separator
|
||||
AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[
|
||||
if test "x$2" = "x"; then
|
||||
if test "$2" = ""; then
|
||||
AC_MSG_RESULT([default])
|
||||
else
|
||||
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`]
|
||||
AC_MSG_RESULT([${newinclpath}])
|
||||
if test "x${newinclpath}" != "x"; then
|
||||
if test "${newinclpath}" != ""; then
|
||||
eval "$1=\"\$$1\"' -I${newinclpath}'"
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user