Made the Requirements information its own major section and moved it

between the "Getting Started Quickly" and "Getting Started Slowly" sections.
:)
Removed some of the nit-picky requirements information (i.e. GNU tar and
GNU zip).
Attempted to compact the requirements information so that it is less scary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9290 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
John Criswell 2003-10-20 16:39:52 +00:00
parent 17b53a8733
commit 3ab71367d0

View File

@ -19,14 +19,13 @@
<ul>
<li><a href="#overview">Overview</a>
<ol>
<li><a href="#requirements">Requirements</a>
<ol>
<li><a href="#hardware">Hardware</a>
<li><a href="#software">Software</a>
</ol>
</ol>
<li><a href="#quickstart">Getting Started Quickly (A Summary)</a>
<li><a href="#requirements">Requirements</a>
<ol>
<li><a href="#hardware">Hardware</a>
<li><a href="#software">Software</a>
</ol>
<li><a href="#starting">Getting Started with LLVM</a>
<ol>
<li><a href="#terminology">Terminology and Notation</tt></a>
@ -67,8 +66,9 @@
<p>
First, LLVM comes in two pieces. The first piece is the LLVM suite. This
contains all of the tools, libraries, and header files needed to use the
low level virtual machine. It also contains a test suite that can be used
to test the LLVM tools and the GCC front end.
low level virtual machine. It contains an assembler, disassembler,
bytecode analyzer, and bytecode optimizer. It also contains a test suite
that can be used to test the LLVM tools and the GCC front end.
<p>
The second piece is the GCC front end. This component provides a version
of GCC that compiles C and C++ code into LLVM bytecode. Currently, the
@ -76,133 +76,6 @@
development). Once compiled into LLVM bytecode, a program can be
manipulated with the LLVM tools from the LLVM suite.
<!--=====================================================================-->
<h3><a name="requirements"><b>Requirements</b></a></h3>
<!--=====================================================================-->
Before you begin to use the LLVM system, review the requirements given
below. This may save you some trouble by knowing ahead of time what
hardware and software you will need.
<!--=====================================================================-->
<h4><a name="hardware"><b>Hardware</b></a></h4>
<!--=====================================================================-->
LLVM is known to work on the following platforms:
<ul>
<li> Linux on x86 (Pentium and above)
<ul>
<li> Approximately 760 MB of Free Disk Space
<ul>
<li>Source code: 30 MB
<li>Object code: 670 MB
<li>GCC front end: 60 MB
</ul>
</ul>
<p>
<li> Solaris on SparcV9 (Ultrasparc)
<ul>
<li> Approximately 1.24 GB of Free Disk Space
<ul>
<li>Source code: 30 MB
<li>Object code: 1000 MB
<li>GCC front end: 210 MB
</ul>
</ul>
</ul>
LLVM <i>may</i> compile on other platforms. The LLVM utilities should work
on other platforms, so it should be possible to generate and produce LLVM
bytecode on unsupported platforms (although bytecode generated on one
platform may not work on another platform). However, the code generators
and Just-In-Time (JIT) compilers only generate SparcV9 or x86 machine code.
</p>
<!--=====================================================================-->
<h4><a name="software"><b>Software</b></a></h4>
<!--=====================================================================-->
<p>
Unpacking the distribution requires the following tools:
<dl compact>
<dt>
<A href="http://www.gnu.org/software/gzip/gzip.html">GNU Zip (gzip)</A>
<dt><A href="http://www.gnu.org/software/tar/tar.html">GNU Tar</A>
<dd>
These tools are needed to uncompress and unarchive the software.
Regular Solaris <tt>tar</tt> may work for unpacking the TAR archive but
is untested.
</dl>
Compiling LLVM requires that you have several different software packages
installed:
<dl compact>
<dt> <A href="http://gcc.gnu.org">GCC</A>
<dd>
The GNU Compiler Collection must be installed with C and C++ language
support. GCC 3.2.x works, and GCC 3.x is generally supported.
<p>
Note that we currently do not support any other C++ compiler.
</p>
<dt> <A href="http://savannah.gnu.org/projects/make">GNU Make</A>
<dd>
The LLVM build system relies upon GNU Make extensions. Therefore, you
will need GNU Make (sometimes known as gmake) to build LLVM.
<p>
<dt> <A href="http://www.gnu.org/software/flex">Flex</A>
and
<A href="http://www.gnu.org/software/bison/bison.html">Bison</A>
<dd>
The LLVM source code is built using flex and bison. You will not be
able to configure and compile LLVM without them.
<p>
<dt> <A href="http://savannah.gnu.org/projects/m4">GNU M4</A>
<dd>
If you are installing Bison on your machine for the first time, you
will need GNU M4 (version 1.4 or higher).
</dl>
<p>
There are some additional tools that you may want to have when working with
LLVM:
</p>
<ul>
<li><A href="http://www.gnu.org/software/autoconf">GNU Autoconf</A>
<li><A href="http://savannah.gnu.org/projects/m4">GNU M4</A>
<p>
If you want to make changes to the configure scripts, you will need
GNU autoconf (2.53 or higher), and consequently, GNU M4 (version 1.4
or higher).
</p>
<li><A href="http://www.codesourcery.com/qm/qmtest">QMTest</A>
<li><A href="http://www.python.org">Python</A>
<p>
In order to run the tests in the LLVM test suite, you will need QMTest and
a version of the Python interpreter that works with QMTest.
</ul>
<p>The remainder of this guide is meant to get you up and running with
LLVM and to give you some basic information about the LLVM environment.
The <a href"#quickstart">next section</a> gives a short summary for those
who are already familiar with the system and want to get started as quickly
as possible. A <a href="#starting">complete guide to installation</a> is
provided in the subsequent section.
<p>The later sections of this guide describe the <a
href="#layout">general layout</a> of the the LLVM source-tree, a <a
href="#tutorial">simple example</a> using the LLVM tool chain, and <a
href="#links">links</a> to find more information about LLVM or to get
help via e-mail.
<!--=====================================================================-->
<center>
<h2><a name="quickstart"><b>Getting Started Quickly (A Summary)</b></a></h2>
@ -277,11 +150,117 @@
</ol>
<p>See <a href="#environment">Setting Up Your Environment</a> on tips to
simplify working with the LLVM front-end and compiled tools. See the
next section for other useful details in working with LLVM,
or go straight to <a href="#layout">Program Layout</a> to learn about the
layout of the source code tree.
<p>
Consult the <a href="starting">Getting Started with LLVM</a> section for
detailed information on configuring and compiling LLVM. See
<a href="#environment">Setting Up Your Environment</a> for tips that
simplify working with the GCC front end and LLVM tools. Go to
<a href="#layout">Program Layout</a> to learn about the layout of the
source code tree.
<!--=====================================================================-->
<center>
<h2><a name="requirements"><b>Requirements</b></a></h2>
</center>
<hr>
<!--=====================================================================-->
Before you begin to use the LLVM system, review the requirements given
below. This may save you some trouble by knowing ahead of time what
hardware and software you will need.
<!--=====================================================================-->
<h3><a name="hardware"><b>Hardware</b></a></h3>
<!--=====================================================================-->
LLVM is known to work on the following platforms:
<ul>
<li> Linux on x86 (Pentium and above)
<ul>
<li> Approximately 760 MB of Free Disk Space
<ul>
<li>Source code: 30 MB
<li>Object code: 670 MB
<li>GCC front end: 60 MB
</ul>
</ul>
<p>
<li> Solaris on SparcV9 (Ultrasparc)
<ul>
<li> Approximately 1.24 GB of Free Disk Space
<ul>
<li>Source code: 30 MB
<li>Object code: 1000 MB
<li>GCC front end: 210 MB
</ul>
</ul>
</ul>
The LLVM suite <i>may</i> compile on other platforms, but it is not
guaranteed to do so. If compilation is successful, the LLVM utilities
should be able to assemble, disassemble, analyze, and optimize LLVM
bytecode. Code generation should work as well, although the generated
native code may not work on your platform.
<p>
The GCC front end is not very portable at the moment. If you want to get
it to work on another platform, you can always request
<a href="mailto:llvm-request@zion.cs.uiuc.edu">a copy of the source</a>
and try to compile it on your platform.
</p>
<!--=====================================================================-->
<h3><a name="software"><b>Software</b></a></h3>
<!--=====================================================================-->
<p>
Compiling LLVM requires that you have several software packages installed:
<ul compact>
<li>
<a href="http://gcc.gnu.org">GCC 3.x with C and C++ language support</a>
<li>
<a href="http://savannah.gnu.org/projects/make">GNU Make</a>
<li>
<a href="http://www.gnu.org/software/flex">Flex</a>
<li>
<a href="http://www.gnu.org/software/bison/bison.html">Bison</a>
</ul>
<p>
There are some additional tools that you may want to have when working with
LLVM:
</p>
<ul>
<li><A href="http://www.gnu.org/software/autoconf">GNU Autoconf</A>
<li><A href="http://savannah.gnu.org/projects/m4">GNU M4</A>
<p>
If you want to make changes to the configure scripts, you will need
GNU autoconf (2.57 or higher), and consequently, GNU M4 (version 1.4
or higher).
</p>
<li><A href="http://www.codesourcery.com/qm/qmtest">QMTest</A>
<li><A href="http://www.python.org">Python</A>
<p>
These are needed to use the LLVM test suite.
</ul>
<p>The remainder of this guide is meant to get you up and running with
LLVM and to give you some basic information about the LLVM environment.
A <a href="#starting">complete guide to installation</a> is provided in the
next section.
<p>The later sections of this guide describe the <a
href="#layout">general layout</a> of the the LLVM source tree, a <a
href="#tutorial">simple example</a> using the LLVM tool chain, and <a
href="#links">links</a> to find more information about LLVM or to get
help via e-mail.
<!--=====================================================================-->
<center>