[cfe-dev] Clang 3.5 Release Pre-Pre-Pre-Announcement

Aaron Ballman aaron at aaronballman.com
Tue Jun 3 13:03:06 PDT 2014


On Tue, Jun 3, 2014 at 2:00 PM, Hans Wennborg <hans at chromium.org> wrote:
> Hi Kim,
>
> On Mon, Jun 2, 2014 at 10:28 PM, Kim Gräsman <kim.grasman at gmail.com> wrote:
>> On Fri, May 23, 2014 at 1:09 AM, Hans Wennborg <hans at chromium.org> wrote:
>>> On Sat, May 17, 2014 at 6:16 PM, Richard <legalize at xmission.com> wrote:
>>>>
>>>> In article <CAB8jPhdE5mE8v=OVw3A4N2cxLNNhZTdisbTnaMUkxD+erizs+Q at mail.gmail.com>,
>>>>     Hans Wennborg <hans at chromium.org> writes:
>>>>
>>>>> OK, maybe we should try shipping without LLVM_INSTALL_TOOLCHAIN_ONLY.
>>>>> It grows the installer from 25 MB to 115 MB, but Reid pointed out that
>>>>> the release on Linux is actually even larger, so maybe it's ok.
>>>>
>>>> I bought a copy of "Mastering CMake" and read it so I could understand
>>>> clang/llvm's build.  I understand it enough that I think I could try
>>>> creating an "SDK" installer that would be for developers using either
>>>> libclang or the C++ API.
>>>>
>>>>> If we think this is what we want to do, I can build next week's
>>>>> snapshot this way, and maybe Richard can try it out and see if
>>>>> building a tool with that works?
>>>>
>>>> I'm very willing to test that.
>>>
>>> Sorry for the delay. Here's a snapshot that was built without
>>> LLVM_INSTALL_TOOLCHAIN_ONLY:
>>> http://llvm.org/builds/downloads/LLVM-3.5.r209120-win32.exe
>>>
>>> Please let me know if that works.
>>
>> I just downloaded this yesterday to try an out-of-tree build of a
>> Clang tool on Windows. I ran into two surprises:
>
> Thanks for trying it out!
>
>> - All LLVM/Clang libraries seem to be statically linked to the
>> Microsoft CRT (i.e. /MT instead of the default /MD), so I had to
>> modify my standalone CMakeLists.txt to also set /MT.
>
> Yes, we do this to avoid shipping the redistributable with the
> toolchain. Can you set USE_CRT_RELEASE =MT in your standalone build?
> That's what I use to build with /MT.

Doesn't this then requires consumers to also build with /MT when they
want to use clang as a library? I was always under the impression that
mixing static and dynamic runtime links leads to very obtuse problems
(at least, it certainly has been so for me in the past). If this is
true, doesn't that then require the version of MSVC they use to build
to match the version of MSVC used to build clang?

~Aaron




More information about the cfe-dev mailing list