summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCameron Gutman <aicommander@gmail.com>2020-12-21 12:32:38 -0600
committerCameron Gutman <aicommander@gmail.com>2021-01-19 18:09:23 -0600
commitc111aad270f1d51c2e870ee25e9a6bba64b3cecc (patch)
tree04c277fe82ecf18c414b2807f47c296562a8da56
parentfded886ff4b9869c1a9e016e3fae05cc409c9ccd (diff)
QSsl: fix OpenSSL DLL names for Windows on ARM
OpenSSL adds an '-arm'/'-arm64' suffix to the DLL names when building for VC-WIN32-ARM or VC-WIN64-ARM. This needs to be accounted for in Qt to find the OpenSSL DLLs correctly. Fixes: QTBUG-89647 Pick-to: 5.15 Change-Id: Ibc9b81e06f8e64c0676f335e13024fa7fe3a4fa3 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
-rw-r--r--src/network/ssl/qsslsocket_openssl_symbols.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
index b9b23a5a0c..82429800f8 100644
--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
@@ -676,14 +676,18 @@ static LoadedOpenSsl loadOpenSsl()
{
LoadedOpenSsl result;
- // With OpenSSL 1.1 the names have changed to libssl-1_1(-x64) and libcrypto-1_1(-x64), for builds using
- // MSVC and GCC, (-x64 suffix for 64-bit builds).
+ // With OpenSSL 1.1 the names have changed to libssl-1_1 and libcrypto-1_1 for builds using
+ // MSVC and GCC, with architecture suffixes for non-x86 builds.
-#ifdef Q_PROCESSOR_X86_64
+#if defined(Q_PROCESSOR_X86_64)
#define QT_SSL_SUFFIX "-x64"
-#else // !Q_PROCESSOFR_X86_64
+#elif defined(Q_PROCESSOR_ARM_64)
+#define QT_SSL_SUFFIX "-arm64"
+#elif defined(Q_PROCESSOR_ARM_32)
+#define QT_SSL_SUFFIX "-arm"
+#else
#define QT_SSL_SUFFIX
-#endif // !Q_PROCESSOR_x86_64
+#endif
tryToLoadOpenSslWin32Library(QLatin1String("libssl-1_1" QT_SSL_SUFFIX),
QLatin1String("libcrypto-1_1" QT_SSL_SUFFIX), result);