CMake: remove "res_ninit" feature and collapse to just "libresolv"
Testing for "res_ninit" when WrapResolv.cmake has already checked for far more complex functions was pointless. Instead, just accept the library that was found by find_package() as good enough and rename the feature as "libresolv". Amends 4a46ba1209907796f4a14f6feb35ed4d70155d7d and 68b625901f9eb7c34e3d7aa302e1c0a454d3190b. Change-Id: Ib5ce7a497e034ebabb2cfffd1762c0afa2fac6e0 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
This commit is contained in:
parent
369952fbd7
commit
26dd7fe4ed
@ -213,7 +213,7 @@ qt_internal_extend_target(Network CONDITION APPLE
|
|||||||
${FWCFNetwork}
|
${FWCFNetwork}
|
||||||
)
|
)
|
||||||
|
|
||||||
qt_internal_extend_target(Network CONDITION QT_FEATURE_dnslookup AND TEST_res_ninit
|
qt_internal_extend_target(Network CONDITION QT_FEATURE_dnslookup AND QT_FEATURE_libresolv
|
||||||
SOURCES
|
SOURCES
|
||||||
kernel/qdnslookup_unix.cpp
|
kernel/qdnslookup_unix.cpp
|
||||||
LIBRARIES
|
LIBRARIES
|
||||||
@ -225,7 +225,7 @@ qt_internal_extend_target(Network CONDITION QT_FEATURE_dnslookup AND WIN32
|
|||||||
kernel/qdnslookup_win.cpp
|
kernel/qdnslookup_win.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
qt_internal_extend_target(Network CONDITION QT_FEATURE_dnslookup AND NOT TEST_res_ninit AND NOT WIN32
|
qt_internal_extend_target(Network CONDITION QT_FEATURE_dnslookup AND NOT QT_FEATURE_libresolv AND NOT WIN32
|
||||||
SOURCES
|
SOURCES
|
||||||
kernel/qdnslookup_dummy.cpp
|
kernel/qdnslookup_dummy.cpp
|
||||||
)
|
)
|
||||||
|
@ -100,25 +100,6 @@ ci.ifa_prefered = ci.ifa_valid = 0;
|
|||||||
}
|
}
|
||||||
")
|
")
|
||||||
|
|
||||||
# res_ninit
|
|
||||||
qt_config_compile_test(res_ninit
|
|
||||||
LABEL "res_ninit()"
|
|
||||||
LIBRARIES
|
|
||||||
WrapResolv::WrapResolv
|
|
||||||
CODE
|
|
||||||
"#include <sys/types.h>
|
|
||||||
#include <netinet/in.h>
|
|
||||||
#include <resolv.h>
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
res_state state;
|
|
||||||
res_ninit(state);
|
|
||||||
res_nclose(state);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
"
|
|
||||||
)
|
|
||||||
|
|
||||||
# res_setserver
|
# res_setserver
|
||||||
qt_config_compile_test(res_setservers
|
qt_config_compile_test(res_setservers
|
||||||
LABEL "res_setservers()"
|
LABEL "res_setservers()"
|
||||||
@ -240,6 +221,11 @@ qt_feature("ipv6ifname" PUBLIC
|
|||||||
CONDITION TEST_ipv6ifname
|
CONDITION TEST_ipv6ifname
|
||||||
)
|
)
|
||||||
qt_feature_definition("ipv6ifname" "QT_NO_IPV6IFNAME" NEGATE VALUE "1")
|
qt_feature_definition("ipv6ifname" "QT_NO_IPV6IFNAME" NEGATE VALUE "1")
|
||||||
|
qt_feature("libresolv" PRIVATE
|
||||||
|
LABEL "libresolv"
|
||||||
|
CONDITION WrapResolv_FOUND
|
||||||
|
AUTODETECT UNIX
|
||||||
|
)
|
||||||
qt_feature("libproxy" PRIVATE
|
qt_feature("libproxy" PRIVATE
|
||||||
LABEL "libproxy"
|
LABEL "libproxy"
|
||||||
AUTODETECT OFF
|
AUTODETECT OFF
|
||||||
@ -249,14 +235,9 @@ qt_feature("linux-netlink" PRIVATE
|
|||||||
LABEL "Linux AF_NETLINK"
|
LABEL "Linux AF_NETLINK"
|
||||||
CONDITION LINUX AND NOT ANDROID AND TEST_linux_netlink
|
CONDITION LINUX AND NOT ANDROID AND TEST_linux_netlink
|
||||||
)
|
)
|
||||||
qt_feature("res_ninit" PRIVATE
|
|
||||||
LABEL "res_ninit()"
|
|
||||||
CONDITION TEST_res_ninit
|
|
||||||
AUTODETECT UNIX
|
|
||||||
)
|
|
||||||
qt_feature("res_setservers" PRIVATE
|
qt_feature("res_setservers" PRIVATE
|
||||||
LABEL "res_setservers()"
|
LABEL "res_setservers()"
|
||||||
CONDITION QT_FEATURE_res_ninit AND TEST_res_setservers
|
CONDITION QT_FEATURE_libresolv AND TEST_res_setservers
|
||||||
)
|
)
|
||||||
qt_feature("securetransport" PUBLIC
|
qt_feature("securetransport" PUBLIC
|
||||||
LABEL "SecureTransport"
|
LABEL "SecureTransport"
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#include <private/qnativesocketengine_p.h> // for setSockAddr
|
#include <private/qnativesocketengine_p.h> // for setSockAddr
|
||||||
#include <private/qtnetwork-config_p.h>
|
#include <private/qtnetwork-config_p.h>
|
||||||
|
|
||||||
QT_REQUIRE_CONFIG(res_ninit);
|
QT_REQUIRE_CONFIG(libresolv);
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
@ -49,7 +49,7 @@ static void maybeRefreshResolver()
|
|||||||
return;
|
return;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if QT_CONFIG(res_ninit)
|
#if QT_CONFIG(libresolv)
|
||||||
// OSes known or thought to reach here: AIX, NetBSD, Solaris,
|
// OSes known or thought to reach here: AIX, NetBSD, Solaris,
|
||||||
// Linux with MUSL (though res_init() does nothing and is unnecessary)
|
// Linux with MUSL (though res_init() does nothing and is unnecessary)
|
||||||
|
|
||||||
@ -92,7 +92,7 @@ QHostInfo QHostInfoAgent::fromName(const QString &hostName)
|
|||||||
|
|
||||||
QString QHostInfo::localDomainName()
|
QString QHostInfo::localDomainName()
|
||||||
{
|
{
|
||||||
#if QT_CONFIG(res_ninit)
|
#if QT_CONFIG(libresolv)
|
||||||
auto domainNameFromRes = [](res_state r) {
|
auto domainNameFromRes = [](res_state r) {
|
||||||
QString domainName;
|
QString domainName;
|
||||||
if (r->defdname[0])
|
if (r->defdname[0])
|
||||||
@ -111,7 +111,7 @@ QString QHostInfo::localDomainName()
|
|||||||
// using thread-unsafe version
|
// using thread-unsafe version
|
||||||
maybeRefreshResolver();
|
maybeRefreshResolver();
|
||||||
return domainNameFromRes(&_res);
|
return domainNameFromRes(&_res);
|
||||||
#endif // !QT_CONFIG(res_ninit)
|
#endif // !QT_CONFIG(libresolv)
|
||||||
|
|
||||||
// nothing worked, try doing it by ourselves:
|
// nothing worked, try doing it by ourselves:
|
||||||
QFile resolvconf;
|
QFile resolvconf;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Copyright (C) 2022 The Qt Company Ltd.
|
# Copyright (C) 2022 The Qt Company Ltd.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
if(WIN32 OR TEST_res_ninit)
|
if(QT_FEATURE_qdnslookup)
|
||||||
add_subdirectory(qdnslookup)
|
add_subdirectory(qdnslookup)
|
||||||
add_subdirectory(qdnslookup_appless)
|
add_subdirectory(qdnslookup_appless)
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user