aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2008-05-10 15:46:08 +0000
committerYang Tse <yangsita@gmail.com>2008-05-10 15:46:08 +0000
commitb380dd030f5d0974250f1ea9b871aee02733c2c8 (patch)
treeaaca006393a63907fa7586a8b36dbe403508892e
parent19479ea0217c93fd2973168084d1bb724eb8a34f (diff)
Add library checking for clock_gettime() support
-rw-r--r--acinclude.m476
-rw-r--r--ares/acinclude.m475
-rw-r--r--ares/configure.ac6
-rw-r--r--configure.ac6
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 \