- add localsettings.texi which contains Stanford-local macros and variables
[pintos-anon] / doc / localsettings.texi
1 @c Local settings
2
3 @set coursenumber CS 140
4 @set localpintostarpath /usr/class/cs140/pintos/pintos.tar.gz
5 @set localpintoshttppath http://@/www.stanford.edu/@/class/@/cs140/@/pintos/@/pintos.@/tar.gz
6 @set localpintosbindir /usr/class/cs140/`uname -m`/bin
7
8 @macro localmachines{}
9 The CS 140 ``officially supported'' Pintos development machines are
10 the machines in Sweet Hall managed by Stanford ITSS, as described on
11 the @uref{http://www.stanford.edu/services/cluster/environs/sweet/, ,
12 ITSS webpage}.  You may use the Solaris or Linux machines.
13 @end macro
14
15 @macro localpathsetup{}
16 Under @command{csh}, Stanford's login shell, you can do so
17 with this command:@footnote{The term @samp{`uname -m`} expands to either
18 @file{sun4u} or @file{i686} according to the type of computer you're
19 logged into.}
20 @example
21 set path = ( @value{localpintosbindir} $path )
22 @end example
23 @noindent
24 @strong{Notice that both @samp{`} are left single quotes or
25 ``backticks,'' not apostrophes (@samp{'}).}
26 It is a good idea to add this line to the @file{.cshrc} file
27 in your home directory.  Otherwise, you'll have to type it every time
28 you log in.
29 @end macro
30
31 @macro localcrossbuild{}
32 Watch the commands executed during the build.  On the Linux machines,
33 the ordinary system tools are used.  On a SPARC machine, special build
34 tools are used, whose names begin with @samp{i386-elf-}, e.g.@:
35 @code{i386-elf-gcc}, @code{i386-elf-ld}.  These are ``cross-compiler''
36 tools.  That is, the build is running on a SPARC machine (called the
37 @dfn{host}), but the result will run on a simulated 80@var{x}86 machine
38 (called the @dfn{target}).  The @samp{i386-elf-@var{program}} tools are
39 specially built for this configuration.
40 @end macro
41
42 @macro localhonorcodepolicy{}
43 In the context of Stanford's CS 140 course, please respect the spirit
44 and the letter of the honor code by refraining from reading any homework
45 solutions available online or elsewhere.  Reading the source code for
46 other operating system kernels, such as Linux or FreeBSD, is allowed,
47 but do not copy code from them literally.  Please cite the code that
48 inspired your own in your design documentation.
49 @end macro
50
51 @macro localcredits{}
52 @c none needed
53 @end macro
54
55 @macro localcvspolicy{}
56 Instead, we recommend integrating your team's changes early and often,
57 using a source code control system such as CVS (@pxref{CVS}) or a
58 group collaboration site such as SourceForge (@pxref{SourceForge}).
59 This is less likely to produce surprises, because everyone can see
60 everyone else's code as it is written, instead of just when it is
61 finished.  These systems also make it possible to review changes and,
62 when a change introduces a bug, drop back to working versions of code.
63 @end macro
64
65 @macro localcodingstandards{}
66 All of you should have taken a class like CS 107, so we expect you to be
67 familiar with some set of coding standards such as
68 @uref{http://www.stanford.edu/class/cs140/projects/misc/CodingStandards.pdf,
69 , CS 107 Coding Standards}. Even if you've taken 107, we recommend
70 reviewing that document.  We expect code at the ``Peer-Review Quality''
71 level described there.
72 @end macro
73