Re: MSVC 2017+ Toolset Support
Joseph Brill <[email protected]> Fri, 14 Aug 2020 11:40:24 -0400
| Newsgroups | gmane.comp.programming.tools.scons.devel |
|---|---|
| Message-ID | <CAJLrGP1k19pspPomLpYcFi6n7UJS_tE4oyhLUu6qt1TuiifYuA@mail.gmail.com> |
--===============3115896379287242546==
Content-Type: multipart/alternative; boundary="000000000000d7dcc205acd83d53"
--000000000000d7dcc205acd83d53
Content-Type: text/plain; charset="UTF-8"
> So to summarize the only (possible) difference between pro,ent,community
> would be in whatever optional and/or updated components were installed for
> each?
>
Yes. Target architecture differences would likely cause the most grief.
So selecting one over the other would be useful just to use those
> differences (optional/selected tools/components available via the visual
> studio installer).
>
Yes. Removing all ambiguity in the presence of multiple products could be
seen as a benefit as well.
Does anyone have pro, enterprise, and community (or more than just one of
> those versions installed) that could do a dump of vswhere output to answer
> the question of ordering?
>
A change could be made to the existing vswhere query so that the order is
deterministic regardless of the order of instances returned from vswhere.
From:
VCVER_TO_VSWHERE_VER = {
'14.2': [
["-version", "[16.0, 17.0)", ], # default: Enterprise,
Professional, Community (order unpredictable?)
["-version", "[16.0, 17.0)", "-products",
"Microsoft.VisualStudio.Product.BuildTools"], # BuildTools
],
'14.1': [
["-version", "[15.0, 16.0)", ], # default: Enterprise,
Professional, Community (order unpredictable?)
["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.BuildTools"], # BuildTools
],
'14.1Exp': [
["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.WDExpress"], # Express
],}
To:
_VCVER_TO_VSWHERE_VER = {
'14.2': [
["-version", "[16.0, 17.0)", "-products",
"Microsoft.VisualStudio.Product.Enterprise"],
["-version", "[16.0, 17.0)", "-products",
"Microsoft.VisualStudio.Product.Professional"],
["-version", "[16.0, 17.0)", "-products",
"Microsoft.VisualStudio.Product.Community"],
["-version", "[16.0, 17.0)", "-products",
"Microsoft.VisualStudio.Product.BuildTools"],
],
'14.1': [
["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.Enterprise"],
["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.Professional"],
["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.Community"],
["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.BuildTools"],
],
'14.1Exp': [
["-version", "[15.0, 16.0)", "-products",
"Microsoft.VisualStudio.Product.WDExpress"],
],}
Note that vswhere's source code is on github...
>
I had in the original email: I am not motivated enough to read the C++
source code for vswhere :)
Depence on the resolution order can be worked around with the solution
above.
Joe
--000000000000d7dcc205acd83d53
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div dir=3D"ltr"><br></div><div dir=3D"ltr"><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid=
rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>So to summarize t=
he only (possible) difference between pro,ent,community would be in whateve=
r optional and/or updated components were installed for each?=C2=A0</div></=
div></blockquote><div><br></div><div>Yes.=C2=A0 Target architecture differe=
nces would likely cause the most grief.</div><div><br></div></div><div dir=
=3D"ltr"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"=
><div>So selecting one over the other would be useful just to use those dif=
ferences (optional/selected tools/components available via the visual studi=
o installer).</div></div></blockquote><div><br></div><div>=C2=A0Yes.=C2=A0 =
Removing all ambiguity in the presence of multiple products could be seen a=
s a benefit as well.</div><div><br></div><blockquote class=3D"gmail_quote" =
style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pa=
dding-left:1ex"><div dir=3D"ltr"><div>Does anyone have pro, enterprise, and=
community (or more than just one of those versions installed) that could d=
o a dump of vswhere output to answer the question of ordering?</div></div><=
/blockquote><div><br></div><div>A change could be made to the existing vswh=
ere query so that the order is deterministic regardless of the order of ins=
tances returned from vswhere.</div><div><br></div><div>From:</div><div><spa=
n style=3D"color:rgb(0,128,0);font-style:italic;font-family:Consolas;font-s=
ize:10pt"><br></span></div><div><span style=3D"color:rgb(0,0,0);font-family=
:Consolas;font-size:10pt">VCVER_TO_VSWHERE_VER </span><span style=3D"font-f=
amily:Consolas;font-size:10pt;color:rgb(128,0,0)">=3D</span><span style=3D"=
color:rgb(0,0,0);font-family:Consolas;font-size:10pt"> </span><span style=
=3D"font-family:Consolas;font-size:10pt;color:rgb(128,0,0)">{</span><br></d=
iv><div><div style=3D"font-family:Consolas;font-size:10pt;color:rgb(0,0,0)"=
><pre> <span style=3D"color:rgb(0,96,96)">'14.2'</span><span sty=
le=3D"color:rgb(128,0,0)">:</span> <span style=3D"color:rgb(128,0,0)">[</sp=
an>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[16.0, 17.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(128,=
0,0)">],</span> <span style=3D"color:rgb(0,128,0);font-style:italic"># defa=
ult: Enterprise, Professional, Community (order unpredictable?)</span>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[16.0, 17.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,12=
8,128)">"-products"</span><span style=3D"color:rgb(128,0,0)">,</s=
pan> <span style=3D"color:rgb(0,128,128)">"Microsoft.VisualStudio.Prod=
uct.BuildTools"</span><span style=3D"color:rgb(128,0,0)">],</span> <sp=
an style=3D"color:rgb(0,128,0);font-style:italic"># BuildTools</span>
<span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(0,96,96)">'14.1'</span><span style=3D"=
color:rgb(128,0,0)">:</span> <span style=3D"color:rgb(128,0,0)">[</span>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[15.0, 16.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(128,=
0,0)">],</span> <span style=3D"color:rgb(0,128,0);font-style:italic"># defa=
ult: Enterprise, Professional, Community (order unpredictable?)</span>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[15.0, 16.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,12=
8,128)">"-products"</span><span style=3D"color:rgb(128,0,0)">,</s=
pan> <span style=3D"color:rgb(0,128,128)">"Microsoft.VisualStudio.Prod=
uct.BuildTools"</span><span style=3D"color:rgb(128,0,0)">],</span> <sp=
an style=3D"color:rgb(0,128,0);font-style:italic"># BuildTools</span>
<span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(0,96,96)">'14.1Exp'</span><span style=
=3D"color:rgb(128,0,0)">:</span> <span style=3D"color:rgb(128,0,0)">[</span=
>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[15.0, 16.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,12=
8,128)">"-products"</span><span style=3D"color:rgb(128,0,0)">,</s=
pan> <span style=3D"color:rgb(0,128,128)">"Microsoft.VisualStudio.Prod=
uct.WDExpress"</span><span style=3D"color:rgb(128,0,0)">],</span> <spa=
n style=3D"color:rgb(0,128,0);font-style:italic"># Express</span>
<span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(128,0,0)">}</span>
</pre></div></div><div>To:</div><div><div style=3D"font-family:Consolas;fon=
t-size:10pt">
<pre style=3D"color:rgb(0,0,0)"><div style=3D"font-family:Consolas;font-siz=
e:10pt"><pre>_VCVER_TO_VSWHERE_VER <span style=3D"color:rgb(128,0,0)">=3D</=
span> <span style=3D"color:rgb(128,0,0)">{</span>
<span style=3D"color:rgb(0,96,96)">'14.2'</span><span style=3D"=
color:rgb(128,0,0)">:</span> <span style=3D"color:rgb(128,0,0)">[</span>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[16.0, 17.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,12=
8,128)">"-products"</span><span style=3D"color:rgb(128,0,0)">,</s=
pan> <span style=3D"color:rgb(0,128,128)">"Microsoft.VisualStudio.Prod=
uct.Enterprise"</span><span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[16.0, 17.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,12=
8,128)">"-products"</span><span style=3D"color:rgb(128,0,0)">,</s=
pan> <span style=3D"color:rgb(0,128,128)">"Microsoft.VisualStudio.Prod=
uct.Professional"</span><span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[16.0, 17.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,12=
8,128)">"-products"</span><span style=3D"color:rgb(128,0,0)">,</s=
pan> <span style=3D"color:rgb(0,128,128)">"Microsoft.VisualStudio.Prod=
uct.Community"</span><span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[16.0, 17.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,12=
8,128)">"-products"</span><span style=3D"color:rgb(128,0,0)">,</s=
pan> <span style=3D"color:rgb(0,128,128)">"Microsoft.VisualStudio.Prod=
uct.BuildTools"</span><span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(0,96,96)">'14.1'</span><span style=3D"=
color:rgb(128,0,0)">:</span> <span style=3D"color:rgb(128,0,0)">[</span>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[15.0, 16.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,12=
8,128)">"-products"</span><span style=3D"color:rgb(128,0,0)">,</s=
pan> <span style=3D"color:rgb(0,128,128)">"Microsoft.VisualStudio.Prod=
uct.Enterprise"</span><span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[15.0, 16.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,12=
8,128)">"-products"</span><span style=3D"color:rgb(128,0,0)">,</s=
pan> <span style=3D"color:rgb(0,128,128)">"Microsoft.VisualStudio.Prod=
uct.Professional"</span><span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[15.0, 16.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,12=
8,128)">"-products"</span><span style=3D"color:rgb(128,0,0)">,</s=
pan> <span style=3D"color:rgb(0,128,128)">"Microsoft.VisualStudio.Prod=
uct.Community"</span><span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[15.0, 16.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,12=
8,128)">"-products"</span><span style=3D"color:rgb(128,0,0)">,</s=
pan> <span style=3D"color:rgb(0,128,128)">"Microsoft.VisualStudio.Prod=
uct.BuildTools"</span><span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(0,96,96)">'14.1Exp'</span><span style=
=3D"color:rgb(128,0,0)">:</span> <span style=3D"color:rgb(128,0,0)">[</span=
>
<span style=3D"color:rgb(128,0,0)">[</span><span style=3D"color:rgb=
(0,128,128)">"-version"</span><span style=3D"color:rgb(128,0,0)">=
,</span> <span style=3D"color:rgb(0,128,128)">"[15.0, 16.0)"</spa=
n><span style=3D"color:rgb(128,0,0)">,</span> <span style=3D"color:rgb(0,12=
8,128)">"-products"</span><span style=3D"color:rgb(128,0,0)">,</s=
pan> <span style=3D"color:rgb(0,128,128)">"Microsoft.VisualStudio.Prod=
uct.WDExpress"</span><span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(128,0,0)">],</span>
<span style=3D"color:rgb(128,0,0)">}</span></pre><pre><span style=3D"color:=
rgb(128,0,0)"><br></span></pre></div></pre></div></div><blockquote class=3D=
"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(2=
04,204,204);padding-left:1ex"><div dir=3D"ltr"><div>Note that vswhere's=
source code is on github...</div></div></blockquote><div><br></div><div>I =
had in the original email: I am not motivated enough to read the C++ source=
code for vswhere :)=C2=A0</div><div>Depence on the resolution order can be=
worked around with the solution above.</div><div><br></div><div>Joe</div><=
/div><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr"><br><=
/div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bo=
rder-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=3D"gmail_=
quote"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;=
border-left:1px solid rgb(204,204,204);padding-left:1ex">
</blockquote></div>
</blockquote></div></div>
--000000000000d7dcc205acd83d53--
--===============3115896379287242546==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Scons-dev mailing list
[email protected]
https://pairlist2.pair.net/mailman/listinfo/scons-dev
--===============3115896379287242546==--