# HEADERS
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
check_include_file(resolv.h HAVE_RESOLV_H)
+check_include_file(arpa/nameser.h HAVE_ARPA_NAMESER_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_symbol_exists(ns_name_compress "sys/types.h;arpa/nameser.h" 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)