From 558087325d1bb25027f1b9b069dcc608e9296206 Mon Sep 17 00:00:00 2001 From: Albert Lee Date: Fri, 16 May 2025 01:51:38 +0000 Subject: [PATCH] core: check if res_init requires linking with libresolv --- CMakeLists.txt | 11 +++++++++++ src/gui/curses/CMakeLists.txt | 5 ----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b47cdc672..81e9db79b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -198,6 +198,7 @@ include(FindPkgConfig) include(CheckIncludeFiles) include(CheckFunctionExists) include(CheckSymbolExists) +include(CheckLibraryExists) check_include_files("langinfo.h" HAVE_LANGINFO_CODESET) check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H) @@ -212,6 +213,16 @@ check_symbol_exists("htonll" "sys/types.h;netinet/in.h;inttypes.h" HAVE_HTONLL) check_symbol_exists("eat_newline_glitch" "term.h" HAVE_EAT_NEWLINE_GLITCH) +# Check if res_init requires libresolv +check_function_exists(res_init, LIBC_HAS_RES_INIT) +if(NOT LIBC_HAS_RES_INIT) + find_library(RESOLV_LIBRARY resolv) + check_library_exists("${RESOLV_LIBRARY}" res_init "" LIBRESOLV_HAS_RES_INIT) + if(LIBRESOLV_HAS_RES_INIT) + list(APPEND EXTRA_LIBS ${RESOLV_LIBRARY}) + endif() +endif() + # Check for Large File Support if(ENABLE_LARGEFILE) add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES) diff --git a/src/gui/curses/CMakeLists.txt b/src/gui/curses/CMakeLists.txt index ea50b423c..3725e0009 100644 --- a/src/gui/curses/CMakeLists.txt +++ b/src/gui/curses/CMakeLists.txt @@ -51,11 +51,6 @@ if(ENABLE_ZSTD) list(APPEND EXTRA_LIBS ${LIBZSTD_LDFLAGS}) endif() -if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - # link with resolv lib on macOS - list(APPEND EXTRA_LIBS "resolv") -endif() - if(ENABLE_NCURSES) subdirs(normal) endif()