diff --git a/lib/Bitcode/Writer/BitWriter.cpp b/lib/Bitcode/Writer/BitWriter.cpp
new file mode 100644
index 0000000..7b90586
--- /dev/null
+++ b/lib/Bitcode/Writer/BitWriter.cpp
@@ -0,0 +1,51 @@
+//===-- BitWriter.cpp -----------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm-c/BitWriter.h"
+#include "llvm/CHelpers.h"
+#include "llvm/Bitcode/ReaderWriter.h"
+#include <fstream>
+
+using namespace llvm;
+
+
+/*===-- Operations on modules ---------------------------------------------===*/
+
+int LLVMWriteBitcodeToFile(LLVMModuleRef M, const char *Path) {
+  std::ofstream OS(Path);
+  
+  if (!OS.fail())
+    WriteBitcodeToFile(unwrap(M), OS);
+  
+  if (OS.fail())
+    return -1;
+  
+  return 0;
+}
+
+#ifdef __GNUC__
+#include <ext/stdio_filebuf.h>
+
+// FIXME: Control this with configure? Provide some portable abstraction in
+// libSystem? As is, the user will just get a linker error if they use this on 
+// non-GCC. Some C++ stdlibs even have ofstream::ofstream(int fd).
+int LLVMWriteBitcodeToFileHandle(LLVMModuleRef M, int FileHandle) {
+  __gnu_cxx::stdio_filebuf<char> Buffer(FileHandle, std::ios_base::out);
+  std::ostream OS(&Buffer);
+  
+  if (!OS.fail())
+    WriteBitcodeToFile(unwrap(M), OS);
+  
+  if (OS.fail())
+    return -1;
+  
+  return 0;
+}
+
+#endif
