# FUNCTIONS
find_library(RESOLV_LIRBRARY resolv)
-check_library_exists(${RESOLV_LIRBRARY} res_send "" RES_SEND_IN_LIBRESOLV)
-check_library_exists(${RESOLV_LIRBRARY} __res_send "" __RES_SEND_IN_LIBRESOLV)
-if (RESOLV_LIRBRARY AND RES_SEND_IN_LIBRESOLV OR __RES_SEND_IN_LIBRESOLV)
- set(HAVE_LIBRESOLV TRUE)
- set(CMAKE_REQUIRED_LIBRARIES ${RESOLV_LIRBRARY})
+
+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)
#cmakedefine HAVE___RES_INIT 1
#cmakedefine HAVE_RES_NINIT 1
+#cmakedefine HAVE_RES_NINIT_IN_LIBRESOLV 1
#cmakedefine HAVE___RES_NINIT 1
#cmakedefine HAVE_RES_CLOSE 1
#cmakedefine HAVE___RES_CLOSE 1
#cmakedefine HAVE_RES_NCLOSE 1
+#cmakedefine HAVE_RES_NCLOSE_IN_LIBRESOLV 1
#cmakedefine HAVE___RES_NCLOSE 1
#cmakedefine HAVE_RES_QUERY 1
static int libc_res_ninit(struct __res_state *state)
{
#if defined(HAVE_RES_NINIT)
+
+#if defined(HAVE_RES_NINIT_IN_LIBRESOLV)
+ rwrap_load_lib_function(RWRAP_LIBRESOLV, res_ninit);
+#else /* HAVE_RES_NINIT_IN_LIBRESOLV */
rwrap_load_lib_function(RWRAP_LIBC, res_ninit);
+#endif /* HAVE_RES_NINIT_IN_LIBRESOLV */
return rwrap.fns.libc_res_ninit(state);
#elif defined(HAVE___RES_NINIT)
static void libc_res_nclose(struct __res_state *state)
{
#if defined(HAVE_RES_NCLOSE)
+
+#if defined(HAVE_RES_NCLOSE_IN_LIBRESOLV)
+ rwrap_load_lib_function(RWRAP_LIBRESOLV, res_nclose);
+#else /* HAVE_RES_NCLOSE_IN_LIBRESOLV */
rwrap_load_lib_function(RWRAP_LIBC, res_nclose);
+#endif /* HAVE_RES_NCLOSE_IN_LIBRESOLV */
rwrap.fns.libc_res_nclose(state);
#elif defined(HAVE___RES_NCLOSE)