summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPekka Enberg <penberg@kernel.org>2011-07-05 18:52:42 +0000
committerPekka Enberg <penberg@kernel.org>2011-07-05 18:52:42 +0000
commit820b03ea43b2e60285fba8d6a2029d232f097759 (patch)
tree3fa53c2659e2f433778be1a36d25d4e65b511b9b
parentfe9b7005fc53380e5166b1ddf1432ec3ff2659b7 (diff)
downloadclasspath-820b03ea43b2e60285fba8d6a2029d232f097759.tar.gz
Fix clock_gettime() support check for Darwin
Darwin doesn't support clock_gettime() but has _POSIX_MONOTONIC_CLOCK defined so use a more strict check with HAVE_CLOCK_GETTIME. This fixes the following compilation error: java_lang_VMSystem.c: In function ‘Java_java_lang_VMSystem_nanoTime’: java_lang_VMSystem.c:148: warning: implicit declaration of function ‘clock_gettime’ java_lang_VMSystem.c:148: error: ‘CLOCK_MONOTONIC’ undeclared (first use in this function) java_lang_VMSystem.c:148: error: (Each undeclared identifier is reported only once java_lang_VMSystem.c:148: error: for each function it appears in.) 2011-07-05 Pekka Enberg <penberg@kernel.org> * configure.ac: Check for clock_gettime(). native/jni/java-lang/java_lang_VMSystem.c: (Java_java_lang_VMSystem_nanoTime): Fix compile error on systems that don't have clock_gettime().
-rw-r--r--ChangeLog8
-rw-r--r--configure.ac4
-rw-r--r--native/jni/java-lang/java_lang_VMSystem.c2
3 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index d2e5ccc82..de6fbd1b3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-07-05 Pekka Enberg <penberg@kernel.org>
+
+ * configure.ac:
+ Check for clock_gettime().
+ native/jni/java-lang/java_lang_VMSystem.c:
+ (Java_java_lang_VMSystem_nanoTime):
+ Fix compile error on systems that don't have clock_gettime().
+
2011-06-27 Andrew John Hughes <ahughes@redhat.com>
Fix issues with building with -Werror and gcc 4.6.
diff --git a/configure.ac b/configure.ac
index f9105e909..a106e1166 100644
--- a/configure.ac
+++ b/configure.ac
@@ -440,13 +440,15 @@ if test "x${COMPILE_JNI}" = xyes; then
AC_EGREP_HEADER(u_int32_t, sys/types.h, AC_DEFINE(HAVE_BSD_INT32_DEFINED, 1, [Define to 1 if you have BSD u_int32_t]))
AC_EGREP_HEADER(u_int32_t, sys/config.h, AC_DEFINE(HAVE_BSD_INT32_DEFINED, 1, [Define to 1 if you have BSD u_int32_t]))
+ AC_SEARCH_LIBS([clock_gettime], [rt])
AC_SEARCH_LIBS([inet_pton],[nsl])
AC_CHECK_LIB([socket], [gethostname])
+
AC_CHECK_FUNCS([ftruncate fsync select \
gethostname socket strerror fork pipe execve open close \
lseek fstat read readv write writev htonl memset htons connect \
getsockname getpeername bind listen accept \
- recvfrom send sendto setsockopt getsockopt time mktime \
+ recvfrom send sendto setsockopt getsockopt time mktime clock_gettime \
gethostbyname_r localtime_r \
strerror_r \
fcntl \
diff --git a/native/jni/java-lang/java_lang_VMSystem.c b/native/jni/java-lang/java_lang_VMSystem.c
index 047c2b394..f623857d3 100644
--- a/native/jni/java-lang/java_lang_VMSystem.c
+++ b/native/jni/java-lang/java_lang_VMSystem.c
@@ -141,7 +141,7 @@ Java_java_lang_VMSystem_nanoTime
(JNIEnv * env,
jclass thisClass __attribute__ ((__unused__)))
{
-#ifdef _POSIX_MONOTONIC_CLOCK
+#if defined(HAVE_CLOCK_GETTIME) && defined(_POSIX_MONOTONIC_CLOCK)
jlong result;
struct timespec tp;