Also of note. This implementation is “standalone” safe. If LLDB is being built 
without clang (against a pre-installed clang) CLANG_TABLEGEN_TARGETS will not 
be set, so no dependency will be setup.

That same concern came up in a similar patch I submitted to Swift.

-Chris

> On Sep 22, 2016, at 2:23 PM, Zachary Turner <ztur...@google.com> wrote:
> 
> Ok, cool!
> 
> On Thu, Sep 22, 2016 at 2:23 PM Chris Bieneman <be...@apple.com 
> <mailto:be...@apple.com>> wrote:
> Calls to add_dependencies don’t setup linkage, they just setup build order, 
> so changing this has no impact on what is linked or how.
> 
> -Chris
> 
>> On Sep 22, 2016, at 2:21 PM, Zachary Turner <ztur...@google.com 
>> <mailto:ztur...@google.com>> wrote:
>> 
>> At the end of the day though, lldb DOES need to link against libclang.  Is 
>> it still doing this?
>> 
>> 
>> On Thu, Sep 22, 2016 at 2:17 PM Chris Bieneman via lldb-commits 
>> <lldb-commits@lists.llvm.org <mailto:lldb-commits@lists.llvm.org>> wrote:
>> Author: cbieneman
>> Date: Thu Sep 22 16:08:27 2016
>> New Revision: 282196
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=282196&view=rev 
>> <http://llvm.org/viewvc/llvm-project?rev=282196&view=rev>
>> Log:
>> [CMake] Fixing a small hack in add_lldb_library
>> 
>> This code was adding an explicit dependency on libclang because lldb needs 
>> clang headers, changing this to instead depend on the clang tablegen targets 
>> means we don't have to depend on building the clang bits in libclang that 
>> lldb doesn't need.
>> 
>> Note this is still a bit of a hack because we're adding the dependency to 
>> all lldb libraries, instead of just the ones that need it.
>> 
>> Modified:
>>     lldb/trunk/cmake/modules/AddLLDB.cmake
>> 
>> Modified: lldb/trunk/cmake/modules/AddLLDB.cmake
>> URL: 
>> http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/AddLLDB.cmake?rev=282196&r1=282195&r2=282196&view=diff
>>  
>> <http://llvm.org/viewvc/llvm-project/lldb/trunk/cmake/modules/AddLLDB.cmake?rev=282196&r1=282195&r2=282196&view=diff>
>> ==============================================================================
>> --- lldb/trunk/cmake/modules/AddLLDB.cmake (original)
>> +++ lldb/trunk/cmake/modules/AddLLDB.cmake Thu Sep 22 16:08:27 2016
>> @@ -91,7 +91,10 @@ macro(add_lldb_library name)
>>    # Hack: only some LLDB libraries depend on the clang autogenerated 
>> headers,
>>    # but it is simple enough to make all of LLDB depend on some of those
>>    # headers without negatively impacting much of anything.
>> -  add_dependencies(${name} libclang)
>> +  get_property(CLANG_TABLEGEN_TARGETS GLOBAL PROPERTY 
>> CLANG_TABLEGEN_TARGETS)
>> +  if(CLANG_TABLEGEN_TARGETS)
>> +    add_dependencies(${name} ${CLANG_TABLEGEN_TARGETS})
>> +  endif()
>> 
>>    set_target_properties(${name} PROPERTIES FOLDER "lldb libraries")
>>  endmacro(add_lldb_library)
>> 
>> 
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits@lists.llvm.org <mailto:lldb-commits@lists.llvm.org>
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits 
>> <http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits>
> 

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

Reply via email to