mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-14 03:29:57 +00:00
Rename CFEBuildInstrs.html to GCCFEBuildInstrs.html.
Update all references to it and place a redirection page at the old address. llvm-svn: 47124
This commit is contained in:
parent
747c777bde
commit
551d3e6303
@ -979,7 +979,7 @@
|
||||
DE66F38C08ABF35300323D32 /* CREDITS.TXT */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; name = CREDITS.TXT; path = ../CREDITS.TXT; sourceTree = SOURCE_ROOT; };
|
||||
DE66F38F08ABF35C00323D32 /* AliasAnalysis.html */ = {isa = PBXFileReference; explicitFileType = text.html.documentation; fileEncoding = 30; path = AliasAnalysis.html; sourceTree = "<group>"; };
|
||||
DE66F39008ABF35C00323D32 /* Bugpoint.html */ = {isa = PBXFileReference; explicitFileType = text.html.documentation; fileEncoding = 30; path = Bugpoint.html; sourceTree = "<group>"; };
|
||||
DE66F39208ABF35C00323D32 /* CFEBuildInstrs.html */ = {isa = PBXFileReference; explicitFileType = text.html.documentation; fileEncoding = 30; path = CFEBuildInstrs.html; sourceTree = "<group>"; };
|
||||
DE66F39208ABF35C00323D32 /* GCCFEBuildInstrs.html */ = {isa = PBXFileReference; explicitFileType = text.html.documentation; fileEncoding = 30; path = GCCFEBuildInstrs.html; sourceTree = "<group>"; };
|
||||
DE66F39308ABF35C00323D32 /* CodeGenerator.html */ = {isa = PBXFileReference; explicitFileType = text.html.documentation; fileEncoding = 30; path = CodeGenerator.html; sourceTree = "<group>"; };
|
||||
DE66F39408ABF35C00323D32 /* CodingStandards.html */ = {isa = PBXFileReference; explicitFileType = text.html.documentation; fileEncoding = 30; path = CodingStandards.html; sourceTree = "<group>"; };
|
||||
DE66F39808ABF35C00323D32 /* bugpoint.pod */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = bugpoint.pod; sourceTree = "<group>"; };
|
||||
@ -2593,7 +2593,7 @@
|
||||
children = (
|
||||
DE66F38F08ABF35C00323D32 /* AliasAnalysis.html */,
|
||||
DE66F39008ABF35C00323D32 /* Bugpoint.html */,
|
||||
DE66F39208ABF35C00323D32 /* CFEBuildInstrs.html */,
|
||||
DE66F39208ABF35C00323D32 /* GCCFEBuildInstrs.html */,
|
||||
DE66F39308ABF35C00323D32 /* CodeGenerator.html */,
|
||||
DE66F39408ABF35C00323D32 /* CodingStandards.html */,
|
||||
DE66F39508ABF35C00323D32 /* CommandGuide */,
|
||||
|
@ -5,263 +5,11 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="llvm.css" type="text/css" media="screen">
|
||||
<title>Building the LLVM C/C++ Front-End</title>
|
||||
<meta HTTP-EQUIV="REFRESH" CONTENT="3; URL=GCCFEBuildInstrs.html">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="doc_title">
|
||||
Building the LLVM GCC Front-End
|
||||
</div>
|
||||
|
||||
<ol>
|
||||
<li><a href="#instructions">Building llvm-gcc from Source</a></li>
|
||||
<li><a href="#license">License Information</a></li>
|
||||
</ol>
|
||||
|
||||
<div class="doc_author">
|
||||
<p>Written by the LLVM Team</p>
|
||||
</div>
|
||||
|
||||
<!-- *********************************************************************** -->
|
||||
<div class="doc_section">
|
||||
<a name="instructions">Building llvm-gcc from Source</a>
|
||||
</div>
|
||||
<!-- *********************************************************************** -->
|
||||
|
||||
<div class="doc_text">
|
||||
|
||||
<p>This section describes how to acquire and build llvm-gcc 4.0 and 4.2, which are
|
||||
based on the GCC 4.0.1/4.2.1 front-ends respectively. Both front-ends support C,
|
||||
C++, Objective-C and Objective-C++. The 4.2 front-end also supports Ada and
|
||||
Fortran to some extent. Note that the instructions for building these front-ends
|
||||
are completely different (and much easier!) than those for building llvm-gcc3 in
|
||||
the past.</p>
|
||||
|
||||
<ol>
|
||||
<li><p>Retrieve the appropriate llvm-gcc4.x-y.z.source.tar.gz archive from the
|
||||
<a href="http://llvm.org/releases/">llvm web site</a>.</p>
|
||||
|
||||
<p>It is also possible to download the sources of the llvm-gcc front end
|
||||
from a read-only mirror using subversion. To check out the 4.0 code
|
||||
for first time use:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>
|
||||
svn co http://llvm.org/svn/llvm-project/llvm-gcc-4.0/trunk <i>dst-directory</i>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>To check out the 4.2 code use:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>
|
||||
svn co http://llvm.org/svn/llvm-project/llvm-gcc-4.2/trunk <i>dst-directory</i>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>After that, the code can be be updated in the destination directory
|
||||
using:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>svn update</pre>
|
||||
</div>
|
||||
|
||||
<p>The mirror is brought up to date every evening.</p></li>
|
||||
|
||||
<li>Follow the directions in the top-level <tt>README.LLVM</tt> file for
|
||||
up-to-date instructions on how to build llvm-gcc. See below for building
|
||||
with support for Ada or Fortran.
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- *********************************************************************** -->
|
||||
<div class="doc_section">
|
||||
<a name="license">Building the Ada front-end</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
<p>Building with support for Ada amounts to following the directions in the
|
||||
top-level <tt>README.LLVM</tt> file, adding ",ada" to EXTRALANGS, for example:
|
||||
<tt>EXTRALANGS=,ada</tt></p>
|
||||
|
||||
<p>There are some complications however:</p>
|
||||
|
||||
<ol>
|
||||
<li><p>The only platform for which the Ada front-end is known to build is
|
||||
32 bit intel x86 running linux. It is unlikely to build for other
|
||||
systems without some work.</p></li>
|
||||
<li><p>The build requires having a compiler that supports Ada, C and C++.
|
||||
The Ada front-end is written in Ada so an Ada compiler is needed to
|
||||
build it. What is more, the Ada compiler must not be more recent
|
||||
than what it is trying to compile, otherwise the build will fail.
|
||||
This rules out gcc-4.3 (but not gcc-4.2) and also the
|
||||
<a href="http://libre.adacore.com/">2007 GNAT GPL Edition</a>.
|
||||
The LLVM parts of llvm-gcc are written in C++ so a C++
|
||||
compiler is needed to build them. The rest of gcc is written in C.
|
||||
Some linux distributions provide a version of gcc that supports all
|
||||
three languages (the Ada part often comes as an add-on package to
|
||||
the rest of gcc). Otherwise it is possible to combine two versions
|
||||
of gcc, one that supports Ada and C (such as the
|
||||
<a href="http://libre.adacore.com/">2006 GNAT GPL Edition</a>)
|
||||
and another which supports C++, see below.</p></li>
|
||||
<li><p>Because the Ada front-end is experimental, it is wise to build the
|
||||
compiler with checking enabled. This causes it to run slower, but
|
||||
helps catch mistakes in the compiler (please report any problems using
|
||||
<a href="http://llvm.org/bugs">LLVM bugzilla</a>).</p></li>
|
||||
</ol>
|
||||
|
||||
<p>Supposing appropriate compilers are available, llvm-gcc with Ada support can
|
||||
be built on an x86-32 linux box using the following recipe:</p>
|
||||
|
||||
<ol>
|
||||
<li><p>Download the <a href="http://llvm.org/releases/download.html">LLVM source</a>
|
||||
and unpack it:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>wget http://llvm.org/releases/2.2/llvm-2.2.tar.gz
|
||||
tar xzf llvm-2.2.tar.gz
|
||||
mv llvm-2.2 llvm</pre>
|
||||
</div>
|
||||
|
||||
<p>or <a href="http://llvm.org/docs/GettingStarted.html#checkout">check out the
|
||||
latest version from subversion</a>:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Download the
|
||||
<a href="http://llvm.org/releases/download.html">llvm-gcc-4.2 source</a>
|
||||
and unpack it:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>wget http://llvm.org/releases/2.2/llvm-gcc4.2-2.2.source.tar.gz
|
||||
tar xzf llvm-gcc4.2-2.2.source.tar.gz
|
||||
mv llvm-gcc4.2-2.2.source llvm-gcc-4.2</pre>
|
||||
</div>
|
||||
|
||||
<p>or <a href="http://llvm.org/docs/GettingStarted.html#checkout">check out the
|
||||
latest version from subversion</a>:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>svn co http://llvm.org/svn/llvm-project/llvm-gcc-4.2/trunk llvm-gcc-4.2</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Make a build directory <tt>llvm-objects</tt> for llvm and make it the
|
||||
current directory:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>mkdir llvm-objects
|
||||
cd llvm-objects</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Configure LLVM (here it is configured to install into <tt>/usr/local</tt>):</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>../llvm/configure --prefix=<b>/usr/local</b></pre>
|
||||
</div>
|
||||
|
||||
<p>If you have a multi-compiler setup and the C++ compiler is not the
|
||||
default, then you can configure like this:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>CXX=<b>PATH_TO_C++_COMPILER</b> ../llvm/configure --prefix=<b>/usr/local</b></pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Build LLVM with checking enabled (use <tt>ENABLE_OPTIMIZED=1</tt> to
|
||||
build without checking):</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>make ENABLE_OPTIMIZED=0</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Install LLVM (optional):</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>make install</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Make a build directory <tt>llvm-gcc-4.2-objects</tt> for llvm-gcc and make it the
|
||||
current directory:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>
|
||||
cd ..
|
||||
mkdir llvm-gcc-4.2-objects
|
||||
cd llvm-gcc-4.2-objects</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Configure llvm-gcc (here it is configured to install into <tt>/usr/local</tt>).
|
||||
The <tt>--enable-checking</tt> flag turns on sanity checks inside the compiler.
|
||||
If you omit it then LLVM must be built with <tt>make ENABLE_OPTIMIZED=1</tt>.
|
||||
Additional languages can be appended to the --enable-languages switch,
|
||||
for example <tt>--enable-languages=ada,c,c++</tt>.</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>../llvm-gcc-4.2/configure --prefix=<b>/usr/local</b> --enable-languages=ada,c --enable-checking --enable-llvm=$PWD/../llvm-objects --disable-shared --disable-bootstrap --disable-multilib</pre>
|
||||
</div>
|
||||
|
||||
<p>If you have a multi-compiler setup, then you can configure like this:</p>
|
||||
<div class="doc_code">
|
||||
|
||||
<pre>
|
||||
export CC=<b>PATH_TO_C_AND_ADA_COMPILER</b>
|
||||
export CXX=<b>PATH_TO_C++_COMPILER</b>
|
||||
../llvm-gcc-4.2/configure --prefix=<b>/usr/local</b> --enable-languages=ada,c --enable-checking --enable-llvm=$PWD/../llvm-objects --disable-shared --disable-bootstrap --disable-multilib</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Build and install the compiler:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>make
|
||||
make install</pre>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- *********************************************************************** -->
|
||||
<div class="doc_section">
|
||||
<a name="license">Building the Fortran front-end</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
<p>
|
||||
To build with support for Fortran, follow the directions in the top-level
|
||||
<tt>README.LLVM</tt> file, adding ",fortran" to EXTRALANGS, for example:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>
|
||||
EXTRALANGS=,fortran
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- *********************************************************************** -->
|
||||
<div class="doc_section">
|
||||
<a name="license">License Information</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
<p>
|
||||
The LLVM GCC frontend is licensed to you under the GNU General Public License
|
||||
and the GNU Lesser General Public License. Please see the files COPYING and
|
||||
COPYING.LIB for more details.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
More information is <a href="FAQ.html#license">available in the FAQ</a>.
|
||||
</p>
|
||||
This page has moved <a href="GCCFEBuildInstrs.html">here</A>.
|
||||
</div>
|
||||
|
||||
<!-- *********************************************************************** -->
|
||||
@ -274,7 +22,7 @@ More information is <a href="FAQ.html#license">available in the FAQ</a>.
|
||||
src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a>
|
||||
|
||||
<a href="http://llvm.org">LLVM Compiler Infrastructure</a><br>
|
||||
Last modified: $Date$
|
||||
Last modified: $Date: 2008-02-13 17:46:10 +0100 (Wed, 13 Feb 2008) $
|
||||
</address>
|
||||
|
||||
</body>
|
||||
|
281
llvm/docs/GCCFEBuildInstrs.html
Normal file
281
llvm/docs/GCCFEBuildInstrs.html
Normal file
@ -0,0 +1,281 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||||
"http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" href="llvm.css" type="text/css" media="screen">
|
||||
<title>Building the LLVM GCC Front-End</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="doc_title">
|
||||
Building the LLVM GCC Front-End
|
||||
</div>
|
||||
|
||||
<ol>
|
||||
<li><a href="#instructions">Building llvm-gcc from Source</a></li>
|
||||
<li><a href="#license">License Information</a></li>
|
||||
</ol>
|
||||
|
||||
<div class="doc_author">
|
||||
<p>Written by the LLVM Team</p>
|
||||
</div>
|
||||
|
||||
<!-- *********************************************************************** -->
|
||||
<div class="doc_section">
|
||||
<a name="instructions">Building llvm-gcc from Source</a>
|
||||
</div>
|
||||
<!-- *********************************************************************** -->
|
||||
|
||||
<div class="doc_text">
|
||||
|
||||
<p>This section describes how to acquire and build llvm-gcc 4.0 and 4.2, which are
|
||||
based on the GCC 4.0.1/4.2.1 front-ends respectively. Both front-ends support C,
|
||||
C++, Objective-C and Objective-C++. The 4.2 front-end also supports Ada and
|
||||
Fortran to some extent. Note that the instructions for building these front-ends
|
||||
are completely different (and much easier!) than those for building llvm-gcc3 in
|
||||
the past.</p>
|
||||
|
||||
<ol>
|
||||
<li><p>Retrieve the appropriate llvm-gcc4.x-y.z.source.tar.gz archive from the
|
||||
<a href="http://llvm.org/releases/">llvm web site</a>.</p>
|
||||
|
||||
<p>It is also possible to download the sources of the llvm-gcc front end
|
||||
from a read-only mirror using subversion. To check out the 4.0 code
|
||||
for first time use:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>
|
||||
svn co http://llvm.org/svn/llvm-project/llvm-gcc-4.0/trunk <i>dst-directory</i>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>To check out the 4.2 code use:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>
|
||||
svn co http://llvm.org/svn/llvm-project/llvm-gcc-4.2/trunk <i>dst-directory</i>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>After that, the code can be be updated in the destination directory
|
||||
using:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>svn update</pre>
|
||||
</div>
|
||||
|
||||
<p>The mirror is brought up to date every evening.</p></li>
|
||||
|
||||
<li>Follow the directions in the top-level <tt>README.LLVM</tt> file for
|
||||
up-to-date instructions on how to build llvm-gcc. See below for building
|
||||
with support for Ada or Fortran.
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- *********************************************************************** -->
|
||||
<div class="doc_section">
|
||||
<a name="license">Building the Ada front-end</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
<p>Building with support for Ada amounts to following the directions in the
|
||||
top-level <tt>README.LLVM</tt> file, adding ",ada" to EXTRALANGS, for example:
|
||||
<tt>EXTRALANGS=,ada</tt></p>
|
||||
|
||||
<p>There are some complications however:</p>
|
||||
|
||||
<ol>
|
||||
<li><p>The only platform for which the Ada front-end is known to build is
|
||||
32 bit intel x86 running linux. It is unlikely to build for other
|
||||
systems without some work.</p></li>
|
||||
<li><p>The build requires having a compiler that supports Ada, C and C++.
|
||||
The Ada front-end is written in Ada so an Ada compiler is needed to
|
||||
build it. What is more, the Ada compiler must not be more recent
|
||||
than what it is trying to compile, otherwise the build will fail.
|
||||
This rules out gcc-4.3 (but not gcc-4.2) and also the
|
||||
<a href="http://libre.adacore.com/">2007 GNAT GPL Edition</a>.
|
||||
The LLVM parts of llvm-gcc are written in C++ so a C++
|
||||
compiler is needed to build them. The rest of gcc is written in C.
|
||||
Some linux distributions provide a version of gcc that supports all
|
||||
three languages (the Ada part often comes as an add-on package to
|
||||
the rest of gcc). Otherwise it is possible to combine two versions
|
||||
of gcc, one that supports Ada and C (such as the
|
||||
<a href="http://libre.adacore.com/">2006 GNAT GPL Edition</a>)
|
||||
and another which supports C++, see below.</p></li>
|
||||
<li><p>Because the Ada front-end is experimental, it is wise to build the
|
||||
compiler with checking enabled. This causes it to run slower, but
|
||||
helps catch mistakes in the compiler (please report any problems using
|
||||
<a href="http://llvm.org/bugs">LLVM bugzilla</a>).</p></li>
|
||||
</ol>
|
||||
|
||||
<p>Supposing appropriate compilers are available, llvm-gcc with Ada support can
|
||||
be built on an x86-32 linux box using the following recipe:</p>
|
||||
|
||||
<ol>
|
||||
<li><p>Download the <a href="http://llvm.org/releases/download.html">LLVM source</a>
|
||||
and unpack it:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>wget http://llvm.org/releases/2.2/llvm-2.2.tar.gz
|
||||
tar xzf llvm-2.2.tar.gz
|
||||
mv llvm-2.2 llvm</pre>
|
||||
</div>
|
||||
|
||||
<p>or <a href="GettingStarted.html#checkout">check out the
|
||||
latest version from subversion</a>:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Download the
|
||||
<a href="http://llvm.org/releases/download.html">llvm-gcc-4.2 source</a>
|
||||
and unpack it:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>wget http://llvm.org/releases/2.2/llvm-gcc4.2-2.2.source.tar.gz
|
||||
tar xzf llvm-gcc4.2-2.2.source.tar.gz
|
||||
mv llvm-gcc4.2-2.2.source llvm-gcc-4.2</pre>
|
||||
</div>
|
||||
|
||||
<p>or <a href="GettingStarted.html#checkout">check out the
|
||||
latest version from subversion</a>:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>svn co http://llvm.org/svn/llvm-project/llvm-gcc-4.2/trunk llvm-gcc-4.2</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Make a build directory <tt>llvm-objects</tt> for llvm and make it the
|
||||
current directory:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>mkdir llvm-objects
|
||||
cd llvm-objects</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Configure LLVM (here it is configured to install into <tt>/usr/local</tt>):</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>../llvm/configure --prefix=<b>/usr/local</b></pre>
|
||||
</div>
|
||||
|
||||
<p>If you have a multi-compiler setup and the C++ compiler is not the
|
||||
default, then you can configure like this:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>CXX=<b>PATH_TO_C++_COMPILER</b> ../llvm/configure --prefix=<b>/usr/local</b></pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Build LLVM with checking enabled (use <tt>ENABLE_OPTIMIZED=1</tt> to
|
||||
build without checking):</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>make ENABLE_OPTIMIZED=0</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Install LLVM (optional):</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>make install</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Make a build directory <tt>llvm-gcc-4.2-objects</tt> for llvm-gcc and make it the
|
||||
current directory:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>
|
||||
cd ..
|
||||
mkdir llvm-gcc-4.2-objects
|
||||
cd llvm-gcc-4.2-objects</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Configure llvm-gcc (here it is configured to install into <tt>/usr/local</tt>).
|
||||
The <tt>--enable-checking</tt> flag turns on sanity checks inside the compiler.
|
||||
If you omit it then LLVM must be built with <tt>make ENABLE_OPTIMIZED=1</tt>.
|
||||
Additional languages can be appended to the --enable-languages switch,
|
||||
for example <tt>--enable-languages=ada,c,c++</tt>.</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>../llvm-gcc-4.2/configure --prefix=<b>/usr/local</b> --enable-languages=ada,c --enable-checking --enable-llvm=$PWD/../llvm-objects --disable-shared --disable-bootstrap --disable-multilib</pre>
|
||||
</div>
|
||||
|
||||
<p>If you have a multi-compiler setup, then you can configure like this:</p>
|
||||
<div class="doc_code">
|
||||
|
||||
<pre>
|
||||
export CC=<b>PATH_TO_C_AND_ADA_COMPILER</b>
|
||||
export CXX=<b>PATH_TO_C++_COMPILER</b>
|
||||
../llvm-gcc-4.2/configure --prefix=<b>/usr/local</b> --enable-languages=ada,c --enable-checking --enable-llvm=$PWD/../llvm-objects --disable-shared --disable-bootstrap --disable-multilib</pre>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li><p>Build and install the compiler:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>make
|
||||
make install</pre>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- *********************************************************************** -->
|
||||
<div class="doc_section">
|
||||
<a name="license">Building the Fortran front-end</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
<p>
|
||||
To build with support for Fortran, follow the directions in the top-level
|
||||
<tt>README.LLVM</tt> file, adding ",fortran" to EXTRALANGS, for example:</p>
|
||||
|
||||
<div class="doc_code">
|
||||
<pre>
|
||||
EXTRALANGS=,fortran
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- *********************************************************************** -->
|
||||
<div class="doc_section">
|
||||
<a name="license">License Information</a>
|
||||
</div>
|
||||
|
||||
<div class="doc_text">
|
||||
<p>
|
||||
The LLVM GCC frontend is licensed to you under the GNU General Public License
|
||||
and the GNU Lesser General Public License. Please see the files COPYING and
|
||||
COPYING.LIB for more details.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
More information is <a href="FAQ.html#license">available in the FAQ</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- *********************************************************************** -->
|
||||
|
||||
<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>
|
||||
<a href="http://validator.w3.org/check/referer"><img
|
||||
src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a>
|
||||
|
||||
<a href="http://llvm.org">LLVM Compiler Infrastructure</a><br>
|
||||
Last modified: $Date$
|
||||
</address>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -338,7 +338,7 @@ on your platform.</p>
|
||||
|
||||
<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 download a copy of the source and <a
|
||||
href="CFEBuildInstrs.html">try to compile it</a> on your platform.</p>
|
||||
href="GCCFEBuildInstrs.html">try to compile it</a> on your platform.</p>
|
||||
|
||||
</div>
|
||||
|
||||
@ -518,7 +518,7 @@ href="http://gcc.gnu.org/PR13392">serious bug</a> which causes it to crash in
|
||||
the "<tt>convert_from_eh_region_ranges_1</tt>" GCC function.</p>
|
||||
|
||||
<p><b>Cygwin GCC 3.3.3</b>: The version of GCC 3.3.3 commonly shipped with
|
||||
Cygwin does not work. Please <a href="CFEBuildInstrs.html#cygwin">upgrade
|
||||
Cygwin does not work. Please <a href="GCCFEBuildInstrs.html#cygwin">upgrade
|
||||
to a newer version</a> if possible.</p>
|
||||
<p><b>SuSE GCC 3.3.3</b>: The version of GCC 3.3.3 shipped with SuSE 9.1 (and
|
||||
possibly others) does not compile LLVM correctly (it appears that exception
|
||||
@ -741,7 +741,7 @@ configured by the LLVM configure script as well as automatically updated when
|
||||
you run <tt>svn update</tt>.</p>
|
||||
|
||||
<p>If you would like to get the GCC front end source code, you can also get it
|
||||
and build it yourself. Please follow <a href="CFEBuildInstrs.html">these
|
||||
and build it yourself. Please follow <a href="GCCFEBuildInstrs.html">these
|
||||
instructions</a> to successfully get and build the LLVM GCC front-end.</p>
|
||||
|
||||
</div>
|
||||
@ -756,7 +756,7 @@ instructions</a> to successfully get and build the LLVM GCC front-end.</p>
|
||||
<p>Before configuring and compiling the LLVM suite, you can optionally extract the
|
||||
LLVM GCC front end from the binary distribution. It is used for running the
|
||||
llvm-test testsuite and for compiling C/C++ programs. Note that you can optionally
|
||||
<a href="CFEBuildInstrs.html">build llvm-gcc yourself</a> after building the
|
||||
<a href="GCCFEBuildInstrs.html">build llvm-gcc yourself</a> after building the
|
||||
main LLVM repository.</p>
|
||||
|
||||
<p>To install the GCC front end, do the following:</p>
|
||||
@ -781,7 +781,7 @@ file, not "fix" a header file that needs to be fixed for GCC, or it may be
|
||||
linked with libraries not available on your system.</p>
|
||||
|
||||
<p>In cases like these, you may want to try <a
|
||||
href="CFEBuildInstrs.html">building the GCC front end from source.</a> This is
|
||||
href="GCCFEBuildInstrs.html">building the GCC front end from source.</a> This is
|
||||
much easier now than it was in the past.</p>
|
||||
|
||||
</div>
|
||||
@ -836,7 +836,7 @@ script to configure the build system:</p>
|
||||
will fail as these libraries require llvm-gcc and llvm-g++. See
|
||||
<a href="#installcf">Install the GCC Front End</a> for details on installing
|
||||
the C/C++ Front End. See
|
||||
<a href="CFEBuildInstrs.html">Bootstrapping the LLVM C/C++ Front-End</a>
|
||||
<a href="GCCFEBuildInstrs.html">Bootstrapping the LLVM C/C++ Front-End</a>
|
||||
for details on building the C/C++ Front End.</dd>
|
||||
<dt><i>--with-tclinclude</i></dt>
|
||||
<dd>Path to the tcl include directory under which <tt>tclsh</tt> can be
|
||||
|
@ -105,7 +105,7 @@ the LLVM system.</li>
|
||||
<li><a href="TestingGuide.html">LLVM Test Suite Guide</a> - A reference
|
||||
manual for using the LLVM test suite.</li>
|
||||
|
||||
<li><a href="CFEBuildInstrs.html">How to build the C/C++ front-end</a> -
|
||||
<li><a href="GCCFEBuildInstrs.html">How to build the C/C++ front-end</a> -
|
||||
Instructions for building the front-end from source.</li>
|
||||
|
||||
<li><a href="Lexicon.html">The LLVM Lexicon</a> - Definition of acronyms, terms
|
||||
|
Loading…
Reference in New Issue
Block a user