@@ -108,11 +108,10 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
108108 BITCOIN_QT_CHECK([ _BITCOIN_QT_FIND_LIBS] )
109109
110110 dnl This is ugly and complicated. Yuck. Works as follows:
111- dnl For Qt5, we can check a header to find out whether Qt is build
112- dnl statically. When Qt is built statically, some plugins must be linked into
113- dnl the final binary as well.
114- dnl _BITCOIN_QT_CHECK_STATIC_PLUGIN does a quick link-check and appends the
115- dnl results to QT_LIBS.
111+ dnl We check a header to find out whether Qt is built statically.
112+ dnl When Qt is built statically, some plugins must be linked into
113+ dnl the final binary as well. _BITCOIN_QT_CHECK_STATIC_PLUGIN does
114+ dnl a quick link-check and appends the results to QT_LIBS.
116115 BITCOIN_QT_CHECK([
117116 TEMP_CPPFLAGS=$CPPFLAGS
118117 TEMP_CXXFLAGS=$CXXFLAGS
@@ -150,7 +149,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
150149 AC_DEFINE ( QT_QPA_PLATFORM_WINDOWS , 1 , [ Define this symbol if the qt platform is windows] )
151150 elif test "x$TARGET_OS" = xlinux; then
152151 dnl workaround for https://bugreports.qt.io/browse/QTBUG-74874
153- AX_CHECK_LINK_FLAG ( [ -lxcb-shm] , [ QT_LIBS="-lxcb-shm $QT_LIBS "] , [ AC_MSG_ERROR ( [ could not link against -lxcb-shm] ) ] )
152+ AX_CHECK_LINK_FLAG ( [ -lxcb-shm] , [ QT_LIBS="$QT_LIBS -lxcb-shm"] , [ AC_MSG_ERROR ( [ could not link against -lxcb-shm] ) ] )
154153 _BITCOIN_QT_CHECK_STATIC_PLUGIN([ QXcbIntegrationPlugin] , [ -lqxcb] )
155154 AC_DEFINE ( QT_QPA_PLATFORM_XCB , 1 , [ Define this symbol if the qt platform is xcb] )
156155 elif test "x$TARGET_OS" = xdarwin; then
@@ -162,7 +161,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
162161 _BITCOIN_QT_CHECK_STATIC_PLUGIN([ QMacStylePlugin] , [ -lqmacstyle] )
163162 AC_DEFINE ( QT_QPA_PLATFORM_COCOA , 1 , [ Define this symbol if the qt platform is cocoa] )
164163 elif test "x$TARGET_OS" = xandroid; then
165- QT_LIBS="-Wl,--export-dynamic,--undefined=JNI_OnLoad -lqtforandroid -ljnigraphics -landroid -lqtfreetype -lQt5EglSupport $QT_LIBS"
164+ QT_LIBS="-Wl,--export-dynamic,--undefined=JNI_OnLoad -lqtforandroid -ljnigraphics -landroid -lqtfreetype $QT_LIBS"
166165 AC_DEFINE ( QT_QPA_PLATFORM_ANDROID , 1 , [ Define this symbol if the qt platform is android] )
167166 fi
168167 fi
@@ -171,7 +170,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
171170 ] )
172171
173172 if test "x$qt_bin_path" = x; then
174- qt_bin_path="`$PKG_CONFIG --variable=host_bins Qt5Core 2>/dev/null`"
173+ qt_bin_path="`$PKG_CONFIG --variable=host_bins ${qt_lib_prefix}Core 2>/dev/null`"
175174 fi
176175
177176 if test "x$use_hardening" != xno; then
@@ -301,12 +300,13 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
301300 AC_SUBST ( MOC_DEFS )
302301] )
303302
304- dnl All macros below are internal and should _not_ be used from the main
305- dnl configure.ac.
306- dnl ----
303+ dnl All macros below are internal and should _not_ be used from configure.ac.
307304
308- dnl Internal. Check if the linked version of Qt was built as static libs.
309- dnl Requires: Qt5.
305+ dnl Internal. Check if the linked version of Qt was built statically.
306+ dnl
307+ dnl _BITCOIN_QT_IS_STATIC
308+ dnl ---------------------
309+ dnl
310310dnl Requires: INCLUDES and LIBS must be populated as necessary.
311311dnl Output: bitcoin_cv_static_qt=yes|no
312312AC_DEFUN ( [ _BITCOIN_QT_IS_STATIC] ,[
@@ -354,47 +354,54 @@ dnl
354354dnl _BITCOIN_QT_CHECK_STATIC_LIBS
355355dnl -----------------------------
356356dnl
357- dnl Inputs: no inputs.
358357dnl Outputs: QT_LIBS is prepended.
359358AC_DEFUN ( [ _BITCOIN_QT_CHECK_STATIC_LIBS] , [
360- PKG_CHECK_MODULES([ QTFONTDATABASE] , [ Qt5FontDatabaseSupport${qt_lib_suffix}] , [ QT_LIBS="-lQt5FontDatabaseSupport${qt_lib_suffix} $QT_LIBS"] )
361- PKG_CHECK_MODULES([ QTEVENTDISPATCHER] , [ Qt5EventDispatcherSupport${qt_lib_suffix}] , [ QT_LIBS="-lQt5EventDispatcherSupport${qt_lib_suffix} $QT_LIBS"] )
362- PKG_CHECK_MODULES([ QTTHEME] , [ Qt5ThemeSupport${qt_lib_suffix}] , [ QT_LIBS="-lQt5ThemeSupport${qt_lib_suffix} $QT_LIBS"] )
363- PKG_CHECK_MODULES([ QTDEVICEDISCOVERY] , [ Qt5DeviceDiscoverySupport${qt_lib_suffix}] , [ QT_LIBS="-lQt5DeviceDiscoverySupport${qt_lib_suffix} $QT_LIBS"] )
364- PKG_CHECK_MODULES([ QTACCESSIBILITY] , [ Qt5AccessibilitySupport${qt_lib_suffix}] , [ QT_LIBS="-lQt5AccessibilitySupport${qt_lib_suffix} $QT_LIBS"] )
365- PKG_CHECK_MODULES([ QTFB] , [ Qt5FbSupport${qt_lib_suffix}] , [ QT_LIBS="-lQt5FbSupport${qt_lib_suffix} $QT_LIBS"] )
359+ PKG_CHECK_MODULES([ QT_ACCESSIBILITY] , [ ${qt_lib_prefix}AccessibilitySupport${qt_lib_suffix}] , [ QT_LIBS="$QT_ACCESSIBILITY_LIBS $QT_LIBS"] )
360+ PKG_CHECK_MODULES([ QT_DEVICEDISCOVERY] , [ ${qt_lib_prefix}DeviceDiscoverySupport${qt_lib_suffix}] , [ QT_LIBS="$QT_DEVICEDISCOVERY_LIBS $QT_LIBS"] )
361+ PKG_CHECK_MODULES([ QT_EDID] , [ ${qt_lib_prefix}EdidSupport${qt_lib_suffix}] , [ QT_LIBS="$QT_EDID_LIBS $QT_LIBS"] )
362+ PKG_CHECK_MODULES([ QT_EVENTDISPATCHER] , [ ${qt_lib_prefix}EventDispatcherSupport${qt_lib_suffix}] , [ QT_LIBS="$QT_EVENTDISPATCHER_LIBS $QT_LIBS"] )
363+ PKG_CHECK_MODULES([ QT_FB] , [ ${qt_lib_prefix}FbSupport${qt_lib_suffix}] , [ QT_LIBS="$QT_FB_LIBS $QT_LIBS"] )
364+ PKG_CHECK_MODULES([ QT_FONTDATABASE] , [ ${qt_lib_prefix}FontDatabaseSupport${qt_lib_suffix}] , [ QT_LIBS="$QT_FONTDATABASE_LIBS $QT_LIBS"] )
365+ PKG_CHECK_MODULES([ QT_THEME] , [ ${qt_lib_prefix}ThemeSupport${qt_lib_suffix}] , [ QT_LIBS="$QT_THEME_LIBS $QT_LIBS"] )
366366 if test "x$TARGET_OS" = xlinux; then
367- PKG_CHECK_MODULES([ QTXCBQPA] , [ Qt5XcbQpa] , [ QT_LIBS="$QTXCBQPA_LIBS $QT_LIBS"] )
367+ PKG_CHECK_MODULES([ QT_INPUT] , [ ${qt_lib_prefix}InputSupport] , [ QT_LIBS="$QT_INPUT_LIBS $QT_LIBS"] )
368+ PKG_CHECK_MODULES([ QT_SERVICE] , [ ${qt_lib_prefix}ServiceSupport] , [ QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"] )
369+ PKG_CHECK_MODULES([ QT_XCBQPA] , [ ${qt_lib_prefix}XcbQpa] , [ QT_LIBS="$QT_XCBQPA_LIBS $QT_LIBS"] )
368370 elif test "x$TARGET_OS" = xdarwin; then
369- PKG_CHECK_MODULES([ QTCLIPBOARD] , [ Qt5ClipboardSupport${qt_lib_suffix}] , [ QT_LIBS="-lQt5ClipboardSupport${qt_lib_suffix} $QT_LIBS"] )
370- PKG_CHECK_MODULES([ QTGRAPHICS] , [ Qt5GraphicsSupport${qt_lib_suffix}] , [ QT_LIBS="-lQt5GraphicsSupport${qt_lib_suffix} $QT_LIBS"] )
371+ PKG_CHECK_MODULES([ QT_CLIPBOARD] , [ ${qt_lib_prefix}ClipboardSupport${qt_lib_suffix}] , [ QT_LIBS="$QT_CLIPBOARD_LIBS $QT_LIBS"] )
372+ PKG_CHECK_MODULES([ QT_GRAPHICS] , [ ${qt_lib_prefix}GraphicsSupport${qt_lib_suffix}] , [ QT_LIBS="$QT_GRAPHICS_LIBS $QT_LIBS"] )
373+ PKG_CHECK_MODULES([ QT_SERVICE] , [ ${qt_lib_prefix}ServiceSupport${qt_lib_suffix}] , [ QT_LIBS="$QT_SERVICE_LIBS $QT_LIBS"] )
371374 elif test "x$TARGET_OS" = xwindows; then
372- PKG_CHECK_MODULES([ QTWINDOWSUIAUTOMATION] , [ Qt5WindowsUIAutomationSupport${qt_lib_suffix}] , [ QT_LIBS="-lQt5WindowsUIAutomationSupport${qt_lib_suffix} $QT_LIBS"] )
375+ PKG_CHECK_MODULES([ QT_WINDOWSUIAUTOMATION] , [ ${qt_lib_prefix}WindowsUIAutomationSupport${qt_lib_suffix}] , [ QT_LIBS="$QT_WINDOWSUIAUTOMATION_LIBS $QT_LIBS"] )
376+ elif test "x$TARGET_OS" = xandroid; then
377+ PKG_CHECK_MODULES([ QT_EGL] , [ ${qt_lib_prefix}EglSupport] , [ QT_LIBS="$QT_EGL_LIBS $QT_LIBS"] )
373378 fi
374379] )
375380
376381dnl Internal. Find Qt libraries using pkg-config.
382+ dnl
383+ dnl _BITCOIN_QT_FIND_LIBS
384+ dnl ---------------------
385+ dnl
377386dnl Outputs: All necessary QT_* variables are set.
378387dnl Outputs: have_qt_test and have_qt_dbus are set (if applicable) to yes|no.
379388AC_DEFUN ( [ _BITCOIN_QT_FIND_LIBS] ,[
380389 BITCOIN_QT_CHECK([
381- PKG_CHECK_MODULES([ QT_CORE] , [ ${qt_lib_prefix}Core${qt_lib_suffix} $qt_version] , [ ] ,
390+ PKG_CHECK_MODULES([ QT_CORE] , [ ${qt_lib_prefix}Core${qt_lib_suffix} $qt_version] , [ QT_INCLUDES="$QT_CORE_CFLAGS $QT_INCLUDES" QT_LIBS="$QT_CORE_LIBS $QT_LIBS" ] ,
382391 [ BITCOIN_QT_FAIL([ ${qt_lib_prefix}Core${qt_lib_suffix} $qt_version not found] )] )
383392 ] )
384393 BITCOIN_QT_CHECK([
385- PKG_CHECK_MODULES([ QT_GUI] , [ ${qt_lib_prefix}Gui${qt_lib_suffix} $qt_version] , [ ] ,
394+ PKG_CHECK_MODULES([ QT_GUI] , [ ${qt_lib_prefix}Gui${qt_lib_suffix} $qt_version] , [ QT_INCLUDES="$QT_GUI_CFLAGS $QT_INCLUDES" QT_LIBS="$QT_GUI_LIBS $QT_LIBS" ] ,
386395 [ BITCOIN_QT_FAIL([ ${qt_lib_prefix}Gui${qt_lib_suffix} $qt_version not found] )] )
387396 ] )
388397 BITCOIN_QT_CHECK([
389- PKG_CHECK_MODULES([ QT_WIDGETS] , [ ${qt_lib_prefix}Widgets${qt_lib_suffix} $qt_version] , [ ] ,
398+ PKG_CHECK_MODULES([ QT_WIDGETS] , [ ${qt_lib_prefix}Widgets${qt_lib_suffix} $qt_version] , [ QT_INCLUDES="$QT_WIDGETS_CFLAGS $QT_INCLUDES" QT_LIBS="$QT_WIDGETS_LIBS $QT_LIBS" ] ,
390399 [ BITCOIN_QT_FAIL([ ${qt_lib_prefix}Widgets${qt_lib_suffix} $qt_version not found] )] )
391400 ] )
392401 BITCOIN_QT_CHECK([
393- PKG_CHECK_MODULES([ QT_NETWORK] , [ ${qt_lib_prefix}Network${qt_lib_suffix} $qt_version] , [ ] ,
402+ PKG_CHECK_MODULES([ QT_NETWORK] , [ ${qt_lib_prefix}Network${qt_lib_suffix} $qt_version] , [ QT_INCLUDES="$QT_NETWORK_CFLAGS $QT_INCLUDES" QT_LIBS="$QT_NETWORK_LIBS $QT_LIBS" ] ,
394403 [ BITCOIN_QT_FAIL([ ${qt_lib_prefix}Network${qt_lib_suffix} $qt_version not found] )] )
395404 ] )
396- QT_INCLUDES="$QT_CORE_CFLAGS $QT_GUI_CFLAGS $QT_WIDGETS_CFLAGS $QT_NETWORK_CFLAGS"
397- QT_LIBS="$QT_CORE_LIBS $QT_GUI_LIBS $QT_WIDGETS_LIBS $QT_NETWORK_LIBS"
398405
399406 BITCOIN_QT_CHECK([
400407 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] )
0 commit comments