Thanks, Zachary, I'll look into it. Cheers, Andrew
On Tue, 3 Nov 2015 6:18 am Zachary Turner <ztur...@google.com> wrote: > Resending to the correct mailing list. > > > On Mon, Nov 2, 2015 at 2:17 PM Zachary Turner <ztur...@google.com> wrote: > >> Hi Andrew, >> >> This CL has been in for quite a while, but apparently it was broken all >> this time. I reverted the changes to finishSwigPythonLLDB.py as they were >> creating a dangling symlink. Please see r251840 ( >> http://lists.llvm.org/pipermail/lldb-commits/Week-of-Mon-20151102/024878.html) >> for >> more information in case you're interested in resubmitting after you figure >> out the correct fix. >> >> On Wed, Jun 3, 2015 at 8:56 PM Andrew Wilkins <axw...@gmail.com> wrote: >> >>> Author: axw >>> Date: Wed Jun 3 22:12:37 2015 >>> New Revision: 239007 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=239007&view=rev >>> Log: >>> [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 >>> >>> Modified: >>> lldb/trunk/cmake/LLDBDependencies.cmake >>> lldb/trunk/cmake/modules/AddLLDB.cmake >>> lldb/trunk/cmake/modules/LLDBConfig.cmake >>> lldb/trunk/scripts/Python/finishSwigPythonLLDB.py >>> lldb/trunk/tools/lldb-server/CMakeLists.txt >>> >>> Modified: lldb/trunk/cmake/LLDBDependencies.cmake >>> URL: >>> http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/LLDBDependencies.cmake?rev=239007&r1=239006&r2=239007&view=diff >>> >>> ============================================================================== >>> --- lldb/trunk/cmake/LLDBDependencies.cmake (original) >>> +++ lldb/trunk/cmake/LLDBDependencies.cmake Wed Jun 3 22:12:37 2015 >>> @@ -169,6 +169,7 @@ set( LLVM_LINK_COMPONENTS >>> core >>> mcdisassembler >>> executionengine >>> + runtimedyld >>> option >>> support >>> ) >>> >>> Modified: lldb/trunk/cmake/modules/AddLLDB.cmake >>> URL: >>> http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/AddLLDB.cmake?rev=239007&r1=239006&r2=239007&view=diff >>> >>> ============================================================================== >>> --- lldb/trunk/cmake/modules/AddLLDB.cmake (original) >>> +++ lldb/trunk/cmake/modules/AddLLDB.cmake Wed Jun 3 22:12:37 2015 >>> @@ -44,13 +44,14 @@ macro(add_lldb_library name) >>> set(libkind MODULE) >>> elseif (PARAM_SHARED) >>> set(libkind SHARED) >>> - elseif (PARAM_STATIC) >>> - set(libkind STATIC) >>> elseif (PARAM_OBJECT) >>> set(libkind OBJECT) >>> else () >>> - # library type unspecified - controlled by BUILD_SHARED_LIBS >>> - unset(libkind) >>> + # PARAM_STATIC or library type unspecified. BUILD_SHARED_LIBS >>> + # does not control the kind of libraries created for LLDB, >>> + # only whether or not they link to shared/static LLVM/Clang >>> + # libraries. >>> + set(libkind STATIC) >>> endif() >>> >>> #PIC not needed on Win >>> >>> Modified: lldb/trunk/cmake/modules/LLDBConfig.cmake >>> URL: >>> http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/LLDBConfig.cmake?rev=239007&r1=239006&r2=239007&view=diff >>> >>> ============================================================================== >>> --- lldb/trunk/cmake/modules/LLDBConfig.cmake (original) >>> +++ lldb/trunk/cmake/modules/LLDBConfig.cmake Wed Jun 3 22:12:37 2015 >>> @@ -219,6 +219,14 @@ else() >>> >>> endif() >>> >>> +if (HAVE_LIBPTHREAD) >>> + list(APPEND system_libs pthread) >>> +endif(HAVE_LIBPTHREAD) >>> + >>> +if (HAVE_LIBDL) >>> + list(APPEND system_libs ${CMAKE_DL_LIBS}) >>> +endif() >>> + >>> if(LLDB_REQUIRES_EH) >>> set(LLDB_REQUIRES_RTTI ON) >>> else() >>> >>> Modified: lldb/trunk/scripts/Python/finishSwigPythonLLDB.py >>> URL: >>> http://llvm.org/viewvc/llvm-project/lldb/trunk/scripts/Python/finishSwigPythonLLDB.py?rev=239007&r1=239006&r2=239007&view=diff >>> >>> ============================================================================== >>> --- lldb/trunk/scripts/Python/finishSwigPythonLLDB.py (original) >>> +++ lldb/trunk/scripts/Python/finishSwigPythonLLDB.py Wed Jun 3 >>> 22:12:37 2015 >>> @@ -304,6 +304,8 @@ def make_symlink( vDictArgs, vstrFramewo >>> # 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, vst >>> 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); >>> >>> Modified: lldb/trunk/tools/lldb-server/CMakeLists.txt >>> URL: >>> http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/CMakeLists.txt?rev=239007&r1=239006&r2=239007&view=diff >>> >>> ============================================================================== >>> --- lldb/trunk/tools/lldb-server/CMakeLists.txt (original) >>> +++ lldb/trunk/tools/lldb-server/CMakeLists.txt Wed Jun 3 22:12:37 2015 >>> @@ -29,6 +29,9 @@ if (BUILD_SHARED_LIBS ) >>> ) >>> >>> target_link_libraries(lldb-server liblldb) >>> + if (HAVE_LIBPTHREAD) >>> + target_link_libraries(lldb-server pthread) >>> + endif () >>> else() >>> add_lldb_executable(lldb-server >>> lldb-gdbserver.cpp >>> >>> >>> _______________________________________________ >>> lldb-commits mailing list >>> lldb-comm...@cs.uiuc.edu >>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits >>> >>
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits