windows-nt/Source/XPSP1/NT/windows/winstate/doc/email/building our code.rtf
2020-09-26 16:20:57 +08:00

38 lines
3.2 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}{\f1\froman\fcharset0 Times New Roman;}}
{\colortbl ;\red0\green0\blue0;}
\viewkind4\uc1\pard\fi-1800\li1800\tx1800\cf1\b\f0\fs20 From:\b0\tab Alex Armanasu\par
\b Sent:\b0\tab Monday, January 31, 2000 8:19 PM\par
\b To:\b0\tab NTW Migration Services Dev\par
\b Subject:\b0\tab Building our code\par
\pard\cf0\f1\par
I have successfully managed to build all the depots that we use. Here are the rules for building the depots. Murthy will be producing complete checkin guidelines soon. One of the rules is that you have to try to check in code that compiles and doesn't cause anyone else's code to stop compiling (don't break the build). The obvious way to accomplish that is to always build the depot before checking in. This does not work because it takes 6 hours to clean build all the depots we use. Unfortunately, incremental builds of the depots aren't guarenteed to work. For now, everyone should try to build all the depots they are enlisted in at least once. We will clean build every time we check in a header file used outside our binaries.\par
\par
\b Depot\tab\tab\tab Our Binaries\tab\tab\tab Disk space required to clean build\b0\par
windows\tab\tab winstate\tab\tab\tab\tab 1G\par
ds\tab\tab\tab Roaming User Profiles\tab\tab 1.7G\par
shell\tab\tab\tab Roaming User Profiles applet\tab 1.8G\par
com\tab\tab\tab storage\tab\tab\tab\tab 1G\par
tools\tab\tab\tab\tab\tab\tab\tab 50M\par
public\tab\tab\tab\tab\tab\tab\tab 350M\par
\par
When you create your razzle window, do not use the no_opt option. The no_opt option tells the compiler not to optimized the code. This is very useful for debugging. You should use the no_opt option when you compile code to debug. However, when clean building, some code will not compile with no_opt, so don't use it.\par
\par
When you create your razzle window, do use the no_binaries option. Normally build tries to create a cd image for installing that is huge. We don't have enough disk space for it. Until I get more disks for everyone, use no_binaries so you don't get the install image.\par
\par
rem This command gives you exactly the same files that are on the lab 4 branch build machines.\par
rem Use this command from 12PM to 8PM, when the build lab is not syncing the days changes.\par
rem You can also use "sdx sync @mgmtx86free" to sync all depots you are enlisted in.\par
cd \\nt\\<project>\par
sd sync @mgmtx86fre\par
\par
rem Use this command to build. You must use uppercase Z or header files will not get built in the correct order.\par
rem If you have sunk or changed multiple depots, you must run this command from \\nt so that header files from\par
rem all depots get built before any other files.\par
build -cZ\par
\par
The command "perl \\nt\\tools\\timebuild.pl" does a scorch, sync, and clean build. This is the command that the build lab uses. Unfortunately, it does not process its options correctly, so it will always try to build the setup binaries. Also, it has some race conditions so that the build does not always complete successfully. Do not use this command at this time.\par
\par
\par
\pard\fi-1800\li1800\tx1800\cf1\f0\par
}