summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2016-10-11 20:39:11 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-02-22 07:45:59 +0000
commit5e2367aaa5137f27c722cd7f8474696b0fbaa099 (patch)
treeb3cc6df819e1419c80e595c105018a41f6184284 /src/network
parent4f2a571f0969eec6178e0bc8723b60cc05443d20 (diff)
use regular configure mechanism for openssl library references
don't attempt to hand-craft a library export any more. instead, use the configure system's built-in mechanism, and refer to it via QMAKE_USE. this also allows us to rely on transitive dependencies in the autotest. as a side effect, this makes the openssl-linked feature imply the openssl one. Change-Id: I5dd209b63bc8fbbc62852f6ffc472d4452ea2e68 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/network')
-rw-r--r--src/network/configure.json31
-rw-r--r--src/network/ssl/ssl.pri16
2 files changed, 21 insertions, 26 deletions
diff --git a/src/network/configure.json b/src/network/configure.json
index 1e08aa7c49..c9077c8968 100644
--- a/src/network/configure.json
+++ b/src/network/configure.json
@@ -46,13 +46,24 @@
"-lproxy"
]
},
+ "openssl_headers": {
+ "label": "OpenSSL Headers",
+ "export": "openssl",
+ "test": "unix/openssl",
+ "sources": [
+ {
+ "comment": "placeholder for OPENSSL_PATH",
+ "libs": ""
+ }
+ ]
+ },
"openssl": {
- "label": "OpenSSL Libraries",
- "export": "",
+ "label": "OpenSSL",
+ "test": "unix/openssl",
"sources": [
{ "type": "openssl" },
{
- "comment": "placeholder for OPENSSL_LIBS{,_{DEBUG,RELEASE}}",
+ "comment": "placeholder for OPENSSL_{PATH,LIBS{,_{DEBUG,RELEASE}}}",
"libs": "",
"builds": {
"debug": "",
@@ -92,11 +103,6 @@
"test": "unix/ipv6ifname",
"use": "network"
},
- "openssl": {
- "label": "OpenSSL",
- "type": "compile",
- "test": "unix/openssl"
- },
"sctp": {
"label": "SCTP support",
"type": "compile",
@@ -138,7 +144,7 @@
"enable": "input.openssl == 'yes' || input.openssl == 'linked' || input.openssl == 'runtime'",
"disable": "input.openssl == 'no' || input.ssl == 'no'",
"autoDetect": "!config.winrt",
- "condition": "!features.securetransport && tests.openssl",
+ "condition": "!features.securetransport && (features.openssl-linked || libs.openssl_headers)",
"output": [
"privateFeature",
{ "type": "publicQtConfig", "condition": "!features.openssl-linked" },
@@ -149,14 +155,9 @@
"label": " Qt directly linked to OpenSSL",
"enable": "input.openssl == 'linked'",
"disable": "input.openssl != 'linked'",
- "condition": "features.openssl && libs.openssl",
+ "condition": "!features.securetransport && libs.openssl",
"output": [
"privateFeature",
- { "type": "varAssign", "name": "OPENSSL_LIBS", "value": "libs.openssl.libs", "eval": "true" },
- { "type": "varAssign", "name": "OPENSSL_LIBS_DEBUG", "value": "libs.openssl.builds.debug.libs",
- "eval": "true", "condition": "config.win32" },
- { "type": "varAssign", "name": "OPENSSL_LIBS_RELEASE", "value": "libs.openssl.builds.release.libs",
- "eval": "true", "condition": "config.win32" },
{ "type": "define", "name": "QT_LINKED_OPENSSL" }
]
},
diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri
index 79351017a6..52ce2eeade 100644
--- a/src/network/ssl/ssl.pri
+++ b/src/network/ssl/ssl.pri
@@ -56,7 +56,7 @@ qtConfig(ssl) {
ssl/qsslellipticcurve_dummy.cpp
}
- qtConfig(openssl)|qtConfig(openssl-linked) {
+ qtConfig(openssl) {
HEADERS += ssl/qsslcontext_openssl_p.h \
ssl/qsslsocket_openssl_p.h \
ssl/qsslsocket_openssl_symbols_p.h
@@ -79,16 +79,10 @@ qtConfig(ssl) {
# - libs in <OPENSSL_DIR>\lib\VC\static
# - configure: -openssl -openssl-linked -I <OPENSSL_DIR>\include -L <OPENSSL_DIR>\lib\VC\static OPENSSL_LIBS="-lUser32 -lAdvapi32 -lGdi32" OPENSSL_LIBS_DEBUG="-lssleay32MDd -llibeay32MDd" OPENSSL_LIBS_RELEASE="-lssleay32MD -llibeay32MD"
- include($$OUT_PWD/qtnetwork-config.pri)
-
- CONFIG(debug, debug|release) {
- LIBS_PRIVATE += $$OPENSSL_LIBS_DEBUG
- } else {
- LIBS_PRIVATE += $$OPENSSL_LIBS_RELEASE
- }
-
- QMAKE_CXXFLAGS += $$OPENSSL_CFLAGS
- LIBS_PRIVATE += $$OPENSSL_LIBS
+ qtConfig(openssl-linked): \
+ QMAKE_USE_FOR_PRIVATE += openssl
+ else: \
+ QMAKE_USE_FOR_PRIVATE += openssl/nolink
win32: LIBS_PRIVATE += -lcrypt32
}
}