[LLVMdev] Help with building LLVM 2.6 GCC

Trevor Harmon Trevor.W.Harmon at nasa.gov
Thu Apr 1 11:12:02 PDT 2010


On Apr 1, 2010, at 4:45 AM, naohk wrote:

> Correct me if I'm wrong. To build llvm, you'd need llvm-gcc front-end.

The Getting Started Guide is a bit misleading on this point because  
the "Install the llvm-gcc-4.2 front end" step comes before the "Build  
the LLVM Suite" step, implying that LLVM GCC is a dependency, but it's  
not.

FWIW, here's how I build LLVM:

- mkdir llvm
- cd llvm
- Unpack LLVM source (or checkout via Subversion) to "llvm-src"
- cd llvm-src
- ./configure --prefix=$PWD/../install
       --disable-optimized for debug builds; --enable-optimized for  
release builds
- make
- make install

This works for me on OS X 10.5 and Ubuntu 9.10.

I've never been able to get the binary distribution of LLVM GCC to  
work on OS X -- I always get "dyld: Library not loaded: /opt/local/lib/ 
libiconv.2.dylib" -- so I've gotten in the habit of building LLVM GCC  
from source (on Linux too). These are the steps that work for me every  
time:

- mkdir llvm-gcc
- cd llvm-gcc
- Unpack LLVM GCC source (or checkout via Subversion) to "llvm-gcc-src"
- mkdir obj
- mkdir install
- cd obj
- export TRIPLE=i686-apple-darwin9
     (Use i386-pc-linux-gnu for Linux)
- export BUILDOPTIONS=LLVM_VERSION_INFO=2.7
     (Replace "2.7" with the current version number)
- export TARGETOPTIONS='--with-arch=nocona --with-tune=generic'
- ../llvm-gcc-src/configure --prefix=$PWD/../install
   --program-prefix=llvm- --build=$TRIPLE --host=$TRIPLE
   --target=$TRIPLE
   --enable-llvm=(full path of the LLVM source directory)
   --enable-languages=c,c++ $TARGETOPTIONS
     (If you built a Debug instead of a Release of LLVM, add
       --enable-checking.)
     (On OS X, add "--with-gxx-include-dir=/usr/include/c++/4.0.0")
- make $BUILDOPTIONS
- make install
- If on OS X:
   ln -sf /usr/lib/libstdc++.6.dylib `pwd`/../install/lib
   ln -sf /usr/lib/libstdc++.6.dylib `pwd`/../install/lib/libstdc+ 
+.dylib

This works for me on OS X 10.5 and Ubuntu 9.10, although I had to  
install some dependencies on Ubuntu (bison, flex).

Trevor




More information about the llvm-dev mailing list