295 lines
10 KiB
JSON
295 lines
10 KiB
JSON
{
|
|
"module": "network",
|
|
"depends": [
|
|
"core"
|
|
],
|
|
"testDir": "../../config.tests",
|
|
|
|
"commandline": {
|
|
"assignments": {
|
|
"OPENSSL_PATH": "openssl.prefix"
|
|
},
|
|
"options": {
|
|
"libproxy": "boolean",
|
|
"openssl": { "type": "optionalString", "values": [ "no", "yes", "linked", "runtime" ] },
|
|
"openssl-linked": { "type": "void", "name": "openssl", "value": "linked" },
|
|
"openssl-runtime": { "type": "void", "name": "openssl", "value": "runtime" },
|
|
"sctp": "boolean",
|
|
"securetransport": "boolean",
|
|
"ssl": "boolean",
|
|
"system-proxies": "boolean"
|
|
}
|
|
},
|
|
|
|
"libraries": {
|
|
"corewlan": {
|
|
"label": "CoreWLan",
|
|
"export": "",
|
|
"test": "mac/corewlan",
|
|
"sources": [
|
|
"-framework CoreWLAN -framework Foundation"
|
|
]
|
|
},
|
|
"network": {
|
|
"export": "",
|
|
"sources": [
|
|
{ "type": "makeSpec", "spec": "NETWORK" }
|
|
]
|
|
},
|
|
"libproxy": {
|
|
"label": "libproxy",
|
|
"test": "common/libproxy",
|
|
"sources": [
|
|
"-lproxy"
|
|
]
|
|
},
|
|
"openssl_headers": {
|
|
"label": "OpenSSL Headers",
|
|
"export": "openssl",
|
|
"test": "unix/openssl",
|
|
"sources": [
|
|
{
|
|
"comment": "placeholder for OPENSSL_PATH",
|
|
"libs": ""
|
|
}
|
|
]
|
|
},
|
|
"openssl": {
|
|
"label": "OpenSSL",
|
|
"test": "unix/openssl",
|
|
"sources": [
|
|
{ "type": "openssl" },
|
|
{
|
|
"comment": "placeholder for OPENSSL_{PATH,LIBS{,_{DEBUG,RELEASE}}}",
|
|
"libs": "",
|
|
"builds": {
|
|
"debug": "",
|
|
"release": ""
|
|
},
|
|
"condition": "config.win32 && !features.shared"
|
|
},
|
|
{
|
|
"libs": "-lssleay32 -llibeay32",
|
|
"builds": {
|
|
"debug": "",
|
|
"release": ""
|
|
},
|
|
"condition": "config.win32 && features.shared"
|
|
},
|
|
{ "libs": "-lssl -lcrypto", "condition": "!config.win32" }
|
|
]
|
|
}
|
|
},
|
|
|
|
"tests": {
|
|
"getaddrinfo": {
|
|
"label": "getaddrinfo()",
|
|
"type": "compile",
|
|
"test": "unix/getaddrinfo",
|
|
"use": "network"
|
|
},
|
|
"getifaddrs": {
|
|
"label": "getifaddrs()",
|
|
"type": "compile",
|
|
"test": "unix/getifaddrs",
|
|
"use": "network"
|
|
},
|
|
"ipv6ifname": {
|
|
"label": "IPv6 ifname",
|
|
"type": "compile",
|
|
"test": "unix/ipv6ifname",
|
|
"use": "network"
|
|
},
|
|
"sctp": {
|
|
"label": "SCTP support",
|
|
"type": "compile",
|
|
"test": "unix/sctp",
|
|
"use": "network"
|
|
}
|
|
},
|
|
|
|
"features": {
|
|
"corewlan": {
|
|
"label": "CoreWLan",
|
|
"condition": "libs.corewlan",
|
|
"emitIf": "config.darwin",
|
|
"output": [ "feature", "privateFeature" ]
|
|
},
|
|
"getaddrinfo": {
|
|
"label": "getaddrinfo()",
|
|
"condition": "tests.getaddrinfo",
|
|
"output": [ "feature" ]
|
|
},
|
|
"getifaddrs": {
|
|
"label": "getifaddrs()",
|
|
"condition": "tests.getifaddrs",
|
|
"output": [ "feature" ]
|
|
},
|
|
"ipv6ifname": {
|
|
"label": "IPv6 ifname",
|
|
"condition": "tests.ipv6ifname",
|
|
"output": [ "feature" ]
|
|
},
|
|
"libproxy": {
|
|
"label": "libproxy",
|
|
"autoDetect": false,
|
|
"condition": "libs.libproxy",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"openssl": {
|
|
"label": "OpenSSL",
|
|
"enable": "input.openssl == 'yes' || input.openssl == 'linked' || input.openssl == 'runtime'",
|
|
"disable": "input.openssl == 'no' || input.ssl == 'no'",
|
|
"autoDetect": "!config.winrt",
|
|
"condition": "!features.securetransport && (features.openssl-linked || libs.openssl_headers)",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "publicQtConfig", "condition": "!features.openssl-linked" },
|
|
{ "type": "define", "negative": true, "name": "QT_NO_OPENSSL" }
|
|
]
|
|
},
|
|
"openssl-linked": {
|
|
"label": " Qt directly linked to OpenSSL",
|
|
"enable": "input.openssl == 'linked'",
|
|
"disable": "input.openssl != 'linked'",
|
|
"condition": "!features.securetransport && libs.openssl",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "define", "name": "QT_LINKED_OPENSSL" }
|
|
]
|
|
},
|
|
"securetransport": {
|
|
"label": "SecureTransport",
|
|
"disable": "input.securetransport == 'no' || input.ssl == 'no'",
|
|
"condition": "config.darwin && (input.openssl == '' || input.openssl == 'no')",
|
|
"output": [
|
|
"privateFeature",
|
|
{ "type": "define", "name": "QT_SECURETRANSPORT" }
|
|
]
|
|
},
|
|
"ssl": {
|
|
"label": "SSL",
|
|
"condition": "config.winrt || features.securetransport || features.openssl",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"sctp": {
|
|
"label": "SCTP",
|
|
"autoDetect": false,
|
|
"condition": "tests.sctp",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"system-proxies": {
|
|
"label": "Use system proxies",
|
|
"output": [ "privateFeature" ]
|
|
},
|
|
"ftp": {
|
|
"label": "FTP",
|
|
"purpose": "Provides support for the File Transfer Protocol in QNetworkAccessManager.",
|
|
"section": "Networking",
|
|
"condition": "features.textdate",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"http": {
|
|
"label": "HTTP",
|
|
"purpose": "Provides support for the Hypertext Transfer Protocol in QNetworkAccessManager.",
|
|
"section": "Networking",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"udpsocket": {
|
|
"label": "QUdpSocket",
|
|
"purpose": "Provides access to UDP sockets.",
|
|
"section": "Networking",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"networkproxy": {
|
|
"label": "QNetworkProxy",
|
|
"purpose": "Provides network proxy support.",
|
|
"section": "Networking",
|
|
"condition": "!config.winrt",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"socks5": {
|
|
"label": "SOCKS5",
|
|
"purpose": "Provides SOCKS5 support in QNetworkProxy.",
|
|
"section": "Networking",
|
|
"condition": "!config.winrt",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"networkinterface": {
|
|
"label": "QNetworkInterface",
|
|
"purpose": "Supports enumerating a host's IP addresses and network interfaces.",
|
|
"section": "Networking",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"networkdiskcache": {
|
|
"label": "QNetworkDiskCache",
|
|
"purpose": "Provides a disk cache for network resources.",
|
|
"section": "Networking",
|
|
"condition": "features.temporaryfile",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"bearermanagement": {
|
|
"label": "Bearer management",
|
|
"purpose": "Provides bearer management for the network stack.",
|
|
"section": "Networking",
|
|
"condition": "features.library && features.networkinterface && features.properties",
|
|
"output": [ "publicFeature", "feature" ]
|
|
},
|
|
"localserver": {
|
|
"label": "QLocalServer",
|
|
"purpose": "Provides a local socket based server.",
|
|
"section": "Networking",
|
|
"condition": "features.temporaryfile",
|
|
"output": [ "publicFeature", "feature" ]
|
|
}
|
|
},
|
|
|
|
"report": [
|
|
{
|
|
"type": "note",
|
|
"condition": "features.openssl-linked && libs.openssl.source != 0
|
|
&& input.openssl.prefix == '' && input.openssl.libs == '' && input.openssl.libs.debug == ''",
|
|
"message": "When linking against OpenSSL, you can override the default
|
|
library names through OPENSSL_LIBS.
|
|
For example:
|
|
OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
|
|
},
|
|
{
|
|
"type": "warning",
|
|
"condition": "features.libproxy && input.qt_namespace == ''",
|
|
"message": "Some of libproxy's plugins may use incompatible Qt versions.
|
|
|
|
Some platforms and distributions ship libproxy with plugins, such
|
|
as config_kde4.so, that are linked against old versions of Qt; and
|
|
libproxy loads these plugins automatically when initialized. If Qt
|
|
is not in a namespace, that loading causes a crash. Even if the
|
|
systems on which you build and test have no such plugins, your
|
|
users' systems may have them. We therefore recommend that you
|
|
combine -libproxy with -qtnamespace when configuring Qt."
|
|
}
|
|
],
|
|
|
|
"summary": [
|
|
{
|
|
"section": "Qt Network",
|
|
"entries": [
|
|
{
|
|
"type": "feature",
|
|
"args": "corewlan",
|
|
"condition": "config.darwin"
|
|
},
|
|
"getaddrinfo", "getifaddrs", "ipv6ifname", "libproxy",
|
|
{
|
|
"type": "feature",
|
|
"args": "securetransport",
|
|
"condition": "config.darwin"
|
|
},
|
|
"openssl",
|
|
"openssl-linked",
|
|
"sctp",
|
|
"system-proxies"
|
|
]
|
|
}
|
|
]
|
|
}
|