diff --git a/lib/System/AIX/TimeValue.cpp b/lib/System/AIX/TimeValue.cpp
index 18fd4f3..42975ad 100644
--- a/lib/System/AIX/TimeValue.cpp
+++ b/lib/System/AIX/TimeValue.cpp
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 // Include the generic Unix implementation
-#include "../Unix/Unix.h"
+#include "../Unix/Unix.cpp"
 
 namespace llvm {
 using namespace sys;
@@ -22,8 +22,6 @@
 //===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
 //===----------------------------------------------------------------------===//
 
-// FIXME: Need TimeValue::now()
-
 // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
 
 }
diff --git a/lib/System/Cygwin/TimeValue.cpp b/lib/System/Cygwin/TimeValue.cpp
index 6871551..aaee13a 100644
--- a/lib/System/Cygwin/TimeValue.cpp
+++ b/lib/System/Cygwin/TimeValue.cpp
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 // Include the generic Unix implementation
-#include "../Unix/Unix.h"
+#include "../Unix/Unix.cpp"
 
 namespace llvm {
 using namespace sys;
@@ -22,8 +22,6 @@
 //===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
 //===----------------------------------------------------------------------===//
 
-// FIXME: Need TimeValue::now()
-
 // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
 
 }
diff --git a/lib/System/Darwin/TimeValue.cpp b/lib/System/Darwin/TimeValue.cpp
index df27b92..0791f44 100644
--- a/lib/System/Darwin/TimeValue.cpp
+++ b/lib/System/Darwin/TimeValue.cpp
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 // Include the generic Unix implementation
-#include "../Unix/Unix.h"
+#include "../Unix/Unix.cpp"
 
 namespace llvm {
 using namespace sys;
@@ -22,8 +22,6 @@
 //===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
 //===----------------------------------------------------------------------===//
 
-// FIXME: Need TimeValue::now()
-
 // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
 
 }
diff --git a/lib/System/FreeBSD/TimeValue.cpp b/lib/System/FreeBSD/TimeValue.cpp
index 79ed9a8..bade838 100644
--- a/lib/System/FreeBSD/TimeValue.cpp
+++ b/lib/System/FreeBSD/TimeValue.cpp
@@ -12,8 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 // Include the generic Unix implementation
-#include "../Unix/Unix.h"
-#include <sys/time.h>
+#include "../Unix/Unix.cpp"
 
 namespace llvm {
 using namespace sys;
@@ -23,18 +22,6 @@
 //===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
 //===----------------------------------------------------------------------===//
 
-TimeValue TimeValue::now() {
-  struct timeval the_time;
-  timerclear(&the_time);
-  if (0 != ::gettimeofday(&the_time,0)) 
-      ThrowErrno("Couldn't obtain time of day");
-
-  return TimeValue(
-    static_cast<TimeValue::SecondsType>( the_time.tv_sec +
-      PosixZeroTime.seconds_ ),
-    static_cast<TimeValue::NanoSecondsType>( the_time.tv_usec * 
-      NANOSECONDS_PER_MICROSECOND ) );
-}
 // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
 
 }
diff --git a/lib/System/Interix/TimeValue.cpp b/lib/System/Interix/TimeValue.cpp
index 6c4957f..60c7e06 100644
--- a/lib/System/Interix/TimeValue.cpp
+++ b/lib/System/Interix/TimeValue.cpp
@@ -12,7 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 // Include the generic Unix implementation
-#include "../Unix/Unix.h"
+#include "../Unix/Unix.cpp"
 
 namespace llvm {
 using namespace sys;
@@ -22,8 +22,6 @@
 //===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
 //===----------------------------------------------------------------------===//
 
-// FIXME: Need TimeValue::now()
-
 // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
 
 }
diff --git a/lib/System/Linux/TimeValue.cpp b/lib/System/Linux/TimeValue.cpp
index d9745cc..8f52770 100644
--- a/lib/System/Linux/TimeValue.cpp
+++ b/lib/System/Linux/TimeValue.cpp
@@ -14,8 +14,6 @@
 // Include the generic Unix implementation
 #include "../Unix/TimeValue.cpp"
 
-#include <sys/time.h>
-
 namespace llvm {
 
 using namespace sys;
@@ -25,17 +23,6 @@
 //===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
 //===----------------------------------------------------------------------===//
 
-TimeValue TimeValue::now() {
-  struct timeval the_time;
-  timerclear(&the_time);
-  if (0 != ::gettimeofday(&the_time,0)) 
-      ThrowErrno("Couldn't obtain time of day");
-
-  return TimeValue(
-    static_cast<TimeValue::SecondsType>( the_time.tv_sec ), 
-    static_cast<TimeValue::NanoSecondsType>( the_time.tv_usec * 
-      NANOSECONDS_PER_MICROSECOND ) );
-}
 // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
 
 }
diff --git a/lib/System/SunOS/TimeValue.cpp b/lib/System/SunOS/TimeValue.cpp
index 8f44060..7e47331 100644
--- a/lib/System/SunOS/TimeValue.cpp
+++ b/lib/System/SunOS/TimeValue.cpp
@@ -12,8 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 // Include the generic Unix implementation
-#include "../Unix/Unix.h"
-#include <sys/time.h>
+#include "../Unix/Unix.cpp"
 
 namespace llvm {
 using namespace sys;
@@ -23,18 +22,6 @@
 //===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
 //===----------------------------------------------------------------------===//
 
-TimeValue TimeValue::now() {
-  struct timeval the_time;
-  timerclear(&the_time);
-  if (0 != ::gettimeofday(&the_time,0)) 
-      ThrowErrno("Couldn't obtain time of day");
-
-  return TimeValue(
-    static_cast<TimeValue::SecondsType>( the_time.tv_sec ), 
-    static_cast<TimeValue::NanoSecondsType>( the_time.tv_usec * 
-      NANOSECONDS_PER_MICROSECOND ) );
-}
-
 // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
 
 }
diff --git a/lib/System/Unix/TimeValue.cpp b/lib/System/Unix/TimeValue.cpp
index f029f8d..6b476c8 100644
--- a/lib/System/Unix/TimeValue.cpp
+++ b/lib/System/Unix/TimeValue.cpp
@@ -19,6 +19,7 @@
 #include "Unix.h"
 
 #include <time.h>
+#include <sys/time.h>
 
 namespace llvm {
   using namespace sys;
@@ -34,5 +35,17 @@
   return result.substr(0,24);
 }
 
+TimeValue TimeValue::now() {
+  struct timeval the_time;
+  ::timerclear(&the_time);
+  if (0 != ::gettimeofday(&the_time,0)) 
+    ThrowErrno("Couldn't obtain time of day");
+
+  return TimeValue(
+    static_cast<TimeValue::SecondsType>( the_time.tv_sec ), 
+    static_cast<TimeValue::NanoSecondsType>( the_time.tv_usec * 
+      NANOSECONDS_PER_MICROSECOND ) );
+}
+
 }
 // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
diff --git a/lib/System/Unix/TimeValue.inc b/lib/System/Unix/TimeValue.inc
index f029f8d..6b476c8 100644
--- a/lib/System/Unix/TimeValue.inc
+++ b/lib/System/Unix/TimeValue.inc
@@ -19,6 +19,7 @@
 #include "Unix.h"
 
 #include <time.h>
+#include <sys/time.h>
 
 namespace llvm {
   using namespace sys;
@@ -34,5 +35,17 @@
   return result.substr(0,24);
 }
 
+TimeValue TimeValue::now() {
+  struct timeval the_time;
+  ::timerclear(&the_time);
+  if (0 != ::gettimeofday(&the_time,0)) 
+    ThrowErrno("Couldn't obtain time of day");
+
+  return TimeValue(
+    static_cast<TimeValue::SecondsType>( the_time.tv_sec ), 
+    static_cast<TimeValue::NanoSecondsType>( the_time.tv_usec * 
+      NANOSECONDS_PER_MICROSECOND ) );
+}
+
 }
 // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
