diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2003-10-23 01:48:33 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2003-10-23 01:48:33 +0000 |
commit | 83bd33a81423c799c4cfb368dc47a66809dd5a95 (patch) | |
tree | 5c9584679ab0a54dfb1a0ed616ef70f8244d578c /docs/CFEBuildInstrs.html | |
parent | cd11e45d61914ade2b227d4b9d5da12f5eb84d31 (diff) | |
download | external_llvm-83bd33a81423c799c4cfb368dc47a66809dd5a95.zip external_llvm-83bd33a81423c799c4cfb368dc47a66809dd5a95.tar.gz external_llvm-83bd33a81423c799c4cfb368dc47a66809dd5a95.tar.bz2 |
* Use UTF-8 instead of ISO-8859-1
* Use stylesheet instead of explicit <font> formatting
* Stop using <ul> for layout
* Close <li> tags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9393 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/CFEBuildInstrs.html')
-rw-r--r-- | docs/CFEBuildInstrs.html | 85 |
1 files changed, 47 insertions, 38 deletions
diff --git a/docs/CFEBuildInstrs.html b/docs/CFEBuildInstrs.html index 3dde111..0367dd8 100644 --- a/docs/CFEBuildInstrs.html +++ b/docs/CFEBuildInstrs.html @@ -1,17 +1,15 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html><head><title>Bootstrapping the C/C++ Front-End</title></head> - -<body bgcolor=white> -<center><h1><font size=7>Bootstrapping the C/C++ Front-End</font></h1></center> - -<br><br> - -<!-- *********************************************************************** --> -<table width="100%" bgcolor="#330077" border=0 cellpadding=4 cellspacing=0> -<tr><td align=center><font color="#EEEEFF" size=+2 face="Georgia,Palatino"><b> -<a name="instructions">Instructions -</b></font></td></tr></table><ul> -<!-- *********************************************************************** --> +<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>Bootstrapping the C/C++ Front-End</title> +</head> +<body> + +<div class="doc_title"> + Bootstrapping the C/C++ Front-End +</div> <p>This document is intended to explain the process of building the LLVM C/C++ front-end, based on GCC 3.4, from source.</p> @@ -23,6 +21,14 @@ good GCC hacker.</p> <p>We welcome patches to help make this process simpler.</p> +<!-- *********************************************************************** --> +<div class="doc_section"> + <a name="instructions">Instructions</a> +</div> +<!-- *********************************************************************** --> + +<div class="doc_text"> +<p> <ol> <li><p>Configure and build the LLVM libraries and tools using:</p> <pre> @@ -33,17 +39,17 @@ good GCC hacker.</p> <p>The use of the non-default target "tools-only" means that the LLVM tools and libraries will build, and the binaries will be deposited in llvm/tools/Debug, but the runtime (bytecode) - libraries will not build.</p> + libraries will not build.</p></li> <li><p>Add the directory containing the tools to your PATH.</p> <pre> - % set path = ( `cd llvm/tools/Debug && pwd` $path ) -</pre> + % set path = ( `cd llvm/tools/Debug && pwd` $path ) +</pre></li> -<li><p>Unpack the C/C++ front-end source into cfrontend/src.</p> +<li><p>Unpack the C/C++ front-end source into cfrontend/src.</p></li> <li><p>Edit src/configure. Change the first line (starting w/ #!) to - contain the correct full pathname of sh.</p> + contain the correct full pathname of sh.</p></li> <li><p>Make "build" and "install" directories as siblings of the "src" tree.</p> @@ -53,7 +59,7 @@ good GCC hacker.</p> % cd .. % mkdir build install % set CFEINSTALL = `pwd`/install -</pre> +</pre></li> <li><p>Configure, build and install the C front-end:</p> <pre> @@ -73,34 +79,36 @@ good GCC hacker.</p> <li><p><b>Fix 1:</b> If you have system header files that include inline assembly, you may have to modify them to remove the inline assembly, and install the modified versions in - <code>$CFEINSTALL/<i>target-triplet</i>/sys-include</code>.</p> + <code>$CFEINSTALL/<i>target-triplet</i>/sys-include</code>.</p></li> <li><b>Fix 2:</b> If you are building the C++ front-end on a CPU we haven't tried yet, you will probably have to edit the appropriate version of atomicity.h under <code>src/libstdc++-v3/config/cpu/<i>name-of-cpu</i>/atomicity.h</code> - and apply a patch so that it does not use inline assembly.</p> + and apply a patch so that it does not use inline assembly.</p></li> </ul> <p><b>Common Problem 2:</b> <b>FIXME:</b> Chris should add a section about common problems porting to a new architecture, including changes you - might have to make to the gcc/gcc/config/<i>name-of-cpu</i> + might have to make to the <tt>gcc/gcc/config/<i>name-of-cpu</i></tt> directory. For example (expand these):</p> <ul> - <li>Munge linker flags so they are compatible with gccld. + <li>Munge linker flags so they are compatible with <tt>gccld</tt>.</li> <li>Change the target so it doesn't have long double; just use double - instead. - <li>No inline assembly for position independent code. - <li>We handle init and fini differently. - <li>Do not include inline assembly map things for SPARC, or profile things. + instead.</li> + <li>No inline assembly for position independent code.</li> + <li>We handle init and fini differently.</li> + <li>Do not include inline assembly map things for SPARC, or profile + things.</li> </ul> +</li> <li><p>Go back into the LLVM source tree proper. Edit Makefile.config to redefine <code>LLVMGCCDIR</code> to the full pathname of the <code>$CFEINSTALL</code> directory, which is the directory you just installed the C front-end into. (The ./configure script is likely to -have set this to a directory which does not exist on your system.)</p> +have set this to a directory which does not exist on your system.)</p></li> <li><p>If you edited header files during the C/C++ front-end build as described in "Fix 1" above, you must now copy those header files from @@ -108,7 +116,7 @@ described in "Fix 1" above, you must now copy those header files from <code>$CFEINSTALL/lib/gcc/<i>target-triplet</i>/3.4-llvm/include</code>. (This should be the "include" directory in the same directory as the libgcc.a library, which you can find by running -<code>$CFEINSTALL/bin/gcc --print-libgcc-file-name</code>.)</p> +<code>$CFEINSTALL/bin/gcc --print-libgcc-file-name</code>.)</p></li> <li><p>Build and install the runtime (bytecode) libraries by running:</p> <pre> @@ -116,25 +124,26 @@ libgcc.a library, which you can find by running % mkdir $CFEINSTALL/bytecode-libs % gmake -C runtime install % setenv LLVM_LIB_SEARCH_PATH $CFEINSTALL/bytecode-libs -</pre> +</pre></li> <li><p>Test the newly-installed C frontend by one or more of the following means:</p> <ul> - <li> compiling and running a "hello, world" program in C or C++. + <li> compiling and running a "hello, world" program in C or C++.</li> <li> running the tests under test/Programs using <code>gmake -C - test/Programs</code>; + test/Programs</code></li> </ul> - -</p> + </p> +</li> </ol> +</div> <!-- *********************************************************************** --> -</ul> -<!-- *********************************************************************** --> -<hr><font size-1> +<hr><font size="-1"> <address><a href="mailto:gaeke -at- uiuc.edu">Brian Gaeke</a></address> Last modified: $Date$ -</font></body></html> +</font> +</body> +</html> |