X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FCFEBuildInstrs.html;h=65c375caa94b5329f8aead549770e76b08431af5;hb=9ec81371c0bc00fb60a78a16f1cb261e420f8969;hp=3dde111a5df2a1fdf222a414a641bf0655748309;hpb=46079d2274de38bd08ea7f731726d1a5a1296b75;p=oota-llvm.git diff --git a/docs/CFEBuildInstrs.html b/docs/CFEBuildInstrs.html index 3dde111a5df..65c375caa94 100644 --- a/docs/CFEBuildInstrs.html +++ b/docs/CFEBuildInstrs.html @@ -1,140 +1,97 @@ - -
-Instructions - |
This document is intended to explain the process of building the LLVM -C/C++ front-end, based on GCC 3.4, from source.
- -NOTE: This is currently a somewhat fragile, error-prone -process, and you should only try to do it if (A) you really, really, -really can't use the binaries we distribute, and (B) you are a wicked -good GCC hacker.
+We welcome patches to help make this process simpler.
+This section describes how to aquire and build llvm-gcc4, which is based on +the GCC 4.0.1 front-end. This front-end supports C, C++, Objective-C, and +Objective-C++. Note that the instructions for building this front-end are +completely different (and much easier!) than those for building llvm-gcc3 in +the past.
Configure and build the LLVM libraries and tools using:
-- % cd llvm - % ./configure [options...] - % gmake tools-only --
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.
+Retrieve the appropriate llvm-gcc4-x.y.source.tar.gz archive from the + llvm web site.
-Add the directory containing the tools to your PATH.
-- % set path = ( `cd llvm/tools/Debug && pwd` $path ) -- -
Unpack the C/C++ front-end source into cfrontend/src.
+It is also possible to download the sources of the llvm-gcc4 front end + from a read-only mirror using subversion. To check out the code the + first time use:
-Edit src/configure. Change the first line (starting w/ #!) to - contain the correct full pathname of sh.
- -Make "build" and "install" directories as siblings of the "src" - tree.
+- % pwd - /usr/local/example/cfrontend/src - % cd .. - % mkdir build install - % set CFEINSTALL = `pwd`/install +svn co svn://anonsvn.opensource.apple.com/svn/llvm/trunk dst-directory+
Configure, build and install the C front-end:
-- % cd build - % ../src/configure --prefix=$CFEINSTALL --disable-nls --disable-shared \ - --enable-languages=c,c++ - % gmake all-gcc - % setenv LLVM_LIB_SEARCH_PATH `pwd`/gcc - % gmake all; gmake install -+
After that, the code can be be updated in the destination directory + using:
-Common Problem 1: You may get error messages regarding the fact - that LLVM does not support inline assembly. Here are two common - fixes:
- -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
.
src/libstdc++-v3/config/cpu/name-of-cpu/atomicity.h
- 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 - 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
-$CFEINSTALL/target-triplet/sys-include
to
-$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
.)
Build and install the runtime (bytecode) libraries by running:
-- % gmake -C runtime - % mkdir $CFEINSTALL/bytecode-libs - % gmake -C runtime install - % setenv LLVM_LIB_SEARCH_PATH $CFEINSTALL/bytecode-libs -+
svn update+
Test the newly-installed C frontend by one or more of the -following means:
-gmake -C
- test/Programs
;
- The mirror is brought up to date every evening.
+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. +
+ ++More information is available in the FAQ. +
+