diff options
author | Yang Tse <yangsita@gmail.com> | 2008-05-10 15:46:08 +0000 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2008-05-10 15:46:08 +0000 |
commit | b380dd030f5d0974250f1ea9b871aee02733c2c8 (patch) | |
tree | aaca006393a63907fa7586a8b36dbe403508892e | |
parent | 19479ea0217c93fd2973168084d1bb724eb8a34f (diff) |
Add library checking for clock_gettime() support
-rw-r--r-- | acinclude.m4 | 76 | ||||
-rw-r--r-- | ares/acinclude.m4 | 75 | ||||
-rw-r--r-- | ares/configure.ac | 6 | ||||
-rw-r--r-- | configure.ac | 6 |
4 files changed, 161 insertions, 2 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index 7af4741ea..66d74869b 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1814,6 +1814,82 @@ AC_DEFUN([TYPE_IN_ADDR_T], ]) dnl AC_CHECK_TYPE ]) dnl AC_DEFUN +dnl CURL_CHECK_LIBS_CLOCK_GETTIME +dnl ------------------------------------------------- +dnl Check for libraries needed for clock_gettime, +dnl and prepended to LIBS any needed libraries. + +AC_DEFUN([CURL_CHECK_LIBS_CLOCK_GETTIME], [ + AC_REQUIRE([AC_HEADER_TIME])dnl + AC_CHECK_HEADERS(sys/types.h sys/time.h time.h) + # + AC_MSG_CHECKING([for clock_gettime in libraries]) + # + curl_cv_save_LIBS="$LIBS" + curl_cv_gclk_LIBS="unknown" + # + for x_xlibs in '' '-lrt' '-lposix4' ; do + if test -z "$x_xlibs"; then + LIBS="$curl_cv_save_LIBS" + else + LIBS="$x_xlibs $curl_cv_save_LIBS" + fi + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([ +#undef inline +#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#ifdef TIME_WITH_SYS_TIME +#include <time.h> +#endif +#else +#ifdef HAVE_TIME_H +#include <time.h> +#endif +#endif + ],[ + (void)clock_gettime(0, 0); + ]) + ],[ + curl_cv_gclk_LIBS="$x_xlibs" + break + ]) + done + # + LIBS="$curl_cv_save_LIBS" + # + case X-"$curl_cv_gclk_LIBS" in + X-unknown) + AC_MSG_RESULT([cannot find clock_gettime]) + ac_cv_func_clock_gettime="no" + ;; + X-) + AC_MSG_RESULT([no additional lib required]) + ac_cv_func_clock_gettime="yes" + ;; + *) + if test -z "$curl_cv_save_LIBS"; then + LIBS="$curl_cv_gclk_LIBS" + else + LIBS="$curl_cv_gclk_LIBS $curl_cv_save_LIBS" + fi + AC_MSG_RESULT([$curl_cv_gclk_LIBS]) + ac_cv_func_clock_gettime="yes" + ;; + esac + # + case "$ac_cv_func_clock_gettime" in + yes) + AC_DEFINE_UNQUOTED(HAVE_CLOCK_GETTIME, 1, + [Define to 1 if you have the clock_gettime function.]) + ;; + esac + # +]) dnl AC_DEFUN + dnl ************************************************************ dnl check for "localhost", if it doesn't exist, we can't do the dnl gethostbyname_r tests! diff --git a/ares/acinclude.m4 b/ares/acinclude.m4 index 544559294..2a7bc02f6 100644 --- a/ares/acinclude.m4 +++ b/ares/acinclude.m4 @@ -1283,6 +1283,81 @@ AC_DEFUN([TYPE_IN_ADDR_T], ]) dnl AC_CHECK_TYPE ]) dnl AC_DEFUN +dnl CURL_CHECK_LIBS_CLOCK_GETTIME +dnl ------------------------------------------------- +dnl Check for libraries needed for clock_gettime, +dnl and prepended to LIBS any needed libraries. + +AC_DEFUN([CURL_CHECK_LIBS_CLOCK_GETTIME], [ + AC_REQUIRE([AC_HEADER_TIME])dnl + AC_CHECK_HEADERS(sys/types.h sys/time.h time.h) + # + AC_MSG_CHECKING([for clock_gettime in libraries]) + # + curl_cv_save_LIBS="$LIBS" + curl_cv_gclk_LIBS="unknown" + # + for x_xlibs in '' '-lrt' '-lposix4' ; do + if test -z "$x_xlibs"; then + LIBS="$curl_cv_save_LIBS" + else + LIBS="$x_xlibs $curl_cv_save_LIBS" + fi + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([ +#undef inline +#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#ifdef TIME_WITH_SYS_TIME +#include <time.h> +#endif +#else +#ifdef HAVE_TIME_H +#include <time.h> +#endif +#endif + ],[ + (void)clock_gettime(0, 0); + ]) + ],[ + curl_cv_gclk_LIBS="$x_xlibs" + break + ]) + done + # + LIBS="$curl_cv_save_LIBS" + # + case X-"$curl_cv_gclk_LIBS" in + X-unknown) + AC_MSG_RESULT([cannot find clock_gettime]) + ac_cv_func_clock_gettime="no" + ;; + X-) + AC_MSG_RESULT([no additional lib required]) + ac_cv_func_clock_gettime="yes" + ;; + *) + if test -z "$curl_cv_save_LIBS"; then + LIBS="$curl_cv_gclk_LIBS" + else + LIBS="$curl_cv_gclk_LIBS $curl_cv_save_LIBS" + fi + AC_MSG_RESULT([$curl_cv_gclk_LIBS]) + ac_cv_func_clock_gettime="yes" + ;; + esac + # + case "$ac_cv_func_clock_gettime" in + yes) + AC_DEFINE_UNQUOTED(HAVE_CLOCK_GETTIME, 1, + [Define to 1 if you have the clock_gettime function.]) + ;; + esac + # +]) dnl AC_DEFUN dnl ********************************************************************** dnl CURL_DETECT_ICC ([ACTION-IF-YES]) diff --git a/ares/configure.ac b/ares/configure.ac index a7af5a183..28f90c8ab 100644 --- a/ares/configure.ac +++ b/ares/configure.ac @@ -260,6 +260,11 @@ fi dnl socket lib? AC_CHECK_FUNC(connect, , [ AC_CHECK_LIB(socket, connect) ]) +dnl ********************************************************************** +dnl Check for libraries needed for function clock_gettime +dnl ********************************************************************** +CURL_CHECK_LIBS_CLOCK_GETTIME + AC_MSG_CHECKING([whether to use libgcc]) AC_ARG_ENABLE(libgcc, AC_HELP_STRING([--enable-libgcc],[use libgcc when linking]), @@ -644,7 +649,6 @@ AC_CHECK_MEMBER(struct addrinfo.ai_flags, AC_CHECK_FUNCS( bitncmp \ gettimeofday \ - clock_gettime \ if_indextoname, dnl if found [], diff --git a/configure.ac b/configure.ac index 8a5988959..0ef6a3942 100644 --- a/configure.ac +++ b/configure.ac @@ -568,6 +568,11 @@ dnl socket lib? AC_CHECK_FUNC(connect, , [ AC_CHECK_LIB(socket, connect) ]) dnl ********************************************************************** +dnl Check for libraries needed for function clock_gettime +dnl ********************************************************************** +CURL_CHECK_LIBS_CLOCK_GETTIME + +dnl ********************************************************************** dnl The preceding library checks are all potentially useful for test dnl servers (for providing networking support). Save the list of required dnl libraries at this point for use while linking those test servers. @@ -1976,7 +1981,6 @@ AC_CHECK_FUNCS( strtoll \ strcmpi \ gethostbyaddr \ gettimeofday \ - clock_gettime \ inet_addr \ inet_ntoa \ inet_pton \ |