Build/distcc for msvc: Difference between revisions
< Build
Jump to navigation
Jump to search
m (Added SVG file) |
(→Plan) |
||
| Line 19: | Line 19: | ||
: Here is a [http://freemind.sourceforge.net/wiki/index.php/Main_Page freemind] mindmap towards our goal[http://www.foobartastic.com/files/distcc.mm] (click save as) | : Here is a [http://freemind.sourceforge.net/wiki/index.php/Main_Page freemind] mindmap towards our goal[http://www.foobartastic.com/files/distcc.mm] (click save as) | ||
: You can also view the [http://matrix.senecac.on.ca/~cdolivei/distcc/distcc.svg svg file] | : You can also view the [http://matrix.senecac.on.ca/~cdolivei/distcc/distcc.svg svg file] (may cause problems on <em>some</em> X installs). | ||
== Research == | == Research == | ||
Revision as of 16:01, 2 July 2006
Status and notes page for distcc-for-msvc project at Seneca/Mozilla.
distcc
- distcc is a development tool for *nix to share compiliations between multiple computers. This usually reduces compile time significantly. You can read more about it on distcc's official page. Our project is having it working for Microsoft's C/C++ compilier using Cygwin.
Documentation
- Along with the documentation on distcc's website, we have compilied documentation from the source code using doxygen. You can find it here.
Requirements
- As a reminder, the current requirements for this project is as follows (starting with the most obvious)
- Work with XP and perhaps Vista
- Work with Free Express C++ version of CL
- Focus on 32-bit x86 architecture
- Should not have to break GCC in order to add CL
Plan
- You can also view the svg file (may cause problems on some X installs).
Research
- Cesar has looked into cl options and made a comparison of them to gcc options.
| cl option | gcc option | Notes |
| /AI | no gcc equivalent | Directory to resolve file references (.dll, .exe. .obj) |
| /C | -C or -CC (preserves comments in macros) | preserves comments during preprocessing |
| /D | -D | Defines constants/macros |
| /E | -E | Sends preprocessor output to stdout |
| /EP | WTF-E | Writes preprocessor output to stdout without #line directive (used to change the compiliers internally stored line number and file name) |
| /FI | -include (not -I!) | Causes the preprocesssor to process the header file (alternative to using the #include directive) |
| /FU | no gcc equivelent | alternative to using the #using directive |
| /I | -I | searches the directory for header files |
| /P | --save-temps (but this saves all steps. Such as the preprocessor and assembly. So it should be -E --save-temps to limit it to preprocessed only) | writes preprocessed files (same as /E) to a file with the same name with extension .i |
| /U /u | -U | undefines name (opposite of -D) |
| /X | -nostdinc | Ignores standard include paths |
CL
- Currently we're looking into the #using directive, which is the consequence for the /AI and /FU compilier options. We're looking into how files in the using directive work with the preprocessor, and if these object/dll files need to be sent over the network.