mirror of
https://github.com/intel/llvm.git
synced 2026-01-14 11:57:39 +08:00
[lldb] Enable building with Cmake/BUILD_SHARED_LIBS
Summary: Several changes to fix CMake builds of LLDB with the BUILD_SHARED_LIBS setting on. - Force all internal libraries to be built STATIC. - Add additional library dependencies (pthread, dl, runtimedyld). - modify finalisation of SWIG wrapper to symlink the "lib" dir into python/site-packages, so _lldb.so's RPATH resolves. Test Plan: Verified one test case with "dotest.py". Reviewers: sylvestre.ledru, zturner Reviewed By: zturner Subscribers: zturner, ted, tberghammer, emaste, lldb-commits Differential Revision: http://reviews.llvm.org/D10157 llvm-svn: 239007
This commit is contained in:
@@ -304,6 +304,8 @@ def make_symlink( vDictArgs, vstrFrameworkPythonDir, vstrSrcFile, vstrTargetFile
|
||||
# llvm/build/lib/python2.7/site-packages/lldb
|
||||
strBuildDir = os.path.join("..", "..", "..", "..");
|
||||
strSrc = os.path.normcase(os.path.join(strBuildDir, vstrSrcFile));
|
||||
strTargetDir = os.path.dirname(strTarget);
|
||||
strSrc = os.path.relpath(os.path.abspath(strSrc), strTargetDir);
|
||||
|
||||
if eOSType == utilsOsType.EnumOsType.Unknown:
|
||||
bOk = False;
|
||||
@@ -371,6 +373,13 @@ def make_symlink_liblldb( vDictArgs, vstrFrameworkPythonDir, vstrLiblldbFileName
|
||||
strLibFileExtn = ".so";
|
||||
strSrc = os.path.join("lib", "liblldb" + strLibFileExtn);
|
||||
|
||||
if eOSType != utilsOsType.EnumOsType.Windows:
|
||||
# Create a symlink to the "lib" directory, to ensure liblldb's RPATH is
|
||||
# effective.
|
||||
bOk, strErrMsg = make_symlink( vDictArgs, vstrFrameworkPythonDir, "lib", os.path.join("../lib") );
|
||||
if not bOk:
|
||||
return (bOk, strErrMsg)
|
||||
|
||||
bOk, strErrMsg = make_symlink( vDictArgs, vstrFrameworkPythonDir, strSrc, strTarget );
|
||||
|
||||
return (bOk, strErrMsg);
|
||||
|
||||
Reference in New Issue
Block a user