Build/distcc for msvc: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Added requirements and CL information.)
Line 15: Line 15:
== Research ==
== Research ==


: Cesar has looked into cl options and made a comparison of them to gcc options. Available [http://www.foobartastic.com/files/preprocessor_compilier_options.odt here]
: Cesar has looked into cl options and made a comparison of them to gcc options.
 
<!-- Cesar, I converted to xhtml for you (Dave)
Available [http://www.foobartastic.com/files/preprocessor_compilier_options.odt here]
-->
<table border="1">
<tr>
<td>'''cl&nbsp;option'''</td>
<td>'''gcc option'''</td>
<td>'''Notes'''</td>
</tr>
<tr>
<td>/AI</td>
<td>no gcc equivalent</td>
<td>Directory to resolve file references (.dll, .exe. .obj)</td>
</tr>
<tr>
<td>/C</td>
<td>-C or -CC (preserves comments in macros)</td>
<td>preserves comments during preprocessing</td>
</tr>
<tr>
<td>/D</td>
<td>-D</td>
<td>Defines constants/macros</td>
</tr>
<tr>
<td>/E</td>
<td>-E</td>
<td>Sends preprocessor output to stdout</td>
</tr>
<tr>
<td>/EP</td>
<td>WTF-E</td>
<td>Writes preprocessor output to stdout without #line directive (used to change the compiliers internally stored line number and file name)</td>
</tr>
<tr>
<td>/FI</td>
<td>-include (not -I!)</td>
<td>Causes the preprocesssor  to process the header file (alternative to using the #include directive)</td>
</tr>
<tr>
<td>/FU</td>
<td>no gcc equivelent</td>
<td>alternative to using the #using directive</td>
</tr>
<tr>
<td>/I</td>
<td>-I</td>
<td>searches the directory for header files</td>
</tr>
<tr>
<td>/P</td>
<td>--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)</td>
<td>writes preprocessed files (same as /E) to a file with the same name with extension .i</td>
</tr>
<tr>
<td>/U /u</td>
<td>-U</td>
<td>undefines name (opposite of -D)</td>
</tr>
<tr>
<td>/X</td>
<td>-nostdinc</td>
<td>Ignores standard include paths</td>
</tr>
</table>


== CL ==
== 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.
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.

Revision as of 20:56, 30 June 2006

Status and notes page for distcc-for-msvc project at Seneca/Mozilla.

Requirements

As a reminder, the current requirements for this project is as follows (starting with the most obvious)
  1. Work with XP and perhaps Vista
  2. Work with Free Express C++ version of CL
  3. Focus on 32-bit x86 architecture
  4. Should not have to break GCC in order to add CL

Plan

Here is a freemind mindmap towards our goal[1] (click save as)

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.