From 5e4789e28c32fb3d682e1bb1421f63739915e978 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 1 May 2026 14:43:31 +0000 Subject: [PATCH] Make qminimal plugin optional for Qt6 --- build-aux/m4/bitcoin_qt.m4 | 23 +++++++++++++++++++++-- contrib/build-linux-wallet.sh | 4 ++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/build-aux/m4/bitcoin_qt.m4 b/build-aux/m4/bitcoin_qt.m4 index 4bfd46ab..0087ee84 100644 --- a/build-aux/m4/bitcoin_qt.m4 +++ b/build-aux/m4/bitcoin_qt.m4 @@ -134,8 +134,9 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[ if test "x$bitcoin_cv_need_acc_widget" = xyes; then _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(AccessibleFactory)], [-lqtaccessiblewidgets]) fi - _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin)],[-lqminimal]) - AC_DEFINE(QT_QPA_PLATFORM_MINIMAL, 1, [Define this symbol if the minimal qt platform exists]) + _BITCOIN_QT_CHECK_STATIC_PLUGINS_OPTIONAL([Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin)],[-lqminimal],[ + AC_DEFINE(QT_QPA_PLATFORM_MINIMAL, 1, [Define this symbol if the minimal qt platform exists]) + ]) if test "x$QT_LIB_PREFIX" = xQt6; then _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QTlsBackendOpenSSL)],[-lqopensslbackend -lssl -lcrypto]) AC_DEFINE(QT_TLS_OPENSSL, 1, [Define this symbol if the Qt OpenSSL TLS backend exists]) @@ -384,6 +385,24 @@ AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_PLUGINS],[ LIBS="$CHECK_STATIC_PLUGINS_TEMP_LIBS" ]) +dnl Internal. Check optional static plugin link requirements. +dnl Inputs: $1: A series of Q_IMPORT_PLUGIN(). +dnl Inputs: $2: The libraries that resolve $1. +dnl Inputs: $3: Action if found. +AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_PLUGINS_OPTIONAL],[ + AC_MSG_CHECKING(for optional static Qt plugins: $2) + CHECK_STATIC_PLUGINS_TEMP_LIBS="$LIBS" + LIBS="$2 $QT_LIBS $LIBS" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + #define QT_STATICPLUGIN + #include + $1]], + [[return 0;]])], + [AC_MSG_RESULT(yes); QT_LIBS="$2 $QT_LIBS"; $3], + [AC_MSG_RESULT(no)]) + LIBS="$CHECK_STATIC_PLUGINS_TEMP_LIBS" +]) + dnl Internal. Find paths necessary for linking qt static plugins dnl Inputs: qt_plugin_path. optional. dnl Outputs: QT_LIBS is appended diff --git a/contrib/build-linux-wallet.sh b/contrib/build-linux-wallet.sh index 929cd4de..fa0afa99 100755 --- a/contrib/build-linux-wallet.sh +++ b/contrib/build-linux-wallet.sh @@ -101,6 +101,10 @@ if [[ ! -f configure ]]; then ./autogen.sh fi +if [[ build-aux/m4/bitcoin_qt.m4 -nt configure ]]; then + ./autogen.sh +fi + echo "Configuring Ubuntu Qt6 wallet build..." CONFIG_SITE="$BASE_CONFIG" ./configure \ --disable-maintainer-mode \