From 6468f0a9ef1949f13efb805384ade5fdb2cc3faf Mon Sep 17 00:00:00 2001 From: Sean Silva Date: Wed, 14 Nov 2012 19:34:48 +0000 Subject: [PATCH] docs: nuke GCCFEBuildInstrs.html llvm-svn: 167961 --- llvm/docs/GCCFEBuildInstrs.html | 279 ---------------------------------------- 1 file changed, 279 deletions(-) delete mode 100644 llvm/docs/GCCFEBuildInstrs.html diff --git a/llvm/docs/GCCFEBuildInstrs.html b/llvm/docs/GCCFEBuildInstrs.html deleted file mode 100644 index 0caf9d8..0000000 --- a/llvm/docs/GCCFEBuildInstrs.html +++ /dev/null @@ -1,279 +0,0 @@ - - - - - - Building the LLVM GCC Front-End - - - -

- Building the LLVM GCC Front-End -

- -
    -
  1. Building llvm-gcc from Source
  2. -
  3. Building the Ada front-end
  4. -
  5. Building the Fortran front-end
  6. -
  7. License Information
  8. -
- -
-

Written by the LLVM Team

-
- - -

Building llvm-gcc from Source

- - -
- -

This section describes how to acquire and build llvm-gcc 4.2, which is based -on the GCC 4.2.1 front-end. Supported languages are Ada, C, C++, Fortran, -Objective-C and Objective-C++. Note that the instructions for building these -front-ends are completely different (and much easier!) than those for building -llvm-gcc3 in the past.

- -
    -
  1. Retrieve the appropriate llvm-gcc-4.2-version.source.tar.gz - archive from the LLVM web - site.

    - -

    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.2 code - for first time use:

    - -
    -
    -svn co http://llvm.org/svn/llvm-project/llvm-gcc-4.2/trunk dst-directory
    -
    -
    - -

    After that, the code can be be updated in the destination directory - using:

    - -
    -
    svn update
    -
    - -

    The mirror is brought up to date every evening.

  2. - -
  3. Follow the directions in the top-level README.LLVM file for - up-to-date instructions on how to build llvm-gcc. See below for building - with support for Ada or Fortran. -
- -
- - -

Building the Ada front-end

- - -
-

Building with support for Ada amounts to following the directions in the -top-level README.LLVM file, adding ",ada" to EXTRALANGS, for example: -EXTRALANGS=,ada

- -

There are some complications however:

- -
    -
  1. 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.

  2. -
  3. 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. Compilers known to work with the - LLVM 2.7 release - are gcc-4.2 and the - 2005, 2006 and 2007 versions of the - GNAT GPL Edition. - GNAT GPL 2008, gcc-4.3 and later will not work. - 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 - 2007 GNAT GPL Edition) - and another which supports C++, see below.

  4. -
  5. Because the Ada front-end is experimental, it is wise to build the - compiler with checking enabled. This causes it to run much slower, but - helps catch mistakes in the compiler (please report any problems using - LLVM bugzilla).

  6. -
  7. The Ada front-end fails to - bootstrap, due to lack of LLVM support for - setjmp/longjmp style exception handling (used - internally by the compiler), so you must specify - --disable-bootstrap.

  8. -
- -

Supposing appropriate compilers are available, llvm-gcc with Ada support can - be built on an x86-32 linux box using the following recipe:

- -
    -
  1. Download the LLVM source - and unpack it:

    - -
    -wget http://llvm.org/releases/2.7/llvm-2.7.tgz
    -tar xzf llvm-2.7.tgz
    -mv llvm-2.7 llvm
    -
    - -

    or check out the - latest version from subversion:

    - -
    svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
    - -
  2. - -
  3. Download the - llvm-gcc-4.2 source - and unpack it:

    - -
    -wget http://llvm.org/releases/2.7/llvm-gcc-4.2-2.7.source.tgz
    -tar xzf llvm-gcc-4.2-2.7.source.tgz
    -mv llvm-gcc-4.2-2.7.source llvm-gcc-4.2
    -
    - -

    or check out the - latest version from subversion:

    - -
    -svn co http://llvm.org/svn/llvm-project/llvm-gcc-4.2/trunk llvm-gcc-4.2
    -
    -
  4. - -
  5. Make a build directory llvm-objects for llvm and make it the - current directory:

    - -
    -mkdir llvm-objects
    -cd llvm-objects
    -
    -
  6. - -
  7. Configure LLVM (here it is configured to install into /usr/local):

    - -
    -../llvm/configure --prefix=/usr/local --enable-optimized --enable-assertions
    -
    - -

    If you have a multi-compiler setup and the C++ compiler is not the - default, then you can configure like this:

    - -
    -CXX=PATH_TO_C++_COMPILER ../llvm/configure --prefix=/usr/local --enable-optimized --enable-assertions
    -
    - -

    To compile without checking (not recommended), replace - --enable-assertions with --disable-assertions.

    - -
  8. - -
  9. Build LLVM:

    - -
    -make
    -
    -
  10. - -
  11. Install LLVM (optional):

    - -
    -make install
    -
    -
  12. - -
  13. Make a build directory llvm-gcc-4.2-objects for llvm-gcc and make it the - current directory:

    - -
    -cd ..
    -mkdir llvm-gcc-4.2-objects
    -cd llvm-gcc-4.2-objects
    -
    -
  14. - -
  15. Configure llvm-gcc (here it is configured to install into /usr/local). - The --enable-checking flag turns on sanity checks inside the compiler. - To turn off these checks (not recommended), replace --enable-checking - with --disable-checking. - Additional languages can be appended to the --enable-languages switch, - for example --enable-languages=ada,c,c++.

    - -
    -../llvm-gcc-4.2/configure --prefix=/usr/local --enable-languages=ada,c \
    -                          --enable-checking --enable-llvm=$PWD/../llvm-objects \
    -			  --disable-bootstrap --disable-multilib
    -
    - -

    If you have a multi-compiler setup, then you can configure like this:

    - -
    -export CC=PATH_TO_C_AND_ADA_COMPILER
    -export CXX=PATH_TO_C++_COMPILER
    -../llvm-gcc-4.2/configure --prefix=/usr/local --enable-languages=ada,c \
    -                          --enable-checking --enable-llvm=$PWD/../llvm-objects \
    -			  --disable-bootstrap --disable-multilib
    -
    -
  16. - -
  17. Build and install the compiler:

    - -
    -make
    -make install
    -
    -
  18. -
- -
- - -

Building the Fortran front-end

- - -
-

To build with support for Fortran, follow the directions in the top-level -README.LLVM file, adding ",fortran" to EXTRALANGS, for example:

- -
-EXTRALANGS=,fortran
-
- -
- - -

License Information

- - -
-

-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. -

-
- - - -
-
- Valid CSS - Valid HTML 4.01 - - LLVM Compiler Infrastructure
- Last modified: $Date$ -
- - - -- 2.7.4