Skip to content

Commit 690971b

Browse files
committed
Merge remote-tracking branch 'origin/main' into wasi-wbt-spaces
2 parents de84513 + 8c1e75c commit 690971b

File tree

1,180 files changed

+62854
-35260
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,180 files changed

+62854
-35260
lines changed

.github/fabricbot.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@
2929
],
3030
"mentionees": [
3131
"JulieLeeMSFT",
32-
"jakobbotsch",
33-
"kunalspathak"
32+
"jakobbotsch"
3433
]
3534
},
3635
{

Directory.Build.props

Lines changed: 63 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -177,89 +177,86 @@
177177
<InstallWasmtimeForTests Condition="'$(InstallWasmtimeForTests)' == '' and !Exists($(WasmtimeDir))">true</InstallWasmtimeForTests>
178178
</PropertyGroup>
179179

180-
<PropertyGroup Label="CalculateOS">
181-
<!-- Default to portable build if not explicitly set -->
180+
<PropertyGroup Label="CalculatePortableBuild">
182181
<PortableBuild Condition="'$(PortableBuild)' == '' and '$(DotNetBuildFromSource)' == 'true'">false</PortableBuild>
183182
<PortableBuild Condition="'$(PortableBuild)' == ''">true</PortableBuild>
183+
</PropertyGroup>
184184

185-
<_hostRid Condition="'$(MSBuildRuntimeType)' == 'core'">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</_hostRid>
186-
<_hostRid Condition="'$(MSBuildRuntimeType)' != 'core'">win-$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant)</_hostRid>
185+
<!-- _portableOS is the portable rid-OS corresponding to the target platform. -->
186+
<PropertyGroup Label="CalculatePortableOS">
187+
<!-- To determine _portableOS we use TargetOS.
188+
TargetOS is not a rid-OS. For example: for Windows it is 'windows' instead of 'win'.
189+
And, for flavors of Linux, like 'linux-musl' and 'linux-bionic', TargetOS is 'linux'. -->
187190

188-
<_parseDistroRid>$(__DistroRid)</_parseDistroRid>
189-
<_parseDistroRid Condition="'$(_parseDistroRid)' == ''">$(_hostRid)</_parseDistroRid>
190-
<_distroRidIndex>$(_parseDistroRid.LastIndexOf('-'))</_distroRidIndex>
191+
<_portableOS>$(TargetOS.ToLowerInvariant())</_portableOS>
192+
<_portableOS Condition="'$(_portableOS)' == 'windows'">win</_portableOS>
193+
194+
<!-- TargetOS=AnyOS is a sentinel value used by tests, ignore it. -->
195+
<_portableOS Condition="'$(_portableOS)' == 'anyos'">$(__PortableTargetOS)</_portableOS>
196+
197+
<!-- Detect linux flavors using __PortableTargetOS from the native script. -->
198+
<_portableOS Condition="'$(_portableOS)' == 'linux' and '$(__PortableTargetOS)' == 'linux-musl'">linux-musl</_portableOS>
199+
<_portableOS Condition="'$(_portableOS)' == 'linux' and '$(__PortableTargetOS)' == 'linux-bionic'">linux-bionic</_portableOS>
200+
</PropertyGroup>
201+
202+
<!-- PackageRID is used for packages needed for the target. -->
203+
<PropertyGroup Label="CalculatePackageRID">
204+
<_packageOS>$(_portableOS)</_packageOS>
205+
206+
<_packageOS Condition="'$(CrossBuild)' == 'true' and '$(_portableOS)' != 'linux-musl' and '$(_portableOS)' != 'linux-bionic'">$(_hostOS)</_packageOS>
191207

192-
<_runtimeOS>$(RuntimeOS)</_runtimeOS>
193-
<_runtimeOS Condition="'$(_runtimeOS)' == ''">$(_parseDistroRid.SubString(0, $(_distroRidIndex)))</_runtimeOS>
194-
195-
<!-- _runtimeOS is calculated based on the build system OS, however if building for Browser/iOS/Android we need to let
196-
the build system to use browser/ios/android as the _runtimeOS for produced package RIDs. -->
197-
<_runtimeOS Condition="'$(TargetsMobile)' == 'true'">$(TargetOS.ToLowerInvariant())</_runtimeOS>
198-
199-
<_portableOS>linux</_portableOS>
200-
<_portableOS Condition="'$(_runtimeOS)' == 'linux-musl' or $(_runtimeOS.StartsWith('alpine'))">linux-musl</_portableOS>
201-
<_portableOS Condition="'$(_runtimeOS)' == 'linux-bionic'">linux-bionic</_portableOS>
202-
<_portableOS Condition="'$(_hostOS)' == 'osx'">osx</_portableOS>
203-
<_portableOS Condition="'$(_runtimeOS)' == 'win' or '$(TargetOS)' == 'windows'">win</_portableOS>
204-
<_portableOS Condition="'$(_runtimeOS)' == 'freebsd' or '$(TargetOS)' == 'freebsd'">freebsd</_portableOS>
205-
<_portableOS Condition="'$(_runtimeOS)' == 'illumos' or '$(TargetOS)' == 'illumos'">illumos</_portableOS>
206-
<_portableOS Condition="'$(_runtimeOS)' == 'solaris' or '$(TargetOS)' == 'solaris'">solaris</_portableOS>
207-
<_portableOS Condition="'$(_runtimeOS)' == 'browser'">browser</_portableOS>
208-
<_portableOS Condition="'$(_runtimeOS)' == 'wasi'">wasi</_portableOS>
209-
<_portableOS Condition="'$(_runtimeOS)' == 'maccatalyst'">maccatalyst</_portableOS>
210-
<_portableOS Condition="'$(_runtimeOS)' == 'ios'">ios</_portableOS>
211-
<_portableOS Condition="'$(_runtimeOS)' == 'iossimulator'">iossimulator</_portableOS>
212-
<_portableOS Condition="'$(_runtimeOS)' == 'tvos'">tvos</_portableOS>
213-
<_portableOS Condition="'$(_runtimeOS)' == 'tvossimulator'">tvossimulator</_portableOS>
214-
<_portableOS Condition="'$(_runtimeOS)' == 'android'">android</_portableOS>
215-
216-
<_runtimeOS Condition="$(_runtimeOS.StartsWith('tizen'))">linux</_runtimeOS>
217-
<_runtimeOS Condition="'$(PortableBuild)' == 'true'">$(_portableOS)</_runtimeOS>
218-
<_runtimeOS Condition="'$(RuntimeOS)' == '' and '$(DotNetBuildFromSource)' == 'true'">$(_portableOS)</_runtimeOS>
219-
220-
<_packageLibc Condition="$(_runtimeOS.Contains('musl'))">-musl</_packageLibc>
221-
<_packageOS Condition="'$(CrossBuild)' == 'true'">$(_hostOS)$(_packageLibc)</_packageOS>
222-
<_packageOS Condition="'$(_packageOS)' == '' and '$(PortableBuild)' == 'true'">$(_portableOS)</_packageOS>
223-
<_packageOS Condition="'$(_packageOS)' == ''">$(_runtimeOS)</_packageOS>
208+
<!-- source-build sets PackageOS to build with non-portable rid packages that were source-built previously. -->
209+
<PackageRID Condition="'$(PackageOS)' != ''">$(PackageOS)-$(TargetArchitecture)</PackageRID>
210+
<PackageRID Condition="'$(PackageRID)' == ''">$(_packageOS)-$(TargetArchitecture)</PackageRID>
224211
</PropertyGroup>
225212

226-
<PropertyGroup Label="CalculateRID">
227-
<_toolsRID Condition="'$(CrossBuild)' == 'true'">$(_hostOS)-$(_hostArch)</_toolsRID>
228-
<_toolsRID Condition="'$(BuildingInsideVisualStudio)' == 'true'">$(_runtimeOS)-x64</_toolsRID>
229-
<_toolsRID Condition="'$(_toolsRID)' == ''">$(_runtimeOS)-$(_hostArch)</_toolsRID>
213+
<!-- ToolsRID is used for packages needed on the build host. -->
214+
<PropertyGroup Label="CalculateToolsRID">
215+
<!-- _portableHostOS is the portable rid-OS corresponding to the build host platform.
230216
231-
<!-- There are no WebAssembly tools, so use the default ones -->
232-
<_toolsRID Condition="'$(_runtimeOS)' == 'browser' or '$(_runtimeOS)' == 'wasi'">linux-x64</_toolsRID>
233-
<_toolsRID Condition="('$(_runtimeOS)' == 'browser' or '$(_runtimeOS)' == 'wasi') and '$(HostOS)' == 'windows'">win-x64</_toolsRID>
234-
<_toolsRID Condition="('$(_runtimeOS)' == 'browser' or '$(_runtimeOS)' == 'wasi') and '$(HostOS)' == 'osx'">osx-x64</_toolsRID>
217+
To determine _portableHostOS we use _hostOS, similar to how _portableOS is calculated from TargetOS.
235218
236-
<!-- There are no Android tools, so use the default ones -->
237-
<_toolsRID Condition="'$(_runtimeOS)' == 'android' or '$(_runtimeOS)' == 'linux-bionic'">linux-x64</_toolsRID>
238-
<_toolsRID Condition="('$(_runtimeOS)' == 'android' or '$(_runtimeOS)' == 'linux-bionic') and '$(HostOS)' == 'windows'">win-x64</_toolsRID>
239-
<_toolsRID Condition="('$(_runtimeOS)' == 'android' or '$(_runtimeOS)' == 'linux-bionic') and '$(HostOS)' == 'osx'">osx-x64</_toolsRID>
219+
When we're not cross-building we can detect linux flavors by looking at _portableOS
220+
because the target platform and the build host platform are the same.
221+
For cross-builds, we're currently unable to detect the flavors. -->
222+
<_portableHostOS>$(_hostOS)</_portableHostOS>
223+
<_portableHostOS Condition="'$(_portableHostOS)' == 'windows'">win</_portableHostOS>
224+
<_portableHostOS Condition="'$(CrossBuild)' != 'true' and '$(_portableOS)' == 'linux-musl'">linux-musl</_portableHostOS>
240225

241-
<!-- There are no Mac Catalyst, iOS or tvOS tools and it can be built on OSX only, so use that -->
242-
<_toolsRID Condition="'$(_runtimeOS)' == 'maccatalyst' or '$(_runtimeOS)' == 'ios' or '$(_runtimeOS)' == 'iossimulator' or '$(_runtimeOS)' == 'tvos' or '$(_runtimeOS)' == 'tvossimulator'">osx-x64</_toolsRID>
226+
<!-- source-build sets ToolsOS to build with non-portable rid packages that were source-built previously. -->
227+
<ToolsRID Condition="'$(ToolsOS)' != ''">$(ToolsOS)-$(_hostArch)</ToolsRID>
228+
<ToolsRID Condition="'$(ToolsRID)' == ''">$(_portableHostOS)-$(_hostArch)</ToolsRID>
243229

244-
<!-- There are no non-portable builds for Ilasm, Ildasm, ILC etc. -->
245-
<ToolsRID Condition="'$(PortableBuild)' != 'true' and '$(_portableOS)' == 'linux'">linux-$(_hostArch)</ToolsRID>
246-
<ToolsRID Condition="'$(ToolsRID)' == ''">$(_toolsRID)</ToolsRID>
230+
<!-- Microsoft.NET.Sdk.IL SDK defaults to the portable host rid. Match it to ToolsRID (for source-build). -->
247231
<MicrosoftNetCoreIlasmPackageRuntimeId>$(ToolsRID)</MicrosoftNetCoreIlasmPackageRuntimeId>
232+
</PropertyGroup>
248233

249-
<PackageRID>$(_packageOS)-$(TargetArchitecture)</PackageRID>
234+
<!-- OutputRID is used to name the target platform.
235+
For portable builds, OutputRID matches _portableOS.
236+
For non-portable builds, it uses __DistroRid (from the native build script), or falls back to RuntimeInformation.RuntimeIdentifier.
237+
Source-build sets OutputRID directly. -->
238+
<PropertyGroup Label="CalculateOutputRID">
250239

251-
<OutputRid Condition="'$(OutputRid)' == '' and '$(DotNetBuildFromSource)' == 'true'">$(_hostRid)</OutputRid>
252-
<OutputRid Condition="'$(OutputRid)' == ''">$(PackageRID)</OutputRid>
253-
<OutputRid Condition="'$(PortableBuild)' == 'true'">$(_portableOS)-$(TargetArchitecture)</OutputRid>
254-
<TargetsLinuxBionic Condition="$(OutputRid.StartsWith('linux-bionic'))">true</TargetsLinuxBionic>
255-
<TargetsLinuxMusl Condition="'$(_portableOS)' == 'linux-musl'">true</TargetsLinuxMusl>
240+
<_hostRid Condition="'$(MSBuildRuntimeType)' == 'core'">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</_hostRid>
241+
<_hostRid Condition="'$(MSBuildRuntimeType)' != 'core'">win-$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant)</_hostRid>
242+
243+
<_parseDistroRid>$(__DistroRid)</_parseDistroRid>
244+
<_parseDistroRid Condition="'$(_parseDistroRid)' == ''">$(_hostRid)</_parseDistroRid>
245+
<_distroRidIndex>$(_parseDistroRid.LastIndexOf('-'))</_distroRidIndex>
246+
247+
<_outputOS>$(_parseDistroRid.SubString(0, $(_distroRidIndex)))</_outputOS>
248+
<_outputOS Condition="'$(PortableBuild)' == 'true'">$(_portableOS)</_outputOS>
249+
250+
<OutputRID Condition="'$(OutputRID)' == ''">$(_outputOS)-$(TargetArchitecture)</OutputRID>
256251
</PropertyGroup>
257252

258-
<PropertyGroup Label="CalculateTargetOSName" Condition="'$(SkipInferTargetOSName)' != 'true'">
253+
<PropertyGroup Label="CalculateTargetOSName">
259254
<TargetsFreeBSD Condition="'$(TargetOS)' == 'freebsd'">true</TargetsFreeBSD>
260255
<Targetsillumos Condition="'$(TargetOS)' == 'illumos'">true</Targetsillumos>
261256
<TargetsSolaris Condition="'$(TargetOS)' == 'solaris'">true</TargetsSolaris>
262257
<TargetsLinux Condition="'$(TargetOS)' == 'linux' or '$(TargetOS)' == 'android'">true</TargetsLinux>
258+
<TargetsLinuxBionic Condition="'$(_portableOS)' == 'linux-bionic'">true</TargetsLinuxBionic>
259+
<TargetsLinuxMusl Condition="'$(_portableOS)' == 'linux-musl'">true</TargetsLinuxMusl>
263260
<TargetsNetBSD Condition="'$(TargetOS)' == 'netbsd'">true</TargetsNetBSD>
264261
<TargetsOSX Condition="'$(TargetOS)' == 'osx'">true</TargetsOSX>
265262
<TargetsMacCatalyst Condition="'$(TargetOS)' == 'maccatalyst'">true</TargetsMacCatalyst>
@@ -279,14 +276,14 @@
279276
<MicrosoftNetCoreAppRefPackRefDir>$([MSBuild]::NormalizeDirectory('$(MicrosoftNetCoreAppRefPackDir)', 'ref', '$(NetCoreAppCurrent)'))</MicrosoftNetCoreAppRefPackRefDir>
280277
<MicrosoftNetCoreAppRefPackDataDir>$([MSBuild]::NormalizeDirectory('$(MicrosoftNetCoreAppRefPackDir)', 'data'))</MicrosoftNetCoreAppRefPackDataDir>
281278

282-
<MicrosoftNetCoreAppRuntimePackDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'microsoft.netcore.app.runtime.$(OutputRid)', '$(LibrariesConfiguration)'))</MicrosoftNetCoreAppRuntimePackDir>
283-
<MicrosoftNetCoreAppRuntimePackRidDir>$([MSBuild]::NormalizeDirectory('$(MicrosoftNetCoreAppRuntimePackDir)', 'runtimes', '$(OutputRid)'))</MicrosoftNetCoreAppRuntimePackRidDir>
279+
<MicrosoftNetCoreAppRuntimePackDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'microsoft.netcore.app.runtime.$(OutputRID)', '$(LibrariesConfiguration)'))</MicrosoftNetCoreAppRuntimePackDir>
280+
<MicrosoftNetCoreAppRuntimePackRidDir>$([MSBuild]::NormalizeDirectory('$(MicrosoftNetCoreAppRuntimePackDir)', 'runtimes', '$(OutputRID)'))</MicrosoftNetCoreAppRuntimePackRidDir>
284281
<MicrosoftNetCoreAppRuntimePackRidLibTfmDir>$([MSBuild]::NormalizeDirectory('$(MicrosoftNetCoreAppRuntimePackRidDir)', 'lib', '$(NetCoreAppCurrent)'))</MicrosoftNetCoreAppRuntimePackRidLibTfmDir>
285282
<MicrosoftNetCoreAppRuntimePackNativeDir>$([MSBuild]::NormalizeDirectory('$(MicrosoftNetCoreAppRuntimePackRidDir)', 'native'))</MicrosoftNetCoreAppRuntimePackNativeDir>
286283
</PropertyGroup>
287284

288285
<PropertyGroup>
289-
<DotNetHostBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', '$(OutputRid).$(HostConfiguration)', 'corehost'))</DotNetHostBinDir>
286+
<DotNetHostBinDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', '$(OutputRID).$(HostConfiguration)', 'corehost'))</DotNetHostBinDir>
290287
</PropertyGroup>
291288

292289
<!--Feature switches -->

THIRD-PARTY-NOTICES.TXT

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1226,3 +1226,46 @@ https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp
12261226

12271227
MurmurHash3 was written by Austin Appleby, and is placed in the public
12281228
domain. The author hereby disclaims copyright to this source
1229+
1230+
License for Fast CRC Computation
1231+
--------------------------------------
1232+
1233+
https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm
1234+
1235+
Copyright(c) 2011-2015 Intel Corporation All rights reserved.
1236+
1237+
Redistribution and use in source and binary forms, with or without
1238+
modification, are permitted provided that the following conditions
1239+
are met:
1240+
* Redistributions of source code must retain the above copyright
1241+
notice, this list of conditions and the following disclaimer.
1242+
* Redistributions in binary form must reproduce the above copyright
1243+
notice, this list of conditions and the following disclaimer in
1244+
the documentation and/or other materials provided with the
1245+
distribution.
1246+
* Neither the name of Intel Corporation nor the names of its
1247+
contributors may be used to endorse or promote products derived
1248+
from this software without specific prior written permission.
1249+
1250+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1251+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1252+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1253+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1254+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1255+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1256+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1257+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1258+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1259+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1260+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1261+
1262+
License for C# Implementation of Fast CRC Computation
1263+
-----------------------------------------------------
1264+
1265+
https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs
1266+
1267+
Copyright (c) Six Labors.
1268+
Licensed under the Apache License, Version 2.0.
1269+
1270+
Available at
1271+
https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE

docs/area-owners.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Note: Editing this file doesn't update the mapping used by `@msftbot` for area-s
6565
| area-System.Buffers | @jeffhandley | @dotnet/area-system-buffers | |
6666
| area-System.CodeDom | @ericstj | @dotnet/area-system-codedom | |
6767
| area-System.Collections | @jeffhandley | @dotnet/area-system-collections | Excluded:<ul><li>System.Array -> System.Runtime</li></ul> |
68-
| area-System.ComponentModel | @ericstj | @dotnet/area-system-componentmodel | |
68+
| area-System.ComponentModel | @ericstj | @dotnet/area-system-componentmodel | Consultants: @dotnet/dotnet-winforms |
6969
| area-System.ComponentModel.Composition | @ericstj | @dotnet/area-system-componentmodel-composition | |
7070
| area-System.ComponentModel.DataAnnotations | @jeffhandley | @dotnet/area-system-componentmodel-dataannotations | Included:<ul><li>System.ComponentModel.Annotations</li></ul> |
7171
| area-System.Composition | @ericstj | @dotnet/area-system-composition | |

0 commit comments

Comments
 (0)