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}
|
||||
)
|
||||
|
||||
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
|
||||
kernel/qdnslookup_unix.cpp
|
||||
LIBRARIES
|
||||
@ -225,7 +225,7 @@ qt_internal_extend_target(Network CONDITION QT_FEATURE_dnslookup AND WIN32
|
||||
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
|
||||
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
|
||||
qt_config_compile_test(res_setservers
|
||||
LABEL "res_setservers()"
|
||||
@ -240,6 +221,11 @@ qt_feature("ipv6ifname" PUBLIC
|
||||
CONDITION TEST_ipv6ifname
|
||||
)
|
||||
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
|
||||
LABEL "libproxy"
|
||||
AUTODETECT OFF
|
||||
@ -249,14 +235,9 @@ qt_feature("linux-netlink" PRIVATE
|
||||
LABEL "Linux AF_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
|
||||
LABEL "res_setservers()"
|
||||
CONDITION QT_FEATURE_res_ninit AND TEST_res_setservers
|
||||
CONDITION QT_FEATURE_libresolv AND TEST_res_setservers
|
||||
)
|
||||
qt_feature("securetransport" PUBLIC
|
||||
LABEL "SecureTransport"
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include <private/qnativesocketengine_p.h> // for setSockAddr
|
||||
#include <private/qtnetwork-config_p.h>
|
||||
|
||||
QT_REQUIRE_CONFIG(res_ninit);
|
||||
QT_REQUIRE_CONFIG(libresolv);
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
|
@ -49,7 +49,7 @@ static void maybeRefreshResolver()
|
||||
return;
|
||||
#endif
|
||||
|
||||
#if QT_CONFIG(res_ninit)
|
||||
#if QT_CONFIG(libresolv)
|
||||
// OSes known or thought to reach here: AIX, NetBSD, Solaris,
|
||||
// Linux with MUSL (though res_init() does nothing and is unnecessary)
|
||||
|
||||
@ -92,7 +92,7 @@ QHostInfo QHostInfoAgent::fromName(const QString &hostName)
|
||||
|
||||
QString QHostInfo::localDomainName()
|
||||
{
|
||||
#if QT_CONFIG(res_ninit)
|
||||
#if QT_CONFIG(libresolv)
|
||||
auto domainNameFromRes = [](res_state r) {
|
||||
QString domainName;
|
||||
if (r->defdname[0])
|
||||
@ -111,7 +111,7 @@ QString QHostInfo::localDomainName()
|
||||
// using thread-unsafe version
|
||||
maybeRefreshResolver();
|
||||
return domainNameFromRes(&_res);
|
||||
#endif // !QT_CONFIG(res_ninit)
|
||||
#endif // !QT_CONFIG(libresolv)
|
||||
|
||||
// nothing worked, try doing it by ourselves:
|
||||
QFile resolvconf;
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
if(WIN32 OR TEST_res_ninit)
|
||||
if(QT_FEATURE_qdnslookup)
|
||||
add_subdirectory(qdnslookup)
|
||||
add_subdirectory(qdnslookup_appless)
|
||||
endif()
|
||||
|
Loading…
x
Reference in New Issue
Block a user