diff --git a/src/network/CMakeLists.txt b/src/network/CMakeLists.txt index fcd31fe9797..64c9bf59422 100644 --- a/src/network/CMakeLists.txt +++ b/src/network/CMakeLists.txt @@ -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 ) diff --git a/src/network/configure.cmake b/src/network/configure.cmake index d0417d6e3af..f24f739ce20 100644 --- a/src/network/configure.cmake +++ b/src/network/configure.cmake @@ -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 -#include -#include -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" diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp index be8721f8da9..296c7034233 100644 --- a/src/network/kernel/qdnslookup_unix.cpp +++ b/src/network/kernel/qdnslookup_unix.cpp @@ -11,7 +11,7 @@ #include // for setSockAddr #include -QT_REQUIRE_CONFIG(res_ninit); +QT_REQUIRE_CONFIG(libresolv); #include #include diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp index 331c5fbf455..42194fb8b31 100644 --- a/src/network/kernel/qhostinfo_unix.cpp +++ b/src/network/kernel/qhostinfo_unix.cpp @@ -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; diff --git a/tests/auto/network/kernel/CMakeLists.txt b/tests/auto/network/kernel/CMakeLists.txt index f5760c9b0bf..52928e7aa14 100644 --- a/tests/auto/network/kernel/CMakeLists.txt +++ b/tests/auto/network/kernel/CMakeLists.txt @@ -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()