+ <p>Now that you have the source code available, you should set up your
+ environment to be able to use the LLVM tools (once compiled) with as little
+ hassle as possible. To do this, we recommend that you add the following
+ lines to your <tt>.cshrc</tt> (or the corresponding lines to your
+ <tt>.profile</tt> if you use a bourne shell derivative):
+
+ <pre>
+ # Make the C frontend easy to use...
+ alias llvmgcc /home/vadve/lattner/cvs/gcc_install/bin/gcc
+
+ # Make the LLVM tools easy to use...
+ setenv PATH ~/llvm/tools/Debug:${PATH}
+ </pre>
+
+ <p>The C compiler is not included in the CVS tree you just checked out, so
+ we just point to the cannonical location, and access it with the
+ <tt>llvmgcc</tt> command. The rest of the <a href="#tools">LLVM tools</a>
+ will be built into the llvm/tools/Debug directory inside of the sourcebase.
+ Adding them to your path will make it much easier to use them.</p>
+
+
+
+ <!------------------------------------------------------------------------->
+ <h3><a name="compile">Compiling the Source Code</a></h3>
+ <!------------------------------------------------------------------------->
+
+ <p>Every directory in the LLVM source tree includes a Makefile to build it,
+ and any subdirectories that it contains. These makefiles require that you
+ use <tt>gmake</tt>, instead of <tt>make</tt> to build them, but can
+ otherwise be used freely. To build the entire LLVM system, just enter the
+ top level <tt>llvm</tt> directory and type <tt>gmake</tt>. A few minutes
+ later you will hopefully have a freshly compiled toolchain waiting for you
+ in <tt>llvm/tools/Debug</tt>. If you want to look at the libraries that
+ were compiled, look in <tt>llvm/lib/Debug</tt>.</p>
+
+
+ <!--=====================================================================-->
+ <h2><a name="layout">Program Layout</a></h2>
+ <!--=====================================================================-->
+
+ <p>One useful source of infomation about the LLVM sourcebase is the LLVM
+ doxygen documentation, available at <tt><a
+ href="http://llvm.cs.uiuc.edu/doxygen/">http://llvm.cs.uiuc.edu/doxygen/</a></tt>. The
+ following is a brief introduction to code layout:</p>
+
+
+ <!------------------------------------------------------------------------->
+ <h3><a name="cvsdir">CVS directories</a></h3>
+ <!------------------------------------------------------------------------->
+
+ Every directory checked out of CVS will contain a CVS directory, for the
+ most part these can just be ignored.
+
+
+ <!------------------------------------------------------------------------->
+ <h3><a name="ddr">Depend, Debug, & Release directories</a></h3>
+ <!------------------------------------------------------------------------->
+
+ Most source directories contain two directories, Depend and Debug. The
+ Depend directory contains automatically generated dependance files which are
+ used during compilation to make sure that source files get rebuilt if a
+ header file they use is modified. The Debug directory holds the object
+ files, library files and executables that are used for building a debug
+ enabled build. The Release directory is created to hold the same files when
+ the <tt>ENABLE_OPTIMIZED=1</tt> flag is passed to <tt>gmake</tt>, causing an
+ optimized built to be performed.
+
+
+ <!------------------------------------------------------------------------->
+ <h3><a name="include">llvm/include</a></h3>
+ <!------------------------------------------------------------------------->
+
+ This directory contains public header files exported from the LLVM
+ library. The two main subdirectories of this directory are:
+