[cfe-dev] Using Clang 5.0.0 RC2 with MSVC dev builds

Zachary Turner via cfe-dev cfe-dev at lists.llvm.org
Thu Aug 17 11:59:09 PDT 2017


Double checked the code.  We use the lib path in case the user doesn't
specify -libpath.  But, looks like we already have an option for that,
-libpath.

We need the bin path to find cl.exe (for fallback) and link.exe.

We also use the deduced include path when trying to find universal CRT, and
I'm not sure if that's covered by -imsvc.

On Thu, Aug 17, 2017 at 11:40 AM Nico Weber <thakis at chromium.org> wrote:

> On Thu, Aug 17, 2017 at 12:24 PM, Zachary Turner via cfe-dev <
> cfe-dev at lists.llvm.org> wrote:
>
>> I believe at one point we discussed internally the idea of just having
>> some command line flags that allow you to override the location of your
>> bin, lib, and include directories.  The idea being to support hermetic
>> toolchains (which is essentially what you've got).  Then we could still
>> have all of this excessive validation to verify that it's a visual studio
>> "installation", but if you've got something weird you can still just
>> override it with options.
>>
>
> For %include%, we have -imsvc. Clang doesn't need to know about bin and
> lib (?)
>
>
>>
>> Reid, thoughts?
>>
>> On Wed, Aug 16, 2017 at 8:16 PM Stephan T. Lavavej via cfe-dev <
>> cfe-dev at lists.llvm.org> wrote:
>>
>>> [don hinton]
>>> > Don't these scripts set a bunch of environment variables, e.g., PATH,
>>> TMP, INCLUDE, LIB, and LIBPATH as well as LINK?
>>>
>>> They set PATH, INCLUDE, LIB, and LIBPATH (that's one for some #using
>>> metadata thing). TMP is unaffected. LINK is not set. (I am not an expert
>>> here, but I just checked an actual VS 2017 prompt.)
>>>
>>> You may be thinking about the CL, _CL_, LINK, and _LINK_ environment
>>> variables which can be set by the user in order to inject compiler/linker
>>> options.
>>>
>>> > If clang were to honor these variables instead of trying to
>>> reconstruct them on the fly based on some root,
>>> > be it VCINSTALLDIR or based on finding cl.exe in the PATH, you could
>>> set them to whatever you want/need.
>>>
>>> That sounds right to me. (INCLUDE and LIB seem to be honored already.)
>>>
>>> STL
>>>
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>>
>>
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170817/916501c1/attachment.html>


More information about the cfe-dev mailing list