compiler: move README_Windows.md content to README.md
diff --git a/compiler/cpp/README.md b/compiler/cpp/README.md
index 452a49c..8d9eb50 100644
--- a/compiler/cpp/README.md
+++ b/compiler/cpp/README.md
@@ -2,10 +2,10 @@
Use the following steps to build using cmake
-mkdir build
-cd build
-cmake ..
-make
+ mkdir build
+ cd build
+ cmake ..
+ make
## Build on windows
@@ -17,3 +17,36 @@
* FLEX_EXECUTBALE = C:/winbuild/win_flex.exe
* BISON_EXECUTBALE = C:/winbuild/win_bison.exe
+# Building the Thrift IDL compiler in Windows
+
+The Visual Studio project contains pre-build commands to generate the
+thriftl.cc, thrifty.cc and thrifty.hh files which are necessary to build
+the compiler. These depend on bison, flex and their dependencies to
+work properly. If this doesn't work on a system, try these manual
+pre-build steps.
+
+Open compiler.sln and remove the Pre-build commands under the project's
+ Properties -> Build Events -> Pre-Build Events.
+
+Download flex & bison from http://jaisantonyk.wordpress.com/2008/03/16/lex-and-yaccbison-in-windows/
+Download bison.simple in addition to bison.exe . This build of bison is easier to use
+than the one on sourceforge which has a myriad of dependencies.
+Place these binaries somewhere in the path.
+
+From a command prompt:
+> cd thrift/compiler/cpp
+> flex -osrc\thriftl.cc src\thriftl.ll
+In the generated thriftl.cc, comment out #include <unistd.h>
+
+Place a copy of bison.simple in thrift/compiler/cpp
+> bison -y -o "src/thrifty.cc" --defines src/thrifty.yy
+> move src\thrifty.cc.hh src\thrifty.hh
+
+Bison might generate the yacc header file "thrifty.cc.h" with just one h ".h" extension; in this case you'll have to rename to "thrifty.h".
+
+> move src\windows\version.h.in src\windows\version.h
+
+Download inttypes.h from the interwebs and place it in an include path
+location (e.g. thrift/compiler/cpp/src).
+
+Build the compiler in Visual Studio.