aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build-aux/m4/bitcoin_qt.m411
-rwxr-xr-xcontrib/devtools/symbol-check.py15
-rw-r--r--depends/packages/qt.mk35
-rw-r--r--depends/patches/qt/dont_hardcode_x86_64.patch34
-rw-r--r--depends/patches/qt/fix_android_jni_static.patch2
-rw-r--r--depends/patches/qt/fix_android_pch.patch10
-rw-r--r--depends/patches/qt/fix_lib_paths.patch193
-rw-r--r--depends/patches/qt/fix_limits_header.patch36
-rw-r--r--depends/patches/qt/fix_qt_pkgconfig.patch14
-rw-r--r--depends/patches/qt/no-xlib.patch13
-rw-r--r--depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch2
-rw-r--r--depends/patches/qt/support_new_android_ndks.patch122
12 files changed, 89 insertions, 398 deletions
diff --git a/build-aux/m4/bitcoin_qt.m4 b/build-aux/m4/bitcoin_qt.m4
index 8b90ee3dc4..8346e549b8 100644
--- a/build-aux/m4/bitcoin_qt.m4
+++ b/build-aux/m4/bitcoin_qt.m4
@@ -67,10 +67,11 @@ AC_DEFUN([BITCOIN_QT_INIT],[
AS_IF([test "x$with_gui" = xqt5_debug],
[AS_CASE([$host],
[*darwin*], [qt_lib_suffix=_debug],
- [*mingw*], [qt_lib_suffix=d],
[qt_lib_suffix= ]); bitcoin_qt_want_version=qt5],
[qt_lib_suffix= ])
+ AS_CASE([$host], [*android*], [qt_lib_suffix=_$ANDROID_ARCH])
+
AC_ARG_WITH([qt-incdir],[AS_HELP_STRING([--with-qt-incdir=INC_DIR],[specify qt include path (overridden by pkgconfig)])], [qt_include_path=$withval], [])
AC_ARG_WITH([qt-libdir],[AS_HELP_STRING([--with-qt-libdir=LIB_DIR],[specify qt lib path (overridden by pkgconfig)])], [qt_lib_path=$withval], [])
AC_ARG_WITH([qt-plugindir],[AS_HELP_STRING([--with-qt-plugindir=PLUGIN_DIR],[specify qt plugin path (overridden by pkgconfig)])], [qt_plugin_path=$withval], [])
@@ -149,8 +150,6 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
_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
- dnl workaround for https://bugreports.qt.io/browse/QTBUG-74874
- AX_CHECK_LINK_FLAG([-lxcb-shm], [QT_LIBS="$QT_LIBS -lxcb-shm"], [AC_MSG_ERROR([could not link against -lxcb-shm])])
_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
@@ -162,7 +161,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[
_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
- QT_LIBS="-Wl,--export-dynamic,--undefined=JNI_OnLoad -lqtforandroid -ljnigraphics -landroid -lqtfreetype $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])
fi
fi
@@ -353,6 +352,7 @@ AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_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_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
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"])
@@ -360,7 +360,8 @@ AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_LIBS], [
elif test "x$TARGET_OS" = xwindows; 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
- PKG_CHECK_MODULES([QT_EGL], [${qt_lib_prefix}EglSupport], [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"])
fi
])
diff --git a/contrib/devtools/symbol-check.py b/contrib/devtools/symbol-check.py
index 15d4e729ac..ec3b7691e9 100755
--- a/contrib/devtools/symbol-check.py
+++ b/contrib/devtools/symbol-check.py
@@ -105,7 +105,19 @@ ELF_ALLOWED_LIBRARIES = {
'libxkbcommon-x11.so.0', # keyboard keymapping
'libfontconfig.so.1', # font support
'libfreetype.so.6', # font parsing
-'libdl.so.2' # programming interface to dynamic linker
+'libdl.so.2', # programming interface to dynamic linker
+'libxcb-icccm.so.4',
+'libxcb-image.so.0',
+'libxcb-shm.so.0',
+'libxcb-keysyms.so.1',
+'libxcb-randr.so.0',
+'libxcb-render-util.so.0',
+'libxcb-render.so.0',
+'libxcb-shape.so.0',
+'libxcb-sync.so.1',
+'libxcb-xfixes.so.0',
+'libxcb-xinerama.so.0',
+'libxcb-xkb.so.1',
}
MACHO_ALLOWED_LIBRARIES = {
@@ -116,6 +128,7 @@ MACHO_ALLOWED_LIBRARIES = {
'AppKit', # user interface
'ApplicationServices', # common application tasks.
'Carbon', # deprecated c back-compat API
+'ColorSync',
'CoreFoundation', # low level func, data types
'CoreGraphics', # 2D rendering
'CoreServices', # operating system services
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index 24a391b25c..bb818d638b 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -1,25 +1,23 @@
-PACKAGE=qt
-$(package)_version=5.12.11
-$(package)_download_path=https://download.qt.io/official_releases/qt/5.12/$($(package)_version)/submodules
+package=qt
+$(package)_version=5.15.2
+$(package)_download_path=https://download.qt.io/official_releases/qt/5.15/$($(package)_version)/submodules
$(package)_suffix=everywhere-src-$($(package)_version).tar.xz
$(package)_file_name=qtbase-$($(package)_suffix)
-$(package)_sha256_hash=1c1b4e33137ca77881074c140d54c3c9747e845a31338cfe8680f171f0bc3a39
+$(package)_sha256_hash=909fad2591ee367993a75d7e2ea50ad4db332f05e1c38dd7a5a274e156a4e0f8
$(package)_linux_dependencies=freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm
$(package)_qt_libs=corelib network widgets gui plugins testlib
$(package)_linguist_tools = lrelease lupdate lconvert
$(package)_patches = qt.pro qttools_src.pro
$(package)_patches += fix_qt_pkgconfig.patch mac-qmake.conf fix_no_printer.patch no-xlib.patch
-$(package)_patches += support_new_android_ndks.patch fix_android_jni_static.patch dont_hardcode_pwd.patch
-$(package)_patches += dont_hardcode_x86_64.patch
-$(package)_patches+= fix_lib_paths.patch fix_android_pch.patch
-$(package)_patches+= qtbase-moc-ignore-gcc-macro.patch fix_limits_header.patch
-$(package)_patches+= fix_montery_include.patch
+$(package)_patches += dont_hardcode_x86_64.patch fix_montery_include.patch
+$(package)_patches += fix_android_jni_static.patch dont_hardcode_pwd.patch
+$(package)_patches += qtbase-moc-ignore-gcc-macro.patch fix_limits_header.patch
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
-$(package)_qttranslations_sha256_hash=577b0668a777eb2b451c61e8d026d79285371597ce9df06b6dee6c814164b7c3
+$(package)_qttranslations_sha256_hash=d5788e86257b21d5323f1efd94376a213e091d1e5e03b45a95dd052b5f570db8
$(package)_qttools_file_name=qttools-$($(package)_suffix)
-$(package)_qttools_sha256_hash=98b2aaca230458f65996f3534fd471d2ffd038dd58ac997c0589c06dc2385b4f
+$(package)_qttools_sha256_hash=c189d0ce1ff7c739db9a3ace52ac3e24cb8fd6dbf234e49f075249b38f43c1cc
$(package)_extra_sources = $($(package)_qttranslations_file_name)
$(package)_extra_sources += $($(package)_qttools_file_name)
@@ -30,14 +28,14 @@ $(package)_config_opts_release += -silent
$(package)_config_opts_debug = -debug
$(package)_config_opts_debug += -optimized-tools
$(package)_config_opts += -bindir $(build_prefix)/bin
-$(package)_config_opts += -c++std c++1z
+$(package)_config_opts += -c++std c++17
$(package)_config_opts += -confirm-license
$(package)_config_opts += -hostprefix $(build_prefix)
$(package)_config_opts += -no-compile-examples
$(package)_config_opts += -no-cups
$(package)_config_opts += -no-egl
$(package)_config_opts += -no-eglfs
-$(package)_config_opts += -no-freetype
+$(package)_config_opts += -no-evdev
$(package)_config_opts += -no-gif
$(package)_config_opts += -no-glib
$(package)_config_opts += -no-icu
@@ -52,6 +50,7 @@ $(package)_config_opts += -no-mtdev
$(package)_config_opts += -no-openssl
$(package)_config_opts += -no-openvg
$(package)_config_opts += -no-reduce-relocations
+$(package)_config_opts += -no-schannel
$(package)_config_opts += -no-sctp
$(package)_config_opts += -no-securetransport
$(package)_config_opts += -no-sql-db2
@@ -65,6 +64,7 @@ $(package)_config_opts += -no-sql-sqlite
$(package)_config_opts += -no-sql-sqlite2
$(package)_config_opts += -no-system-proxies
$(package)_config_opts += -no-use-gold-linker
+$(package)_config_opts += -no-zstd
$(package)_config_opts += -nomake examples
$(package)_config_opts += -nomake tests
$(package)_config_opts += -nomake tools
@@ -102,6 +102,7 @@ $(package)_config_opts += -no-feature-sqlmodel
$(package)_config_opts += -no-feature-statemachine
$(package)_config_opts += -no-feature-syntaxhighlighter
$(package)_config_opts += -no-feature-textbrowser
+$(package)_config_opts += -no-feature-textmarkdownwriter
$(package)_config_opts += -no-feature-textodfwriter
$(package)_config_opts += -no-feature-topleveldomain
$(package)_config_opts += -no-feature-udpsocket
@@ -117,6 +118,7 @@ $(package)_config_opts_darwin = -no-dbus
$(package)_config_opts_darwin += -no-opengl
$(package)_config_opts_darwin += -pch
$(package)_config_opts_darwin += -no-feature-corewlan
+$(package)_config_opts_darwin += -no-freetype
$(package)_config_opts_darwin += QMAKE_MACOSX_DEPLOYMENT_TARGET=$(OSX_MIN_VERSION)
ifneq ($(build_os),darwin)
@@ -133,7 +135,7 @@ $(package)_config_opts_aarch64_darwin += -device-option QMAKE_APPLE_DEVICE_ARCHS
$(package)_config_opts_x86_64_darwin += -device-option QMAKE_APPLE_DEVICE_ARCHS=x86_64
endif
-$(package)_config_opts_linux = -qt-xcb
+$(package)_config_opts_linux = -xcb
$(package)_config_opts_linux += -no-xcb-xlib
$(package)_config_opts_linux += -no-feature-xlib
$(package)_config_opts_linux += -system-freetype
@@ -152,6 +154,7 @@ $(package)_config_opts_s390x_linux = -platform linux-g++ -xplatform bitcoin-linu
$(package)_config_opts_mingw32 = -no-opengl
$(package)_config_opts_mingw32 += -no-dbus
+$(package)_config_opts_mingw32 += -no-freetype
$(package)_config_opts_mingw32 += -xplatform win32-g++
$(package)_config_opts_mingw32 += "QMAKE_CFLAGS = '$($(package)_cflags) $($(package)_cppflags)'"
$(package)_config_opts_mingw32 += "QMAKE_CXXFLAGS = '$($(package)_cflags) $($(package)_cppflags)'"
@@ -166,7 +169,6 @@ $(package)_config_opts_android += -android-ndk-platform android-$(ANDROID_API_LE
$(package)_config_opts_android += -device-option CROSS_COMPILE="$(host)-"
$(package)_config_opts_android += -egl
$(package)_config_opts_android += -qpa xcb
-$(package)_config_opts_android += -no-eglfs
$(package)_config_opts_android += -no-dbus
$(package)_config_opts_android += -opengl es2
$(package)_config_opts_android += -qt-freetype
@@ -227,12 +229,9 @@ define $(package)_preprocess_cmds
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch && \
- patch -p1 -i $($(package)_patch_dir)/support_new_android_ndks.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_android_jni_static.patch && \
- patch -p1 -i $($(package)_patch_dir)/fix_android_pch.patch && \
patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_x86_64.patch && \
- patch -p1 -i $($(package)_patch_dir)/fix_lib_paths.patch && \
patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_limits_header.patch && \
patch -p1 -i $($(package)_patch_dir)/fix_montery_include.patch && \
diff --git a/depends/patches/qt/dont_hardcode_x86_64.patch b/depends/patches/qt/dont_hardcode_x86_64.patch
index 0e1ca6acda..5c1e030fa4 100644
--- a/depends/patches/qt/dont_hardcode_x86_64.patch
+++ b/depends/patches/qt/dont_hardcode_x86_64.patch
@@ -9,14 +9,14 @@ https://codereview.qt-project.org/q/I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
--- old/qtbase/configure.json
+++ new/qtbase/configure.json
-@@ -208,11 +208,18 @@
+@@ -244,11 +244,18 @@
"testTypeDependencies": {
- "linkerSupportsFlag": [ "use_gold_linker" ],
-- "verifySpec": [ "shared", "use_gold_linker", "compiler-flags", "qmakeargs", "commit" ],
+ "linkerSupportsFlag": [ "use_bfd_linker", "use_gold_linker", "use_lld_linker" ],
+- "verifySpec": [ "shared", "use_bfd_linker", "use_gold_linker", "use_lld_linker", "compiler-flags", "qmakeargs", "commit" ],
+ "verifySpec": [
+ "shared",
-+ "use_gold_linker",
++ "use_bfd_linker", "use_gold_linker", "use_lld_linker",
+ "compiler-flags", "qmakeargs",
+ "simulator_and_device",
+ "thread",
@@ -30,7 +30,7 @@ https://codereview.qt-project.org/q/I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
},
"testTypeAliases": {
-@@ -653,7 +660,7 @@
+@@ -762,7 +769,7 @@
},
"architecture": {
"label": "Architecture",
@@ -40,11 +40,10 @@ https://codereview.qt-project.org/q/I70db7e4c27f0d3da5d0af33cb491d72c312d3fa8
"pkg-config": {
"label": "Using pkg-config",
diff --git a/configure.pri b/configure.pri
-index 33c90a8c2f..71767e29d6 100644
-
+index 49755f7abfd..8be9b10d7d4 100644
--- old/qtbase/configure.pri
+++ new/qtbase/configure.pri
-@@ -642,6 +642,13 @@ defineTest(qtConfOutput_commitOptions) {
+@@ -662,6 +662,13 @@ defineTest(qtConfOutput_commitOptions) {
write_file($$QT_BUILD_TREE/mkspecs/qdevice.pri, $${currentConfig}.output.devicePro)|error()
}
@@ -59,24 +58,22 @@ index 33c90a8c2f..71767e29d6 100644
defineTest(processQtPath) {
out_var = config.rel_input.$${2}
diff --git a/mkspecs/common/macx.conf b/mkspecs/common/macx.conf
-index 7d4a406134..de96c12fc9 100644
-
+index d16b77acb8e..4ba0a8eaa36 100644
--- old/qtbase/mkspecs/common/macx.conf
+++ new/qtbase/mkspecs/common/macx.conf
@@ -6,7 +6,6 @@ QMAKE_PLATFORM += macos osx macx
QMAKE_MAC_SDK = macosx
- QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.12
+ QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13
-QMAKE_APPLE_DEVICE_ARCHS = x86_64
- QT_MAC_SDK_VERSION_MIN = 10.13
- QT_MAC_SDK_VERSION_MAX = 11.0
+ # Should be 10.15, but as long as the CI builds with
+ # older SDKs we have to keep this.
diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
-index d052808c14..0a89effe87 100644
-
+index 92a9112bca6..d888731ec8d 100644
--- old/qtbase/mkspecs/features/mac/default_post.prf
+++ new/qtbase/mkspecs/features/mac/default_post.prf
-@@ -89,6 +89,11 @@ app_extension_api_only {
+@@ -90,6 +90,11 @@ app_extension_api_only {
QMAKE_LFLAGS += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
}
@@ -88,7 +85,7 @@ index d052808c14..0a89effe87 100644
macx-xcode {
qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
!isEmpty(QMAKE_PKGINFO_TYPEINFO): \
-@@ -144,9 +149,6 @@ macx-xcode {
+@@ -145,9 +150,6 @@ macx-xcode {
simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
@@ -99,8 +96,7 @@ index d052808c14..0a89effe87 100644
ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf
-index 5003679bd0..c7c080cb07 100644
-
+index efbe7c1e55b..8add6dc8043 100644
--- old/qtbase/mkspecs/features/toolchain.prf
+++ new/qtbase/mkspecs/features/toolchain.prf
@@ -182,9 +182,14 @@ isEmpty($${target_prefix}.INCDIRS) {
diff --git a/depends/patches/qt/fix_android_jni_static.patch b/depends/patches/qt/fix_android_jni_static.patch
index a186aeb8f6..bb64661761 100644
--- a/depends/patches/qt/fix_android_jni_static.patch
+++ b/depends/patches/qt/fix_android_jni_static.patch
@@ -1,6 +1,6 @@
--- old/qtbase/src/plugins/platforms/android/androidjnimain.cpp
+++ new/qtbase/src/plugins/platforms/android/androidjnimain.cpp
-@@ -898,6 +898,14 @@
+@@ -914,6 +914,14 @@ Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void */*reserved*/)
__android_log_print(ANDROID_LOG_FATAL, "Qt", "registerNatives failed");
return -1;
}
diff --git a/depends/patches/qt/fix_android_pch.patch b/depends/patches/qt/fix_android_pch.patch
deleted file mode 100644
index 195e1c5e59..0000000000
--- a/depends/patches/qt/fix_android_pch.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- old/qtbase/mkspecs/common/android-base-head.conf
-+++ new/qtbase/mkspecs/common/android-base-head.conf
-@@ -72,6 +72,6 @@ CROSS_COMPILE = $$NDK_TOOLCHAIN_PATH/bin/$$NDK_TOOLS_PREFIX-
- QMAKE_PCH_OUTPUT_EXT = .gch
-
- QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
--QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE}
-+QMAKE_CFLAGS_USE_PRECOMPILE = -include-pch ${QMAKE_PCH_OUTPUT}
- QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
- QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
diff --git a/depends/patches/qt/fix_lib_paths.patch b/depends/patches/qt/fix_lib_paths.patch
deleted file mode 100644
index d1a15373f4..0000000000
--- a/depends/patches/qt/fix_lib_paths.patch
+++ /dev/null
@@ -1,193 +0,0 @@
---- old/qtbase/mkspecs/common/mac.conf
-+++ new/qtbase/mkspecs/common/mac.conf
-@@ -14,7 +14,6 @@
-
- QMAKE_RESOURCE = /Developer/Tools/Rez
- QMAKE_EXTENSION_SHLIB = dylib
--QMAKE_EXTENSIONS_AUX_SHLIB = tbd
- QMAKE_LIBDIR =
-
- # sdk.prf will prefix the proper SDK sysroot
-
---- old/qtbase/mkspecs/features/qmake_use.prf
-+++ new/qtbase/mkspecs/features/qmake_use.prf
-@@ -22,6 +22,8 @@
- !defined(QMAKE_LIBS_$$nu, var): \
- error("Library '$$lower($$replace(nu, _, -))' is not defined.")
-
-+ QMAKE_LIBDIR += $$eval(QMAKE_LIBDIR_$$nu)
-+
- debug: \
- LIBS$${suffix} += $$eval(QMAKE_LIBS_$${nu}_DEBUG) $$eval(QMAKE_LIBS_$$nu)
- else: \
-
---- old/qtbase/mkspecs/features/qt_configure.prf
-+++ new/qtbase/mkspecs/features/qt_configure.prf
-@@ -526,98 +526,23 @@
- return($$sysrootified)
- }
-
--# libs-var, libs, in-paths, out-paths-var
-+# libs-var, libs, in-paths
- defineTest(qtConfResolveLibs) {
-- ret = true
-- paths = $$3
-- out =
-- copy = false
-- for (l, 2) {
-- $$copy {
-- copy = false
-- out += $$l
-- } else: equals(l, "-s") {
-- # em++ flag to link libraries from emscripten-ports; passed on literally.
-- copy = true
-- out += $$l
-- } else: contains(l, "^-L.*") {
-- lp = $$replace(l, "^-L", )
-- gcc: lp = $$qtGccSysrootifiedPath($$lp)
-- !exists($$lp/.) {
-- qtLog("Library path $$val_escape(lp) is invalid.")
-- ret = false
-- } else {
-- paths += $$lp
-- }
-- } else: contains(l, "^-l.*") {
-- lib = $$replace(l, "^-l", )
-- lcan =
-- integrity:contains(lib, "^.*\\.a") {
-- # INTEGRITY compiler searches for exact filename
-- # if -l argument has .a suffix
-- lcan += $${lib}
-- } else: contains(lib, "^:.*") {
-- # Use exact filename when -l:filename syntax is used.
-- lib ~= s/^://
-- lcan += $${lib}
-- } else: unix {
-- # Under UNIX, we look for actual shared libraries, in addition
-- # to static ones.
-- shexts = $$QMAKE_EXTENSION_SHLIB $$QMAKE_EXTENSIONS_AUX_SHLIB
-- for (ext, shexts) {
-- lcan += $${QMAKE_PREFIX_SHLIB}$${lib}.$${ext}
-- }
-- lcan += \
-- $${QMAKE_PREFIX_STATICLIB}$${lib}.$${QMAKE_EXTENSION_STATICLIB}
-- } else {
-- # Under Windows, we look only for static libraries, as even for DLLs
-- # one actually links against a static import library.
-- mingw {
-- lcan += \
-- # MinGW supports UNIX-style library naming in addition to
-- # the MSVC style.
-- lib$${lib}.dll.a lib$${lib}.a \
-- # Fun fact: prefix-less libraries are also supported.
-- $${lib}.dll.a $${lib}.a
-- }
-- lcan += $${lib}.lib
-- }
-- l = $$qtConfFindInPathList($$lcan, $$paths $$EXTRA_LIBDIR $$QMAKE_DEFAULT_LIBDIRS)
-- isEmpty(l) {
-- qtLog("None of [$$val_escape(lcan)] found in [$$val_escape(paths)] and global paths.")
-- ret = false
-- } else {
-- out += $$l
-- }
-- } else {
-- out += $$l
-- }
-- }
-- $$1 = $$out
-+ for (path, 3): \
-+ pre_lflags += -L$$path
-+ $$1 = $$pre_lflags $$2
- export($$1)
-- !isEmpty(4) {
-- $$4 = $$paths
-- export($$4)
-- }
-- return($$ret)
--}
--
--# source-var
--defineTest(qtConfResolveAllLibs) {
-- ret = true
-- !qtConfResolveLibs($${1}.libs, $$eval($${1}.libs), , $${1}.libdirs): \
-- ret = false
-- for (b, $${1}.builds._KEYS_): \
-- !qtConfResolveLibs($${1}.builds.$${b}, $$eval($${1}.builds.$${b}), $$eval($${1}.libdirs), ): \
-- ret = false
-- return($$ret)
-+ return(true)
- }
-
- # libs-var, in-paths, libs
- defineTest(qtConfResolvePathLibs) {
- ret = true
-- gcc: 2 = $$qtGccSysrootifiedPaths($$2)
-- for (libdir, 2) {
-+ gcc: \
-+ local_paths = $$qtGccSysrootifiedPaths($$2)
-+ else: \
-+ local_paths = $$2
-+ for (libdir, local_paths) {
- !exists($$libdir/.) {
- qtLog("Library path $$val_escape(libdir) is invalid.")
- ret = false
-@@ -667,8 +592,11 @@
- # includes-var, in-paths, test-object-var
- defineTest(qtConfResolvePathIncs) {
- ret = true
-- gcc: 2 = $$qtGccSysrootifiedPaths($$2)
-- for (incdir, 2) {
-+ gcc: \
-+ local_paths = $$qtGccSysrootifiedPaths($$2)
-+ else: \
-+ local_paths = $$2
-+ for (incdir, local_paths) {
- !exists($$incdir/.) {
- qtLog("Include path $$val_escape(incdir) is invalid.")
- ret = false
-@@ -727,6 +655,7 @@
- vars += $$eval(config.commandline.rev_assignments.$${iv})
- defined(config.input.$${iv}, var) {
- eval($${1}.builds.$${b} = $$eval(config.input.$${iv}))
-+ export($${1}.builds.$${b})
- $${1}.builds._KEYS_ *= $${b}
- any = true
- } else {
-@@ -741,11 +670,14 @@
- export($${1}.builds._KEYS_)
- # we also reset the generic libs, to avoid surprises.
- $${1}.libs =
-+ export($${1}.libs)
- }
-
- # direct libs. overwrites inline libs.
-- defined(config.input.$${input}.libs, var): \
-+ defined(config.input.$${input}.libs, var) {
- eval($${1}.libs = $$eval(config.input.$${input}.libs))
-+ export($${1}.libs)
-+ }
-
- includes = $$eval(config.input.$${input}.incdir)
-
-@@ -754,6 +686,7 @@
- !isEmpty(prefix) {
- includes += $$prefix/include
- $${1}.libs = -L$$prefix/lib $$eval($${1}.libs)
-+ export($${1}.libs)
- }
-
- libdir = $$eval(config.input.$${input}.libdir)
-@@ -762,11 +695,9 @@
- for (ld, libdir): \
- libs += -L$$ld
- $${1}.libs = $$libs $$eval($${1}.libs)
-+ export($${1}.libs)
- }
-
-- !qtConfResolveAllLibs($$1): \
-- return(false)
--
- !qtConfResolvePathIncs($${1}.includedir, $$includes, $$2): \
- return(false)
-
diff --git a/depends/patches/qt/fix_limits_header.patch b/depends/patches/qt/fix_limits_header.patch
index e4313770e5..cb5a8cd1b5 100644
--- a/depends/patches/qt/fix_limits_header.patch
+++ b/depends/patches/qt/fix_limits_header.patch
@@ -19,17 +19,16 @@ Upstream commits:
#include <stdlib.h>
#include <string.h>
---- old/qtbase/src/corelib/tools/qbytearraymatcher.h
-+++ new/qtbase/src/corelib/tools/qbytearraymatcher.h
-@@ -42,6 +42,8 @@
-
- #include <QtCore/qbytearray.h>
+--- old/qtbase/src/corelib/global/qfloat16.h
++++ new/qtbase/src/corelib/global/qfloat16.h
+@@ -43,6 +43,7 @@
+ #include <QtCore/qglobal.h>
+ #include <QtCore/qmetatype.h>
+#include <limits>
-+
- QT_BEGIN_NAMESPACE
-
+ #include <string.h>
+ #if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__)
--- old/qtbase/src/tools/moc/generator.cpp
+++ new/qtbase/src/tools/moc/generator.cpp
@@ -42,3 +41,24 @@ Upstream commits:
#include <math.h>
#include <stdio.h>
+--- old/qtbase/src/corelib/text/qbytearraymatcher.h
++++ new/qtbase/src/corelib/text/qbytearraymatcher.h
+@@ -42,6 +42,8 @@
+
+ #include <QtCore/qbytearray.h>
+
++#include <limits>
++
+ QT_BEGIN_NAMESPACE
+
+
+--- old/qtbase/src/corelib/tools/qoffsetstringarray_p.h
++++ new/qtbase/src/corelib/tools/qoffsetstringarray_p.h
+@@ -55,6 +55,7 @@
+
+ #include <tuple>
+ #include <array>
++#include <limits>
+
+ QT_BEGIN_NAMESPACE
+
diff --git a/depends/patches/qt/fix_qt_pkgconfig.patch b/depends/patches/qt/fix_qt_pkgconfig.patch
index a5de2b4b9e..73f4d89f73 100644
--- a/depends/patches/qt/fix_qt_pkgconfig.patch
+++ b/depends/patches/qt/fix_qt_pkgconfig.patch
@@ -4,20 +4,8 @@
load(qt_targets)
# this builds on top of qt_common
--!internal_module:if(unix|mingw) {
+-!internal_module:if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) {
+if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) {
CONFIG += create_pc
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
host_build: \
-@@ -284,9 +284,9 @@ load(qt_targets)
- QMAKE_PKGCONFIG_CFLAGS = -D$$MODULE_DEFINE -I${includedir}/$$MODULE_INCNAME
- }
- QMAKE_PKGCONFIG_NAME = $$replace(TARGET, ^Qt, "Qt$$QT_MAJOR_VERSION ")
-- QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION)
-+ QMAKE_PKGCONFIG_FILE = $$replace(TARGET, ^Qt, Qt$$QT_MAJOR_VERSION)$$qtPlatformTargetSuffix()
- for(i, MODULE_DEPENDS): \
-- QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$section(QT.$${i}.VERSION, ., 0, 0))
-+ QMAKE_PKGCONFIG_REQUIRES += $$replace(QT.$${i}.name, ^Qt, Qt$$section(QT.$${i}.VERSION, ., 0, 0))$$qtPlatformTargetSuffix()
- isEmpty(QMAKE_PKGCONFIG_DESCRIPTION): \
- QMAKE_PKGCONFIG_DESCRIPTION = $$replace(TARGET, ^Qt, "Qt ") module
- !isEmpty(lib_replace0.match) {
diff --git a/depends/patches/qt/no-xlib.patch b/depends/patches/qt/no-xlib.patch
index f4a6f09ee4..d6846aaca2 100644
--- a/depends/patches/qt/no-xlib.patch
+++ b/depends/patches/qt/no-xlib.patch
@@ -22,7 +22,7 @@ index 7c62c2e2b3..c05c6c0a07 100644
#include <xcb/xfixes.h>
#include <xcb/xcb_image.h>
-@@ -391,6 +393,7 @@ void QXcbCursor::changeCursor(QCursor *cursor, QWindow *window)
+@@ -391,6 +391,7 @@ void QXcbCursor::changeCursor(QCursor *cursor, QWindow *window)
xcb_flush(xcb_connection());
}
@@ -30,7 +30,7 @@ index 7c62c2e2b3..c05c6c0a07 100644
static int cursorIdForShape(int cshape)
{
int cursorId = 0;
-@@ -444,6 +447,7 @@ static int cursorIdForShape(int cshape)
+@@ -444,6 +445,7 @@ static int cursorIdForShape(int cshape)
}
return cursorId;
}
@@ -38,7 +38,7 @@ index 7c62c2e2b3..c05c6c0a07 100644
xcb_cursor_t QXcbCursor::createNonStandardCursor(int cshape)
{
-@@ -556,7 +560,9 @@ static xcb_cursor_t loadCursor(void *dpy, int cshape)
+@@ -556,7 +558,9 @@ static xcb_cursor_t loadCursor(void *dpy, int cshape)
xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
{
xcb_connection_t *conn = xcb_connection();
@@ -48,16 +48,15 @@ index 7c62c2e2b3..c05c6c0a07 100644
xcb_cursor_t cursor = XCB_NONE;
// Try Xcursor first
-@@ -585,7 +591,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
-
+@@ -586,6 +590,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
// Non-standard X11 cursors are created from bitmaps
cursor = createNonStandardCursor(cshape);
--
+
+#if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
// Create a glpyh cursor if everything else failed
if (!cursor && cursorId) {
cursor = xcb_generate_id(conn);
-@@ -593,6 +599,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
+@@ -593,6 +598,7 @@ xcb_cursor_t QXcbCursor::createFontCursor(int cshape)
cursorId, cursorId + 1,
0xFFFF, 0xFFFF, 0xFFFF, 0, 0, 0);
}
diff --git a/depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch b/depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch
index 0358bea6e9..f0c14a9400 100644
--- a/depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch
+++ b/depends/patches/qt/qtbase-moc-ignore-gcc-macro.patch
@@ -7,7 +7,7 @@ Upstream report: https://bugreports.qt.io/browse/QTBUG-83160
diff --git a/qtbase/src/tools/moc/main.cpp b/qtbase/src/tools/moc/main.cpp
--- a/qtbase/src/tools/moc/main.cpp
+++ b/qtbase/src/tools/moc/main.cpp
-@@ -188,6 +188,7 @@ int runMoc(int argc, char **argv)
+@@ -238,6 +238,7 @@ int runMoc(int argc, char **argv)
dummyVariadicFunctionMacro.arguments += Symbol(0, PP_IDENTIFIER, "__VA_ARGS__");
pp.macros["__attribute__"] = dummyVariadicFunctionMacro;
pp.macros["__declspec"] = dummyVariadicFunctionMacro;
diff --git a/depends/patches/qt/support_new_android_ndks.patch b/depends/patches/qt/support_new_android_ndks.patch
deleted file mode 100644
index 85c8ae2132..0000000000
--- a/depends/patches/qt/support_new_android_ndks.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-Follow Google's BuildSystemMaintainers doc to support future NDK releases.
-
-Upstream commit:
- - Qt 5.14: 9b14950ff600a4ce5a8698b67ab38907c50417f1
-
---- old/qtbase/mkspecs/android-clang/qmake.conf
-+++ new/qtbase/mkspecs/android-clang/qmake.conf
-@@ -14,43 +14,29 @@
- QMAKE_CC = $$NDK_LLVM_PATH/bin/clang
- QMAKE_CXX = $$NDK_LLVM_PATH/bin/clang++
-
-+# Follow https://android.googlesource.com/platform/ndk/+/ndk-release-r20/docs/BuildSystemMaintainers.md
-+
- equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
-- QMAKE_CFLAGS += -target armv7-none-linux-androideabi
--else: equals(ANDROID_TARGET_ARCH, armeabi): \
-- QMAKE_CFLAGS += -target armv5te-none-linux-androideabi
-+ QMAKE_CFLAGS = -target armv7a-linux-androideabi$$replace(ANDROID_PLATFORM, "android-", "")
- else: equals(ANDROID_TARGET_ARCH, arm64-v8a): \
-- QMAKE_CFLAGS += -target aarch64-none-linux-android
-+ QMAKE_CFLAGS = -target aarch64-linux-android$$replace(ANDROID_PLATFORM, "android-", "")
- else: equals(ANDROID_TARGET_ARCH, x86): \
-- QMAKE_CFLAGS += -target i686-none-linux-android -mstackrealign
-+ QMAKE_CFLAGS = -target i686-linux-android$$replace(ANDROID_PLATFORM, "android-", "") -mstackrealign
- else: equals(ANDROID_TARGET_ARCH, x86_64): \
-- QMAKE_CFLAGS += -target x86_64-none-linux-android
--else: equals(ANDROID_TARGET_ARCH, mips): \
-- QMAKE_CFLAGS += -target mipsel-none-linux-android
--else: equals(ANDROID_TARGET_ARCH, mips64): \
-- QMAKE_CFLAGS += -target mips64el-none-linux-android
--
--QMAKE_CFLAGS += -gcc-toolchain $$NDK_TOOLCHAIN_PATH -fno-limit-debug-info
--
--QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++
--equals(ANDROID_TARGET_ARCH, armeabi-v7a): QMAKE_LINK += -Wl,--exclude-libs,libunwind.a
--
--QMAKE_CFLAGS += -DANDROID_HAS_WSTRING --sysroot=$$NDK_ROOT/sysroot \
-- -isystem $$NDK_ROOT/sysroot/usr/include/$$NDK_TOOLS_PREFIX \
-- -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++/include \
-- -isystem $$NDK_ROOT/sources/android/support/include \
-- -isystem $$NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
-+ QMAKE_CFLAGS = -target x86_64-linux-android$$replace(ANDROID_PLATFORM, "android-", "")
-
--ANDROID_SOURCES_CXX_STL_LIBDIR = $$NDK_ROOT/sources/cxx-stl/llvm-libc++/libs/$$ANDROID_TARGET_ARCH
-+QMAKE_CFLAGS += -fno-limit-debug-info
-
--ANDROID_STDCPP_PATH = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++_shared.so
-+QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS
-
--ANDROID_USE_LLVM = true
-+ANDROID_STDCPP_PATH = $$NDK_LLVM_PATH/sysroot/usr/lib/$$NDK_TOOLS_PREFIX/libc++_shared.so
-
--exists($$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so): \
-- ANDROID_CXX_STL_LIBS = -lc++
--else: \
-- ANDROID_CXX_STL_LIBS = $$ANDROID_SOURCES_CXX_STL_LIBDIR/libc++.so.$$replace(ANDROID_PLATFORM, "android-", "")
-+ANDROID_USE_LLVM = true
-
--QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz
-+QMAKE_CFLAGS_OPTIMIZE_SIZE = -Oz
-+QMAKE_LIBDIR_POST =
-+QMAKE_LFLAGS =
-+QMAKE_LIBS_PRIVATE =
-+ANDROID_CXX_STL_LIBS =
-
- include(../common/android-base-tail.conf)
-
---- old/qtbase/mkspecs/common/android-base-head.conf
-+++ new/qtbase/mkspecs/common/android-base-head.conf
-@@ -64,7 +58,6 @@
- }
-
- CONFIG += $$ANDROID_PLATFORM
--QMAKE_CFLAGS = -D__ANDROID_API__=$$replace(ANDROID_PLATFORM, "android-", "")
-
- ANDROID_PLATFORM_ROOT_PATH = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/
-
---- old/qtbase/mkspecs/common/android-base-tail.conf
-+++ new/qtbase/mkspecs/common/android-base-tail.conf
-@@ -6,22 +6,17 @@
- QMAKE_CFLAGS += -fstack-protector-strong -DANDROID
-
- equals(ANDROID_TARGET_ARCH, armeabi-v7a): \
-- QMAKE_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fno-builtin-memmove
-+ QMAKE_CFLAGS += -march=armv7-a -mfloat-abi=softfp -mfpu=vfp
- else: equals(ANDROID_TARGET_ARCH, armeabi): \
-- QMAKE_CFLAGS += -march=armv5te -mtune=xscale -msoft-float -fno-builtin-memmove
--# -fno-builtin-memmove is used to workaround https://code.google.com/p/android/issues/detail?id=81692
-+ QMAKE_CFLAGS += -march=armv5te -mtune=xscale -msoft-float
-
- QMAKE_CFLAGS_WARN_ON = -Wall -W
- QMAKE_CFLAGS_WARN_OFF =
- equals(ANDROID_TARGET_ARCH, armeabi-v7a) | equals(ANDROID_TARGET_ARCH, armeabi) {
- CONFIG += optimize_size
- QMAKE_CFLAGS_DEBUG = -g -marm -O0
-- equals(ANDROID_TARGET_ARCH, armeabi):if(equals(NDK_TOOLCHAIN_VERSION, 4.8)|equals(NDK_TOOLCHAIN_VERSION, 4.9)) {
-- DEFINES += QT_OS_ANDROID_GCC_48_WORKAROUND
-- } else {
-- QMAKE_CFLAGS_RELEASE += -mthumb
-- QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -mthumb
-- }
-+ QMAKE_CFLAGS_RELEASE += -mthumb
-+ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -mthumb
- }
-
- QMAKE_CFLAGS_SHLIB = -fPIC
-@@ -61,15 +56,12 @@
- QMAKE_RANLIB = $${CROSS_COMPILE}ranlib
-
- QMAKE_INCDIR_POST =
--QMAKE_LIBDIR_POST = $$ANDROID_SOURCES_CXX_STL_LIBDIR
- QMAKE_INCDIR_X11 =
- QMAKE_LIBDIR_X11 =
- QMAKE_INCDIR_OPENGL =
- QMAKE_LIBDIR_OPENGL =
-
- QMAKE_LINK_SHLIB = $$QMAKE_LINK
--QMAKE_LFLAGS = --sysroot=$$ANDROID_PLATFORM_ROOT_PATH
--equals(ANDROID_TARGET_ARCH, x86_64) QMAKE_LFLAGS += -L$$ANDROID_PLATFORM_ROOT_PATH/usr/lib64
- QMAKE_LFLAGS_APP = -Wl,--no-undefined -Wl,-z,noexecstack -shared
- QMAKE_LFLAGS_SHLIB = -Wl,--no-undefined -Wl,-z,noexecstack -shared
- QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB