[lldb-dev] llvm.zip and lldb outside linux.

Greg Clayton gclayton at apple.com
Tue Jan 25 16:43:56 PST 2011


On Jan 25, 2011, at 3:04 PM, kirk.beitz at nokia.com wrote:

> i see from svn that llvm.zip is semi-regularly contributed when updates are made to the archives that it contains which are necessary for building lldb .
> 
> i presume that in order to create llvm.zip for this purpose, it's pretty much necessary to properly build all of llvm.  by which i mean if i checked out all or the appropriate parts of llvm, i'd find a makefile that creates the llvm.zip .  is that correct?
> is there a process in place for this?

Yep, the llvm.zip binary is currently for MacOSX only. It is built using the terminal:

cd lldb
rm -rf llvm.zip llvm
xcodebuild -configuration BuildAndIntegration
./scripts/checkpoint-llvm.pl llvm build/lldb.build/BuildAndIntegration/LLDB.build/DerivedSources/llvm.build build/BuildAndIntegration llvm.zip

Then checkin the new "llvm.zip" file.

You also have the option of building the correct revision of llvm yourself:

% grep llvm_revision build-llvm.pl
our $llvm_revision = "123723";

Then you can 

svn co http://llvm.org/svn/llvm-project/llvm/trunk -r 123723 llvm
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk -r 123723 clang
cd ..
./configure --enable-optimized --disable-assertions --enable-targets=x86_64,arm -arch x86_64
make

Then you can make a symlink to the llvm build folder in lldb:

cd lldb
ln -s ~/my/build/dir/llvm

Then you can build.

> i had been of the understanding that some work is being done on building lldb for linux … which would imply that something similar has to be done with linux-specific archives and tools … given that the committed llvm.zip contains mac "fat" archives, and that the extraction scripts use the mac/darwin tool 'lipo' to extract the archives for use in building lldb.

On linux, you checkout LLDB into the tools directory:

svn co http://llvm.org/svn/llvm-project/llvm/trunk -r 123723 llvm
cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk -r 123723 clang
svn co https://$USER@llvm.org/svn/llvm-project/lldb/trunk lldb
cd ..
./configure --enable-optimized --disable-assertions --enable-targets=x86_64,arm
make

This should just build everything you need.

> 
> any information/help on any work already done on this front would be greatly appreciated.


Let me know if you have any other questions! But this should get you going.

Greg Clayton






More information about the lldb-dev mailing list