--- modules/clib/system.c	2008/02/23 08:37:30	1.6
+++ modules/clib/system.c	2008/03/06 10:15:24	1.7
@@ -1681,19 +1681,19 @@
      mkint(IPPROTO_TCP),
      mkint(IPPROTO_UDP),
 
-#ifdef _POSIX_TIMERS
+#if _POSIX_TIMERS > 0
      mkint(CLOCK_REALTIME),
-#ifdef _POSIX_MONOTONIC_CLOCK
+#if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK >= 0)
      mkint(CLOCK_MONOTONIC),
 #else
      mkvoid,
 #endif
-#ifdef _POSIX_CPUTIME
+#if defined(_POSIX_CPUTIME) && (_POSIX_CPUTIME >= 0)
      mkint(CLOCK_PROCESS_CPUTIME_ID),
 #else
      mkvoid,
 #endif
-#ifdef _POSIX_THREAD_CPUTIME
+#if defined(_POSIX_THREAD_CPUTIME) && (_POSIX_THREAD_CPUTIME >= 0)
      mkint(CLOCK_THREAD_CPUTIME_ID),
 #else
      mkvoid,
@@ -5704,7 +5704,7 @@
 
 FUNCTION(system,process_cpu_clockid,argc,argv)
 {
-#ifdef _POSIX_CPUTIME
+#if defined(_POSIX_CPUTIME) && (_POSIX_CPUTIME >= 0)
   long pid;
   if (argc == 1 && isint(argv[0], &pid)) {
     clockid_t id;
@@ -5721,7 +5721,7 @@
 
 FUNCTION(system,thread_cpu_clockid,argc,argv)
 {
-#ifdef _POSIX_THREAD_CPUTIME
+#if defined(_POSIX_THREAD_CPUTIME) && (_POSIX_THREAD_CPUTIME >= 0)
   THREAD *thr;
   if (argc == 1 && isobj(argv[0], type(Thread), (void**)&thr)) {
     clockid_t id;
