check_include_file(resolv.h HAVE_RESOLV_H)
# FUNCTIONS
-check_library_exists(resolv res_send "" RES_SEND_IN_LIBRESOLV)
-check_library_exists(resolv __res_send "" __RES_SEND_IN_LIBRESOLV)
-if (RES_SEND_IN_LIBRESOLV OR __RES_SEND_IN_LIBRESOLV)
- set(HAVE_LIBRESOLV TRUE)
- set(CMAKE_REQUIRED_LIBRARIES resolv)
+set(CMAKE_REQUIRED_LIBRARIES)
+
+find_library(RESOLV_LIRBRARY resolv)
+
+if (RESOLV_LIRBRARY)
+ check_library_exists(${RESOLV_LIRBRARY} res_send "" RES_SEND_IN_LIBRESOLV)
+ check_library_exists(${RESOLV_LIRBRARY} __res_send "" __RES_SEND_IN_LIBRESOLV)
+ if (RES_SEND_IN_LIBRESOLV OR __RES_SEND_IN_LIBRESOLV)
+ set(HAVE_LIBRESOLV TRUE)
+ set(CMAKE_REQUIRED_LIBRARIES ${RESOLV_LIRBRARY})
+ endif()
endif()
check_function_exists(res_init HAVE_RES_INIT)
check_function_exists(res_ninit HAVE_RES_NINIT)
check_function_exists(__res_ninit HAVE___RES_NINIT)
+if (RESOLV_LIRBRARY)
+ check_library_exists(${RESOLV_LIRBRARY} res_ninit "" HAVE_RES_NINIT_IN_LIBRESOLV)
+endif()
check_function_exists(res_close HAVE_RES_CLOSE)
check_function_exists(__res_close HAVE___RES_CLOSE)
check_function_exists(res_nclose HAVE_RES_NCLOSE)
check_function_exists(__res_nclose HAVE___RES_NCLOSE)
+if (RESOLV_LIRBRARY)
+ check_library_exists(${RESOLV_LIRBRARY} res_nclose "" HAVE_RES_NCLOSE_IN_LIBRESOLV)
+endif()
check_function_exists(res_query HAVE_RES_QUERY)
check_function_exists(__res_query HAVE___RES_QUERY)
check_function_exists(res_nsearch HAVE_RES_NSEARCH)
check_function_exists(__res_nsearch HAVE___RES_NSEARCH)
-set(CMAKE_REQUIRED_LIBRARIES)
+check_function_exists(ns_name_compress HAVE_NS_NAME_COMPRESS)
+
+if (UNIX)
+ if (NOT LINUX)
+ # libsocket (Solaris)
+ check_library_exists(socket getaddrinfo "" HAVE_LIBSOCKET)
+ if (HAVE_LIBSOCKET)
+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} socket)
+ endif (HAVE_LIBSOCKET)
+
+ # libnsl/inet_pton (Solaris)
+ check_library_exists(nsl inet_pton "" HAVE_LIBNSL)
+ if (HAVE_LIBNSL)
+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} nsl)
+ endif (HAVE_LIBNSL)
+ endif (NOT LINUX)
+
+ check_function_exists(getaddrinfo HAVE_GETADDRINFO)
+endif (UNIX)
check_library_exists(dl dlopen "" HAVE_LIBDL)
if (HAVE_LIBDL)
return 0;
}" HAVE_IPV6)
+check_struct_has_member("struct __res_state" _u._ext.nsaddrs resolv.h HAVE_RESOLV_IPV6_NSADDRS)
+
check_c_source_compiles("
void log_fn(const char *format, ...) __attribute__ ((format (printf, 1, 2)));