[lldb-dev] CMake & BUILD_SHARED_LIBS

Andrew Wilkins axwalk at gmail.com
Sun May 31 00:18:59 PDT 2015


Hi,

I'm looking into updating the LLVM Debian packaging to use CMake instead of
autotools. I've hit some issues in building LLDB to do with the use of
BUILD_SHARED_LIBS. I thought I should email the list before proposing any
changes, as described below.

Many of the libraries in LLDB are not specified as being shared or static
in the CMake files. If you set BUILD_SHARED_LIBS, then it will attempt to
build them as shared; this fails due to undefined library dependencies. I
looked at adding them, but found there were some circular dependencies
which made it a bit messy. Also, it doesn't seem very useful to build them
as shared objects. Since the Makefiles only support building the internal
libraries as static, I figure the CMake files should be updated to do the
same.

With the internal libraries built as static archives, then lldb will build
successfully (with some minor dependency additions; pthread, dl, and LLVM's
runtimedyld component). There are then some issues with loading the Python
extension module. The extension module is a symlink to liblldb.so, whose
RPATH entries aren't valid relative to the symlink target. This can be
resolved by adding a symlink from lib/python<version>/site-packages/lib to
lib.

Any issues? If not, I'll send a patch through soon.

Cheers,
Andrew
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20150531/afcdc2d3/attachment.html>


More information about the lldb-dev mailing list