diff --git a/lib/System/AIX/TimeValue.cpp b/lib/System/AIX/TimeValue.cpp
deleted file mode 100644
index f04a605b720..00000000000
--- a/lib/System/AIX/TimeValue.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//===- AIX/TimeValue.cpp - AIX TimeValue Implementation ---------*- C++ -*-===//
-// 
-//                     The LLVM Compiler Infrastructure
-//
-// This file was developed by Reid Spencer and is distributed under the 
-// University of Illinois Open Source License. See LICENSE.TXT for details.
-// 
-//===----------------------------------------------------------------------===//
-//
-// This file provides the AIX specific implementation of the TimeValue class.
-//
-//===----------------------------------------------------------------------===//
-
-// Include the generic Unix implementation
-#include "../Unix/TimeValue.cpp"
-
-namespace llvm {
-using namespace sys;
-
-//===----------------------------------------------------------------------===//
-//=== WARNING: Implementation here must contain only AIX specific code 
-//===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
-//===----------------------------------------------------------------------===//
-
-// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
-
-}
diff --git a/lib/System/Cygwin/TimeValue.cpp b/lib/System/Cygwin/TimeValue.cpp
deleted file mode 100644
index 7a31b0b03f0..00000000000
--- a/lib/System/Cygwin/TimeValue.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//===- Cygwin/TimeValue.cpp - Cygwin TimeValue Implementation ---*- C++ -*-===//
-// 
-//                     The LLVM Compiler Infrastructure
-//
-// This file was developed by Reid Spencer and is distributed under the 
-// University of Illinois Open Source License. See LICENSE.TXT for details.
-// 
-//===----------------------------------------------------------------------===//
-//
-// This file provides the Cygwin specific implementation of the TimeValue class.
-//
-//===----------------------------------------------------------------------===//
-
-// Include the generic Unix implementation
-#include "Unix/TimeValue.cpp"
-
-namespace llvm {
-using namespace sys;
-
-//===----------------------------------------------------------------------===//
-//=== WARNING: Implementation here must contain only Cygwin specific code 
-//===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
-//===----------------------------------------------------------------------===//
-
-// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
-
-}
diff --git a/lib/System/Darwin/TimeValue.cpp b/lib/System/Darwin/TimeValue.cpp
deleted file mode 100644
index 357260babc2..00000000000
--- a/lib/System/Darwin/TimeValue.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//===- Darwin/TimeValue.cpp - Darwin TimeValue Implementation ---*- C++ -*-===//
-// 
-//                     The LLVM Compiler Infrastructure
-//
-// This file was developed by Reid Spencer and is distributed under the 
-// University of Illinois Open Source License. See LICENSE.TXT for details.
-// 
-//===----------------------------------------------------------------------===//
-//
-// This file provides the Darwin specific implementation of the TimeValue class.
-//
-//===----------------------------------------------------------------------===//
-
-// Include the generic Unix implementation
-#include "../Unix/TimeValue.cpp"
-
-namespace llvm {
-using namespace sys;
-
-//===----------------------------------------------------------------------===//
-//=== WARNING: Implementation here must contain only Darwin specific code 
-//===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
-//===----------------------------------------------------------------------===//
-
-// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
-
-}
diff --git a/lib/System/FreeBSD/TimeValue.cpp b/lib/System/FreeBSD/TimeValue.cpp
deleted file mode 100644
index f2177b0c73b..00000000000
--- a/lib/System/FreeBSD/TimeValue.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//===- FreeBSD/TimeValue.cpp - FreeBSD TimeValue Implementation -*- C++ -*-===//
-// 
-//                     The LLVM Compiler Infrastructure
-//
-// This file was developed by Reid Spencer and is distributed under the 
-// University of Illinois Open Source License. See LICENSE.TXT for details.
-// 
-//===----------------------------------------------------------------------===//
-//
-// This file provides the FreeBSD implementation of the TimeValue class.
-//
-//===----------------------------------------------------------------------===//
-
-// Include the generic Unix implementation
-#include "../Unix/TimeValue.cpp"
-
-namespace llvm {
-using namespace sys;
-
-//===----------------------------------------------------------------------===//
-//=== WARNING: Implementation here must contain only FreeBSD specific code 
-//===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
-//===----------------------------------------------------------------------===//
-
-// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
-
-}
diff --git a/lib/System/Interix/TimeValue.cpp b/lib/System/Interix/TimeValue.cpp
deleted file mode 100644
index db30d385927..00000000000
--- a/lib/System/Interix/TimeValue.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//===- Interix/TimeValue.cpp - Interix TimeValue Implementation -*- C++ -*-===//
-// 
-//                     The LLVM Compiler Infrastructure
-//
-// This file was developed by Reid Spencer and is distributed under the 
-// University of Illinois Open Source License. See LICENSE.TXT for details.
-// 
-//===----------------------------------------------------------------------===//
-//
-// This file provides the Interix implementation of the TimeValue class.
-//
-//===----------------------------------------------------------------------===//
-
-// Include the generic Unix implementation
-#include "../Unix/TimeValue.cpp"
-
-namespace llvm {
-using namespace sys;
-
-//===----------------------------------------------------------------------===//
-//=== WARNING: Implementation here must contain only Interix specific code 
-//===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
-//===----------------------------------------------------------------------===//
-
-// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
-
-}
diff --git a/lib/System/Linux/TimeValue.cpp b/lib/System/Linux/TimeValue.cpp
deleted file mode 100644
index 8c3db5d299b..00000000000
--- a/lib/System/Linux/TimeValue.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//===- Linux/TimeValue.cpp - Linux TimeValue Implementation -----*- C++ -*-===//
-// 
-//                     The LLVM Compiler Infrastructure
-//
-// This file was developed by Reid Spencer and is distributed under the 
-// University of Illinois Open Source License. See LICENSE.TXT for details.
-// 
-//===----------------------------------------------------------------------===//
-//
-// This file provides the Linux implementation of the TimeValue class.
-//
-//===----------------------------------------------------------------------===//
-
-// Include the generic Unix implementation
-#include "../Unix/TimeValue.cpp"
-
-namespace llvm {
-
-using namespace sys;
-
-//===----------------------------------------------------------------------===//
-//=== WARNING: Implementation here must contain only Linux specific code 
-//===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
-//===----------------------------------------------------------------------===//
-
-// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
-
-}
diff --git a/lib/System/SunOS/TimeValue.cpp b/lib/System/SunOS/TimeValue.cpp
deleted file mode 100644
index 82c76b0fea2..00000000000
--- a/lib/System/SunOS/TimeValue.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-//===- SunOS/TimeValue.cpp - SunOS TimeValue Implementation -----*- C++ -*-===//
-// 
-//                     The LLVM Compiler Infrastructure
-//
-// This file was developed by Reid Spencer and is distributed under the 
-// University of Illinois Open Source License. See LICENSE.TXT for details.
-// 
-//===----------------------------------------------------------------------===//
-//
-// This file provides the SunOS implementation of the TimeValue class.
-//
-//===----------------------------------------------------------------------===//
-
-// Include the generic Unix implementation
-#include "../Unix/TimeValue.cpp"
-
-namespace llvm {
-using namespace sys;
-
-//===----------------------------------------------------------------------===//
-//=== WARNING: Implementation here must contain only SunOS specific code 
-//===          and must not be generic UNIX code (see ../Unix/TimeValue.cpp)
-//===----------------------------------------------------------------------===//
-
-// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab
-
-}
diff --git a/lib/System/TimeValue.cpp b/lib/System/TimeValue.cpp
index 15337244c56..64078f6f420 100644
--- a/lib/System/TimeValue.cpp
+++ b/lib/System/TimeValue.cpp
@@ -11,7 +11,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include <llvm/System/TimeValue.h>
+#include "llvm/System/TimeValue.h"
+#include "llvm/Config/config.h"
 
 namespace llvm {
 using namespace sys;
@@ -48,6 +49,11 @@ TimeValue::normalize( void ) {
 }
 
 /// Include the platform specific portion of TimeValue class
-#include "platform/TimeValue.cpp"
+#ifdef LLVM_ON_UNIX
+#include "Unix/TimeValue.cpp"
+#endif
+#ifdef LLVM_ON_WIN32
+#include "Win32/TimeValue.cpp"
+#endif
 
 // vim: sw=2 smartindent smarttab tw=80 autoindent expandtab