RCS History

--- /building.mdwn 2008/01/23 03:21:52 1.3
+++ /building.mdwn 2008/04/18 00:43:47 1.4
@@ -1,6 +1,8 @@
-Currenly, PCC will build on most unix-based operating systems.
+__Unix Hosts__
-Building PCC is reasonable straight-forward:
+Currently, PCC will build on most unix-based operating systems.
+
+Building PCC is reasonably straight-forward:
$ ./configure
$ make&& make install
@@ -11,4 +13,25 @@
If you wish to build a cross-compiler, some further information is available at [[Cross-Compiler]].
-If you wish to cross-compile PCC, some further information is available at [[Cross-Compile]]
\ No newline at end of file
+If you wish to cross-compile PCC, some further information is available at [[Cross-Compile]]
+
+__Microsoft Windows Host__
+
+PCC will build on Microsoft Windows (check the mailing list for patches to mkext.c)
+
+Compilation has been tested with Visual Studio 7, but should also work with the Microsoft C++ Toolkit. You also need bison and flex as build tools. These tools can be found in the [UnxTools](http://sourceforge.net/project/showfiles.php?group_id=9328) distribution.
+
+* open the Visual Studio Command Prompt
+* change directory to the pcc source and into the os/win32 directory
+* customize the paths in build.bat
+* find bison.simple in the UnxTools distribution and modify build.bat to point to it's location, or copy this file into os\win32.
+* run build.bat
+
+By default, directories under c:\pcc will contain the built binaries. You can add c:\pcc\bin to your path.
+
+You will need the [YASM assembler](http://www.tortall.net/projects/yasm/wiki/Download). Rename yasm.exe and copy the binary into c:\pcc\bin. Install the libraries and include files under c:\pcc\include and c:\pcc\lib.
+
+You will also need the include files and libraries from the [Microsoft Platform SDK](http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en) and Microsoft's link.exe.
+
+NOTE: There is currently a known bug which will prevent pcc from compiling source files on win32 targets (underscores are not correctly prefixed to external symbols).
+