Build/distcc for msvc

From MozillaWiki
Jump to navigation Jump to search

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.