forked from osmocom/wireshark
Require at least c-ares 1.5.0 when configuring.
That way, if you have an older version, we fail at configure time, with what should be a message indicating that your c-ares is too old, rather than at compile time, with what might provoke users to ask "what am I doing wrong?" or "what do I need to fix?" or "why is my compile failing?" or.... Change-Id: I911574c4d90174b6bd074c5ef537557d47b199dc Reviewed-on: https://code.wireshark.org/review/22752 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
parent
725b7ef175
commit
9ea364c389
|
@ -878,6 +878,8 @@ endif()
|
|||
# C Asynchronous resolver
|
||||
if(ENABLE_CARES)
|
||||
set(PACKAGELIST ${PACKAGELIST} CARES)
|
||||
# Minimum version needed.
|
||||
set(CARES_OPTIONS "1.5.0" REQUIRED)
|
||||
endif()
|
||||
|
||||
# Zlib compression
|
||||
|
|
31
acinclude.m4
31
acinclude.m4
|
@ -823,9 +823,34 @@ AC_DEFUN([AC_WIRESHARK_C_ARES_CHECK],
|
|||
if test "x$want_c_ares" = "xyes"; then
|
||||
AC_CHECK_LIB(cares, ares_init,
|
||||
[
|
||||
C_ARES_LIBS=-lcares
|
||||
AC_DEFINE(HAVE_C_ARES, 1, [Define to use c-ares library])
|
||||
have_good_c_ares=yes
|
||||
#
|
||||
# Make sure we have c-ares 1.5 or later; we don't
|
||||
# support the older API.
|
||||
#
|
||||
AC_MSG_CHECKING([whether we have c-ares 1.5 or later])
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <ares.h>
|
||||
#include <ares_version.h>
|
||||
],
|
||||
[
|
||||
#if ((ARES_VERSION_MAJOR < 1) || \
|
||||
(1 == ARES_VERSION_MAJOR == 1 && ARES_VERSION_MINOR < 5))
|
||||
#error You lose
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([yes])
|
||||
C_ARES_LIBS=-lcares
|
||||
AC_DEFINE(HAVE_C_ARES, 1, [Define to use c-ares library])
|
||||
have_good_c_ares=yes
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([no])
|
||||
AC_MSG_ERROR([Pre-1.5 versions of c-ares aren't supported])
|
||||
])
|
||||
])
|
||||
else
|
||||
AC_MSG_RESULT(not required)
|
||||
|
|
|
@ -22,10 +22,20 @@ FIND_PATH(CARES_INCLUDE_DIR ares.h HINTS "${CARES_HINTS}/include" )
|
|||
SET(CARES_NAMES cares libcares-2)
|
||||
FIND_LIBRARY(CARES_LIBRARY NAMES ${CARES_NAMES} HINTS "${CARES_HINTS}/lib" )
|
||||
|
||||
# Try to retrieve version from header if found
|
||||
if(CARES_INCLUDE_DIR)
|
||||
set(_version_regex "^#define[ \t]+ARES_VERSION_STR[ \t]+\"([^\"]+)\".*")
|
||||
file(STRINGS "${CARES_INCLUDE_DIR}/ares_version.h" CARES_VERSION REGEX "${_version_regex}")
|
||||
string(REGEX REPLACE "${_version_regex}" "\\1" CARES_VERSION "${CARES_VERSION}")
|
||||
unset(_version_regex)
|
||||
endif()
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set CARES_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(CARES DEFAULT_MSG CARES_LIBRARY CARES_INCLUDE_DIR)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(CARES
|
||||
REQUIRED_VARS CARES_LIBRARY CARES_INCLUDE_DIR
|
||||
VERSION_VAR CARES_VERSION)
|
||||
|
||||
IF(CARES_FOUND)
|
||||
SET( CARES_LIBRARIES ${CARES_LIBRARY} )
|
||||
|
|
Loading…
Reference in New Issue