summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorKonstantin Tokarev <annulen@yandex.ru>2017-03-04 18:59:02 +0300
committerKonstantin Tokarev <annulen@yandex.ru>2017-03-04 16:15:23 +0000
commitfdcba363c7e7e01790ba4b946e4f53f8600d8a20 (patch)
tree735f50270fe51995a9961615ae0263fd057ca564 /Tools
parentb6d52c42e6595e1b283090ebb9bb21db50fed87b (diff)
Import WebKit commit 3da312bb5ff3deccba0a495b6ad6d5cafba56597
Change-Id: Ifc702a2f8477e8a07e51cb0cd44161c1d9a84357 Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Tools')
-rw-r--r--Tools/QtTestBrowser/launcherwindow.cpp2
-rw-r--r--Tools/qmake/mkspecs/features/functions.prf13
-rw-r--r--Tools/qmake/projects/run_cmake.pro13
-rw-r--r--Tools/qt/jhbuild-qt-5.4.modules2
-rw-r--r--Tools/qt/jhbuild.modules14
-rwxr-xr-xTools/qt/make-snapshot.pl2
-rw-r--r--Tools/qt/patches/gdate-suppress-string-format-literal-warning.patch29
-rw-r--r--Tools/qt/patches/glib-warning-fix.patch34
-rw-r--r--Tools/qt/patches/qtbase-5.4-no-sslv2_3.patch89
-rw-r--r--Tools/qt/patches/qtbase-5.4-no-sslv3.patch100
10 files changed, 282 insertions, 16 deletions
diff --git a/Tools/QtTestBrowser/launcherwindow.cpp b/Tools/QtTestBrowser/launcherwindow.cpp
index c1974552e..1321760f8 100644
--- a/Tools/QtTestBrowser/launcherwindow.cpp
+++ b/Tools/QtTestBrowser/launcherwindow.cpp
@@ -1151,7 +1151,7 @@ void LauncherWindow::fileDownloadFinished()
if (fileName.isEmpty())
return;
if (m_reply->error() != QNetworkReply::NoError)
- QMessageBox::critical(this, QString("Download"), QString("Download failed."));
+ QMessageBox::critical(this, QStringLiteral("Download"), QStringLiteral("Download failed: ") + m_reply->errorString());
else {
QFile file(fileName);
file.open(QIODevice::WriteOnly);
diff --git a/Tools/qmake/mkspecs/features/functions.prf b/Tools/qmake/mkspecs/features/functions.prf
index 831e01a98..3a775dcfd 100644
--- a/Tools/qmake/mkspecs/features/functions.prf
+++ b/Tools/qmake/mkspecs/features/functions.prf
@@ -67,13 +67,6 @@ defineTest(isPlatformSupported) {
qtConfig(opengles2):!qtConfig(dynamicgl) {
skipBuild("QtWebKit supports only dynamic GL Qt builds on Windows at the moment.")
}
-
- CONFIG(debug, debug|release):!contains(QMAKE_HOST.arch, x86_64) {
- # debug_and_release is built as release, see Tools/qmake/projects/run_cmake.pro
- !debug_and_release {
- skipBuild("QtWebKit requires a 64-bit toolchain for debug build")
- }
- }
winrt {
skipBuild("WinRT is not supported.")
}
@@ -81,6 +74,12 @@ defineTest(isPlatformSupported) {
!isVersionAtLeast($$MSVC_VER, "14.0") {
skipBuild("QtWebKit on Windows requires MSVC 2015.")
}
+ CONFIG(debug, debug|release):!contains(QMAKE_HOST.arch, x86_64) {
+ # debug_and_release is built as release, see Tools/qmake/projects/run_cmake.pro
+ !debug_and_release {
+ skipBuild("QtWebKit requires 64-bit MSVC toolchain for debug build")
+ }
+ }
} else {
isGCCVersionSupported()
}
diff --git a/Tools/qmake/projects/run_cmake.pro b/Tools/qmake/projects/run_cmake.pro
index 1192197bd..1b8742c4a 100644
--- a/Tools/qmake/projects/run_cmake.pro
+++ b/Tools/qmake/projects/run_cmake.pro
@@ -4,7 +4,7 @@ ROOT_QT_BUILD_DIR = $$ROOT_BUILD_DIR/..
TEMPLATE = aux
-win32:!contains(QMAKE_HOST.arch, x86_64) {
+msvc:!contains(QMAKE_HOST.arch, x86_64) {
debug_and_release {
warning("Skipping debug build of QtWebKit because it requires a 64-bit toolchain")
CONFIG -= debug_and_release debug
@@ -62,6 +62,17 @@ build_pass|!debug_and_release {
CMAKE_CONFIG += QT_CONAN_DIR=$$ROOT_BUILD_DIR
}
+ macos {
+ # Reuse the cached sdk version value from mac/sdk.prf if available
+ # otherwise query for it.
+ QMAKE_MAC_SDK_PATH = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.Path)
+ isEmpty(QMAKE_MAC_SDK_PATH) {
+ QMAKE_MAC_SDK_PATH = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version Path 2>/dev/null")
+ }
+ exists($$QMAKE_MAC_SDK_PATH): CMAKE_CONFIG += CMAKE_OSX_SYSROOT=$$QMAKE_MAC_SDK_PATH
+ !isEmpty($$QMAKE_MACOSX_DEPLOYMENT_TARGET): CMAKE_CONFIG += CMAKE_OSX_DEPLOYMENT_TARGET=$$QMAKE_MACOSX_DEPLOYMENT_TARGET
+ }
+
equals(QMAKE_HOST.os, Windows) {
if(equals(MAKEFILE_GENERATOR, MSVC.NET)|equals(MAKEFILE_GENERATOR, MSBUILD)) {
cmake_generator = "NMake Makefiles JOM"
diff --git a/Tools/qt/jhbuild-qt-5.4.modules b/Tools/qt/jhbuild-qt-5.4.modules
index 924a19a6b..fc85f6ee0 100644
--- a/Tools/qt/jhbuild-qt-5.4.modules
+++ b/Tools/qt/jhbuild-qt-5.4.modules
@@ -62,6 +62,8 @@
repo="download.qt.io"
hash="sha256:daea240ba5e77bc2d78ec21a2cb664eed83b3d4ad409b6277a6f7d4c0c8e91d1">
<patch file="qtbase-5.4-fontconfig-fix.patch" strip="1"/>
+ <patch file="qtbase-5.4-no-sslv3.patch" strip="1"/>
+ <patch file="qtbase-5.4-no-sslv2_3.patch" strip="1"/>
</branch>
<dependencies>
<dep package="fontconfig"/>
diff --git a/Tools/qt/jhbuild.modules b/Tools/qt/jhbuild.modules
index 9a10e9f39..f59f198df 100644
--- a/Tools/qt/jhbuild.modules
+++ b/Tools/qt/jhbuild.modules
@@ -51,8 +51,8 @@
href="http://webkitgtk.org/jhbuild_mirror/"/>
<repository type="tarball" name="nice.freedesktop.org"
href="http://nice.freedesktop.org/"/>
- <repository type="tarball" name="people.freedesktop.org"
- href="http://people.freedesktop.org"/>
+ <repository type="tarball" name="mesa.freedesktop.org"
+ href="http://mesa.freedesktop.org"/>
<repository type="tarball" name="llvm.org"
href="http://llvm.org"/>
@@ -102,6 +102,8 @@
<branch module="/pub/GNOME/sources/glib/2.44/glib-2.44.1.tar.xz" version="2.44.1"
repo="ftp.gnome.org"
hash="sha256:8811deacaf8a503d0a9b701777ea079ca6a4277be10e3d730d2112735d5eca07">
+ <patch file="glib-warning-fix.patch" strip="1"/>
+ <patch file="gdate-suppress-string-format-literal-warning.patch" strip="1"/>
</branch>
</autotools>
@@ -231,7 +233,7 @@
<branch repo="github.com" module="EricssonResearch/openwebrtc-gst-plugins.git" checkoutdir="gst-plugins-openwebrtc" tag="e359b67484af90f416ea35e301205d2b53c77a14"/>
</autotools>
- <autotools id="libnice">
+ <autotools id="libnice" supports-non-srcdir-builds="no">
<dependencies>
<dep package="gstreamer"/>
</dependencies>
@@ -267,7 +269,7 @@
</autotools>
<autotools id="llvm"
- autogenargs="--enable-optimized --disable-terminfo --disable-zlib --enable-targets=host --disable-backtraces --disable-crash-overrides --disable-expensive-checks --disable-debug-runtime --disable-assertions --enable-shared">
+ autogenargs="--enable-optimized --disable-terminfo --disable-zlib --enable-targets=host --disable-backtraces --disable-crash-overrides --disable-expensive-checks --disable-debug-runtime --disable-assertions --enable-shared --enable-bindings=none">
<branch repo="llvm.org"
module="/releases/3.7.0/llvm-3.7.0.src.tar.xz" version="3.7.0" checkoutdir="llvm-3.7.0"
hash="sha256:ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153"/>
@@ -276,9 +278,9 @@
<autotools id="mesa" autogenargs="--enable-xlib-glx --disable-dri --disable-egl --with-gallium-drivers=swrast" skip-install="true">
<!--- WARNING: At jhbuildrc, when we define the path to the Gallium llvmpipe software rasterizer (needed by XvfbDriver),
we assume that the directory is named "Mesa". So, don't change the checkoutdir name even if you update the version. -->
- <branch module="/~brianp/mesa/11.0.6/mesa-11.0.6.tar.xz" version="11.0.6"
+ <branch module="/archive/older-versions/11.x/11.0.6/mesa-11.0.6.tar.xz" version="11.0.6"
checkoutdir="Mesa"
- repo="people.freedesktop.org"
+ repo="mesa.freedesktop.org"
hash="sha256:8340e64cdc91999840404c211496f3de38e7b4cb38db34e2f72f1642c5134760">
</branch>
<dependencies>
diff --git a/Tools/qt/make-snapshot.pl b/Tools/qt/make-snapshot.pl
index 316fe7b35..667890de0 100755
--- a/Tools/qt/make-snapshot.pl
+++ b/Tools/qt/make-snapshot.pl
@@ -53,7 +53,7 @@ my @commands = (
"tar -xf $src_repo/snapshot.tar --strip-components=1",
"git add -A",
"rm $src_repo/snapshot.tar",
- "git commit -m 'Imported WebKit commit $commit'"
+ "git commit -m 'Import WebKit commit $commit'"
);
my $cmd = join " && ", @commands;
diff --git a/Tools/qt/patches/gdate-suppress-string-format-literal-warning.patch b/Tools/qt/patches/gdate-suppress-string-format-literal-warning.patch
new file mode 100644
index 000000000..90cb951a1
--- /dev/null
+++ b/Tools/qt/patches/gdate-suppress-string-format-literal-warning.patch
@@ -0,0 +1,29 @@
+From 3a7efd598d39366c2c9de0def2fdfb35e5e9f2a1 Mon Sep 17 00:00:00 2001
+From: coypu <coypu@sdf.org>
+Date: Mon, 8 Feb 2016 00:06:06 +0200
+Subject: [PATCH 1/1] gdate: Suppress string format literal warning
+
+Newer versions of GCC emit an error here, but we know it's safe.
+https://bugzilla.gnome.org/761550
+---
+ glib/gdate.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/glib/gdate.c b/glib/gdate.c
+index 4aece02..cdc735c 100644
+--- a/glib/gdate.c
++++ b/glib/gdate.c
+@@ -2494,7 +2494,10 @@ g_date_strftime (gchar *s,
+ * recognize whether strftime actually failed or just returned "".
+ */
+ tmpbuf[0] = '\1';
++ #pragma GCC diagnostic push
++ #pragma GCC diagnostic ignored "-Wformat-nonliteral"
+ tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
++ #pragma GCC diagnostic pop
+
+ if (tmplen == 0 && tmpbuf[0] != '\0')
+ {
+--
+2.7.0
+
diff --git a/Tools/qt/patches/glib-warning-fix.patch b/Tools/qt/patches/glib-warning-fix.patch
new file mode 100644
index 000000000..f2c873be5
--- /dev/null
+++ b/Tools/qt/patches/glib-warning-fix.patch
@@ -0,0 +1,34 @@
+From 9f90ee5eeccd47f39c7a03dcd786b125a19c195d Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro@gnome.org>
+Date: Sat, 13 Jun 2015 22:52:33 -0500
+Subject: [PATCH] genmarshal: silence register storage class warnings
+
+Using the register keyword triggers warnings on noteworthy compilers
+(clang), since it's deprecated in C++ and at danger of being removed
+from the language. There is no reason to use it since it isn't 1980
+anymore.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=750918
+---
+ gobject/glib-genmarshal.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/gobject/glib-genmarshal.c b/gobject/glib-genmarshal.c
+index be4151a..ca78a6f 100644
+--- a/gobject/glib-genmarshal.c
++++ b/gobject/glib-genmarshal.c
+@@ -412,9 +412,9 @@ generate_marshal (const gchar *signame,
+ g_fprintf (fout, "%s%s data2);\n", indent (ind), pad ("gpointer"));
+
+ /* cfile marshal variables */
+- g_fprintf (fout, " register GMarshalFunc_%s callback;\n", signame);
+- g_fprintf (fout, " register GCClosure *cc = (GCClosure*) closure;\n");
+- g_fprintf (fout, " register gpointer data1, data2;\n");
++ g_fprintf (fout, " GMarshalFunc_%s callback;\n", signame);
++ g_fprintf (fout, " GCClosure *cc = (GCClosure*) closure;\n");
++ g_fprintf (fout, " gpointer data1, data2;\n");
+ if (sig->rarg->setter)
+ g_fprintf (fout, " %s v_return;\n", sig->rarg->ctype);
+
+--
+2.4.2
diff --git a/Tools/qt/patches/qtbase-5.4-no-sslv2_3.patch b/Tools/qt/patches/qtbase-5.4-no-sslv2_3.patch
new file mode 100644
index 000000000..21cd1c787
--- /dev/null
+++ b/Tools/qt/patches/qtbase-5.4-no-sslv2_3.patch
@@ -0,0 +1,89 @@
+From 027571c8c3efe8b1451fb73b74be7e617db1899f Mon Sep 17 00:00:00 2001
+From: Daniel Molkentin <danimo@owncloud.com>
+Date: Fri, 10 Apr 2015 09:57:29 +0200
+Subject: [PATCH 1/1] Also add support for linked OpenSSL without SSL v2 & v3
+ support
+
+So far, this was only supported for dlopen mode. This adds symmetric
+defines for the linking case.
+
+Change-Id: I9cbfa18e04d041dde0cbd833929782cada9eb812
+Reviewed-by: Richard J. Moore <rich@kde.org>
+---
+ src/network/ssl/qsslsocket_openssl_symbols.cpp | 4 ++++
+ src/network/ssl/qsslsocket_openssl_symbols_p.h | 16 ++++++++++++++++
+ 2 files changed, 20 insertions(+)
+
+diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+index 332b64264e..042c593e62 100644
+--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
++++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+@@ -312,13 +312,17 @@ DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return
+ DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return)
+ #endif
+ #else
++#ifndef OPENSSL_NO_SSL2
+ DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
+ #ifndef OPENSSL_NO_SSL3_METHOD
+ DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
+ #endif
+ DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
+ DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
++#ifndef OPENSSL_NO_SSL2
+ DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
+ #ifndef OPENSSL_NO_SSL3_METHOD
+ DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
+ #endif
+diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
+index 626c049629..a15bf4b87d 100644
+--- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
++++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
+@@ -363,27 +363,43 @@ typedef unsigned int (*q_psk_client_callback_t)(SSL *ssl, const char *hint, char
+ void q_SSL_set_psk_client_callback(SSL *ssl, q_psk_client_callback_t callback);
+ #endif // OPENSSL_NO_PSK
+ #if OPENSSL_VERSION_NUMBER >= 0x10000000L
++#ifndef OPENSSL_NO_SSL2
+ const SSL_METHOD *q_SSLv2_client_method();
++#endif
++#ifndef OPENSSL_NO_SSL3_METHOD
+ const SSL_METHOD *q_SSLv3_client_method();
++#endif
+ const SSL_METHOD *q_SSLv23_client_method();
+ const SSL_METHOD *q_TLSv1_client_method();
+ const SSL_METHOD *q_TLSv1_1_client_method();
+ const SSL_METHOD *q_TLSv1_2_client_method();
++#ifndef OPENSSL_NO_SSL2
+ const SSL_METHOD *q_SSLv2_server_method();
++#endif
++#ifndef OPENSSL_NO_SSL3_METHOD
+ const SSL_METHOD *q_SSLv3_server_method();
++#endif
+ const SSL_METHOD *q_SSLv23_server_method();
+ const SSL_METHOD *q_TLSv1_server_method();
+ const SSL_METHOD *q_TLSv1_1_server_method();
+ const SSL_METHOD *q_TLSv1_2_server_method();
+ #else
++#ifndef OPENSSL_NO_SSL2
+ SSL_METHOD *q_SSLv2_client_method();
++#endif
++#ifndef OPENSSL_NO_SSL3_METHOD
+ SSL_METHOD *q_SSLv3_client_method();
++#endif
+ SSL_METHOD *q_SSLv23_client_method();
+ SSL_METHOD *q_TLSv1_client_method();
+ SSL_METHOD *q_TLSv1_1_client_method();
+ SSL_METHOD *q_TLSv1_2_client_method();
++#ifndef OPENSSL_NO_SSL2
+ SSL_METHOD *q_SSLv2_server_method();
++#endif
++#ifndef OPENSSL_NO_SSL3_METHOD
+ SSL_METHOD *q_SSLv3_server_method();
++#endif
+ SSL_METHOD *q_SSLv23_server_method();
+ SSL_METHOD *q_TLSv1_server_method();
+ SSL_METHOD *q_TLSv1_1_server_method();
+--
+2.11.0
+
diff --git a/Tools/qt/patches/qtbase-5.4-no-sslv3.patch b/Tools/qt/patches/qtbase-5.4-no-sslv3.patch
new file mode 100644
index 000000000..6724d9564
--- /dev/null
+++ b/Tools/qt/patches/qtbase-5.4-no-sslv3.patch
@@ -0,0 +1,100 @@
+From 6839aead0430a9b07b60fa3a1a7d685fe5d2d1ef Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Klitzing?= <aklitzing@gmail.com>
+Date: Fri, 9 Jan 2015 11:53:17 +0100
+Subject: [PATCH 1/1] Fix compile error if openssl is built with no-ssl3-method
+
+Since openssl 1.0.1k with enabled option no-ssl3-method we need to
+check for OPENSSL_NO_SSL3_METHOD to use following functions:
+
+- SSLv3_method
+- SSLv3_server_method
+- SSLv3_client_method
+
+Change-Id: Iee83a6f4bacbf5660baa6bdb89eb02ceb9f11614
+Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
+---
+ src/network/ssl/qsslcontext_openssl.cpp | 6 ++++++
+ src/network/ssl/qsslsocket_openssl_symbols.cpp | 12 ++++++++++++
+ 2 files changed, 18 insertions(+)
+
+diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
+index 92e726bc01..18eef2fc60 100644
+--- a/src/network/ssl/qsslcontext_openssl.cpp
++++ b/src/network/ssl/qsslcontext_openssl.cpp
+@@ -138,7 +138,13 @@ init_context:
+ #endif
+ break;
+ case QSsl::SslV3:
++#ifndef OPENSSL_NO_SSL3_METHOD
+ sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
++#else
++ // SSL 3 not supported by the system, but chosen deliberately -> error
++ sslContext->ctx = 0;
++ unsupportedProtocol = true;
++#endif
+ break;
+ case QSsl::SecureProtocols:
+ // SSLv2 and SSLv3 will be disabled by SSL options
+diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+index ea6e84adef..c1fea930d0 100644
+--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
++++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
+@@ -270,7 +270,9 @@ DEFINEFUNC(SSL_SESSION*, SSL_get_session, const SSL *ssl, ssl, return 0, return)
+ #ifndef OPENSSL_NO_SSL2
+ DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
+ #endif
++#ifndef OPENSSL_NO_SSL3_METHOD
+ DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
+ DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
+ DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
+ #if OPENSSL_VERSION_NUMBER >= 0x10001000L
+@@ -280,7 +282,9 @@ DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return
+ #ifndef OPENSSL_NO_SSL2
+ DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
+ #endif
++#ifndef OPENSSL_NO_SSL3_METHOD
+ DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
+ DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
+ DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
+ #if OPENSSL_VERSION_NUMBER >= 0x10001000L
+@@ -289,11 +293,15 @@ DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return
+ #endif
+ #else
+ DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
++#ifndef OPENSSL_NO_SSL3_METHOD
+ DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
+ DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
+ DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
+ DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
++#ifndef OPENSSL_NO_SSL3_METHOD
+ DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
++#endif
+ DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
+ DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
+ #endif
+@@ -799,7 +807,9 @@ bool q_resolveOpenSslSymbols()
+ #ifndef OPENSSL_NO_SSL2
+ RESOLVEFUNC(SSLv2_client_method)
+ #endif
++#ifndef OPENSSL_NO_SSL3_METHOD
+ RESOLVEFUNC(SSLv3_client_method)
++#endif
+ RESOLVEFUNC(SSLv23_client_method)
+ RESOLVEFUNC(TLSv1_client_method)
+ #if OPENSSL_VERSION_NUMBER >= 0x10001000L
+@@ -809,7 +819,9 @@ bool q_resolveOpenSslSymbols()
+ #ifndef OPENSSL_NO_SSL2
+ RESOLVEFUNC(SSLv2_server_method)
+ #endif
++#ifndef OPENSSL_NO_SSL3_METHOD
+ RESOLVEFUNC(SSLv3_server_method)
++#endif
+ RESOLVEFUNC(SSLv23_server_method)
+ RESOLVEFUNC(TLSv1_server_method)
+ #if OPENSSL_VERSION_NUMBER >= 0x10001000L
+--
+2.11.0
+