Author: labath
Date: Tue Jan 10 03:40:38 2017
New Revision: 291555

URL: http://llvm.org/viewvc/llvm-project?rev=291555&view=rev
Log:
[cmake] Fix LLVM_LINK_LLVM_DYLIB build, again

The llvm_config hack for lldb-server is only necessary for !DYLIB builds, as
otherwise we would get unresolved symbols from lldb libraries which do not track
their dependencies correctly (all of them). In a DYLIB build, the so will
already be added to the link dependencies and we can use that to resolve all
missing symbols.

The proper fix for this would be to have each lldb library track its
dependencies correctly.

Modified:
    lldb/trunk/tools/lldb-server/CMakeLists.txt

Modified: lldb/trunk/tools/lldb-server/CMakeLists.txt
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/CMakeLists.txt?rev=291555&r1=291554&r2=291555&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-server/CMakeLists.txt (original)
+++ lldb/trunk/tools/lldb-server/CMakeLists.txt Tue Jan 10 03:40:38 2017
@@ -183,7 +183,13 @@ else()
   target_link_libraries(lldb-server ${LLDB_USED_LIBS})
   target_link_libraries(lldb-server ${CLANG_USED_LIBS})
 endif()
-llvm_config(lldb-server ${LLVM_LINK_COMPONENTS})
+if(NOT LLVM_LINK_LLVM_DYLIB)
+  # This is necessary in !LLVM_LINK_LLVM_DYLIB as LLDB's libs do not track 
their
+  # dependencies properly. It is conditional because in a LLVM_LINK_LLVM_DYLIB
+  # build it would introduce duplicate symbols (add_lldb_tool links to libLLVM,
+  # and this would add the individual .a files as well).
+  llvm_config(lldb-server ${LLVM_LINK_COMPONENTS})
+endif()
 
 target_link_libraries(lldb-server ${LLDB_SYSTEM_LIBS})
 


_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to