Re: SCons very slow on GitHub actions
Leonard de Ruijter <[email protected]> Thu, 1 May 2025 19:49:30 +0200
| Newsgroups | gmane.comp.programming.tools.scons.user |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--===============5130721914893770228==
Content-Type: multipart/alternative;
boundary="------------KhSPOzBako0oCDQpBHOeRdrk"
Content-Language: nl, en-US
This is a multi-part message in MIME format.
--------------KhSPOzBako0oCDQpBHOeRdrk
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
I just discovered the environment variable SCONS_MSCOMMON_DEBUG.
You can download the log here:
https://github.com/LeonarddeR/scons-examples/actions/runs/14780113619/artifacts/3045818756
There is not much interesting info in it, apart from that it seems yet
to be the vcvars64.bat call that takes so long.
That raises the question, why is that invocation only needing around 5
seconds when running in cmd, whereas it takes much longer within scons
itself? Is it possibly writing stuff to the file system under the hood?
Regards,
Leonard
On 5/1/2025 6:53 PM, Leonard de Ruijter wrote:
>
> Dear Joseph,
>
>
> Thanks for your extensive breakdown of the process.
>
> I have tried running cvarsall64.bat outside scons. Invocation of that
> takes approximately 5 seconds. I tried running vswhere earlier but
> without arguments, that's definitely smooth enough.
>
>
> Initializing an environment with tools=[] is fast, with tools=["msvc"]
> is slow. So we at least know for sure what tool is causing the delay.
>
>
> Regards,
>
>
> Leonard
>
> On 5/1/2025 4:20 PM, Joseph C. Brill wrote:
>>
>> There are a significant number of IO reads of the OS drive file
>> system for MSVC batch file invocations and SCons MSVC initialization.
>>
>> In general, modern MSVC batch file invocations are “expensive”.
>>
>> It wouldn’t hurt to add the following to your build environment:
>>
>> set VSCMD_SKIP_SENDTELEMETRY=1
>>
>> If nothing else, this may skip a powershell invocation to setup
>> sending telemetry.
>>
>> After a brief look at the SConstructs in the SCons example, OSARA,
>> and NVDA projects, I believe that the number of MSVC batch file
>> invocations on an amd64 box for each is likely:
>>
>> * 1: SCons example (0 default environments and 1 user environment)
>> * 2: OSARA (0 default environments and 2 user environments)
>> * 4: NVDA (1 default environment and 3 user environments)
>>
>> What follows is a high-level description of how MSVC is initialized.
>> Errors are possible. It may be easier to discuss in an SCons discussion.
>>
>> Simplified steps for MSVC initialization:
>>
>> * Find the location of the vswhere executable
>> * Invoke vswhere
>> * For each version of MSVC detected:
>> o Check for the existence of a set of required compiler files
>> * For each Environment() unique combination of MSVC instance and
>> arguments:
>> o Call the MSVC batch file to configure environment
>>
>> Vswhere uses a “%ProgramData%” subdirectory (OS drive) to load the
>> COM server and possibly read data.
>>
>> Calling the 2022 MSVC batch file to configure the environment entails
>> (local configuration):
>>
>> * 17 or more batch file invocations
>> * 1 vswhere.exe invocation
>> * 0 or 1 powershell invocations to setup telemetry
>> ("%VSCMD_SKIP_SENDTELEMETRY%"=="")
>>
>> MSVC batch files may perform any of the following zero of more times:
>>
>> * Check for the existence of directories and/or files
>> * Use the “where” command to search the system path
>> * Query the registry
>> * Change directories (cd/push/pop)
>> * File read
>>
>> The MSVC batch file skeleton call sequence below is for an amd64 box
>> with HOST_ARCH=”amd64” and TARGET_ARCH=”amd64”.
>>
>> C:\Program Files\Microsoft Visual
>> Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat:
>>
>> ·"%~dp0vcvarsall.bat" x64 %*
>>
>> o"%~dp0..\..\..\Common7\Tools\vsdevcmd.bat"
>> §"%~dp0vsdevcmd\core\vsdevcmd_start.bat"
>> ·"%~dp0parse_cmd.bat" %*
>> §vswhere.exe
>> §"%VS170COMNTOOLS%VsDevCmd\core\dotnet.bat"
>> ·Reg queries
>> §"%VS170COMNTOOLS%VsDevCmd\core\msbuild.bat"
>> ·Path existence
>> ·Where
>> §"%VS170COMNTOOLS%VsDevCmd\core\winsdk.bat"
>> ·Reg queries
>> ·Paths existence
>> §"%VS170COMNTOOLS%vsdevcmd\ext\ConnectionManagerExe.bat"
>> ·Path existence
>> ·Where
>> §"%VS170COMNTOOLS%vsdevcmd\ext\diaghub.bat"
>> ·Where
>> §"%VS170COMNTOOLS%vsdevcmd\ext\html_help.bat"
>> ·Path existence
>> ·Where
>> §"%VS170COMNTOOLS%vsdevcmd\ext\netfxsdk.bat"
>> ·Reg queries
>> ·Path existence
>> ·Where
>> §"%VS170COMNTOOLS%vsdevcmd\ext\perf_tools.bat"
>> ·Reg queries
>> ·Path existence
>> ·Where
>> §"%VS170COMNTOOLS%vsdevcmd\ext\roslyn.bat"
>> ·Where
>> §"%VS170COMNTOOLS%vsdevcmd\ext\team_explorer.bat"
>> ·Path existence
>> ·Where
>> §"%VS170COMNTOOLS%vsdevcmd\ext\testwindow.bat"
>> ·Path existence
>> ·Where
>> §"%VS170COMNTOOLS%vsdevcmd\ext\vcvars.bat"
>> ·Path existence
>> ·Dir contents
>> ·Where
>> ·File read
>> §if "%VSCMD_SKIP_SENDTELEMETRY%"==""
>> ·Powershell Send Telemetry
>> §"%~dp0vsdevcmd\core\vsdevcmd_end.bat"
>> ·Possible directory changes
>>
>>
>> _______________________________________________
>> Scons-users mailing list
>> [email protected]
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
--------------KhSPOzBako0oCDQpBHOeRdrk
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>I just discovered the environment variable SCONS_MSCOMMON_DEBUG.</p>
<p>You can download the log here:
<a class="moz-txt-link-freetext" href="https://github.com/LeonarddeR/scons-examples/actions/runs/14780113619/artifacts/3045818756">https://github.com/LeonarddeR/scons-examples/actions/runs/14780113619/artifacts/3045818756</a></p>
<p>There is not much interesting info in it, apart from that it
seems yet to be the vcvars64.bat call that takes so long.</p>
<p>That raises the question, why is that invocation only needing
around 5 seconds when running in cmd, whereas it takes much longer
within scons itself? Is it possibly writing stuff to the file
system under the hood?</p>
<p><br>
</p>
<p>Regards,</p>
<p><br>
</p>
<p>Leonard</p>
<div class="moz-cite-prefix">On 5/1/2025 6:53 PM, Leonard de Ruijter
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:[email protected]">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<p>Dear Joseph,</p>
<p><br>
</p>
<p>Thanks for your extensive breakdown of the process.</p>
<p>I have tried running cvarsall64.bat outside scons. Invocation
of that takes approximately 5 seconds. I tried running vswhere
earlier but without arguments, that's definitely smooth enough.</p>
<p><br>
</p>
<p>Initializing an environment with tools=[] is fast, with
tools=["msvc"] is slow. So we at least know for sure what tool
is causing the delay. <br>
</p>
<p><br>
</p>
<p>Regards,</p>
<p><br>
</p>
<p>Leonard</p>
<div class="moz-cite-prefix">On 5/1/2025 4:20 PM, Joseph C. Brill
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:[email protected]">
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8">
<meta name="Generator"
content="Microsoft Word 15 (filtered medium)">
<style>@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
{font-family:Aptos;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:12.0pt;
font-family:"Aptos",sans-serif;
mso-ligatures:standardcontextual;}pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
font-size:12.0pt;
font-family:"Aptos",sans-serif;
mso-ligatures:standardcontextual;}span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Aptos",sans-serif;
color:windowtext;}span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:"Courier New";
mso-ligatures:none;}.MsoChpDefault
{mso-style-type:export-only;}div.WordSection1
{page:WordSection1;}ol
{margin-bottom:0in;}ul
{margin-bottom:0in;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">There are a significant number of IO
reads of the OS drive file system for MSVC batch file
invocations and SCons MSVC initialization.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">In general, modern MSVC batch file
invocations are “expensive”.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">It wouldn’t hurt to add the following to
your build environment:<o:p></o:p></p>
<p class="MsoNormal"> set <span style="color:black">VSCMD_SKIP_SENDTELEMETRY=1</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If nothing else, this may skip a
powershell invocation to setup sending telemetry.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">After a brief look at the SConstructs in
the SCons example, OSARA, and NVDA projects, I believe that
the number of MSVC batch file invocations on an amd64 box
for each is likely:<o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l0 level1 lfo4">1: SCons
example (0 default environments and 1 user environment)<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l0 level1 lfo4">2: OSARA
(0 default environments and 2 user environments)<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l0 level1 lfo4">4: NVDA (1
default environment and 3 user environments) <o:p></o:p></li>
</ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">What follows is a high-level description
of how MSVC is initialized. Errors are possible. It may be
easier to discuss in an SCons discussion.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Simplified steps for MSVC initialization:<o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo3">Find the
location of the vswhere executable<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo3">Invoke
vswhere<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo3">For each
version of MSVC detected:<o:p></o:p></li>
<ul style="margin-top:0in" type="circle">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level2 lfo3">Check
for the existence of a set of required compiler files<o:p></o:p></li>
</ul>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo3">For each
Environment() unique combination of MSVC instance and
arguments:<o:p></o:p></li>
<ul style="margin-top:0in" type="circle">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level2 lfo3">Call the
MSVC batch file to configure environment<o:p></o:p></li>
</ul>
</ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Vswhere uses a “%ProgramData%”
subdirectory (OS drive) to load the COM server and possibly
read data.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Calling the 2022 MSVC batch file to
configure the environment entails (local configuration):<o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l2 level1 lfo2">17 or more
batch file invocations<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l2 level1 lfo2">1
vswhere.exe invocation<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l2 level1 lfo2">0 or 1
powershell invocations to setup telemetry (<span
style="color:black">"%VSCMD_SKIP_SENDTELEMETRY%"=="")</span><o:p></o:p></li>
</ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">MSVC batch files may perform any of the
following zero of more times:<o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l2 level1 lfo2">Check for
the existence of directories and/or files<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l2 level1 lfo2">Use the
“where” command to search the system path<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l2 level1 lfo2">Query the
registry<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l2 level1 lfo2">Change
directories (cd/push/pop)<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l2 level1 lfo2">File read<o:p></o:p></li>
</ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The MSVC batch file skeleton call
sequence below is for an amd64 box with HOST_ARCH=”amd64”
and TARGET_ARCH=”amd64”.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat:<o:p></o:p></p>
<p class="MsoListParagraph"
style="margin-left:.25in;text-indent:-.25in;mso-list:l3 level1 lfo1;background:white"><!--[if !supportLists]--><span
style="font-family:Symbol;color:black;mso-ligatures:none"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman"">
</span></span></span><!--[endif]--><span
style="color:black;mso-ligatures:none">"%~dp0vcvarsall.bat"
x64 %*<o:p></o:p></span></p>
<pre
style="margin-left:.75in;text-indent:-.25in;mso-list:l3 level2 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;color:black"><span
style="mso-list:Ignore">o<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%~dp0..\..\..\Common7\Tools\vsdevcmd.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%~dp0vsdevcmd\core\vsdevcmd_start.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%~dp0parse_cmd.bat" %*<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">vswhere.exe<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%VS170COMNTOOLS%VsDevCmd\core\dotnet.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Reg queries<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%VS170COMNTOOLS%VsDevCmd\core\msbuild.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Path existence<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Where<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%VS170COMNTOOLS%VsDevCmd\core\winsdk.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Reg queries<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Paths existence<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%VS170COMNTOOLS%vsdevcmd\ext\ConnectionManagerExe.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Path existence<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Where<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%VS170COMNTOOLS%vsdevcmd\ext\diaghub.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Where<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%VS170COMNTOOLS%vsdevcmd\ext\html_help.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Path existence<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Where<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%VS170COMNTOOLS%vsdevcmd\ext\netfxsdk.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Reg queries<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Path existence<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Where<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%VS170COMNTOOLS%vsdevcmd\ext\perf_tools.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Reg queries<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Path existence<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Where<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%VS170COMNTOOLS%vsdevcmd\ext\roslyn.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Where<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%VS170COMNTOOLS%vsdevcmd\ext\team_explorer.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Path existence<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Where<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%VS170COMNTOOLS%vsdevcmd\ext\testwindow.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Path existence<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Where<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%VS170COMNTOOLS%vsdevcmd\ext\vcvars.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Path existence<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Dir contents<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Where<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">File read<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">if "%VSCMD_SKIP_SENDTELEMETRY%"==""<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Powershell Send Telemetry<o:p></o:p></span></pre>
<pre
style="margin-left:1.25in;text-indent:-.25in;mso-list:l3 level3 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Wingdings;color:black"><span
style="mso-list:Ignore">§<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">"%~dp0vsdevcmd\core\vsdevcmd_end.bat"<o:p></o:p></span></pre>
<pre
style="margin-left:1.75in;text-indent:-.25in;mso-list:l3 level4 lfo1;background:white"><!--[if !supportLists]--><span
style="font-size:12.0pt;font-family:Symbol;color:black"><span
style="mso-list:Ignore">·<span
style="font:7.0pt "Times New Roman""> </span></span></span><!--[endif]--><span
style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Possible directory changes<o:p></o:p></span></pre>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre wrap="" class="moz-quote-pre">_______________________________________________
Scons-users mailing list
<a class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:[email protected]" moz-do-not-send="true">[email protected]</a>
<a class="moz-txt-link-freetext"
href="https://pairlist4.pair.net/mailman/listinfo/scons-users"
moz-do-not-send="true">https://pairlist4.pair.net/mailman/listinfo/scons-users</a>
</pre>
</blockquote>
</blockquote>
</body>
</html>
--------------KhSPOzBako0oCDQpBHOeRdrk--
--===============5130721914893770228==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Scons-users mailing list
[email protected]
https://pairlist4.pair.net/mailman/listinfo/scons-users
--===============5130721914893770228==--