[Lldb-commits] [lldb] r210035 - Fix most of the remaining Windows build warnings.

Todd Fiala tfiala at google.com
Tue Jun 17 12:43:50 PDT 2014


Keying off that link executable variable won't work.  Here's what it's set
to on MacOSX:

CMAKE_CXX_LINK_EXECUTABLE=<CMAKE_CXX_COMPILER>  <FLAGS>
<CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>

Ok - so maybe what we need is this patch (which I'm testing over here now):
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bad83e8..4cfa1d9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -218,7 +218,8 @@ macro(add_lldb_library name)
   endif ()

   if(LLDB_USED_LIBS)
-    if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
+    # The Darwin linker doesn't understand --start-group/--end-group.
+    if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND NOT "${CMAKE_SYSTEM_NAME}"
MATCHES "Darwin")
       target_link_libraries(${name} ${cmake_2_8_12_PUBLIC}
                             -Wl,--start-group ${LLDB_USED_LIBS}
-Wl,--end-group)
     else()



On Tue, Jun 17, 2014 at 12:31 PM, Todd Fiala <tfiala at google.com> wrote:

> It looks like we might be able to test ${CMAKE_CXX_LINK_EXECUTABLE} to
> exclude those that don't need --start-group/--end-group linker flags.
>
> However, this is getting pretty far past the original contributor patch.
>  I'm more inclined to roll it back at this point until the whole thing gets
> more testing.
>
>
> On Tue, Jun 17, 2014 at 12:25 PM, Todd Fiala <tfiala at google.com> wrote:
>
>> Ok - so given it's a linker related flags issue, what is the correct
>> cmake way to test out the linker being used?
>>
>>
>> On Tue, Jun 17, 2014 at 11:49 AM, Ed Maste <emaste at freebsd.org> wrote:
>>
>>> On 17 June 2014 14:33, Todd Fiala <tfiala at google.com> wrote:
>>> >
>>> > Hey Ed - can you test this out on FreeBSD?  This is a patch that fixes
>>> cmake on MacOSX.  I verified it works on MacOSX and Linux with cmake/ninja.
>>> >
>>> > The original code looks like it was opting in for the
>>> --start-group/--end-group linker options on FreeBSD, which this patch would
>>> change but might be a no-op on your end.
>>>
>>> It's odd that this is a compiler-dependent test, I'd expect it to be a
>>> linker issue.  In any case, we definitely needed --start-group and
>>> --end-group in the past.  If this test works with Linux though it will
>>> probably work with FreeBSD too.  I'll test it.
>>>
>>
>>
>>
>> --
>> Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>>
>
>
>
> --
> Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>



-- 
Todd Fiala | Software Engineer | tfiala at google.com | 650-943-3180
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20140617/b6f46f31/attachment.html>


More information about the lldb-commits mailing list