diff --git a/docs/CFEBuildInstrs.html b/docs/CFEBuildInstrs.html index 3dde111a5df..0367dd804d8 100644 --- a/docs/CFEBuildInstrs.html +++ b/docs/CFEBuildInstrs.html @@ -1,17 +1,15 @@ -
-Instructions - |
This document is intended to explain the process of building the LLVM C/C++ front-end, based on GCC 3.4, from source.
@@ -23,6 +21,14 @@ good GCC hacker.We welcome patches to help make this process simpler.
+ +
Configure and build the LLVM libraries and tools using:
@@ -33,17 +39,17 @@ good GCC hacker.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.
+ libraries will not build.
Add the directory containing the tools to your PATH.
- % set path = ( `cd llvm/tools/Debug && pwd` $path ) -+ % set path = ( `cd llvm/tools/Debug && pwd` $path ) +
Unpack the C/C++ front-end source into cfrontend/src.
+Unpack the C/C++ front-end source into cfrontend/src.
Edit src/configure. Change the first line (starting w/ #!) to - contain the correct full pathname of sh.
+ contain the correct full pathname of sh.Make "build" and "install" directories as siblings of the "src" tree.
@@ -53,7 +59,7 @@ good GCC hacker. % cd .. % mkdir build install % set CFEINSTALL = `pwd`/install - +Configure, build and install the C front-end:
@@ -73,34 +79,36 @@ good GCC hacker.
Fix 1: 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
- $CFEINSTALL/target-triplet/sys-include
.
$CFEINSTALL/target-triplet/sys-include
.src/libstdc++-v3/config/cpu/name-of-cpu/atomicity.h
- and apply a patch so that it does not use inline assembly.
+ and apply a patch so that it does not use inline assembly.Common Problem 2: FIXME: 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/name-of-cpu + might have to make to the gcc/gcc/config/name-of-cpu directory. For example (expand these):
Go back into the LLVM source tree proper. Edit Makefile.config
to redefine LLVMGCCDIR
to the full pathname of the
$CFEINSTALL
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.)
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
$CFEINSTALL/lib/gcc/target-triplet/3.4-llvm/include
.
(This should be the "include" directory in the same directory as the
libgcc.a library, which you can find by running
-$CFEINSTALL/bin/gcc --print-libgcc-file-name
.)
$CFEINSTALL/bin/gcc --print-libgcc-file-name
.)Build and install the runtime (bytecode) libraries by running:
@@ -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 -+
Test the newly-installed C frontend by one or more of the following means:
gmake -C
- test/Programs
;
+ test/Programs