diff options
author | Pekka Enberg <penberg@kernel.org> | 2011-07-05 18:52:42 +0000 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2011-07-05 18:52:42 +0000 |
commit | 820b03ea43b2e60285fba8d6a2029d232f097759 (patch) | |
tree | 3fa53c2659e2f433778be1a36d25d4e65b511b9b | |
parent | fe9b7005fc53380e5166b1ddf1432ec3ff2659b7 (diff) | |
download | classpath-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-- | ChangeLog | 8 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | native/jni/java-lang/java_lang_VMSystem.c | 2 |
3 files changed, 12 insertions, 2 deletions
@@ -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; |