[llvm-commits] [llvm-gcc-4-2] r39757 - /llvm-gcc-4-2/trunk/README.LLVM
Devang Patel
dpatel at apple.com
Wed Jul 11 15:08:46 PDT 2007
Author: dpatel
Date: Wed Jul 11 17:08:46 2007
New Revision: 39757
URL: http://llvm.org/viewvc/llvm-project?rev=39757&view=rev
Log:
Copy README from llvm-gcc-4.0
Added:
llvm-gcc-4-2/trunk/README.LLVM
Added: llvm-gcc-4-2/trunk/README.LLVM
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4-2/trunk/README.LLVM?rev=39757&view=auto
==============================================================================
--- llvm-gcc-4-2/trunk/README.LLVM (added)
+++ llvm-gcc-4-2/trunk/README.LLVM Wed Jul 11 17:08:46 2007
@@ -0,0 +1,148 @@
+//===----------------------------------------------------------------------===//
+// Building llvm-gcc4 from Source
+//===----------------------------------------------------------------------===//
+
+These instructions describe how to build llvm-gcc-4.2.
+
+Note that this should work on all the supported LLVM targets. If you run into
+problems, please ask for help or file a bug.
+
+Please follow these instructions carefully. In particular, the target-specific
+configure instructions should be followed to ensure correct builds.
+
+
+//===----------------------------------------------------------------------===//
+ First Step: Build LLVM
+//===----------------------------------------------------------------------===//
+
+First, check out LLVM from CVS, then build it in optimized mode (a Release
+build, as opposed to a Debug one)):
+
+ make ENABLE_OPTIMIZED=1
+
+If you use a Debug instead of a Release build of LLVM, make sure you add
+--enable-checking to the configure flags below or llvm-gcc-4.2 will not build!
+
+Below we assume the LLVM OBJDIR is $LLVMOBJDIR.
+
+
+//===----------------------------------------------------------------------===//
+ Unpack Front-end Source
+//===----------------------------------------------------------------------===//
+
+$ mkdir llvm-gcc
+$ cd llvm-gcc
+$ tar zxvf llvm-gcc4-x.y.source.tar.gz
+
+
+//===----------------------------------------------------------------------===//
+ Target-Specific configure Instructions
+//===----------------------------------------------------------------------===//
+
+//===-----------------------
+Linux-specific Instructions:
+
+If llvm-gcc doesn't build right, try building LLVM with OPTIMIZE_OPTION=-O2.
+This may be host compiler version specific.
+
+If you get an error message building llvm-gcc like this:
+ ...gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by
+ /usr/lib/libstdc++.so.6)
+
+you are probably hitting http://llvm.org/PR896. Please reconfigure with the
+--disable-shared option to work around this.
+
+//===-----------------------
+X86-64/AMD-64/EM64-T for any OS other than Darwin/Mac OS X:
+
+When targeting non-darwin X86-64/AMD-64/EM64-T, configure with
+--disable-shared. The LLVM X86-64 backend doesn't support PIC codegen on
+non-darwin systems yet. If you get a build error, try configuring with
+--disable-multilib.
+
+
+//===-----------------------
+Darwin/Mac OS X Instructions:
+
+First step: Upgrade your Xcode installation: you need at least Xcode 2.4.
+
+Next, decide if you want Objective-C support. If so:
+ EXTRALANGS=,objc,obj-c++
+
+If building for Darwin/PPC:
+ TRIPLE=powerpc-apple-darwin8
+
+If building for Darwin/X86 (32- and 64-bit support):
+ TARGETOPTIONS=--with-arch=nocona --with-tune=generic
+ TRIPLE=i686-apple-darwin8
+
+If building for Darwin/X86 (32-bit support only):
+ TARGETOPTIONS=--with-arch=pentium-m --with-tune=prescott --disable-multilib
+ TRIPLE=i686-apple-darwin8
+
+Building for Darwin/Mac OS X is significantly different than building for other
+targets. Darwin considers libstdc++ to be part of the operating system, not as
+part of the compiler. As such, you should *remove* the libstdc++-v3 directory
+from the llvm-gcc4 source directory before configuring it:
+
+ rm -rf llvm-gcc4-x.y.source/libstdc++-v3
+
+In addition, you *must* specify the following options to configure:
+
+ --with-gxx-include-dir=/usr/include/c++/4.0.0
+ --build=$TRIPLE --host=$TRIPLE --target=$TRIPLE
+
+With these options, llvm-gcc will build the same way as Apple's system GCC.
+
+
+//===----------------------------------------------------------------------===//
+ Build Options
+//===----------------------------------------------------------------------===//
+
+Version Identifier:
+
+ If you want LLVM to include an identifying marker in the --version output,
+ build llvm-gcc with LLVM_VERSION_INFO=XXX. For example, to build the LLVM
+ 1.9 Release front-end, use 'make LLVM_VERSION_INFO=1.9'. This will cause the
+ front-end to print: "gcc (GCC) 4.0.1 LLVM (Apple Computer, Inc. build 1.9)"
+ as the version number.
+
+ BUILDOPTIONS=LLVM_VERSION_INFO=whatever
+
+
+//===----------------------------------------------------------------------===//
+ Configure, Build, Install, Test
+//===----------------------------------------------------------------------===//
+
+Next, make an object directory and install directory as siblings to the
+llvm-gcc source directory, and build and install llvm-gcc:
+
+$ mkdir obj
+$ mkdir install
+$ cd obj
+$ ../llvm-gcc4-x.y.source/configure --prefix=`pwd`/../install \
+ --enable-llvm=$LLVMOBJDIR --enable-languages=c,c++$EXTRALANGS $TARGETOPTIONS
+$ make $BUILDOPTIONS
+$ make install
+
+Note that if you prefer to bootstrap llvm-gcc (so that the final llvm-gcc
+executables have been compiled with llvm-gcc itself), replace "make" with
+"make bootstrap".
+
+Finally, add symlinks for llvm-gcc and llvm-g++ to your path:
+
+$ su
+$ cd /usr/local/bin
+$ ln -s <llvmgccdir>/install/bin/gcc llvm-gcc
+$ ln -s <llvmgccdir>/install/bin/g++ llvm-g++
+$ exit
+
+You should now have something like:
+
+$ llvm-gcc -v
+...
+gcc version 4.0.1 LLVM (Apple Computer, Inc. build 5400)
+
+
+** NOTE: If the -v line above doesn't include "LLVM", you probably mistyped the
+--enable-llvm=xxx line and have a normal gcc, not an llvm-gcc.
More information about the llvm-commits
mailing list