80 column rule.
[oota-llvm.git] / docs / GettingStarted.html
index eed4547a7818ef78de98eef2c66f921590e77727..93b169352a15c7190c92a82a38ef1145ba8025e1 100644 (file)
@@ -114,13 +114,12 @@ and performance.
   <li>Read the documentation.</li>
   <li>Read the documentation.</li>
   <li>Remember that you were warned twice about reading the documentation.</li>
-  <li>Install the llvm-gcc4.2 front end if you intend to compile C or C++:
+  <li>Install the llvm-gcc-4.2 front end if you intend to compile C or C++:
     <ol>
       <li><tt>cd <i>where-you-want-the-C-front-end-to-live</i></tt></li>
-      <li><tt>gunzip --stdout llvm-gcc.<i>platform</i>.tar.gz | tar -xvf -</tt>
+      <li><tt>gunzip --stdout llvm-gcc-4.2-<i>version</i>-<i>platform</i>.tar.gz | tar -xvf -</tt>
       </li>
-      <ul><li>If the binary extension is ".bz" use bunzip2 instead of gunzip.</li>
-      </ul>
+      <li>Note: If the binary extension is ".bz" use bunzip2 instead of gunzip.</li>
       <li>Add llvm-gcc's "bin" directory to your PATH variable.</li>
     </ol></li>
 
@@ -253,7 +252,7 @@ software you will need.</p>
 </tr>
 <tr>
   <td>Linux</td>
-  <td>amd64<sup><a href="#pf_3">3</a></sup></td>
+  <td>amd64</td>
   <td>GCC</td>
 </tr>
 </table>
@@ -269,7 +268,7 @@ software you will need.</p>
 <tr>
   <td>Windows</td>
   <td>x86<sup><a href="#pf_1">1</a></sup></td>
-  <td>Visual Studio .NET<sup><a href="#pf_4">4</a>,<a href="#pf_5">5</a></sup></td>
+  <td>Visual Studio 2005 SP1 or higher<sup><a href="#pf_4">4</a>,<a href="#pf_5">5</a></sup></td>
 <tr>
   <td>AIX<sup><a href="#pf_3">3</a>,<a href="#pf_4">4</a></sup></td>
   <td>PowerPC</td>
@@ -306,13 +305,9 @@ software you will need.</p>
 up</a></li>
 <li><a name="pf_2">Code generation supported for 32-bit ABI only</a></li>
 <li><a name="pf_3">No native code generation</a></li>
-<li><a name="pf_4">Build is not complete: one or more tools don't link</a></li>
+<li><a name="pf_4">Build is not complete: one or more tools do not link or function</a></li>
 <li><a name="pf_5">The GCC-based C/C++ frontend does not build</a></li>
-<li><a name="pf_6">The port is done using the MSYS shell.</a>
-<a href="http://www.mingw.org/MinGWiki/">Download</a> and install 
-bison (excl. M4.exe) and flex in that order. Build binutils-2.15 from source,
-if necessary. Bison &amp; flex can be also grabbed from GNUWin32 sf.net 
-project.</li>
+<li><a name="pf_6">The port is done using the MSYS shell.</a></li>
 <li><a name="pf_7">Native code generation exists but is not complete.</a></li>
 <li><a name="pf_8">Binutils</a> up to post-2.17 has bug in bfd/cofflink.c
     preventing LLVM from building correctly. Several workarounds have been
@@ -320,10 +315,10 @@ project.</li>
     future. We highly recommend that you rebuild your current binutils with the
     patch from <a href="http://sourceware.org/bugzilla/show_bug.cgi?id=2659">
     Binutils bugzilla</a>, if it wasn't already applied.</li>
-<li><a name="pf_9">XCode 2.5 and gcc 4.0.1 (Apple Build 5370) will trip
+<li><a name="pf_9">XCode 2.5 and gcc 4.0.1</a> (Apple Build 5370) will trip
     internal LLVM assert messages when compiled for Release at optimization
-    levels greater than 0 (i.e., <i>&ldquo;-O1&rdquo;</i> and higher).
-    Add <i>OPTIMIZE_OPTION=&quot;-O0&quot;</i> to the build command line
+    levels greater than 0 (i.e., <i>"-O1"</i> and higher).
+    Add <i>OPTIMIZE_OPTION="-O0"</i> to the build command line
     if compiling for LLVM Release or bootstrapping the LLVM toolchain.</li>
 </ol>
 </div>
@@ -376,18 +371,6 @@ href="GCCFEBuildInstrs.html">try to compile it</a> on your platform.</p>
       <td>For building the CFE</td>
     </tr>
 
-    <tr>
-      <td><a href="http://www.gnu.org/software/flex">Flex</a></td>
-      <td>2.5.4</td>
-      <td>LEX compiler</td>
-    </tr>
-
-    <tr>
-      <td><a href="http://www.gnu.org/software/bison/bison.html">Bison</a></td>
-      <td>1.28, 1.35, 1.75, 1.875d, 2.0, or 2.1<br>(not 1.85 or 1.875)</td>
-      <td>YACC compiler</td>
-    </tr>
-
     <tr>
       <td><a href="http://subversion.tigris.org/project_packages.html">SVN</a></td>
       <td>&ge;1.3</td>
@@ -556,6 +539,12 @@ the "<tt>convert_from_eh_region_ranges_1</tt>" GCC function.</p>
    portions of its testsuite.</p>
 <p><b>GCC 4.1.2 on OpenSUSE</b>: Seg faults during libstdc++ build and on x86_64
 platforms compiling md5.c gets a mangled constant.</p>
+<p><b>GCC 4.1.2 (20061115 (prerelease) (Debian 4.1.1-21)) on Debian</b>: Appears
+to miscompile parts of LLVM 2.4. One symptom is ValueSymbolTable complaining
+about symbols remaining in the table on destruction.</p>
+<p><b>GCC 4.1.2 20071124 (Red Hat 4.1.2-42)</b>: Suffers from the same symptoms
+as the previous one. It appears to work with ENABLE_OPTIMIZED=0 (the default).</p>
+
 <p><b>GNU ld 2.16.X</b>. Some 2.16.X versions of the ld linker will produce very
 long warning messages complaining that some ".gnu.linkonce.t.*" symbol was
 defined in a discarded section. You can safely ignore these messages as they are
@@ -667,24 +656,20 @@ compressed with the gzip program.
 <p>The files are as follows, with <em>x.y</em> marking the version number:
 <dl>
   <dt><tt>llvm-x.y.tar.gz</tt></dt>
-  <dd>Source release for the LLVM libraries and tools.<br/></dd>
+  <dd>Source release for the LLVM libraries and tools.<br></dd>
 
   <dt><tt>llvm-test-x.y.tar.gz</tt></dt>
   <dd>Source release for the LLVM test suite.</dd>
 
-  <dt><tt>llvm-gcc4-x.y.source.tar.gz</tt></dt>
-  <dd>Source release of the llvm-gcc4 front end.  See README.LLVM in the root
-      directory for build instructions.<br/></dd>
+  <dt><tt>llvm-gcc-4.2-x.y.source.tar.gz</tt></dt>
+  <dd>Source release of the llvm-gcc-4.2 front end.  See README.LLVM in the root
+      directory for build instructions.<br></dd>
 
-  <dt><tt>llvm-gcc4-x.y-platform.tar.gz</tt></dt>
-  <dd>Binary release of the llvm-gcc4 front end for a specific platform.<br/></dd>
+  <dt><tt>llvm-gcc-4.2-x.y-platform.tar.gz</tt></dt>
+  <dd>Binary release of the llvm-gcc-4.2 front end for a specific platform.<br></dd>
 
 </dl>
 
-<p>It is also possible to download the sources of the llvm-gcc4 front end from a
-read-only subversion mirror at
-svn://anonsvn.opensource.apple.com/svn/llvm/trunk. </p>
-
 </div>
 
 <!-- ======================================================================= -->
@@ -713,9 +698,10 @@ test directories, and local copies of documentation files.</p>
 <p>If you want to get a specific release (as opposed to the most recent
 revision), you can checkout it from the '<tt>tags</tt>' directory (instead of
 '<tt>trunk</tt>'). The following releases are located in the following
-  subdirectories of the '<tt>tags</tt>' directory:</p>
+subdirectories of the '<tt>tags</tt>' directory:</p>
 
 <ul>
+<li>Release 2.4: <b>RELEASE_24</b></li>
 <li>Release 2.3: <b>RELEASE_23</b></li>
 <li>Release 2.2: <b>RELEASE_22</b></li>
 <li>Release 2.1: <b>RELEASE_21</b></li>
@@ -769,7 +755,7 @@ main LLVM repository.</p>
 
 <ol>
   <li><tt>cd <i>where-you-want-the-front-end-to-live</i></tt></li>
-  <li><tt>gunzip --stdout llvmgcc-<i>version</i>.<i>platform</i>.tar.gz | tar -xvf
+  <li><tt>gunzip --stdout llvm-gcc-4.2-<i>version</i>-<i>platform</i>.tar.gz | tar -xvf
       -</tt></li>
 </ol>
 
@@ -880,7 +866,7 @@ script to configure the build system:</p>
   native compiler (no cross-compiler targets available). The "native" target is 
   selected as the target of the build host. You can also specify a comma 
   separated list of target names that you want available in llc. The target 
-  names use all lower case. The current set of targets is: <br/>
+  names use all lower case. The current set of targets is: <br>
   <tt>alpha, ia64, powerpc, skeleton, sparc, x86</tt>.
   <br><br></dd>
   <dt><i>--enable-doxygen</i></dt>
@@ -1291,8 +1277,7 @@ different <a href="#tools">tools</a>.</p>
   <p>This directory contains projects that are not strictly part of LLVM but are
   shipped with LLVM. This is also the directory where you should create your own
   LLVM-based projects. See <tt>llvm/projects/sample</tt> for an example of how
-  to set up your own project. See <tt>llvm/projects/Stacker</tt> for a fully 
-  functional example of a compiler front end.</p>
+  to set up your own project.</p>
 </div>
 
 <!-- ======================================================================= -->
@@ -1411,7 +1396,7 @@ information is in the <a href="CommandGuide/index.html">Command Guide</a>.</p>
   <dd><tt>opt</tt> reads LLVM bitcode, applies a series of LLVM to LLVM 
   transformations (which are specified on the command line), and then outputs 
   the resultant bitcode.  The '<tt>opt --help</tt>' command is a good way to 
-  get a list of the program transformations available in LLVM.<br/>
+  get a list of the program transformations available in LLVM.<br>
   <dd><tt>opt</tt> can also be used to run a specific analysis on an input 
   LLVM bitcode file and print out the results.  It is primarily useful for 
   debugging analyses, or familiarizing yourself with what an analysis does.</dd>
@@ -1616,7 +1601,7 @@ Asked Questions</a> page.</p>
 
 <div class="doc_text">
 
-<p>This document is just an <b>introduction</b> to how to use LLVM to do
+<p>This document is just an <b>introduction</b> on how to use LLVM to do
 some simple things... there are many more interesting and complicated things
 that you can do that aren't documented here (but we'll gladly accept a patch
 if you want to write something up!).  For more information about LLVM, check
@@ -1636,9 +1621,9 @@ out:</p>
 <hr>
 <address>
   <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
-  src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
+  src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
   <a href="http://validator.w3.org/check/referer"><img
-  src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" /></a>
+  src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
 
   <a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.x10sys.com/rspencer/">Reid Spencer</a><br>