# prebuild for WASM, so it is ready for wasm development
make -C src/mono/wasm provision-wasm
export EMSDK_PATH=$PWD/src/mono/wasm/emsdk
- ./build.sh mono+libs -os Browser -c Release
+ ./build.sh mono+libs -os browser -c Release
# install dotnet-serve for running wasm samples
./dotnet.sh tool install dotnet-serve --tool-path ./.dotnet-tools-global
</PropertyGroup>
<PropertyGroup Label="CalculateTargetOS">
- <_hostOS>Linux</_hostOS>
- <_hostOS Condition="$([MSBuild]::IsOSPlatform('OSX'))">OSX</_hostOS>
- <_hostOS Condition="$([MSBuild]::IsOSPlatform('FREEBSD'))">FreeBSD</_hostOS>
- <_hostOS Condition="$([MSBuild]::IsOSPlatform('NETBSD'))">NetBSD</_hostOS>
+ <_hostOS>linux</_hostOS>
+ <_hostOS Condition="$([MSBuild]::IsOSPlatform('OSX'))">osx</_hostOS>
+ <_hostOS Condition="$([MSBuild]::IsOSPlatform('FREEBSD'))">freebsd</_hostOS>
+ <_hostOS Condition="$([MSBuild]::IsOSPlatform('NETBSD'))">netbsd</_hostOS>
<_hostOS Condition="$([MSBuild]::IsOSPlatform('ILLUMOS'))">illumos</_hostOS>
- <_hostOS Condition="$([MSBuild]::IsOSPlatform('SOLARIS'))">Solaris</_hostOS>
+ <_hostOS Condition="$([MSBuild]::IsOSPlatform('SOLARIS'))">solaris</_hostOS>
<_hostOS Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">windows</_hostOS>
<HostOS>$(_hostOS)</HostOS>
<TargetOS Condition="'$(TargetOS)' == '' and '$(RuntimeIdentifier)' == 'browser-wasm'">browser</TargetOS>
<TargetOS Condition="'$(TargetOS)' == ''">$(_hostOS)</TargetOS>
- <TargetsMobile Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'MacCatalyst' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'Android' or '$(TargetOS)' == 'Browser' or '$(TargetOS)' == 'wasi'">true</TargetsMobile>
- <TargetsAppleMobile Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'MacCatalyst' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator'">true</TargetsAppleMobile>
+ <TargetsMobile Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'maccatalyst' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'android' or '$(TargetOS)' == 'browser' or '$(TargetOS)' == 'wasi'">true</TargetsMobile>
+ <TargetsAppleMobile Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'maccatalyst' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator'">true</TargetsAppleMobile>
</PropertyGroup>
<!-- Platform property is required by RepoLayout.props in Arcade SDK. -->
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 'loongarch64'">loongarch64</TargetArchitecture>
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 's390x'">s390x</TargetArchitecture>
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(_hostArch)' == 'ppc64le'">ppc64le</TargetArchitecture>
- <TargetArchitecture Condition="'$(TargetArchitecture)' == '' and ('$(TargetOS)' == 'Browser' or '$(RuntimeIdentifier)' == 'browser-wasm')">wasm</TargetArchitecture>
+ <TargetArchitecture Condition="'$(TargetArchitecture)' == '' and ('$(TargetOS)' == 'browser' or '$(RuntimeIdentifier)' == 'browser-wasm')">wasm</TargetArchitecture>
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and ('$(TargetOS)' == 'wasi' or '$(RuntimeIdentifier)' == 'wasi-wasm')">wasm</TargetArchitecture>
<TargetArchitecture Condition="'$(TargetArchitecture)' == '' and '$(TargetsMobile)' == 'true'">x64</TargetArchitecture>
<TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture>
<_portableOS>linux</_portableOS>
<_portableOS Condition="'$(_runtimeOS)' == 'linux-musl'">linux-musl</_portableOS>
<_portableOS Condition="'$(_runtimeOS)' == 'linux-bionic'">linux-bionic</_portableOS>
- <_portableOS Condition="'$(_hostOS)' == 'OSX'">osx</_portableOS>
+ <_portableOS Condition="'$(_hostOS)' == 'osx'">osx</_portableOS>
<_portableOS Condition="'$(_runtimeOS)' == 'win' or '$(TargetOS)' == 'windows'">win</_portableOS>
- <_portableOS Condition="'$(_runtimeOS)' == 'FreeBSD' or '$(TargetOS)' == 'FreeBSD'">freebsd</_portableOS>
+ <_portableOS Condition="'$(_runtimeOS)' == 'freebsd' or '$(TargetOS)' == 'freebsd'">freebsd</_portableOS>
<_portableOS Condition="'$(_runtimeOS)' == 'illumos' or '$(TargetOS)' == 'illumos'">illumos</_portableOS>
- <_portableOS Condition="'$(_runtimeOS)' == 'Solaris' or '$(TargetOS)' == 'Solaris'">solaris</_portableOS>
- <_portableOS Condition="'$(_runtimeOS)' == 'Browser'">browser</_portableOS>
+ <_portableOS Condition="'$(_runtimeOS)' == 'solaris' or '$(TargetOS)' == 'solaris'">solaris</_portableOS>
+ <_portableOS Condition="'$(_runtimeOS)' == 'browser'">browser</_portableOS>
<_portableOS Condition="'$(_runtimeOS)' == 'wasi'">wasi</_portableOS>
<_portableOS Condition="'$(_runtimeOS)' == 'maccatalyst'">maccatalyst</_portableOS>
<_portableOS Condition="'$(_runtimeOS)' == 'ios'">ios</_portableOS>
- <_portableOS Condition="'$(_runtimeOS)' == 'iOSSimulator'">iossimulator</_portableOS>
+ <_portableOS Condition="'$(_runtimeOS)' == 'iossimulator'">iossimulator</_portableOS>
<_portableOS Condition="'$(_runtimeOS)' == 'tvos'">tvos</_portableOS>
- <_portableOS Condition="'$(_runtimeOS)' == 'tvOSSimulator'">tvossimulator</_portableOS>
+ <_portableOS Condition="'$(_runtimeOS)' == 'tvossimulator'">tvossimulator</_portableOS>
<_portableOS Condition="'$(_runtimeOS)' == 'android'">android</_portableOS>
<_runtimeOS Condition="$(_runtimeOS.StartsWith('tizen'))">linux</_runtimeOS>
<_runtimeOS Condition="'$(PortableBuild)' == 'true'">$(_portableOS)</_runtimeOS>
<_packageLibc Condition="$(_runtimeOS.Contains('musl'))">-musl</_packageLibc>
- <_packageOS Condition="'$(CrossBuild)' == 'true'">$(_hostOS.ToLowerInvariant)$(_packageLibc)</_packageOS>
+ <_packageOS Condition="'$(CrossBuild)' == 'true'">$(_hostOS)$(_packageLibc)</_packageOS>
<_packageOS Condition="'$(_packageOS)' == '' and '$(PortableBuild)' == 'true'">$(_portableOS)</_packageOS>
<_packageOS Condition="'$(_packageOS)' == ''">$(_runtimeOS)</_packageOS>
</PropertyGroup>
<PropertyGroup Label="CalculateRID">
- <_toolsRID Condition="'$(CrossBuild)' == 'true'">$(_hostOS.ToLowerInvariant)-$(_hostArch)</_toolsRID>
+ <_toolsRID Condition="'$(CrossBuild)' == 'true'">$(_hostOS)-$(_hostArch)</_toolsRID>
<_toolsRID Condition="'$(BuildingInsideVisualStudio)' == 'true'">$(_runtimeOS)-x64</_toolsRID>
<_toolsRID Condition="'$(_toolsRID)' == ''">$(_runtimeOS)-$(_hostArch)</_toolsRID>
<!-- There are no WebAssembly tools, so use the default ones -->
- <_toolsRID Condition="'$(_runtimeOS)' == 'Browser'">linux-x64</_toolsRID>
- <_toolsRID Condition="'$(_runtimeOS)' == 'Browser' and '$(HostOS)' == 'windows'">win-x64</_toolsRID>
- <_toolsRID Condition="'$(_runtimeOS)' == 'Browser' and '$(HostOS)' == 'osx'">osx-x64</_toolsRID>
+ <_toolsRID Condition="'$(_runtimeOS)' == 'browser'">linux-x64</_toolsRID>
+ <_toolsRID Condition="'$(_runtimeOS)' == 'browser' and '$(HostOS)' == 'windows'">win-x64</_toolsRID>
+ <_toolsRID Condition="'$(_runtimeOS)' == 'browser' and '$(HostOS)' == 'osx'">osx-x64</_toolsRID>
<!-- There are no Android tools, so use the default ones -->
<_toolsRID Condition="'$(_runtimeOS)' == 'android' or '$(_runtimeOS)' == 'linux-bionic'">linux-x64</_toolsRID>
<_toolsRID Condition="('$(_runtimeOS)' == 'android' or '$(_runtimeOS)' == 'linux-bionic') and '$(HostOS)' == 'osx'">osx-x64</_toolsRID>
<!-- There are no Mac Catalyst, iOS or tvOS tools and it can be built on OSX only, so use that -->
- <_toolsRID Condition="'$(_runtimeOS)' == 'maccatalyst' or '$(_runtimeOS)' == 'ios' or '$(_runtimeOS)' == 'iOSSimulator' or '$(_runtimeOS)' == 'tvos' or '$(_runtimeOS)' == 'tvOSSimulator'">osx-x64</_toolsRID>
+ <_toolsRID Condition="'$(_runtimeOS)' == 'maccatalyst' or '$(_runtimeOS)' == 'ios' or '$(_runtimeOS)' == 'iossimulator' or '$(_runtimeOS)' == 'tvos' or '$(_runtimeOS)' == 'tvossimulator'">osx-x64</_toolsRID>
<!-- There are no non-portable builds for Ilasm, Ildasm, ILC etc. -->
<ToolsRID Condition="'$(PortableBuild)' != 'true' and '$(_portableOS)' == 'linux'">linux-$(_hostArch)</ToolsRID>
</PropertyGroup>
<PropertyGroup Label="CalculateTargetOSName" Condition="'$(SkipInferTargetOSName)' != 'true'">
- <TargetsFreeBSD Condition="'$(TargetOS)' == 'FreeBSD'">true</TargetsFreeBSD>
+ <TargetsFreeBSD Condition="'$(TargetOS)' == 'freebsd'">true</TargetsFreeBSD>
<Targetsillumos Condition="'$(TargetOS)' == 'illumos'">true</Targetsillumos>
- <TargetsSolaris Condition="'$(TargetOS)' == 'Solaris'">true</TargetsSolaris>
- <TargetsLinux Condition="'$(TargetOS)' == 'Linux' or '$(TargetOS)' == 'Android'">true</TargetsLinux>
- <TargetsNetBSD Condition="'$(TargetOS)' == 'NetBSD'">true</TargetsNetBSD>
- <TargetsOSX Condition="'$(TargetOS)' == 'OSX'">true</TargetsOSX>
- <TargetsMacCatalyst Condition="'$(TargetOS)' == 'MacCatalyst'">true</TargetsMacCatalyst>
- <TargetsiOS Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator'">true</TargetsiOS>
- <TargetstvOS Condition="'$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator'">true</TargetstvOS>
- <TargetsiOSSimulator Condition="'$(TargetOS)' == 'iOSSimulator'">true</TargetsiOSSimulator>
- <TargetstvOSSimulator Condition="'$(TargetOS)' == 'tvOSSimulator'">true</TargetstvOSSimulator>
- <TargetsAndroid Condition="'$(TargetOS)' == 'Android'">true</TargetsAndroid>
- <TargetsBrowser Condition="'$(TargetOS)' == 'Browser'">true</TargetsBrowser>
+ <TargetsSolaris Condition="'$(TargetOS)' == 'solaris'">true</TargetsSolaris>
+ <TargetsLinux Condition="'$(TargetOS)' == 'linux' or '$(TargetOS)' == 'android'">true</TargetsLinux>
+ <TargetsNetBSD Condition="'$(TargetOS)' == 'netbsd'">true</TargetsNetBSD>
+ <TargetsOSX Condition="'$(TargetOS)' == 'osx'">true</TargetsOSX>
+ <TargetsMacCatalyst Condition="'$(TargetOS)' == 'maccatalyst'">true</TargetsMacCatalyst>
+ <TargetsiOS Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator'">true</TargetsiOS>
+ <TargetstvOS Condition="'$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator'">true</TargetstvOS>
+ <TargetsiOSSimulator Condition="'$(TargetOS)' == 'iossimulator'">true</TargetsiOSSimulator>
+ <TargetstvOSSimulator Condition="'$(TargetOS)' == 'tvossimulator'">true</TargetstvOSSimulator>
+ <TargetsAndroid Condition="'$(TargetOS)' == 'android'">true</TargetsAndroid>
+ <TargetsBrowser Condition="'$(TargetOS)' == 'browser'">true</TargetsBrowser>
<TargetsWasi Condition="'$(TargetOS)' == 'wasi'">true</TargetsWasi>
<TargetsWindows Condition="'$(TargetOS)' == 'windows'">true</TargetsWindows>
<TargetsUnix Condition="'$(TargetsFreeBSD)' == 'true' or '$(Targetsillumos)' == 'true' or '$(TargetsSolaris)' == 'true' or '$(TargetsLinux)' == 'true' or '$(TargetsNetBSD)' == 'true' or '$(TargetsOSX)' == 'true' or '$(TargetsMacCatalyst)' == 'true' or '$(TargetstvOS)' == 'true' or '$(TargetsiOS)' == 'true' or '$(TargetsAndroid)' == 'true'">true</TargetsUnix>
-<Project>
+<Project InitialTargets="ValidateTargetOSLowercase">
<PropertyGroup>
<!--
For non-SDK projects that import this file and then import Microsoft.Common.targets,
<Description>$(PackageDescription)</Description>
</PropertyGroup>
+ <Target Name="ValidateTargetOSLowercase"
+ Condition="!$(TargetOS.Equals($(TargetOS.ToLower()), StringComparison.InvariantCulture))">
+ <Error Text="The passed-in TargetOS property value '$(TargetOS)' must be lowercase." />
+ </Target>
+
<ItemDefinitionGroup>
<TargetPathWithTargetPlatformMoniker>
<IsReferenceAssemblyProject>$(IsReferenceAssemblyProject)</IsReferenceAssemblyProject>
```
### Build System
-When building dotnet/runtime, we use the "TargetOS" property to control what target platform we are building for. The valid values for this property are windows (which is the default value from MSBuild when running on Windows), Linux and OSX.
+When building dotnet/runtime, we use the "TargetOS" property to control what target platform we are building for. The valid values for this property are windows (which is the default value from MSBuild when running on Windows), linux and osx.
#### Project Files
-Whenever possible, a single .csproj should be used per assembly, spanning all target platforms, e.g. System.Console.csproj includes conditional entries for when targeting Windows vs when targeting Linux. A property can be passed to dotnet build to control which flavor is built, e.g. `dotnet build /p:TargetOS=OSX System.Console.csproj`.
+Whenever possible, a single .csproj should be used per assembly, spanning all target platforms, e.g. System.Console.csproj includes conditional entries for when targeting Windows vs when targeting Linux. A property can be passed to dotnet build to control which flavor is built, e.g. `dotnet build /p:TargetOS=osx System.Console.csproj`.
### Constants
- Wherever possible, constants should be defined as "const". Only if the data type doesn't support this (e.g. IntPtr) should they instead be static readonly fields.
- **Target Frameworks:** .NETFramework, .NETStandard, .NETCoreApp
- **Platform Runtimes:** .NETFramework (aka CLR/Desktop), CoreCLR, Mono
-- **OS:** windows, Linux, OSX, FreeBSD, AnyOS
+- **OS:** windows, linux, osx, freebsd, AnyOS
- **Flavor:** Debug, Release
## Individual build properties
The following are the properties associated with each build pivot
- `$(BuildTargetFramework) -> Any .NETCoreApp or .NETFramework TFM, e.g. net8.0`
-- `$(TargetOS) -> Windows | Linux | OSX | FreeBSD | [defaults to running OS when empty]`
-- `$(Configuration) -> Release | [defaults to Debug when empty]`
+- `$(TargetOS) -> windows | linux | osx | freebsd | ... | [defaults to running OS when empty]`
+- `$(Configuration) -> Debug | Release | [defaults to Debug when empty]`
- `$(TargetArchitecture) - x86 | x64 | arm | arm64 | [defaults to x64 when empty]`
- `$(RuntimeOS) - win7 | osx10.10 | ubuntu.14.04 | [any other RID OS+version] | [defaults to running OS when empty]` See [RIDs](https://github.com/dotnet/runtime/tree/main/src/libraries/Microsoft.NETCore.Platforms) for more info.
```bash
export ROOTFS_DIR=/path/to/runtime/.tools/rootfs/x64
-./build.sh --subset clr --configuration Release --cross --os FreeBSD
+./build.sh --subset clr --configuration Release --cross --os freebsd
```
#### Cross-Compiling CoreCLR for other VFP Configurations
./src/coreclr/build-runtime.sh -arm64 -hostarch x64 -component crosscomponents -cmakeargs "-DCLR_CROSS_COMPONENTS_BUILD=1"
```
-The output of running this command is placed in `artifacts/bin/coreclr/Linux.<target_arch>.<configuration>/<host_arch>`. For our example, it would be `artifacts/bin/coreclr/Linux.arm64.Release/x64`.
+The output of running this command is placed in `artifacts/bin/coreclr/linux.<target_arch>.<configuration>/<host_arch>`. For our example, it would be `artifacts/bin/coreclr/linux.arm64.Release/x64`.
On Windows, you can build these cross-targeting diagnostic libraries with the `linuxdac` and `alpinedac` subsets from the root `build.cmd` script. That said, you can also use the `build-runtime.cmd` script, like with Linux. These builds also require you to pass the `-os` flag to specify the target OS. For example:
```cmd
-.\src\coreclr\build-runtime.cmd -arm64 -hostarch x64 -os Linux -component crosscomponents -cmakeargs "-DCLR_CROSS_COMPONENTS_BUILD=1"
+.\src\coreclr\build-runtime.cmd -arm64 -hostarch x64 -os linux -component crosscomponents -cmakeargs "-DCLR_CROSS_COMPONENTS_BUILD=1"
```
If you're building the cross-components in powershell, you'll need to wrap `"-DCLR_CROSS_COMPONENTS_BUILD=1"` with single quotes (`'`) to ensure things are escaped correctly for CMD.
Using Docker to cross-build for FreeBSD is very similar to any other Docker Linux build. You only need to use the appropriate image and pass `--os` as well to specify this is not an architecture(-only) build. For example, to make a FreeBSD x64 build:
```bash
-docker run --rm -v <RUNTIME_REPO_PATH>:/runtime -w /runtime -e ROOTFS_DIR=/crossrootfs/x64 mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-freebsd-12-20220831130538-f13d79e ./build.sh --subset clr --cross --os FreeBSD
+docker run --rm -v <RUNTIME_REPO_PATH>:/runtime -w /runtime -e ROOTFS_DIR=/crossrootfs/x64 mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-freebsd-12-20220831130538-f13d79e ./build.sh --subset clr --cross --os freebsd
```
./build.sh --subset clr <other args>
```
-After the build is completed, there should be some files placed in `artifacts/bin/coreclr/Linux.<arch>.<configuration>` (for example `artifacts/bin/coreclr/Linux.x64.Release`). The most important binaries are the following:
+After the build is completed, there should be some files placed in `artifacts/bin/coreclr/linux.<arch>.<configuration>` (for example `artifacts/bin/coreclr/linux.x64.Release`). The most important binaries are the following:
* `corerun`: The command line host. This program loads and starts the CoreCLR runtime and passes the managed program (e.g. `program.dll`) you want to run with it.
* `libcoreclr.so`: The CoreCLR runtime itself.
./build.sh --subset clr <other args>
```
-After the build has completed, there should be some files placed in `artifacts/bin/coreclr/OSX.<arch>.<configuration>` (for example `artifacts/bin/coreclr/OSX.x64.Release`). The most important binaries are the following:
+After the build has completed, there should be some files placed in `artifacts/bin/coreclr/osx.<arch>.<configuration>` (for example `artifacts/bin/coreclr/osx.x64.Release`). The most important binaries are the following:
* `corerun`: The command line host. This program loads and starts the CoreCLR runtime and passes the managed program (e.g. `program.dll`) you want to run with it.
* `libcoreclr.dylib`: The CoreCLR runtime itself.
To run all the tests that got built, run `src\tests\run.cmd runnativeaottests [Debug|Release]` on Windows, or `src/tests/run.sh --runnativeaottests [Debug|Release]` on Linux. The `Debug`/`Release` flag should match the flag that was passed to `build.cmd` in the previous step.
-To run an individual test (after it was built), navigate to the `artifacts\tests\coreclr\[Windows|Linux|OSX[.x64.[Debug|Release]\$path_to_test` directory. `$path_to_test` matches the subtree of `src\tests`. You should see a `[.cmd|.sh]` file there. This file is a script that will compile and launch the individual test for you. Before invoking the script, set the following environment variables:
+To run an individual test (after it was built), navigate to the `artifacts\tests\coreclr\[windows|linux|osx[.x64.[Debug|Release]\$path_to_test` directory. `$path_to_test` matches the subtree of `src\tests`. You should see a `[.cmd|.sh]` file there. This file is a script that will compile and launch the individual test for you. Before invoking the script, set the following environment variables:
-* CORE_ROOT=$repo_root\artifacts\tests\coreclr\[Windows|Linux|OSX].x64.[Debug|Release]\Tests\Core_Root
+* CORE_ROOT=$repo_root\artifacts\tests\coreclr\[windows|linux|osx].x64.[Debug|Release]\Tests\Core_Root
* CLRCustomTestLauncher=$repo_root\src\tests\Common\scripts\nativeaottest[.cmd|.sh]
`$repo_root` is the root of your clone of the repo.
-Sometimes it's handy to be able to rebuild the managed test manually or run the compilation under a debugger. A response file that was used to invoke the ahead of time compiler can be found in `$repo_root\artifacts\tests\coreclr\obj\[Windows|Linux|OSX].x64.[Debug|Release]\Managed`.
+Sometimes it's handy to be able to rebuild the managed test manually or run the compilation under a debugger. A response file that was used to invoke the ahead of time compiler can be found in `$repo_root\artifacts\tests\coreclr\obj\[windows|linux|osx].x64.[Debug|Release]\Managed`.
For more advanced scenarios, look for at [Building the Tests](/docs/workflow/testing/coreclr/testing.md#building-the-tests) and [Building the Core_Root](../../testing/coreclr/testing.md#building-the-coreroot)
The build settings (BuildTargetFramework, TargetOS, Configuration, Architecture) are generally defaulted based on where you are building (i.e. which OS or which architecture) but we have a few shortcuts for the individual properties that can be passed to the build scripts:
- `-framework|-f` identifies the target framework for the build. Possible values include `net8.0` (currently the latest .NET version) or `net48` (the latest .NET Framework version). (msbuild property `BuildTargetFramework`)
-- `-os` identifies the OS for the build. It defaults to the OS you are running on but possible values include `windows`, `Unix`, `Linux`, or `OSX`. (msbuild property `TargetOS`)
+- `-os` identifies the OS for the build. It defaults to the OS you are running on but possible values include `windows`, `unix`, `linux`, or `osx`. (msbuild property `TargetOS`)
- `-configuration|-c Debug|Release` controls the optimization level the compilers use for the build. It defaults to `Debug`. (msbuild property `Configuration`)
- `-arch` identifies the architecture for the build. It defaults to `x64` but possible values include `x64`, `x86`, `arm`, or `arm64`. (msbuild property `TargetArchitecture`)
For example the `src\libraries\System.Diagnostics.DiagnosticSource` directory holds the source code for the System.Diagnostics.DiagnosticSource.dll assembly.
-You can build the DLL for System.Diagnostics.DiagnosticSource.dll by going to the `src\libraries\System.Diagnostics.DiagnosticsSource\src` directory and typing `dotnet build`. The DLL ends up in `artifacts\bin\AnyOS.AnyCPU.Debug\System.Diagnostics.DiagnosticSource` as well as `artifacts\bin\runtime\[$(BuildTargetFramework)-$(TargetOS)-$(Configuration)-$(TargetArchitecture)]`.
+You can build the DLL for System.Diagnostics.DiagnosticSource.dll by going to the `src\libraries\System.Diagnostics.DiagnosticsSource\src` directory and typing `dotnet build`. The DLL ends up in `artifacts\bin\System.Diagnostics.DiagnosticSource` as well as `artifacts\bin\runtime\[$(BuildTargetFramework)-$(TargetOS)-$(Configuration)-$(TargetArchitecture)]`.
You can build the tests for System.Diagnostics.DiagnosticSource.dll by going to
`src\libraries\System.Diagnostics.DiagnosticSource\tests` and typing `dotnet build`.
- Build project for Linux
```bash
-dotnet build System.Net.NetworkInformation.csproj /p:TargetOS=Linux
+dotnet build System.Net.NetworkInformation.csproj /p:TargetOS=linux
```
- Build Release version of library
For Linux and macOS:
```bash
-./build.sh -os Browser -configuration Release
+./build.sh -os browser -configuration Release
```
Artifacts will be placed in `artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Release/`. When rebuilding with `build.sh` after a code change, you need to ensure that the `mono.wasmruntime` and `libs.pretest` subsets are included even for a Mono-only change or this directory will not be updated (details below).
If you are working on core parts of Mono you will probably need to build the Mono runtime and [System.Private.CoreLib](../../../design/coreclr/botr/corelib.md) which can be built with the following:
```bash
-./build.sh mono -os Browser -c Debug|Release
+./build.sh mono -os browser -c Debug|Release
```
To build just System.Private.CoreLib without the Mono runtime you can use the `Mono.CoreLib` subset:
```bash
-./build.sh mono.corelib -os Browser -c Debug|Release
+./build.sh mono.corelib -os browser -c Debug|Release
```
To build just the Mono runtime without System.Private.CoreLib use the `Mono.Runtime` subset:
```bash
-./build.sh mono.runtime -os Browser -c Debug|Release
+./build.sh mono.runtime -os browser -c Debug|Release
```
Building both Mono/System.Private.CoreLib and the managed libraries:
```bash
-./build.sh mono+libs -os Browser -c Debug|Release
+./build.sh mono+libs -os browser -c Debug|Release
```
## Building the WebAssembly runtime files
The WebAssembly implementation files are built after the libraries source build and made available in the artifacts folder. If you are working on the code base and need to compile just these modules then building the `Mono.WasmRuntime` subset will allow one to do that:
```bash
-./build.sh mono.wasmruntime -os Browser -c Debug|Release
+./build.sh mono.wasmruntime -os browser -c Debug|Release
```
## Updating in-tree runtime pack
If you don't run the full `Libs` subset then you can use the `Libs.PreTest` subset to copy updated runtime/corelib binaries to the runtime pack which is used for running tests:
```bash
-./build.sh libs.pretest -os Browser -c Debug|Release
+./build.sh libs.pretest -os browser -c Debug|Release
```
## Building libraries native components only
The libraries build contains some native code. This includes shims over libc, openssl, gssapi, and zlib. The build system uses CMake to generate Makefiles using clang. The build also uses git for generating some version information.
```bash
-./build.sh libs.native -os Browser -c Debug|Release
+./build.sh libs.native -os browser -c Debug|Release
```
## Building individual libraries
- Build all projects for a given library (e.g.: System.Net.Http) including the tests
```bash
-./build.sh -os Browser -c Release --projects <full-repository-path>/src/libraries/System.Net.Http/System.Net.Http.sln
+./build.sh -os browser -c Release --projects <full-repository-path>/src/libraries/System.Net.Http/System.Net.Http.sln
```
- Build only the source project of a given library (e.g.: System.Net.Http)
```bash
- ./build.sh -os Browser -c Release --projects <full-repository-path>/src/libraries/System.Net.Http/src/System.Net.Http.csproj
+ ./build.sh -os browser -c Release --projects <full-repository-path>/src/libraries/System.Net.Http/src/System.Net.Http.csproj
```
More information and examples can be found in the [libraries](./README.md#building-individual-libraries) document.
Note that these properties can be conditional, e.g.:
```
-<GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+<GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
```
(REVIEW: I'm not clear which conditions are allowed, and respected.)
During development there are many instances where building an individual test is fast and necessary. All of the necessary tools to build are under `coreclr`. It is possible to use `~/runtime/dotnet.sh msbuild` as you would normally use MSBuild with a few caveats.
-**!! Note !! -- Passing /p:TargetOS=[OSX|Linux] is required.**
+**!! Note !! -- Passing /p:TargetOS=[osx|linux] is required.**
## Building an Individual Test
To run all tests including disabled tests
```sh
./src/coreclr/pal/tests/palsuite/runpaltests.sh $(pwd)/artifacts/bin/coreclr/$(uname).x64.Debug/paltests
-# on macOS, replace $(uname) with OSX
+# on macOS, replace $(uname) with osx
```
To only run enabled tests for the platform the tests were built for:
```sh
artifacts/bin/coreclr/$(uname).x64.Debug/paltests/runpaltests.sh $(pwd)/artifacts/bin/coreclr/$(uname).x64.Debug/paltests
-# on macOS, replace $(uname) with OSX
+# on macOS, replace $(uname) with osx
```
To run only specific tests, edit paltestlist.txt locally to delete the ones you don't want to run.
When running tests by building a test project, tests that don't apply to the `TargetOS` are not run. For example, to run Linux-specific tests on a Linux box, use the following command line:
```sh
-dotnet build <csproj_file> /t:Test /p:TargetOS=Linux
+dotnet build <csproj_file> /t:Test /p:TargetOS=linux
```
To run all Linux-compatible tests that are failing:
```sh
-dotnet build <csproj_file> /t:Test /p:TargetOS=Linux /p:WithCategories=failing
+dotnet build <csproj_file> /t:Test /p:TargetOS=linux /p:WithCategories=failing
```
This attribute is defined [here](https://github.com/dotnet/arcade/blob/main/src/Microsoft.DotNet.XUnitExtensions/src/Attributes/PlatformSpecificAttribute.cs).
```
- Run all outer loop tests acceptable on OS X that are currently associated with active issues:
```sh
-dotnet build <csproj_file> /t:Test /p:TargetOS=OSX /p:WithCategories="OuterLoop;failing""
+dotnet build <csproj_file> /t:Test /p:TargetOS=osx /p:WithCategories="OuterLoop;failing""
```
## SkipOnCoreClrAttribute
Now we're ready to build everything for Android:
```
-./build.sh mono+libs -os Android -arch x64
+./build.sh mono+libs -os android -arch x64
```
and even run tests one by one for each library:
```
-./build.sh libs.tests -os Android -arch x64 -test
+./build.sh libs.tests -os android -arch x64 -test
```
Make sure an emulator is booted (see [`AVD Manager`](#avd-manager)) or a device is plugged in and unlocked.
`AVD Manager` tool recommends to install `x86` images by default so if you follow that recommendation make sure `-arch x86` was used for the build script.
### Running individual test suites
The following shows how to run tests for a specific library
```
-./dotnet.sh build /t:Test src/libraries/System.Numerics.Vectors/tests /p:TargetOS=Android /p:TargetArchitecture=x64
+./dotnet.sh build /t:Test src/libraries/System.Numerics.Vectors/tests /p:TargetOS=android /p:TargetArchitecture=x64
```
### Running the functional tests
A functional test can be run the same way as any library test suite, e.g.:
```
-./dotnet.sh build /t:Test -c Release /p:TargetOS=Android /p:TargetArchitecture=x64 src/tests/FunctionalTests/Android/Device_Emulator/PInvoke/Android.Device_Emulator.PInvoke.Test.csproj
+./dotnet.sh build /t:Test -c Release /p:TargetOS=android /p:TargetArchitecture=x64 src/tests/FunctionalTests/Android/Device_Emulator/PInvoke/Android.Device_Emulator.PInvoke.Test.csproj
```
Currently functional tests are expected to return `42` as a success code so please be careful when adding a new one.
The emulator can be launched with a variety of options. Run `emulator -help` to see the full list.
### Existing Limitations
-- `-os Android` is not supported for Windows yet (`WSL` can be used instead)
+- `-os android` is not supported for Windows yet (`WSL` can be used instead)
- XHarness.CLI is not able to boot emulators yet (so you need to boot via `AVD Manager` or IDE)
- AOT and Interpreter modes are not supported yet
./build.sh mono+libs -os <TARGET_OS> -arch <TARGET_ARCHITECTURE>
```
where `<TARGET_OS>` is one of the following:
-- iOSSimulator
-- tvOSSimulator
-- MacCatalyst
-- iOS
-- tvOS
+- iossimulator
+- tvossimulator
+- maccatalyst
+- ios
+- tvos
and `<TARGET_ARCHITECTURE>` is one of the following:
- x64
e.g., to build for an iOS simulator, run:
```
-./build.sh mono+libs -os iOSSimulator -arch x64
+./build.sh mono+libs -os iossimulator -arch x64
```
Run tests one by one for each test suite on a simulator:
```
-./build.sh libs.tests -os iOSSimulator -arch x64 -test
+./build.sh libs.tests -os iossimulator -arch x64 -test
```
### Building for a device
For example:
```
-./build.sh libs.tests -os iOS -arch x64 -test /p:DevTeamProvisioning=H1A2B3C4D5
+./build.sh libs.tests -os ios -arch x64 -test /p:DevTeamProvisioning=H1A2B3C4D5
```
Other possible options are:
- to sign with an adhoc key by setting `/p:DevTeamProvisioning=adhoc`
- The following shows how to run tests for a specific library:
```
-./dotnet.sh build src/libraries/System.Numerics.Vectors/tests /t:Test /p:TargetOS=iOS /p:TargetArchitecture=x64
+./dotnet.sh build src/libraries/System.Numerics.Vectors/tests /t:Test /p:TargetOS=ios /p:TargetArchitecture=x64
```
Also you can run the built test app through Xcode by opening the corresponding `.xcodeproj` and setting up the right scheme, app, and even signing if using a local device.
A functional test can be run the same way as any library test suite, e.g.:
```
-./dotnet.sh build /t:Test -c Release /p:TargetOS=iOSSimulator /p:TargetArchitecture=x64 src/tests/FunctionalTests/iOS/Simulator/PInvoke/iOS.Simulator.PInvoke.Test.csproj
+./dotnet.sh build /t:Test -c Release /p:TargetOS=iossimulator /p:TargetArchitecture=x64 src/tests/FunctionalTests/iOS/Simulator/PInvoke/iOS.Simulator.PInvoke.Test.csproj
```
Currently functional tests are expected to return `42` as a success code so please be careful when adding a new one.
Now we're ready to build everything for WebAssembly (for more details, please read [this document](../../building/libraries/webassembly-instructions.md#building-everything)):
```bash
-./build.sh -os Browser -c Release
+./build.sh -os browser -c Release
```
and even run tests one by one for each library:
```
-./build.sh libs.tests -test -os Browser -c Release
+./build.sh libs.tests -test -os browser -c Release
```
### Running individual test suites using JavaScript engine
The following shows how to run tests for a specific library
```
-./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Release
+./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=browser /p:TargetArchitecture=wasm /p:Configuration=Release
```
### Running outer loop tests using JavaScript engine
To run all tests, including "outer loop" tests (which are typically slower and in some test suites less reliable, but which are more comprehensive):
```
-./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Release /p:Outerloop=true
+./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=browser /p:TargetArchitecture=wasm /p:Configuration=Release /p:Outerloop=true
```
### Running tests using different JavaScript engines
It's possible to set a JavaScript engine explicitly by adding `/p:JSEngine` property:
```
-./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Release /p:JSEngine=SpiderMonkey
+./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=browser /p:TargetArchitecture=wasm /p:Configuration=Release /p:JSEngine=SpiderMonkey
```
At the moment supported values are:
- CLI
```
- XHARNESS_COMMAND=test-browser ./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Release
+ XHARNESS_COMMAND=test-browser ./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=browser /p:TargetArchitecture=wasm /p:Configuration=Release
```
- Makefile target `run-browser-tests-<test>`
```
- CLI
```
- XHARNESS_COMMAND=test-browser ./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Release /p:Outerloop=true
+ XHARNESS_COMMAND=test-browser ./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=browser /p:TargetArchitecture=wasm /p:Configuration=Release /p:Outerloop=true
```
- Makefile target `run-browser-tests-<test>`
- CLI
```
- XHARNESS_COMMAND="test-browser --browser=safari" ./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Release
+ XHARNESS_COMMAND="test-browser --browser=safari" ./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=browser /p:TargetArchitecture=wasm /p:Configuration=Release
```
- Makefile target `run-browser-tests-<test>`
inputs.
- To recreate a similar build+test run locally, add `/p:BuildAOTTestsOnHelix=true` to the usual command line.
-- For example, with `./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Release`
+- For example, with `./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=browser /p:TargetArchitecture=wasm /p:Configuration=Release`
- AOT: add `/p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true /p:BuildAOTTestsOnHelix=true`
- Only trimming (helpful to isolate issues caused by trimming):
Run individual test:
```
-bash ./artifacts/tests/coreclr/OSX.x64.Release/JIT/opt/InstructionCombining/DivToMul/DivToMul.sh -coreroot=`pwd`/artifacts/tests/coreclr/OSX.x64.Release/Tests/Core_Root
+bash ./artifacts/tests/coreclr/osx.x64.Release/JIT/opt/InstructionCombining/DivToMul/DivToMul.sh -coreroot=`pwd`/artifacts/tests/coreclr/osx.x64.Release/Tests/Core_Root
```
Run all built tests:
1. Run the shell script for the test case manually with the `-debug` option:
```
-bash ./artifacts/tests/coreclr/OSX.x64.Release/JIT/opt/InstructionCombining/DivToMul/DivToMul.sh -coreroot=`pwd`/artifacts/tests/coreclr/OSX.x64.Release/Tests/Core_Root -debug=/usr/bin/lldb
+bash ./artifacts/tests/coreclr/osx.x64.Release/JIT/opt/InstructionCombining/DivToMul/DivToMul.sh -coreroot=`pwd`/artifacts/tests/coreclr/osx.x64.Release/Tests/Core_Root -debug=/usr/bin/lldb
```
2. In LLDB add the debug symbols for mono: `add-dsym <CORE_ROOT>/libcoreclr.dylib.dwarf`
3. Run/debug the test
### WebAssembly:
Build the runtime tests for WebAssembly
```
-$(REPO_ROOT)/src/tests/build.sh -mono os Browser wasm <Release/Debug>
+$(REPO_ROOT)/src/tests/build.sh -mono os browser wasm <Release/Debug>
```
The last few lines of the build log should contain something like this:
### Android:
Build the runtime tests for Android x64/ARM64
```
-$(REPO_ROOT)/src/tests/build.sh -mono os Android <x64/arm64> <Release/Debug>
+$(REPO_ROOT)/src/tests/build.sh -mono os android <x64/arm64> <Release/Debug>
```
Run one test wrapper from repo root
A functional test can be run the same way as any library test suite, e.g.:
```
-./dotnet.sh build /t:Test -c Release /p:TargetOS=Android /p:TargetArchitecture=x64 src/tests/FunctionalTests/Android/Device_Emulator/PInvoke/Android.Device_Emulator.PInvoke.Test.csproj
+./dotnet.sh build /t:Test -c Release /p:TargetOS=android /p:TargetArchitecture=x64 src/tests/FunctionalTests/Android/Device_Emulator/PInvoke/Android.Device_Emulator.PInvoke.Test.csproj
```
Currently the functional tests are expected to return `42` as a success code so please be careful when adding a new one.
<DefaultMonoSubsets Condition="'$(MonoEnableLLVM)' == 'true' and '$(MonoLLVMDir)' == ''">mono.llvm+</DefaultMonoSubsets>
<DefaultMonoSubsets Condition="'$(MonoAOTEnableLLVM)' == 'true' and '$(MonoLLVMDir)' == ''">mono.llvm+</DefaultMonoSubsets>
- <DefaultMonoSubsets Condition="'$(TargetOS)' == 'Browser'">$(DefaultMonoSubsets)mono.wasmruntime+</DefaultMonoSubsets>
+ <DefaultMonoSubsets Condition="'$(TargetOS)' == 'browser'">$(DefaultMonoSubsets)mono.wasmruntime+</DefaultMonoSubsets>
<DefaultMonoSubsets Condition="'$(TargetOS)' == 'wasi'">$(DefaultMonoSubsets)mono.wasiruntime+</DefaultMonoSubsets>
<DefaultMonoSubsets Condition="'$(MonoCrossAOTTargetOS)' != ''">$(DefaultMonoSubsets)mono.aotcross+</DefaultMonoSubsets>
<DefaultMonoSubsets>$(DefaultMonoSubsets)mono.runtime+mono.corelib+mono.packages+</DefaultMonoSubsets>
<PropertyGroup>
<!-- CLR NativeAot only builds in a subset of the matrix -->
- <NativeAotSupported Condition="('$(TargetOS)' == 'windows' or '$(TargetOS)' == 'linux' or '$(TargetOS)' == 'OSX') and ('$(TargetArchitecture)' == 'x64' or '$(TargetArchitecture)' == 'arm64')">true</NativeAotSupported>
+ <NativeAotSupported Condition="('$(TargetOS)' == 'windows' or '$(TargetOS)' == 'linux' or '$(TargetOS)' == 'osx') and ('$(TargetArchitecture)' == 'x64' or '$(TargetArchitecture)' == 'arm64')">true</NativeAotSupported>
<!-- If we're building clr.nativeaotlibs and not building the CLR runtime, compile libraries against NativeAOT CoreLib -->
<UseNativeAotCoreLib Condition="$(_subset.Contains('+clr.nativeaotlibs+')) and !$(_subset.Contains('+clr.native+')) and !$(_subset.Contains('+clr.runtime+'))">true</UseNativeAotCoreLib>
HostArchitecture=$(CrossDacHostArch);
PgoInstrument=false;
NoPgoOptimize=true;
- TargetOS=Linux;
+ TargetOS=linux;
CMakeArgs=$(CMakeArgs) -DCLR_CROSS_COMPONENTS_BUILD=1" Category="clr" />
</ItemGroup>
<ProjectToBuild Condition="'$(NativeAotSupported)' == 'true' and '$(TargetArchitecture)' != '$(BuildArchitecture)'" Include="$(CoreClrProjectRoot)tools\aot\ILCompiler\ILCompiler_crossarch.csproj" Category="clr" />
<ProjectToBuild Condition="'$(TargetArchitecture)' != '$(BuildArchitecture)'" Include="$(CoreClrProjectRoot)tools\aot\crossgen2\crossgen2_crossarch.csproj" Category="clr" />
- <ProjectToBuild Condition="'$(TargetOS)' == 'windows' or ('$(TargetOS)' == 'Linux' and ('$(TargetArchitecture)' == 'x64' or '$(TargetArchitecture)' == 'arm64')) or '$(TargetOS)' == 'OSX'" Include="$(CoreClrProjectRoot)tools\SuperFileCheck\SuperFileCheck.csproj" Category="clr" />
+ <ProjectToBuild Condition="'$(TargetOS)' == 'windows' or ('$(TargetOS)' == 'linux' and ('$(TargetArchitecture)' == 'x64' or '$(TargetArchitecture)' == 'arm64')) or '$(TargetOS)' == 'osx'" Include="$(CoreClrProjectRoot)tools\SuperFileCheck\SuperFileCheck.csproj" Category="clr" />
</ItemGroup>
<ItemGroup Condition="$(_subset.Contains('+clr.toolstests+'))">
</ItemGroup>
<!-- Mono sets -->
- <ItemGroup Condition="$(_subset.Contains('+mono.llvm+')) or $(_subset.Contains('+mono.aotcross+')) or '$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'MacCatalyst' or '$(TargetOS)' == 'Android' or '$(TargetOS)' == 'Browser' or '$(TargetOS)' == 'wasi' or '$(TargetsLinuxBionic)' == 'true'">
+ <ItemGroup Condition="$(_subset.Contains('+mono.llvm+')) or $(_subset.Contains('+mono.aotcross+')) or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst' or '$(TargetOS)' == 'android' or '$(TargetOS)' == 'browser' or '$(TargetOS)' == 'wasi' or '$(TargetsLinuxBionic)' == 'true'">
<ProjectToBuild Include="$(MonoProjectRoot)llvm\llvm-init.proj" Category="mono" />
</ItemGroup>
[string][Alias('f')]$framework,
[string]$vs,
[string][Alias('v')]$verbosity = "minimal",
- [ValidateSet("windows","Linux","OSX","Android","Browser","wasi")][string]$os,
+ [ValidateSet("windows","linux","osx","android","browser","wasi")][string]$os,
[switch]$allconfigurations,
[switch]$coverage,
[string]$testscope,
Write-Host " [Default: Debug]"
Write-Host " -librariesConfiguration (-lc) Libraries build configuration: Debug or Release."
Write-Host " [Default: Debug]"
- Write-Host " -os Target operating system: windows, Linux, OSX, Android, wasi or Browser."
+ Write-Host " -os Target operating system: windows, linux, osx, android, wasi or browser."
Write-Host " [Default: Your machine's OS.]"
Write-Host " -runtimeConfiguration (-rc) Runtime build configuration: Debug, Release or Checked."
Write-Host " Checked is exclusive to the CLR runtime. It is the same as Debug, except code is"
exit 0
}
+# Lower-case the passed in OS string.
+$os = $os.ToLowerInvariant()
+
if ($vs) {
$archToOpen = $arch[0]
$configToOpen = $configuration[0]
$arguments = "-restore -build"
}
-if ($PSBoundParameters.ContainsKey('os') -and $PSBoundParameters['os'] -eq "Browser") {
- # make sure it is capitalized
- $PSBoundParameters['os'] = "Browser"
-}
-if ($PSBoundParameters.ContainsKey('os') -and $PSBoundParameters['os'] -eq "wasi") {
- # make sure it is not capitalized
- $PSBoundParameters['os'] = "wasi"
-}
-
foreach ($argument in $PSBoundParameters.Keys)
{
switch($argument)
$failedBuilds = @()
-if ($os -eq "Browser") {
+if ($os -eq "browser") {
# override default arch for Browser, we only support wasm
$arch = "wasm"
$argumentsWithConfig = $arguments + " -configuration $((Get-Culture).TextInfo.ToTitleCase($config))";
foreach ($singleArch in $arch) {
$argumentsWithArch = "/p:TargetArchitecture=$singleArch " + $argumentsWithConfig
- if ($os -eq "Browser") {
+ if ($os -eq "browser") {
$env:__DistroRid="browser-$singleArch"
} elseif ($os -eq "wasi") {
$env:__DistroRid="wasi-$singleArch"
echo " [Default: Debug]"
echo " --librariesConfiguration (-lc) Libraries build configuration: Debug or Release."
echo " [Default: Debug]"
- echo " --os Target operating system: windows, Linux, FreeBSD, OSX, MacCatalyst, tvOS,"
- echo " tvOSSimulator, iOS, iOSSimulator, Android, Browser, wasi, NetBSD, illumos or Solaris."
+ echo " --os Target operating system: windows, linux, freebsd, osx, maccatalyst, tvos,"
+ echo " tvossimulator, ios, iossimulator, android, browser, wasi, netbsd, illumos or solaris."
echo " [Default: Your machine's OS.]"
echo " --outputrid <rid> Optional argument that overrides the target rid name."
echo " --projects <value> Project or solution file(s) to build."
local isPortableBuild="$4"
# Only pass ROOTFS_DIR if __DoCrossArchBuild is specified and the current platform is not OSX that doesn't use rootfs
- if [[ $isCrossBuild == 1 && "$targetOs" != "OSX" ]]; then
+ if [[ $isCrossBuild == 1 && "$targetOs" != "osx" ]]; then
passedRootfsDir=${ROOTFS_DIR}
fi
initDistroRidGlobal ${targetOs} ${buildArch} ${isPortableBuild} ${passedRootfsDir}
windows)
os="windows" ;;
linux)
- os="Linux" ;;
+ os="linux" ;;
freebsd)
- os="FreeBSD" ;;
+ os="freebsd" ;;
osx)
- os="OSX" ;;
+ os="osx" ;;
maccatalyst)
- os="MacCatalyst" ;;
+ os="maccatalyst" ;;
tvos)
- os="tvOS" ;;
+ os="tvos" ;;
tvossimulator)
- os="tvOSSimulator" ;;
+ os="tvossimulator" ;;
ios)
- os="iOS" ;;
+ os="ios" ;;
iossimulator)
- os="iOSSimulator" ;;
+ os="iossimulator" ;;
android)
- os="Android" ;;
+ os="android" ;;
browser)
- os="Browser" ;;
+ os="browser" ;;
wasi)
os="wasi" ;;
illumos)
os="illumos" ;;
solaris)
- os="Solaris" ;;
+ os="solaris" ;;
*)
echo "Unsupported target OS '$2'."
- echo "The allowed values are windows, Linux, FreeBSD, OSX, MacCatalyst, tvOS, tvOSSimulator, iOS, iOSSimulator, Android, Browser, wasi, illumos and Solaris."
+ echo "The allowed values are windows, linux, freebsd, osx, maccatalyst, tvos, tvossimulator, ios, iossimulator, android, browser, wasi, illumos and solaris."
exit 1
;;
esac
arguments="-restore -build $arguments"
fi
-if [[ "$os" == "Browser" ]]; then
+if [[ "$os" == "browser" ]]; then
# override default arch for Browser, we only support wasm
arch=wasm
fi
IBCMerge optimizations on Mac for now to unblock the official build.
See issue https://github.com/dotnet/runtime/issues/33303
-->
- <IsEligibleForNgenOptimization Condition="'$(TargetOS)' == 'OSX' or '$(TargetsMobile)' == 'true'">false</IsEligibleForNgenOptimization>
+ <IsEligibleForNgenOptimization Condition="'$(TargetOS)' == 'osx' or '$(TargetsMobile)' == 'true'">false</IsEligibleForNgenOptimization>
</PropertyGroup>
<Target Name="SetApplyNgenOptimization"
Condition="'$(IsEligibleForNgenOptimization)' == 'true'"
BeforeTargets="CoreCompile">
<PropertyGroup>
- <IbcOptimizationDataDir Condition="'$(TargetOS)' == 'Unix' or '$(TargetOS)' == 'Linux'">$(IbcOptimizationDataDir)Linux\</IbcOptimizationDataDir>
- <IbcOptimizationDataDir Condition="'$(TargetOS)' == 'windows'">$(IbcOptimizationDataDir)Windows\</IbcOptimizationDataDir>
+ <IbcOptimizationDataDir Condition="'$(TargetOS)' == 'unix' or '$(TargetOS)' == 'linux'">$(IbcOptimizationDataDir)linux\</IbcOptimizationDataDir>
+ <IbcOptimizationDataDir Condition="'$(TargetOS)' == 'windows'">$(IbcOptimizationDataDir)windows\</IbcOptimizationDataDir>
</PropertyGroup>
<ItemGroup>
<_optimizationDataAssembly Include="$(IbcOptimizationDataDir)**\$(TargetFileName)" />
function GetCurrentOS {
local unameOut="$(uname -s)"
case $unameOut in
- Linux*) echo "Linux";;
- Darwin*) echo "MacOS";;
+ Linux*) echo "linux";;
+ Darwin*) echo "macos";;
esac
return 0
}
<PropertyGroup>
<CoreDisToolsLibrary Condition="'$(TargetOS)' == 'windows'">$(PkgMicrosoft_NETCore_CoreDisTools)\runtimes\win-$(TargetArchitecture)\native\coredistools.dll</CoreDisToolsLibrary>
- <CoreDisToolsLibrary Condition="'$(TargetOS)' == 'Linux'">$(PkgMicrosoft_NETCore_CoreDisTools)\runtimes\linux-$(TargetArchitecture)\native\libcoredistools.so</CoreDisToolsLibrary>
- <CoreDisToolsLibrary Condition="'$(TargetOS)' == 'OSX'">$(PkgMicrosoft_NETCore_CoreDisTools)\runtimes\osx-$(TargetArchitecture)\native\libcoredistools.dylib</CoreDisToolsLibrary>
+ <CoreDisToolsLibrary Condition="'$(TargetOS)' == 'linux'">$(PkgMicrosoft_NETCore_CoreDisTools)\runtimes\linux-$(TargetArchitecture)\native\libcoredistools.so</CoreDisToolsLibrary>
+ <CoreDisToolsLibrary Condition="'$(TargetOS)' == 'osx'">$(PkgMicrosoft_NETCore_CoreDisTools)\runtimes\osx-$(TargetArchitecture)\native\libcoredistools.dylib</CoreDisToolsLibrary>
</PropertyGroup>
</Project>
# Add AspNetCore bits to testhost:
ENV _ASPNETCORE_SOURCE="/usr/share/dotnet/shared/Microsoft.AspNetCore.App/$VERSION*"
-ENV _ASPNETCORE_DEST="/live-runtime-artifacts/testhost/net$VERSION-Linux-$CONFIGURATION-x64/shared/Microsoft.AspNetCore.App"
+ENV _ASPNETCORE_DEST="/live-runtime-artifacts/testhost/net$VERSION-linux-$CONFIGURATION-x64/shared/Microsoft.AspNetCore.App"
RUN mkdir -p $_ASPNETCORE_DEST
RUN cp -r $_ASPNETCORE_SOURCE $_ASPNETCORE_DEST
\ No newline at end of file
# brew update --preinstall
brew bundle --no-upgrade --no-lock --file "$(dirname "$0")/Brewfile"
else
- echo "Must pass 'Linux', 'macOS', 'maccatalyst', 'iOS' or 'tvOS' as first argument."
+ echo "Must pass 'linux', 'macos', 'maccatalyst', 'ios' or 'tvos' as first argument."
exit 1
fi
<CoreCLRAotSdkDir>$([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)', 'aotsdk'))</CoreCLRAotSdkDir>
<CoreCLRBuildIntegrationDir>$([MSBuild]::NormalizeDirectory('$(CoreCLRArtifactsPath)', 'build'))</CoreCLRBuildIntegrationDir>
- <MonoAotCrossDir>$([MSBuild]::NormalizeDirectory('$(MonoArtifactsPath)', 'cross', $(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())))</MonoAotCrossDir>
+ <MonoAotCrossDir>$([MSBuild]::NormalizeDirectory('$(MonoArtifactsPath)', 'cross', $(TargetOS)-$(TargetArchitecture.ToLowerInvariant())))</MonoAotCrossDir>
<GrpcServerDockerImageDir>$([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'obj', 'grpcserver', 'docker'))</GrpcServerDockerImageDir>
<LibrariesPackagesDir>$([MSBuild]::NormalizeDirectory('$(LibrariesArtifactsPath)', 'packages', '$(LibrariesConfiguration)'))</LibrariesPackagesDir>
$(LibrariesNativeArtifactsPath)*.pdb"
IsNative="true"
Exclude="@(ExcludeNativeLibrariesRuntimeFiles)" />
- <LibrariesRuntimeFiles Condition="'$(TargetOS)' == 'Browser'"
+ <LibrariesRuntimeFiles Condition="'$(TargetOS)' == 'browser'"
Include="
$(LibrariesNativeArtifactsPath)dotnet.js;
$(LibrariesNativeArtifactsPath)dotnet.d.ts;
$(LibrariesNativeArtifactsPath)*.dat;"
IsNative="true" />
<!-- for threaded wasm -->
- <LibrariesRuntimeFiles Condition="'$(TargetOS)' == 'Browser' and Exists('$(LibrariesNativeArtifactsPath)dotnet.worker.js')"
+ <LibrariesRuntimeFiles Condition="'$(TargetOS)' == 'browser' and Exists('$(LibrariesNativeArtifactsPath)dotnet.worker.js')"
Include="
$(LibrariesNativeArtifactsPath)dotnet.worker.js"
IsNative="true" />
- <LibrariesRuntimeFiles Condition="'$(TargetOS)' == 'Browser'"
+ <LibrariesRuntimeFiles Condition="'$(TargetOS)' == 'browser'"
Include="
$(LibrariesNativeArtifactsPath)src\*.c;
$(LibrariesNativeArtifactsPath)src\*.js;
$(LibrariesNativeArtifactsPath)src\emcc-props.json;"
NativeSubDirectory="src"
IsNative="true" />
- <LibrariesRuntimeFiles Condition="'$(TargetOS)' == 'Browser'"
+ <LibrariesRuntimeFiles Condition="'$(TargetOS)' == 'browser'"
Include="$(LibrariesNativeArtifactsPath)src\es6\*.js"
NativeSubDirectory="src\es6"
IsNative="true" />
- <LibrariesRuntimeFiles Condition="'$(TargetOS)' == 'Browser'"
+ <LibrariesRuntimeFiles Condition="'$(TargetOS)' == 'browser'"
Include="
$(LibrariesNativeArtifactsPath)include\wasm\*.h;"
NativeSubDirectory="include\wasm"
local passedRootfsDir=""
# Only pass ROOTFS_DIR if cross is specified and the target platform is not Darwin that doesn't use rootfs
- if [[ "$__CrossBuild" == 1 && "$platform" != "Darwin" ]]; then
+ if [[ "$__CrossBuild" == 1 && "$platform" != "darwin" ]]; then
passedRootfsDir="$ROOTFS_DIR"
fi
{
echo "Checking prerequisites..."
- if [[ "$__HostOS" == "OSX" ]]; then
+ if [[ "$__HostOS" == "osx" ]]; then
# Check presence of pkg-config on the path
command -v pkg-config 2>/dev/null || { echo >&2 "Please install pkg-config before running this script, see https://github.com/dotnet/runtime/blob/main/docs/workflow/requirements/macos-requirements.md"; exit 1; }
# All set to commence the build
echo "Commencing build of \"$target\" target in \"$message\" for $__TargetOS.$__TargetArch.$__BuildType in $intermediatesDir"
- if [[ "$targetOS" == OSX || "$targetOS" == MacCatalyst ]]; then
+ if [[ "$targetOS" == osx || "$targetOS" == maccatalyst ]]; then
if [[ "$hostArch" == x64 ]]; then
cmakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"x86_64\" $cmakeArgs"
elif [[ "$hostArch" == arm64 ]]; then
fi
fi
- if [[ "$targetOS" == MacCatalyst ]]; then
- cmakeArgs="-DCMAKE_SYSTEM_VARIANT=MacCatalyst $cmakeArgs"
+ if [[ "$targetOS" == maccatalyst ]]; then
+ cmakeArgs="-DCMAKE_SYSTEM_VARIANT=maccatalyst $cmakeArgs"
fi
- if [[ ( "$targetOS" == Android || "$targetOS" == linux-bionic ) && -z "$ROOTFS_DIR" ]]; then
+ if [[ ( "$targetOS" == android || "$targetOS" == linux-bionic ) && -z "$ROOTFS_DIR" ]]; then
if [[ -z "$ANDROID_NDK_ROOT" ]]; then
echo "Error: You need to set the ANDROID_NDK_ROOT environment variable pointing to the Android NDK root."
exit 1
popd
else
cmake_command=cmake
- if [[ "$build_arch" == "wasm" && "$__TargetOS" == "Browser" ]]; then
+ if [[ "$build_arch" == "wasm" && "$__TargetOS" == "browser" ]]; then
cmake_command="emcmake cmake"
echo "Executing $cmake_command --build \"$intermediatesDir\" --target $target -- -j $__NumProc"
$cmake_command --build "$intermediatesDir" --target $target -- -j "$__NumProc"
__OutputRid=''
# Get the number of processors available to the scheduler
-platform="$(uname)"
-if [[ "$platform" == "FreeBSD" ]]; then
+platform="$(uname -s | tr '[:upper:]' '[:lower:]')"
+if [[ "$platform" == "freebsd" ]]; then
__NumProc="$(($(sysctl -n hw.ncpu)+1))"
-elif [[ "$platform" == "NetBSD" || "$platform" == "SunOS" ]]; then
+elif [[ "$platform" == "netbsd" || "$platform" == "sunos" ]]; then
__NumProc="$(($(getconf NPROCESSORS_ONLN)+1))"
-elif [[ "$platform" == "Darwin" ]]; then
+elif [[ "$platform" == "darwin" ]]; then
__NumProc="$(($(getconf _NPROCESSORS_ONLN)+1))"
elif command -v nproc > /dev/null 2>&1; then
__NumProc="$(nproc)"
os|-os)
if [[ -n "$2" ]]; then
- __TargetOS="$2"
+ __TargetOS=$(echo "$2" | tr '[:upper:]' '[:lower:]')
shift
else
echo "ERROR: 'os' requires a non-empty option argument"
if [[ "$__TargetArch" == wasm ]]; then
# nothing to do here
true
-elif [[ "$__TargetOS" == iOS || "$__TargetOS" == iOSSimulator ]]; then
+elif [[ "$__TargetOS" == ios || "$__TargetOS" == iossimulator ]]; then
# nothing to do here
true
-elif [[ "$__TargetOS" == tvOS || "$__TargetOS" == tvOSSimulator ]]; then
+elif [[ "$__TargetOS" == tvos || "$__TargetOS" == tvossimulator ]]; then
# nothing to do here
true
-elif [[ "$__TargetOS" == Android ]]; then
+elif [[ "$__TargetOS" == android ]]; then
# nothing to do here
true
else
CROSSCOMPILE=1
export CROSSCOMPILE
# Darwin that doesn't use rootfs
- if [[ -z "$ROOTFS_DIR" && "$platform" != "Darwin" ]]; then
+ if [[ -z "$ROOTFS_DIR" && "$platform" != "darwin" ]]; then
ROOTFS_DIR="$__RepoRootDir/.tools/rootfs/$__TargetArch"
export ROOTFS_DIR
fi
# - for windows we use the passed in parameter to CMAKE to determine build arch
#----------------------------------------
set(CLR_CMAKE_HOST_OS ${CMAKE_SYSTEM_NAME})
-if(CLR_CMAKE_HOST_OS STREQUAL Linux)
+string(TOLOWER ${CLR_CMAKE_HOST_OS} CLR_CMAKE_HOST_OS)
+if(CLR_CMAKE_HOST_OS STREQUAL linux)
set(CLR_CMAKE_HOST_UNIX 1)
if(CLR_CROSS_COMPONENTS_BUILD)
# CMAKE_HOST_SYSTEM_PROCESSOR returns the value of `uname -p` on host.
set(CLR_CMAKE_HOST_LINUX_MUSL 1)
endif()
endif(DEFINED CLR_CMAKE_LINUX_ID)
-endif(CLR_CMAKE_HOST_OS STREQUAL Linux)
+endif(CLR_CMAKE_HOST_OS STREQUAL linux)
-if(CLR_CMAKE_HOST_OS STREQUAL Darwin)
+if(CLR_CMAKE_HOST_OS STREQUAL darwin)
set(CLR_CMAKE_HOST_UNIX 1)
- if(CMAKE_SYSTEM_VARIANT STREQUAL MacCatalyst)
+ if(CMAKE_SYSTEM_VARIANT STREQUAL maccatalyst)
set(CLR_CMAKE_HOST_MACCATALYST 1)
else()
set(CLR_CMAKE_HOST_OSX 1)
- endif(CMAKE_SYSTEM_VARIANT STREQUAL MacCatalyst)
+ endif(CMAKE_SYSTEM_VARIANT STREQUAL maccatalyst)
if(CMAKE_OSX_ARCHITECTURES STREQUAL x86_64)
set(CLR_CMAKE_HOST_UNIX_AMD64 1)
clr_unknown_arch()
endif()
set(CMAKE_ASM_COMPILE_OBJECT "${CMAKE_C_COMPILER} <FLAGS> <DEFINES> <INCLUDES> -o <OBJECT> -c <SOURCE>")
-endif(CLR_CMAKE_HOST_OS STREQUAL Darwin)
+endif(CLR_CMAKE_HOST_OS STREQUAL darwin)
-if(CLR_CMAKE_HOST_OS STREQUAL iOS OR CLR_CMAKE_HOST_OS STREQUAL iOSSimulator)
+if(CLR_CMAKE_HOST_OS STREQUAL ios OR CLR_CMAKE_HOST_OS STREQUAL iossimulator)
set(CLR_CMAKE_HOST_UNIX 1)
set(CLR_CMAKE_HOST_IOS 1)
if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
else()
clr_unknown_arch()
endif()
-endif(CLR_CMAKE_HOST_OS STREQUAL iOS OR CLR_CMAKE_HOST_OS STREQUAL iOSSimulator)
+endif(CLR_CMAKE_HOST_OS STREQUAL ios OR CLR_CMAKE_HOST_OS STREQUAL iossimulator)
-if(CLR_CMAKE_HOST_OS STREQUAL tvOS OR CLR_CMAKE_HOST_OS STREQUAL tvOSSimulator)
+if(CLR_CMAKE_HOST_OS STREQUAL tvos OR CLR_CMAKE_HOST_OS STREQUAL tvossimulator)
set(CLR_CMAKE_HOST_UNIX 1)
set(CLR_CMAKE_HOST_TVOS 1)
if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
else()
clr_unknown_arch()
endif()
-endif(CLR_CMAKE_HOST_OS STREQUAL tvOS OR CLR_CMAKE_HOST_OS STREQUAL tvOSSimulator)
+endif(CLR_CMAKE_HOST_OS STREQUAL tvos OR CLR_CMAKE_HOST_OS STREQUAL tvossimulator)
-if(CLR_CMAKE_HOST_OS STREQUAL Android)
+if(CLR_CMAKE_HOST_OS STREQUAL android)
set(CLR_CMAKE_HOST_UNIX 1)
set(CLR_CMAKE_HOST_LINUX 1)
set(CLR_CMAKE_HOST_ANDROID 1)
else()
clr_unknown_arch()
endif()
-endif(CLR_CMAKE_HOST_OS STREQUAL Android)
+endif(CLR_CMAKE_HOST_OS STREQUAL android)
-if(CLR_CMAKE_HOST_OS STREQUAL FreeBSD)
+if(CLR_CMAKE_HOST_OS STREQUAL freebsd)
set(CLR_CMAKE_HOST_UNIX 1)
if (CMAKE_SYSTEM_PROCESSOR STREQUAL amd64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
set(CLR_CMAKE_HOST_UNIX_AMD64 1)
clr_unknown_arch()
endif()
set(CLR_CMAKE_HOST_FREEBSD 1)
-endif(CLR_CMAKE_HOST_OS STREQUAL FreeBSD)
+endif(CLR_CMAKE_HOST_OS STREQUAL freebsd)
-if(CLR_CMAKE_HOST_OS STREQUAL OpenBSD)
+if(CLR_CMAKE_HOST_OS STREQUAL openbsd)
set(CLR_CMAKE_HOST_UNIX 1)
set(CLR_CMAKE_HOST_UNIX_AMD64 1)
set(CLR_CMAKE_HOST_OPENBSD 1)
-endif(CLR_CMAKE_HOST_OS STREQUAL OpenBSD)
+endif(CLR_CMAKE_HOST_OS STREQUAL openbsd)
-if(CLR_CMAKE_HOST_OS STREQUAL NetBSD)
+if(CLR_CMAKE_HOST_OS STREQUAL netbsd)
set(CLR_CMAKE_HOST_UNIX 1)
set(CLR_CMAKE_HOST_UNIX_AMD64 1)
set(CLR_CMAKE_HOST_NETBSD 1)
-endif(CLR_CMAKE_HOST_OS STREQUAL NetBSD)
+endif(CLR_CMAKE_HOST_OS STREQUAL netbsd)
-if(CLR_CMAKE_HOST_OS STREQUAL SunOS)
+if(CLR_CMAKE_HOST_OS STREQUAL sunos)
set(CLR_CMAKE_HOST_UNIX 1)
EXECUTE_PROCESS(
COMMAND isainfo -n
else(SUNOS_KERNEL_KIND STREQUAL illumos OR CMAKE_CROSSCOMPILING)
set(CLR_CMAKE_HOST_OS_SOLARIS 1)
endif(SUNOS_KERNEL_KIND STREQUAL illumos OR CMAKE_CROSSCOMPILING)
-endif(CLR_CMAKE_HOST_OS STREQUAL SunOS)
+endif(CLR_CMAKE_HOST_OS STREQUAL sunos)
-if(CLR_CMAKE_HOST_OS STREQUAL Windows)
- set(CLR_CMAKE_HOST_OS windows)
+if(CLR_CMAKE_HOST_OS STREQUAL windows)
set(CLR_CMAKE_HOST_WIN32 1)
-endif(CLR_CMAKE_HOST_OS STREQUAL Windows)
+endif(CLR_CMAKE_HOST_OS STREQUAL windows)
-if(CLR_CMAKE_HOST_OS STREQUAL Emscripten)
+if(CLR_CMAKE_HOST_OS STREQUAL emscripten)
set(CLR_CMAKE_HOST_UNIX 1)
set(CLR_CMAKE_HOST_BROWSER 1)
-endif(CLR_CMAKE_HOST_OS STREQUAL Emscripten)
+endif(CLR_CMAKE_HOST_OS STREQUAL emscripten)
-if(CLR_CMAKE_TARGET_OS STREQUAL WASI)
+if(CLR_CMAKE_TARGET_OS STREQUAL wasi)
set(CLR_CMAKE_HOST_WASI 1)
-endif(CLR_CMAKE_TARGET_OS STREQUAL WASI)
+endif(CLR_CMAKE_TARGET_OS STREQUAL wasi)
#--------------------------------------------
# This repo builds two set of binaries
set(CLR_CMAKE_TARGET_OS ${CLR_CMAKE_HOST_OS})
endif()
-if(CLR_CMAKE_TARGET_OS STREQUAL Linux)
+if(CLR_CMAKE_TARGET_OS STREQUAL linux)
set(CLR_CMAKE_TARGET_UNIX 1)
set(CLR_CMAKE_TARGET_LINUX 1)
-endif(CLR_CMAKE_TARGET_OS STREQUAL Linux)
+endif(CLR_CMAKE_TARGET_OS STREQUAL linux)
if(CLR_CMAKE_HOST_LINUX_MUSL)
set(CLR_CMAKE_TARGET_LINUX_MUSL 1)
set(CLR_CMAKE_TARGET_ALPINE_LINUX 1)
endif(CLR_CMAKE_TARGET_OS STREQUAL alpine)
-if(CLR_CMAKE_TARGET_OS STREQUAL Android)
+if(CLR_CMAKE_TARGET_OS STREQUAL android)
set(CLR_CMAKE_TARGET_UNIX 1)
set(CLR_CMAKE_TARGET_LINUX 1)
set(CLR_CMAKE_TARGET_ANDROID 1)
-endif(CLR_CMAKE_TARGET_OS STREQUAL Android)
+endif(CLR_CMAKE_TARGET_OS STREQUAL android)
-if(CLR_CMAKE_TARGET_OS STREQUAL Darwin)
+if(CLR_CMAKE_TARGET_OS STREQUAL darwin)
set(CLR_CMAKE_TARGET_UNIX 1)
- if(CMAKE_SYSTEM_VARIANT STREQUAL MacCatalyst)
+ if(CMAKE_SYSTEM_VARIANT STREQUAL maccatalyst)
set(CLR_CMAKE_TARGET_MACCATALYST 1)
else()
set(CLR_CMAKE_TARGET_OSX 1)
- endif(CMAKE_SYSTEM_VARIANT STREQUAL MacCatalyst)
-endif(CLR_CMAKE_TARGET_OS STREQUAL Darwin)
+ endif(CMAKE_SYSTEM_VARIANT STREQUAL maccatalyst)
+endif(CLR_CMAKE_TARGET_OS STREQUAL darwin)
-if(CLR_CMAKE_TARGET_OS STREQUAL iOS OR CLR_CMAKE_TARGET_OS STREQUAL iOSSimulator)
+if(CLR_CMAKE_TARGET_OS STREQUAL ios OR CLR_CMAKE_TARGET_OS STREQUAL iossimulator)
set(CLR_CMAKE_TARGET_UNIX 1)
set(CLR_CMAKE_TARGET_IOS 1)
-endif(CLR_CMAKE_TARGET_OS STREQUAL iOS OR CLR_CMAKE_TARGET_OS STREQUAL iOSSimulator)
+endif(CLR_CMAKE_TARGET_OS STREQUAL ios OR CLR_CMAKE_TARGET_OS STREQUAL iossimulator)
-if(CLR_CMAKE_TARGET_OS STREQUAL tvOS OR CLR_CMAKE_TARGET_OS STREQUAL tvOSSimulator)
+if(CLR_CMAKE_TARGET_OS STREQUAL tvos OR CLR_CMAKE_TARGET_OS STREQUAL tvossimulator)
set(CLR_CMAKE_TARGET_UNIX 1)
set(CLR_CMAKE_TARGET_TVOS 1)
-endif(CLR_CMAKE_TARGET_OS STREQUAL tvOS OR CLR_CMAKE_TARGET_OS STREQUAL tvOSSimulator)
+endif(CLR_CMAKE_TARGET_OS STREQUAL tvos OR CLR_CMAKE_TARGET_OS STREQUAL tvossimulator)
-if(CLR_CMAKE_TARGET_OS STREQUAL FreeBSD)
+if(CLR_CMAKE_TARGET_OS STREQUAL freebsd)
set(CLR_CMAKE_TARGET_UNIX 1)
set(CLR_CMAKE_TARGET_FREEBSD 1)
-endif(CLR_CMAKE_TARGET_OS STREQUAL FreeBSD)
+endif(CLR_CMAKE_TARGET_OS STREQUAL freebsd)
-if(CLR_CMAKE_TARGET_OS STREQUAL OpenBSD)
+if(CLR_CMAKE_TARGET_OS STREQUAL openbsd)
set(CLR_CMAKE_TARGET_UNIX 1)
set(CLR_CMAKE_TARGET_OPENBSD 1)
-endif(CLR_CMAKE_TARGET_OS STREQUAL OpenBSD)
+endif(CLR_CMAKE_TARGET_OS STREQUAL openbsd)
-if(CLR_CMAKE_TARGET_OS STREQUAL NetBSD)
+if(CLR_CMAKE_TARGET_OS STREQUAL netbsd)
set(CLR_CMAKE_TARGET_UNIX 1)
set(CLR_CMAKE_TARGET_NETBSD 1)
-endif(CLR_CMAKE_TARGET_OS STREQUAL NetBSD)
+endif(CLR_CMAKE_TARGET_OS STREQUAL netbsd)
-if(CLR_CMAKE_TARGET_OS STREQUAL SunOS)
+if(CLR_CMAKE_TARGET_OS STREQUAL sunos)
set(CLR_CMAKE_TARGET_UNIX 1)
if(CLR_CMAKE_HOST_OS_ILLUMOS)
set(CLR_CMAKE_TARGET_OS_ILLUMOS 1)
set(CLR_CMAKE_TARGET_OS_SOLARIS 1)
endif(CLR_CMAKE_HOST_OS_ILLUMOS)
set(CLR_CMAKE_TARGET_SUNOS 1)
-endif(CLR_CMAKE_TARGET_OS STREQUAL SunOS)
+endif(CLR_CMAKE_TARGET_OS STREQUAL sunos)
-if(CLR_CMAKE_TARGET_OS STREQUAL Emscripten)
+if(CLR_CMAKE_TARGET_OS STREQUAL emscripten)
set(CLR_CMAKE_TARGET_UNIX 1)
set(CLR_CMAKE_TARGET_LINUX 1)
set(CLR_CMAKE_TARGET_BROWSER 1)
-endif(CLR_CMAKE_TARGET_OS STREQUAL Emscripten)
+endif(CLR_CMAKE_TARGET_OS STREQUAL emscripten)
-if(CLR_CMAKE_TARGET_OS STREQUAL WASI)
+if(CLR_CMAKE_TARGET_OS STREQUAL wasi)
set(CLR_CMAKE_TARGET_WASI 1)
-endif(CLR_CMAKE_TARGET_OS STREQUAL WASI)
+endif(CLR_CMAKE_TARGET_OS STREQUAL wasi)
if(CLR_CMAKE_TARGET_UNIX)
if(CLR_CMAKE_TARGET_ARCH STREQUAL x64)
echo Error: Please add target OS parameter
exit /B 1
)
- if /i "%__Os%" == "Browser" (
+ if /i "%__Os%" == "browser" (
if "%EMSDK_PATH%" == "" (
if not exist "%__repoRoot%\src\mono\wasm\emsdk" (
echo Error: Should set EMSDK_PATH environment variable pointing to emsdk root.
set "WASI_SDK_PATH=!WASI_SDK_PATH:\=/!"
if not "!WASI_SDK_PATH:~-1!" == "/" set "WASI_SDK_PATH=!WASI_SDK_PATH!/"
set __CmakeGenerator=Ninja
- set __ExtraCmakeParams=%__ExtraCmakeParams% -DCLR_CMAKE_TARGET_OS=WASI -DCLR_CMAKE_TARGET_ARCH=wasm "-DWASI_SDK_PREFIX=!WASI_SDK_PATH!" "-DCMAKE_TOOLCHAIN_FILE=!WASI_SDK_PATH!/share/cmake/wasi-sdk.cmake" "-DCMAKE_SYSROOT=!WASI_SDK_PATH!/share/wasi-sysroot"
+ set __ExtraCmakeParams=%__ExtraCmakeParams% -DCLR_CMAKE_TARGET_OS=wasi -DCLR_CMAKE_TARGET_ARCH=wasm "-DWASI_SDK_PREFIX=!WASI_SDK_PATH!" "-DCMAKE_TOOLCHAIN_FILE=!WASI_SDK_PATH!/share/cmake/wasi-sdk.cmake" "-DCMAKE_SYSROOT=!WASI_SDK_PATH!/share/wasi-sysroot"
)
) else (
set __ExtraCmakeParams=%__ExtraCmakeParams% "-DCMAKE_SYSTEM_VERSION=10.0"
cmake_extra_defines=
if [[ "$CROSSCOMPILE" == "1" ]]; then
- platform="$(uname)"
+ platform="$(uname -s | tr '[:upper:]' '[:lower:]')"
# OSX doesn't use rootfs
- if ! [[ -n "$ROOTFS_DIR" || "$platform" == "Darwin" ]]; then
+ if ! [[ -n "$ROOTFS_DIR" || "$platform" == "darwin" ]]; then
echo "ROOTFS_DIR not set for crosscompile"
exit 1
fi
cmake_extra_defines="$cmake_extra_defines -C $scriptroot/tryrun.cmake"
- if [[ "$platform" == "Darwin" ]]; then
+ if [[ "$platform" == "darwin" ]]; then
cmake_extra_defines="$cmake_extra_defines -DCMAKE_SYSTEM_NAME=Darwin"
else
cmake_extra_defines="$cmake_extra_defines -DCMAKE_TOOLCHAIN_FILE=$scriptroot/../common/cross/toolchain.cmake"
fi
if [[ "$host_arch" == "wasm" ]]; then
- if [[ "$target_os" == "Browser" ]]; then
+ if [[ "$target_os" == "browser" ]]; then
cmake_command="emcmake $cmake_command"
elif [[ "$target_os" == "wasi" ]]; then
true
local rootfsDir="$4"
local nonPortableBuildID=""
- if [ "$targetOs" = "Linux" ]; then
+ if [ "$targetOs" = "linux" ]; then
if [ -e "${rootfsDir}/etc/os-release" ]; then
source "${rootfsDir}/etc/os-release"
fi
fi
- if [ "$targetOs" = "FreeBSD" ]; then
+ if [ "$targetOs" = "freebsd" ]; then
if (( isPortable == 0 )); then
# $rootfsDir can be empty. freebsd-version is shell script and it should always work.
__freebsd_major_version=$($rootfsDir/bin/freebsd-version | { read v; echo "${v%%.*}"; })
nonPortableBuildID=openindiana-"$buildArch"
;;
esac
- elif [ "$targetOs" = "Solaris" ]; then
+ elif [ "$targetOs" = "solaris" ]; then
__uname_version=$(uname -v)
__solaris_major_version=$(echo "${__uname_version%.*}")
nonPortableBuildID=solaris."$__solaris_major_version"-"$buildArch"
initNonPortableDistroRid "${targetOs}" "${buildArch}" "${isPortable}" "${rootfsDir}"
if [ "$buildArch" = "wasm" ]; then
- if [ "$targetOs" = "Browser" ]; then
+ if [ "$targetOs" = "browser" ]; then
__DistroRid=browser-wasm
export __DistroRid
elif [ "$targetOs" = "wasi" ]; then
fi
if [ -z "${distroRid}" ]; then
- if [ "$targetOs" = "Linux" ]; then
+ if [ "$targetOs" = "linux" ]; then
distroRid="linux-$buildArch"
elif [ "$targetOs" = "linux-bionic" ]; then
distroRid="linux-bionic-$buildArch"
- elif [ "$targetOs" = "OSX" ]; then
+ elif [ "$targetOs" = "osx" ]; then
distroRid="osx-$buildArch"
- elif [ "$targetOs" = "MacCatalyst" ]; then
+ elif [ "$targetOs" = "maccatalyst" ]; then
distroRid="maccatalyst-$buildArch"
- elif [ "$targetOs" = "tvOS" ]; then
+ elif [ "$targetOs" = "tvos" ]; then
distroRid="tvos-$buildArch"
- elif [ "$targetOs" = "tvOSSimulator" ]; then
+ elif [ "$targetOs" = "tvossimulator" ]; then
distroRid="tvossimulator-$buildArch"
- elif [ "$targetOs" = "iOS" ]; then
+ elif [ "$targetOs" = "ios" ]; then
distroRid="ios-$buildArch"
- elif [ "$targetOs" = "iOSSimulator" ]; then
+ elif [ "$targetOs" = "iossimulator" ]; then
distroRid="iossimulator-$buildArch"
- elif [ "$targetOs" = "Android" ]; then
+ elif [ "$targetOs" = "android" ]; then
distroRid="android-$buildArch"
- elif [ "$targetOs" = "Browser" ]; then
+ elif [ "$targetOs" = "browser" ]; then
distroRid="browser-$buildArch"
elif [ "$targetOs" = "wasi" ]; then
distroRid="wasi-$buildArch"
- elif [ "$targetOs" = "FreeBSD" ]; then
+ elif [ "$targetOs" = "freebsd" ]; then
distroRid="freebsd-$buildArch"
elif [ "$targetOs" = "illumos" ]; then
distroRid="illumos-$buildArch"
- elif [ "$targetOs" = "Solaris" ]; then
+ elif [ "$targetOs" = "solaris" ]; then
distroRid="solaris-$buildArch"
fi
fi
#!/usr/bin/env bash
# Use uname to determine what the OS is.
-OSName=$(uname -s)
+OSName=$(uname -s | tr '[:upper:]' '[:lower:]')
if command -v getprop && getprop ro.product.system.model 2>&1 | grep -qi android; then
- OSName="Android"
+ OSName="android"
fi
case "$OSName" in
-FreeBSD|Linux|NetBSD|OpenBSD|SunOS|Android)
+freebsd|linux|netbsd|openbsd|sunos|android)
os="$OSName" ;;
-Darwin)
- os=OSX ;;
+darwin)
+ os=osx ;;
*)
echo "Unsupported OS $OSName detected!"
exit 1 ;;
# On Solaris, `uname -m` is discouraged, see https://docs.oracle.com/cd/E36784_01/html/E36870/uname-1.html
# and `uname -p` returns processor type (e.g. i386 on amd64).
# The appropriate tool to determine CPU is isainfo(1) https://docs.oracle.com/cd/E36784_01/html/E36870/isainfo-1.html.
-if [ "$os" = "SunOS" ]; then
+if [ "$os" = "sunos" ]; then
if uname -o 2>&1 | grep -q illumos; then
os="illumos"
else
- os="Solaris"
+ os="solaris"
fi
CPUName=$(isainfo -n)
else
elseif(EXISTS ${CROSS_ROOTFS}/bin/freebsd-version)
set(FREEBSD 1)
set(CMAKE_SYSTEM_NAME FreeBSD)
- set(CLR_CMAKE_TARGET_OS FreeBSD)
+ set(CLR_CMAKE_TARGET_OS freebsd)
elseif(EXISTS ${CROSS_ROOTFS}/usr/platform/i86pc)
set(ILLUMOS 1)
- set(CLR_CMAKE_TARGET_OS SunOS)
+ set(CLR_CMAKE_TARGET_OS sunos)
elseif(EXISTS /System/Library/CoreServices)
set(DARWIN 1)
elseif(EXISTS ${CROSS_ROOTFS}/etc/tizen-release)
<Project>
<PropertyGroup>
<NativeOptimizationDataSupported Condition="'$(TargetOS)' == 'windows' And ('$(TargetArchitecture)' == 'x64' Or '$(TargetArchitecture)' == 'x86' Or '$(TargetArchitecture)' == 'arm64')">true</NativeOptimizationDataSupported>
- <NativeOptimizationDataSupported Condition="'$(TargetOS)' == 'Linux' And ('$(TargetArchitecture)' == 'x64' Or '$(TargetArchitecture)' == 'arm64')">true</NativeOptimizationDataSupported>
+ <NativeOptimizationDataSupported Condition="'$(TargetOS)' == 'linux' And ('$(TargetArchitecture)' == 'x64' Or '$(TargetArchitecture)' == 'arm64')">true</NativeOptimizationDataSupported>
<NativeOptimizationDataSupported Condition="'$(NoPgoOptimize)' == 'true'">false</NativeOptimizationDataSupported>
<NativeOptimizationDataSupported Condition="'$(Configuration)' != 'Release'">false</NativeOptimizationDataSupported>
- <_NativeOptimizationDataPackageTarget>$(TargetOS.ToLower())-$(TargetArchitecture.ToLower())</_NativeOptimizationDataPackageTarget>
+ <_NativeOptimizationDataPackageTarget>$(TargetOS)-$(TargetArchitecture.ToLower())</_NativeOptimizationDataPackageTarget>
<_NativeOptimizationDataPackageTarget Condition="'$(TargetOS)' == 'windows'">windows_nt-$(TargetArchitecture.ToLower())</_NativeOptimizationDataPackageTarget>
</PropertyGroup>
parameters:
${{ if eq(parameters.hostedOs, '') }}:
name: ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.nameSuffix) }}
- displayName: ${{ format('{0}{1} {2} {3} {4} {5}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.nameSuffix, parameters.runtimeVariant) }}
+ displayName: ${{ format('{0}{1}-{2} {3} {4} {5}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.nameSuffix, parameters.runtimeVariant) }}
${{ if ne(parameters.hostedOs, '') }}:
name: ${{ format('build_{0}{1}_{2}_{3}_{4}_{5}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.hostedOs, parameters.buildConfig, parameters.nameSuffix) }}
- displayName: ${{ format('{0}{1} {2} {3} {4} {5} {6}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.hostedOs, parameters.buildConfig, parameters.nameSuffix, parameters.runtimeVariant) }}
+ displayName: ${{ format('{0}{1}-{2} {3} {4} {5} {6}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.hostedOs, parameters.buildConfig, parameters.nameSuffix, parameters.runtimeVariant) }}
pool: ${{ parameters.pool }}
container: ${{ parameters.container }}
condition: and(succeeded(), ${{ parameters.condition }})
- name: _osParameter
value: -os ${{ parameters.osGroup }}
- - ${{ if and(eq(parameters.osGroup, 'Linux'), eq(parameters.osSubGroup, '_bionic')) }}:
+ - ${{ if and(eq(parameters.osGroup, 'linux'), eq(parameters.osSubGroup, '_bionic')) }}:
- name: _osParameter
value: /p:RuntimeOS=linux-bionic
value: ${{ parameters.jobParameters.crossrootfsDir }}
- name: _cxx11Parameter
- ${{ if and(eq(parameters.osGroup, 'Linux'), eq(parameters.archType, 'arm64')) }}:
+ ${{ if and(eq(parameters.osGroup, 'linux'), eq(parameters.archType, 'arm64')) }}:
value: /p:MonoLLVMUseCxx11Abi=true
- ${{ if and(eq(parameters.osGroup, 'Linux'), not(eq(parameters.archType, 'arm64'))) }}:
+ ${{ if and(eq(parameters.osGroup, 'linux'), not(eq(parameters.archType, 'arm64'))) }}:
value: /p:MonoLLVMUseCxx11Abi=false
- name: _officialBuildParameter
value: ''
- name: _buildDarwinFrameworksParameter
- ${{ if in(parameters.osGroup, 'iOS', 'tvOS', 'MacCatalyst')}}:
+ ${{ if in(parameters.osGroup, 'ios', 'tvos', 'maccatalyst')}}:
value: /p:BuildDarwinFrameworks=true
- ${{ if notin(parameters.osGroup, 'iOS', 'tvOS', 'MacCatalyst')}}:
+ ${{ if notin(parameters.osGroup, 'ios', 'tvos', 'maccatalyst')}}:
value: ''
- name: _richCodeNavigationParam
runtimeOS: linux
name: ${{ parameters.platform }}
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS', 'MacCatalyst') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos', 'maccatalyst') }}:
- script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh ${{ parameters.osGroup }}
displayName: Install Build Dependencies
df -h
displayName: Disk Usage before Build
- - ${{ if eq(parameters.platform, 'Browser_wasm_win') }}:
+ - ${{ if eq(parameters.platform, 'browser_wasm_win') }}:
# Update machine certs
- task: PowerShell@2
displayName: Update machine certs
displayName: Finalize CodeQL (manually-injected)
#endif isSourceBuild
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS', 'Android') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos', 'android') }}:
- script: |
du -sh $(Build.SourcesDirectory)/*
df -h
inputs:
PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/'
PublishLocation: Container
- ${{ if ne(parameters.osGroup, 'Browser') }}:
+ ${{ if ne(parameters.osGroup, 'browser') }}:
ArtifactName: Logs_Build_${{ parameters.osGroup }}_${{ parameters.osSubGroup }}_${{ parameters.archType }}_${{ parameters.buildConfig }}_${{ parameters.nameSuffix }}
- ${{ if eq(parameters.osGroup, 'Browser') }}:
- ArtifactName: Logs_Build_Browser_wasm_${{ parameters.hostedOs }}_${{ parameters.buildConfig }}_${{ parameters.nameSuffix }}
+ ${{ if eq(parameters.osGroup, 'browser') }}:
+ ArtifactName: Logs_Build_browser_wasm_${{ parameters.hostedOs }}_${{ parameters.buildConfig }}_${{ parameters.nameSuffix }}
continueOnError: true
condition: always()
jobs:
# Linux arm
-- ${{ if or(containsValue(parameters.platforms, 'Linux_arm'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
+- ${{ if or(containsValue(parameters.platforms, 'linux_arm'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
archType: arm
targetRid: linux-arm
- platform: Linux_arm
+ platform: linux_arm
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_arm
+ container: linux_arm
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
${{ insert }}: ${{ parameters.jobParameters }}
# Linux armv6
-- ${{ if containsValue(parameters.platforms, 'Linux_armv6') }}:
+- ${{ if containsValue(parameters.platforms, 'linux_armv6') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
archType: armv6
targetRid: linux-armv6
- platform: Linux_armv6
+ platform: linux_armv6
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_armv6
+ container: linux_armv6
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
# Linux arm64
-- ${{ if or(containsValue(parameters.platforms, 'Linux_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
+- ${{ if or(containsValue(parameters.platforms, 'linux_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
archType: arm64
targetRid: linux-arm64
- platform: Linux_arm64
+ platform: linux_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
${{ if eq(parameters.container, '') }}:
- container: Linux_arm64
+ container: linux_arm64
${{ if ne(parameters.container, '') }}:
container:
image: ${{ parameters.container }}
# Linux musl x64
-- ${{ if or(containsValue(parameters.platforms, 'Linux_musl_x64'), eq(parameters.platformGroup, 'all')) }}:
+- ${{ if or(containsValue(parameters.platforms, 'linux_musl_x64'), eq(parameters.platformGroup, 'all')) }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
osSubgroup: _musl
archType: x64
targetRid: linux-musl-x64
- platform: Linux_musl_x64
+ platform: linux_musl_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_musl_x64
+ container: linux_musl_x64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
# Linux musl arm
-- ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm'), eq(parameters.platformGroup, 'all')) }}:
+- ${{ if or(containsValue(parameters.platforms, 'linux_musl_arm'), eq(parameters.platformGroup, 'all')) }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
osSubgroup: _musl
archType: arm
targetRid: linux-musl-arm
- platform: Linux_musl_arm
+ platform: linux_musl_arm
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_musl_arm
+ container: linux_musl_arm
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
# Linux musl arm64
-- ${{ if or(containsValue(parameters.platforms, 'Linux_musl_arm64'), eq(parameters.platformGroup, 'all')) }}:
+- ${{ if or(containsValue(parameters.platforms, 'linux_musl_arm64'), eq(parameters.platformGroup, 'all')) }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
osSubgroup: _musl
archType: arm64
targetRid: linux-musl-arm64
- platform: Linux_musl_arm64
+ platform: linux_musl_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_musl_arm64
+ container: linux_musl_arm64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
# Linux Bionic arm64
-- ${{ if containsValue(parameters.platforms, 'Linux_bionic_arm64') }}:
+- ${{ if containsValue(parameters.platforms, 'linux_bionic_arm64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
osSubgroup: _bionic
archType: arm64
targetRid: linux-bionic-arm64
- platform: Linux_bionic_arm64
+ platform: linux_bionic_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_bionic
+ container: linux_bionic
jobParameters:
runtimeFlavor: mono
# We build on Linux, but the test queue runs Windows, so
# Linux Bionic x64
-- ${{ if containsValue(parameters.platforms, 'Linux_bionic_x64') }}:
+- ${{ if containsValue(parameters.platforms, 'linux_bionic_x64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
osSubgroup: _bionic
archType: x64
targetRid: linux-bionic-x64
- platform: Linux_bionic_x64
+ platform: linux_bionic_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_bionic
+ container: linux_bionic
jobParameters:
runtimeFlavor: mono
buildConfig: ${{ parameters.buildConfig }}
# Linux x64
-- ${{ if or(containsValue(parameters.platforms, 'Linux_x64'), containsValue(parameters.platforms, 'CoreClrTestBuildHost'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
+- ${{ if or(containsValue(parameters.platforms, 'linux_x64'), containsValue(parameters.platforms, 'CoreClrTestBuildHost'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
archType: x64
targetRid: linux-x64
- platform: Linux_x64
+ platform: linux_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
${{ if eq(parameters.container, '') }}:
- container: Linux_x64
+ container: linux_x64
${{ if ne(parameters.container, '') }}:
container:
image: ${{ parameters.container }}
# Linux x86
-- ${{ if containsValue(parameters.platforms, 'Linux_x86') }}:
+- ${{ if containsValue(parameters.platforms, 'linux_x86') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
archType: x86
targetRid: linux-x86
- platform: Linux_x86
+ platform: linux_x86
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_x86
+ container: linux_x86
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
# Centos 7 x64 Source Build
-- ${{ if containsValue(parameters.platforms, 'SourceBuild_Centos7_x64') }}:
+- ${{ if containsValue(parameters.platforms, 'SourceBuild_centos7_x64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
archType: x64
targetRid: centos.7-x64
- platform: Centos7_Linux_x64
+ platform: centos7_linux_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
container:
image: centos-7-source-build
# Non-existent RID Source Build
-- ${{ if containsValue(parameters.platforms, 'SourceBuild_Banana24_x64') }}:
+- ${{ if containsValue(parameters.platforms, 'SourceBuild_banana24_x64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
archType: x64
targetRid: banana.24-x64
- platform: Banana24_Linux_x64
+ platform: banana24_linux_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
container:
image: centos-7-source-build-20210714125450-5d87b80
# Portable Linux x64 Source Build
-- ${{ if containsValue(parameters.platforms, 'SourceBuild_Linux_x64') }}:
+- ${{ if containsValue(parameters.platforms, 'SourceBuild_linux_x64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
archType: x64
targetRid: linux-x64
- platform: Linux_x64
+ platform: linux_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: SourceBuild_Linux_x64
+ container: SourceBuild_linux_x64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
# Linux s390x
-- ${{ if containsValue(parameters.platforms, 'Linux_s390x') }}:
+- ${{ if containsValue(parameters.platforms, 'linux_s390x') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
archType: s390x
targetRid: linux-s390x
- platform: Linux_s390x
+ platform: linux_s390x
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_s390x
+ container: linux_s390x
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
# Linux PPC64le
-- ${{ if containsValue(parameters.platforms, 'Linux_ppc64le') }}:
+- ${{ if containsValue(parameters.platforms, 'linux_ppc64le') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Linux
+ osGroup: linux
archType: ppc64le
targetRid: linux-ppc64le
- platform: Linux_ppc64le
+ platform: linux_ppc64le
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_ppc64le
+ container: linux_ppc64le
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
container: wasi_wasm
jobParameters:
- hostedOs: Linux
+ hostedOs: linux
runtimeFlavor: ${{ parameters.runtimeFlavor }}
stagedBuild: ${{ parameters.stagedBuild }}
buildConfig: ${{ parameters.buildConfig }}
# Browser WebAssembly
-- ${{ if containsValue(parameters.platforms, 'Browser_wasm') }}:
+- ${{ if containsValue(parameters.platforms, 'browser_wasm') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Browser
+ osGroup: browser
archType: wasm
targetRid: browser-wasm
- platform: Browser_wasm
+ platform: browser_wasm
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Browser_wasm
+ container: browser_wasm
jobParameters:
- hostedOs: Linux
+ hostedOs: linux
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
${{ insert }}: ${{ parameters.jobParameters }}
# Browser WebAssembly Linux Firefox
-- ${{ if containsValue(parameters.platforms, 'Browser_wasm_firefox') }}:
+- ${{ if containsValue(parameters.platforms, 'browser_wasm_firefox') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Browser
+ osGroup: browser
archType: wasm
targetRid: browser-wasm
- platform: Browser_wasm_firefox
+ platform: browser_wasm_firefox
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Browser_wasm
+ container: browser_wasm
jobParameters:
- hostedOs: Linux
+ hostedOs: linux
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
${{ insert }}: ${{ parameters.jobParameters }}
# Browser WebAssembly on Windows
-- ${{ if containsValue(parameters.platforms, 'Browser_wasm_win') }}:
+- ${{ if containsValue(parameters.platforms, 'browser_wasm_win') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Browser
+ osGroup: browser
archType: wasm
targetRid: browser-wasm
- platform: Browser_wasm_win
+ platform: browser_wasm_win
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
hostedOs: windows
${{ insert }}: ${{ parameters.jobParameters }}
# FreeBSD
-- ${{ if containsValue(parameters.platforms, 'FreeBSD_x64') }}:
+- ${{ if containsValue(parameters.platforms, 'freebsd_x64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: FreeBSD
+ osGroup: freebsd
archType: x64
targetRid: freebsd-x64
- platform: FreeBSD_x64
+ platform: freebsd_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: FreeBSD_x64
+ container: freebsd_x64
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
# Android x64
-- ${{ if containsValue(parameters.platforms, 'Android_x64') }}:
+- ${{ if containsValue(parameters.platforms, 'android_x64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Android
+ osGroup: android
archType: x64
targetRid: android-x64
- platform: Android_x64
+ platform: android_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_bionic
+ container: linux_bionic
jobParameters:
runtimeFlavor: mono
buildConfig: ${{ parameters.buildConfig }}
# Android x86
-- ${{ if containsValue(parameters.platforms, 'Android_x86') }}:
+- ${{ if containsValue(parameters.platforms, 'android_x86') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Android
+ osGroup: android
archType: x86
targetRid: android-x86
- platform: Android_x86
+ platform: android_x86
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_bionic
+ container: linux_bionic
jobParameters:
runtimeFlavor: mono
buildConfig: ${{ parameters.buildConfig }}
# Android arm
-- ${{ if containsValue(parameters.platforms, 'Android_arm') }}:
+- ${{ if containsValue(parameters.platforms, 'android_arm') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Android
+ osGroup: android
archType: arm
targetRid: android-arm
- platform: Android_arm
+ platform: android_arm
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_bionic
+ container: linux_bionic
jobParameters:
runtimeFlavor: mono
buildConfig: ${{ parameters.buildConfig }}
# Android arm64
-- ${{ if containsValue(parameters.platforms, 'Android_arm64') }}:
+- ${{ if containsValue(parameters.platforms, 'android_arm64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Android
+ osGroup: android
archType: arm64
targetRid: android-arm64
- platform: Android_arm64
+ platform: android_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Linux_bionic
+ container: linux_bionic
jobParameters:
runtimeFlavor: mono
buildConfig: ${{ parameters.buildConfig }}
# Mac Catalyst x64
-- ${{ if containsValue(parameters.platforms, 'MacCatalyst_x64') }}:
+- ${{ if containsValue(parameters.platforms, 'maccatalyst_x64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: MacCatalyst
+ osGroup: maccatalyst
archType: x64
targetRid: maccatalyst-x64
- platform: MacCatalyst_x64
+ platform: maccatalyst_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
runtimeFlavor: mono
# Mac Catalyst arm64
-- ${{ if containsValue(parameters.platforms, 'MacCatalyst_arm64') }}:
+- ${{ if containsValue(parameters.platforms, 'maccatalyst_arm64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: MacCatalyst
+ osGroup: maccatalyst
archType: arm64
targetRid: maccatalyst-arm64
- platform: MacCatalyst_arm64
+ platform: maccatalyst_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
runtimeFlavor: mono
# tvOS arm64
-- ${{ if containsValue(parameters.platforms, 'tvOS_arm64') }}:
+- ${{ if containsValue(parameters.platforms, 'tvos_arm64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: tvOS
+ osGroup: tvos
archType: arm64
targetRid: tvos-arm64
- platform: tvOS_arm64
+ platform: tvos_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
runtimeFlavor: mono
# tvOS Simulator x64
-- ${{ if containsValue(parameters.platforms, 'tvOSSimulator_x64') }}:
+- ${{ if containsValue(parameters.platforms, 'tvossimulator_x64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: tvOSSimulator
+ osGroup: tvossimulator
archType: x64
targetRid: tvossimulator-x64
- platform: tvOSSimulator_x64
+ platform: tvossimulator_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
runtimeFlavor: mono
# tvOS Simulator arm64
-- ${{ if containsValue(parameters.platforms, 'tvOSSimulator_arm64') }}:
+- ${{ if containsValue(parameters.platforms, 'tvossimulator_arm64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: tvOSSimulator
+ osGroup: tvossimulator
archType: arm64
targetRid: tvossimulator-arm64
- platform: tvOSSimulator_arm64
+ platform: tvossimulator_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
runtimeFlavor: mono
# iOS arm
-- ${{ if containsValue(parameters.platforms, 'iOS_arm') }}:
+- ${{ if containsValue(parameters.platforms, 'ios_arm') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: iOS
+ osGroup: ios
archType: arm
targetRid: ios-arm
- platform: iOS_arm
+ platform: ios_arm
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
runtimeFlavor: mono
# iOS arm64
-- ${{ if containsValue(parameters.platforms, 'iOS_arm64') }}:
+- ${{ if containsValue(parameters.platforms, 'ios_arm64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: iOS
+ osGroup: ios
archType: arm64
targetRid: ios-arm64
- platform: iOS_arm64
+ platform: ios_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
runtimeFlavor: mono
# iOS Simulator x64
-- ${{ if containsValue(parameters.platforms, 'iOSSimulator_x64') }}:
+- ${{ if containsValue(parameters.platforms, 'iossimulator_x64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: iOSSimulator
+ osGroup: iossimulator
archType: x64
targetRid: iossimulator-x64
- platform: iOSSimulator_x64
+ platform: iossimulator_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
runtimeFlavor: mono
# iOS Simulator x86
-- ${{ if containsValue(parameters.platforms, 'iOSSimulator_x86') }}:
+- ${{ if containsValue(parameters.platforms, 'iossimulator_x86') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: iOSSimulator
+ osGroup: iossimulator
archType: x86
targetRid: iossimulator-x86
- platform: iOSsimulator_x86
+ platform: iossimulator_x86
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
runtimeFlavor: mono
buildConfig: ${{ parameters.buildConfig }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
- managedTestBuildOsGroup: OSX
${{ insert }}: ${{ parameters.jobParameters }}
# iOS Simulator arm64
-- ${{ if containsValue(parameters.platforms, 'iOSSimulator_arm64') }}:
+- ${{ if containsValue(parameters.platforms, 'iossimulator_arm64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: iOSSimulator
+ osGroup: iossimulator
archType: arm64
targetRid: iossimulator-arm64
- platform: iOSSimulator_arm64
+ platform: iossimulator_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
runtimeFlavor: mono
# macOS arm64
-- ${{ if containsValue(parameters.platforms, 'OSX_arm64') }}:
+- ${{ if containsValue(parameters.platforms, 'osx_arm64') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: OSX
+ osGroup: osx
archType: arm64
targetRid: osx-arm64
- platform: OSX_arm64
+ platform: osx_arm64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
# macOS x64
-- ${{ if or(containsValue(parameters.platforms, 'OSX_x64'), eq(parameters.platformGroup, 'all')) }}:
+- ${{ if or(containsValue(parameters.platforms, 'osx_x64'), eq(parameters.platformGroup, 'all')) }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: OSX
+ osGroup: osx
archType: x64
targetRid: osx-x64
- platform: OSX_x64
+ platform: osx_x64
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
# Tizen armel
-- ${{ if containsValue(parameters.platforms, 'Tizen_armel') }}:
+- ${{ if containsValue(parameters.platforms, 'tizen_armel') }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
variables: ${{ parameters.variables }}
- osGroup: Tizen
+ osGroup: tizen
archType: armel
targetRid: tizen-armel
- platform: Tizen_armel
+ platform: tizen_armel
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: Tizen_armel
+ container: tizen_armel
jobParameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
buildConfig: ${{ parameters.buildConfig }}
resources:
containers:
- - container: Linux_arm
+ - container: linux_arm
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-arm
env:
ROOTFS_DIR: /crossrootfs/arm
- - container: Linux_armv6
+ - container: linux_armv6
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-cross-armv6-raspbian-10
env:
ROOTFS_DIR: /crossrootfs/armv6
- - container: Linux_arm64
+ - container: linux_arm64
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-arm64
env:
ROOTFS_DIR: /crossrootfs/arm64
- - container: Linux_musl_x64
+ - container: linux_musl_x64
image: mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.13-WithNode
- - container: Linux_musl_arm
+ - container: linux_musl_arm
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-arm-alpine
env:
ROOTFS_DIR: /crossrootfs/arm
- - container: Linux_musl_arm64
+ - container: linux_musl_arm64
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-arm64-alpine
env:
ROOTFS_DIR: /crossrootfs/arm64
# This container contains all required toolsets to build for Android and for Linux with bionic libc.
- - container: Linux_bionic
+ - container: linux_bionic
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-android
- - container: Linux_x64
+ - container: linux_x64
image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7
- - container: Linux_x86
+ - container: linux_x86
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-x86-linux
env:
ROOTFS_DIR: /crossrootfs/x86
- - container: SourceBuild_Linux_x64
+ - container: SourceBuild_linux_x64
image: mcr.microsoft.com/dotnet-buildtools/prereqs:centos-7-source-build
- - container: Linux_s390x
+ - container: linux_s390x
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-s390x
env:
ROOTFS_DIR: /crossrootfs/s390x
- - container: Linux_ppc64le
+ - container: linux_ppc64le
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-ppc64le
env:
ROOTFS_DIR: /crossrootfs/ppc64le
- - container: Browser_wasm
+ - container: browser_wasm
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-webassembly
- container: wasi_wasm
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-20.04-webassembly
- - container: FreeBSD_x64
+ - container: freebsd_x64
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-freebsd-12
env:
ROOTFS_DIR: /crossrootfs/x64
- - container: Tizen_armel
+ - container: tizen_armel
image: mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-cross-armel-tizen
env:
ROOTFS_DIR: /crossrootfs/armel
pool: ${{ parameters.pool }}
dependOnEvaluatePaths: ${{ parameters.dependOnEvaluatePaths }}
- ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.compilerName, 'gcc'), not(and(eq(parameters.osGroup, 'Linux'), eq(parameters.osSubgroup, '_musl'))), not(eq(parameters.osGroup, 'OSX'))) }}:
+ ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.compilerName, 'gcc'), not(and(eq(parameters.osGroup, 'linux'), eq(parameters.osSubgroup, '_musl'))), not(eq(parameters.osGroup, 'osx'))) }}:
compilerArg: '-clang9'
- ${{ if not(and(ne(parameters.osGroup, 'windows'), ne(parameters.compilerName, 'gcc'), not(and(eq(parameters.osGroup, 'Linux'), eq(parameters.osSubgroup, '_musl'))), not(eq(parameters.osGroup, 'OSX')))) }}:
+ ${{ if not(and(ne(parameters.osGroup, 'windows'), ne(parameters.compilerName, 'gcc'), not(and(eq(parameters.osGroup, 'linux'), eq(parameters.osSubgroup, '_musl'))), not(eq(parameters.osGroup, 'osx')))) }}:
compilerArg: ''
# Test jobs should continue on error for internal builds
- name: compilerArg
value: '-clang9'
# We need to use the stable version available on Alpine Linux
- - ${{ if and(eq(parameters.osGroup, 'Linux'), eq(parameters.osSubgroup, '_musl')) }}:
+ - ${{ if and(eq(parameters.osGroup, 'linux'), eq(parameters.osSubgroup, '_musl')) }}:
- name: compilerArg
value: ''
# AppleClang has different version scheme, so we let compiler introspection pick up the available clang from PATH
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- name: compilerArg
value: ''
steps:
# Install test build dependencies
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh $(osGroup)
displayName: Install native dependencies
- script: $(Build.SourcesDirectory)/build$(scriptExt) $(liveRuntimeBuildParams) $(compilerArg)
displayName: Build coreclr/libs components needed by test build
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
- script: |
du -sh $(Build.SourcesDirectory)/*
df -h
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS
displayName: Build managed test components
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
- script: |
du -sh $(Build.SourcesDirectory)/*
df -h
- script: $(Build.SourcesDirectory)/eng/common/build.sh --ci --warnaserror false ${{ parameters.restoreParams }}
displayName: Restore blob feed tasks (Unix)
condition: and(succeeded(), ${{ and(ne(parameters.condition, false), ne(parameters.restoreParams, '')) }})
- ${{ if eq(parameters.osGroup, 'FreeBSD') }}:
+ ${{ if eq(parameters.osGroup, 'freebsd') }}:
env:
# Arcade uses this SDK instead of trying to restore one.
DotNetCoreSdkDir: /usr/local/dotnet
workspace:
clean: all
- ${{ if eq(parameters.osGroup, 'Linux') }}:
+ ${{ if eq(parameters.osGroup, 'linux') }}:
agentOs: Ubuntu
- ${{ if eq(parameters.osGroup, 'FreeBSD') }}:
+ ${{ if eq(parameters.osGroup, 'freebsd') }}:
agentOs: FreeBSD
- ${{ if in(parameters.osGroup, 'OSX', 'iOS') }}:
+ ${{ if in(parameters.osGroup, 'osx', 'ios') }}:
agentOs: MacOS
${{ if eq(parameters.osGroup, 'windows') }}:
agentOs: windows
# Build for Browser/wasm, with EnableAggressiveTrimming=true
#
# non-windows - run only with v8
-- ${{ if containsValue(parameters.platforms, 'Browser_wasm') }}:
+- ${{ if containsValue(parameters.platforms, 'browser_wasm') }}:
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- - Browser_wasm
+ - browser_wasm
nameSuffix: ${{ parameters.nameSuffix }}
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
- normal
# windows - run only with browser
-- ${{ if containsValue(parameters.platforms, 'Browser_wasm_win') }}:
+- ${{ if containsValue(parameters.platforms, 'browser_wasm_win') }}:
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- - Browser_wasm_win
+ - browser_wasm_win
nameSuffix: ${{ parameters.nameSuffix }}
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
${{ if eq(parameters.jobParameters.pool, '') }}:
pool:
# Public Linux Build Pool
- ${{ if and(or(in(parameters.osGroup, 'Linux', 'FreeBSD', 'Android', 'Tizen'), eq(parameters.jobParameters.hostedOs, 'Linux')), eq(variables['System.TeamProject'], 'public')) }}:
+ ${{ if and(or(in(parameters.osGroup, 'linux', 'freebsd', 'android', 'tizen'), eq(parameters.jobParameters.hostedOs, 'linux')), eq(variables['System.TeamProject'], 'public')) }}:
name: NetCore-Public
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
# Official Build Linux Pool
- ${{ if and(or(in(parameters.osGroup, 'Linux', 'FreeBSD', 'Android', 'Tizen'), eq(parameters.jobParameters.hostedOs, 'Linux')), ne(variables['System.TeamProject'], 'public')) }}:
+ ${{ if and(or(in(parameters.osGroup, 'linux', 'freebsd', 'android', 'tizen'), eq(parameters.jobParameters.hostedOs, 'linux')), ne(variables['System.TeamProject'], 'public')) }}:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
# OSX Build Pool (we don't have on-prem OSX BuildPool
- ${{ if in(parameters.osGroup, 'OSX', 'MacCatalyst', 'iOS', 'iOSSimulator', 'tvOS', 'tvOSSimulator') }}:
+ ${{ if in(parameters.osGroup, 'osx', 'maccatalyst', 'ios', 'iossimulator', 'tvos', 'tvossimulator') }}:
vmImage: 'macos-11'
# Official Build Windows Pool
${{ if eq(parameters.helixQueuesTemplate, '') }}:
# macOS hosted pool machines are slower so we need to give a greater timeout than the 60 mins default.
- ${{ if and(eq(parameters.jobParameters.timeoutInMinutes, ''), in(parameters.osGroup, 'OSX', 'MacCatalyst', 'iOS', 'tvOS')) }}:
+ ${{ if and(eq(parameters.jobParameters.timeoutInMinutes, ''), in(parameters.osGroup, 'osx', 'maccatalyst', 'ios', 'tvos')) }}:
timeoutInMinutes: 120
${{ insert }}: ${{ parameters.jobParameters }}
${{ if ne(parameters.helixQueuesTemplate, '') }}:
jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
buildConfig: debug
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_musl_arm64
- - Linux_musl_x64
- - Linux_x64
- - OSX_arm64
- - OSX_x64
+ - linux_arm
+ - linux_arm64
+ - linux_musl_arm64
+ - linux_musl_x64
+ - linux_x64
+ - osx_arm64
+ - osx_x64
- windows_arm
- windows_arm64
jobParameters:
buildConfig: checked
platformGroup: all
platforms:
- # It is too early to include OSX_arm64 in platform group all
+ # It is too early to include osx_arm64 in platform group all
# Adding it here will enable it also
- - OSX_arm64
+ - osx_arm64
jobParameters:
testGroup: outerloop
jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
buildConfig: release
platforms:
- - Linux_arm
- - Linux_musl_arm64
- - Linux_x64
- - OSX_arm64
- - OSX_x64
+ - linux_arm
+ - linux_musl_arm64
+ - linux_x64
+ - osx_arm64
+ - osx_x64
- windows_x86
jobParameters:
testGroup: outerloop
buildConfig: Release
platformGroup: all
platforms:
- # It is too early to include OSX_arm64 in platform group all
+ # It is too early to include osx_arm64 in platform group all
# Adding it here will enable it also
- - OSX_arm64
+ - osx_arm64
jobParameters:
isOfficialBuild: false
liveRuntimeBuildConfig: checked
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
testGroup: outerloop
#
buildConfig: checked
platformGroup: all
platforms:
- # It is too early to include OSX_arm64 in platform group all
+ # It is too early to include osx_arm64 in platform group all
# Adding it here will enable it to also run this test
- - OSX_arm64
+ - osx_arm64
helixQueueGroup: ci
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm64
- - Linux_x64
- - OSX_x64
+ - linux_arm64
+ - linux_musl_x64
+ - linux_musl_arm64
+ - linux_x64
+ - osx_x64
- windows_x64
- windows_x86
- windows_arm
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/format-job.yml
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: clrinterpreter
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: clrinterpreter
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_arm
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- - OSX_x64
+ - linux_arm
+ - linux_x64
+ - linux_arm64
+ - osx_arm64
+ - osx_x64
- windows_x86
- windows_x64
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: innerloop
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: innerloop
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: checked
platforms:
- - Linux_arm
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- - OSX_x64
+ - linux_arm
+ - linux_x64
+ - linux_arm64
+ - osx_arm64
+ - osx_x64
- windows_x86
- windows_x64
- windows_arm64
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
+ - linux_x64
+ - linux_arm64
+ - osx_arm64
# See https://github.com/dotnet/runtime/issues/71931
- # - OSX_x64
+ # - osx_x64
- windows_x64
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: gcstress-extra
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: gcstress-extra
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: checked
platforms:
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
+ - linux_x64
+ - linux_arm64
+ - osx_arm64
# See https://github.com/dotnet/runtime/issues/71931
- # - OSX_x64
+ # - osx_x64
- windows_x64
- windows_arm64
jobParameters:
jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
buildConfig: checked
platforms:
- - Linux_arm
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- - OSX_x64
+ - linux_arm
+ - linux_x64
+ - linux_arm64
+ - osx_arm64
+ - osx_x64
- windows_x86
- windows_x64
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: outerloop
jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
buildConfig: Release
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
+ - osx_arm64
- windows_x86
- windows_x64
jobParameters:
jobTemplate: /eng/pipelines/libraries/build-job.yml
buildConfig: Release
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
- - OSX_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
+ - osx_arm64
+ - osx_x64
- windows_x86
- windows_x64
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
isOfficialBuild: false
liveRuntimeBuildConfig: Release
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: outerloop
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: checked
platforms:
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- - OSX_x64
+ - linux_x64
+ - linux_arm64
+ - osx_arm64
+ - osx_x64
- windows_x64
- windows_arm64
jobParameters:
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: checked
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_x64
- - OSX_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
+ - osx_x64
+ - osx_arm64
- windows_arm64
- windows_x64
- windows_x86
jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-build-job.yml
buildConfig: Release
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
+ - osx_arm64
- windows_x86
- windows_x64
jobParameters:
jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
buildConfig: Release
platforms:
- - Linux_x64
+ - linux_x64
- windows_x86
helixQueueGroup: pr
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
buildConfig: Release
platforms:
- - Linux_x64
+ - linux_x64
helixQueueGroup: pr
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
buildConfig: Release
platforms:
- - Linux_arm
+ - linux_arm
helixQueueGroup: pr
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
buildConfig: Release
platforms:
- - Linux_arm64
+ - linux_arm64
helixQueueGroup: pr
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
jobTemplate: /eng/pipelines/coreclr/templates/crossgen2-comparison-job.yml
buildConfig: Release
platforms:
- - OSX_arm64
+ - osx_arm64
helixQueueGroup: pr
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- - OSX_x64
+ - linux_x64
+ - linux_arm64
+ - osx_arm64
+ - osx_x64
- windows_x64
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: innerloop
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: innerloop
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: checked
platforms:
- - Linux_x64
- - Linux_arm64
- - OSX_arm64
- - OSX_x64
+ - linux_x64
+ - linux_arm64
+ - osx_arm64
+ - osx_x64
- windows_x64
- windows_arm64
jobParameters:
buildConfig: checked
platforms:
# Linux tests are built on the OSX machines.
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
- - OSX_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - osx_arm64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: outerloop
buildConfig: checked
platforms:
# Linux tests are built on the OSX machines.
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
- - OSX_arm64
+ - osx_arm64
helixQueueGroup: ci
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: release
platforms:
- - Linux_x64
- - Linux_arm64
+ - linux_x64
+ - linux_arm64
- windows_x64
- windows_arm64
- - OSX_x64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - osx_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: gc-longrunning
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: release
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: gc-longrunning
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: release
platforms:
- - Linux_x64
- - Linux_arm64
+ - linux_x64
+ - linux_arm64
- windows_x64
- windows_arm64
helixQueueGroup: ci
buildConfig: release
platforms:
# disable Linux x64 for now until OOMs are resolved.
- # - Linux_x64
- - Linux_arm64
+ # - linux_x64
+ - linux_arm64
- windows_x64
- windows_arm64
- - OSX_x64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - osx_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: gc-simulator
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: release
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: gc-simulator
buildConfig: release
platforms:
# disable Linux x64 for now until OOMs are resolved.
- # - Linux_x64
- - Linux_arm64
+ # - linux_x64
+ - linux_arm64
- windows_x64
- windows_arm64
helixQueueGroup: ci
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_arm64
+ - linux_arm64
- windows_arm64
- windows_x64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: gc-standalone
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: gc-standalone
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_arm64
- - Linux_x64
+ - linux_arm64
+ - linux_x64
- windows_arm64
- windows_x64
helixQueueGroup: ci
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_arm64
- - Linux_x64
+ - linux_arm64
+ - linux_x64
- windows_arm64
- windows_x64
helixQueueGroup: ci
buildConfig: checked
platformGroup: gcstress
platforms:
- # It is too early to include OSX_arm64 in platform group gcstress
+ # It is too early to include osx_arm64 in platform group gcstress
# Adding it here will enable it also
- - OSX_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - osx_arm64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: gcstress-extra
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: gcstress-extra
buildConfig: checked
platformGroup: gcstress
platforms:
- # It is too early to include OSX_arm64 in platform group gcstress
+ # It is too early to include osx_arm64 in platform group gcstress
# Adding it here will enable it also
- - OSX_arm64
+ - osx_arm64
helixQueueGroup: ci
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
buildConfig: checked
platformGroup: gcstress
platforms:
- # It is too early to include OSX_arm64 in platform group gcstress
+ # It is too early to include osx_arm64 in platform group gcstress
# Adding it here will enable it also
- - OSX_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - osx_arm64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: gcstress0x3-gcstress0xc
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: gcstress0x3-gcstress0xc
buildConfig: checked
platformGroup: gcstress
platforms:
- # It is too early to include OSX_arm64 in platform group gcstress
+ # It is too early to include osx_arm64 in platform group gcstress
# Adding it here will enable it also
- - OSX_arm64
+ - osx_arm64
helixQueueGroup: ci
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: ilasm
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: ilasm
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_arm64
- - Linux_x64
+ - linux_arm64
+ - linux_x64
- windows_arm64
- windows_x64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jit-cfg
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jit-cfg
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_arm64
- - Linux_x64
+ - linux_arm64
+ - linux_x64
- windows_arm64
- windows_x64
helixQueueGroup: ci
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm64
+ - linux_x64
- windows_arm64
- windows_x64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jit-experimental
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jit-experimental
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm64
+ - linux_x64
- windows_arm64
- windows_x64
helixQueueGroup: ci
jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
buildConfig: release
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_arm64
- - OSX_arm64
+ - linux_arm64
+ - osx_arm64
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstress-isas-arm
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstress-isas-arm
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_arm64
- - OSX_arm64
+ - linux_arm64
+ - osx_arm64
- windows_arm64
helixQueueGroup: ci
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstress-isas-avx512
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstress-isas-avx512
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- windows_x86
helixQueueGroup: ci
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_x64
- - OSX_x64
+ - linux_x64
+ - osx_x64
- windows_x64
- windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstress-isas-x86
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstress-isas-x86
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_x64
- - OSX_x64
+ - linux_x64
+ - osx_x64
- windows_x64
- windows_x86
helixQueueGroup: ci
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstress-random
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstress-random
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstress
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstress
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstress2-jitstressregs
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: checked
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstressregs-x86
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstressregs-x86
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- windows_x86
helixQueueGroup: ci
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstressregs
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: jitstressregs
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - osx_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
jobParameters:
# libraries test build platforms
testBuildPlatforms:
- - Linux_x64
+ - linux_x64
- windows_x64
#
jobParameters:
# libraries test build platforms
testBuildPlatforms:
- - Linux_x64
+ - linux_x64
- windows_x64
#
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
- windows_x86
- windows_x64
- windows_arm64
jobParameters:
# libraries test build platforms
testBuildPlatforms:
- - Linux_x64
+ - linux_x64
- windows_x64
#
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: Release
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_arm64
- windows_x64
- windows_x86
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
- windows_x86
- windows_x64
- windows_arm64
jobParameters:
# libraries test build platforms
testBuildPlatforms:
- - Linux_x64
+ - linux_x64
- windows_x64
#
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: Release
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_arm64
- windows_x64
- windows_x86
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
- windows_x86
- windows_x64
- windows_arm64
jobParameters:
# libraries test build platforms
testBuildPlatforms:
- - Linux_x64
+ - linux_x64
- windows_x64
#
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: Release
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_arm64
- windows_x64
- windows_x86
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
- windows_x86
- windows_x64
- windows_arm64
jobParameters:
# libraries test build platforms
testBuildPlatforms:
- - Linux_x64
+ - linux_x64
- windows_x64
#
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: Release
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_arm64
- windows_x64
- windows_x86
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
- windows_x86
- windows_x64
- windows_arm64
jobParameters:
# libraries test build platforms
testBuildPlatforms:
- - Linux_x64
+ - linux_x64
- windows_x64
#
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: Release
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_arm64
- windows_x64
- windows_x86
runtimeFlavor: mono
buildConfig: release
platforms:
- - Linux_x64
+ - linux_x64
# build coreclr and libraries
- template: /eng/pipelines/common/platform-matrix.yml
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: release
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
testGroup: perf
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: release
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- windows_x86
- - Linux_musl_x64
+ - linux_musl_x64
jobParameters:
testGroup: perf
buildConfig: release
runtimeFlavor: mono
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
nameSuffix: AOT
buildConfig: release
runtimeFlavor: mono
platforms:
- - Android_arm64
+ - android_arm64
jobParameters:
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
nameSuffix: AndroidMono
buildConfig: release
runtimeFlavor: mono
platforms:
- - iOS_arm64
+ - ios_arm64
jobParameters:
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
nameSuffix: iOSMono
runtimeFlavor: mono
buildConfig: release
platforms:
- - Linux_x64
+ - linux_x64
# run mono and maui android scenarios
- template: /eng/pipelines/common/platform-matrix.yml
buildConfig: release
runtimeFlavor: mono
platforms:
- - Windows_x64
+ - windows_x64
variables:
- name: mauiVersion
- value: $[ dependencies.Build_iOS_arm64_release_MACiOSAndroidMauiNet7.outputs['getMauiVersion.mauiVersion'] ]
+ value: $[ dependencies.Build_ios_arm64_release_MACiOSAndroidMauiNet7.outputs['getMauiVersion.mauiVersion'] ]
jobParameters:
testGroup: perf
runtimeType: AndroidMono
buildConfig: release
runtimeFlavor: mono
platforms:
- - OSX_x64
+ - osx_x64
variables:
- name: mauiVersion
- value: $[ dependencies.Build_iOS_arm64_release_MACiOSAndroidMauiNet7.outputs['getMauiVersion.mauiVersion'] ]
+ value: $[ dependencies.Build_ios_arm64_release_MACiOSAndroidMauiNet7.outputs['getMauiVersion.mauiVersion'] ]
jobParameters:
testGroup: perf
runtimeType: iOSMono
buildConfig: release
runtimeFlavor: mono
platforms:
- - OSX_x64
+ - osx_x64
variables:
- name: mauiVersion
- value: $[ dependencies.Build_iOS_arm64_release_MACiOSAndroidMauiNet7.outputs['getMauiVersion.mauiVersion'] ]
+ value: $[ dependencies.Build_ios_arm64_release_MACiOSAndroidMauiNet7.outputs['getMauiVersion.mauiVersion'] ]
jobParameters:
testGroup: perf
runtimeType: iOSMono
buildConfig: release
runtimeFlavor: mono
platforms:
- - Windows_x64
+ - windows_x64
variables:
- name: mauiVersion
- value: $[ dependencies.Build_iOS_arm64_release_MACiOSAndroidMauiNet6.outputs['getMauiVersion.mauiVersion'] ]
+ value: $[ dependencies.Build_ios_arm64_release_MACiOSAndroidMauiNet6.outputs['getMauiVersion.mauiVersion'] ]
jobParameters:
testGroup: perf
runtimeType: AndroidMobileNet6
buildConfig: release
runtimeFlavor: mono
platforms:
- - OSX_x64
+ - osx_x64
variables:
- name: mauiVersion
- value: $[ dependencies.Build_iOS_arm64_release_MACiOSAndroidMauiNet6.outputs['getMauiVersion.mauiVersion'] ]
+ value: $[ dependencies.Build_ios_arm64_release_MACiOSAndroidMauiNet6.outputs['getMauiVersion.mauiVersion'] ]
jobParameters:
testGroup: perf
runtimeType: iOSMobileNet6
buildConfig: release
runtimeFlavor: mono
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
testGroup: perf
liveLibrariesBuildConfig: Release
buildConfig: release
runtimeFlavor: mono
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
testGroup: perf
liveLibrariesBuildConfig: Release
buildConfig: release
runtimeFlavor: aot
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
testGroup: perf
liveLibrariesBuildConfig: Release
buildConfig: release
runtimeFlavor: coreclr
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- windows_x86
- - Linux_musl_x64
+ - linux_musl_x64
jobParameters:
testGroup: perf
liveLibrariesBuildConfig: Release
buildConfig: release
runtimeFlavor: coreclr
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
jobParameters:
testGroup: perf
buildConfig: release
runtimeFlavor: coreclr
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- windows_x86
jobParameters:
# buildConfig: release
# runtimeFlavor: mono
# platforms:
- # - Android_x86
- # - Android_x64
- # - Android_arm
- # - Android_arm64
- # - MacCatalyst_x64
- # - iOSSimulator_x64
- # - iOS_arm64
- # - iOS_arm
+ # - android_x86
+ # - android_x64
+ # - android_arm
+ # - android_arm64
+ # - maccatalyst_x64
+ # - iossimulator_x64
+ # - ios_arm64
+ # - ios_arm
# jobParameters:
# buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
# nameSuffix: Maui_Packs_Mono
buildConfig: release
runtimeFlavor: mono
platforms:
- - iOS_arm64
+ - ios_arm64
jobParameters:
# Uncomment to reenable package replacement for main
#dependsOn:
- # - Build_Android_arm_release_Maui_Packs_Mono
- # - Build_Android_arm64_release_Maui_Packs_Mono
- # - Build_Android_x86_release_Maui_Packs_Mono
- # - Build_Android_x64_release_Maui_Packs_Mono
- # - Build_MacCatalyst_x64_release_Maui_Packs_Mono
- # - Build_iOSSimulator_x64_release_Maui_Packs_Mono
- # - Build_iOS_arm_release_Maui_Packs_Mono
- # - Build_iOS_arm64_release_Maui_Packs_Mono
+ # - Build_android_arm_release_Maui_Packs_Mono
+ # - Build_android_arm64_release_Maui_Packs_Mono
+ # - Build_android_x86_release_Maui_Packs_Mono
+ # - Build_android_x64_release_Maui_Packs_Mono
+ # - Build_maccatalyst_x64_release_Maui_Packs_Mono
+ # - Build_iossimulator_x64_release_Maui_Packs_Mono
+ # - Build_ios_arm_release_Maui_Packs_Mono
+ # - Build_ios_arm64_release_Maui_Packs_Mono
buildArgs: -s mono -c $(_BuildConfig)
nameSuffix: MACiOSAndroidMauiNet7
isOfficialBuild: false
buildConfig: release
runtimeFlavor: mono
platforms:
- - iOS_arm64
+ - ios_arm64
jobParameters:
buildArgs: -s mono -c $(_BuildConfig)
nameSuffix: MACiOSAndroidMauiNet6
buildConfig: Release
runtimeFlavor: mono
platforms:
- - Browser_wasm
+ - browser_wasm
jobParameters:
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
nameSuffix: wasm
buildConfig: Release
runtimeFlavor: wasm
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
testGroup: perf
liveLibrariesBuildConfig: Release
buildConfig: Release
runtimeFlavor: mono
platforms:
- - Browser_wasm
+ - browser_wasm
jobParameters:
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
nameSuffix: wasm
buildConfig: release
runtimeFlavor: wasm
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
testGroup: perf
liveLibrariesBuildConfig: Release
buildConfig: release
runtimeFlavor: wasm
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
testGroup: perf
liveLibrariesBuildConfig: Release
steps:
- script: >-
- ./dotnet.sh build -p:TargetOS=Browser -p:TargetArchitecture=wasm /nr:false /p:TreatWarningsAsErrors=true
+ ./dotnet.sh build -p:TargetOS=browser -p:TargetArchitecture=wasm /nr:false /p:TreatWarningsAsErrors=true
/p:Configuration=${{ parameters.configForBuild }}
/p:ContinuousIntegrationBuild=true
/t:InstallWorkloadUsingArtifacts
runtimeFlavor: mono
buildConfig: release
platforms:
- - Linux_arm64
+ - linux_arm64
# build coreclr and libraries
- template: /eng/pipelines/common/platform-matrix.yml
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: release
platforms:
- - Linux_arm64
+ - linux_arm64
jobParameters:
testGroup: perf
buildConfig: release
runtimeFlavor: mono
platforms:
- - Linux_arm64
+ - linux_arm64
jobParameters:
testGroup: perf
liveLibrariesBuildConfig: Release
buildConfig: release
runtimeFlavor: mono
platforms:
- - Browser_wasm
+ - browser_wasm
jobParameters:
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
nameSuffix: wasm
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: release
platforms:
- - Linux_arm64
+ - linux_arm64
- windows_arm64
jobParameters:
testGroup: perf
buildConfig: release
runtimeFlavor: mono
platforms:
- - Browser_wasm
+ - browser_wasm
jobParameters:
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig)
nameSuffix: wasm
runtimeFlavor: mono
runtimeVariant: 'llvmaot'
platforms:
- - Linux_arm64
+ - linux_arm64
jobParameters:
buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true
nameSuffix: AOT
buildConfig: release
runtimeFlavor: aot
platforms:
- - Linux_arm64
+ - linux_arm64
jobParameters:
testGroup: perf
liveLibrariesBuildConfig: Release
buildConfig: release
runtimeFlavor: coreclr
platforms:
- - Linux_arm64
+ - linux_arm64
jobParameters:
testGroup: perf
liveLibrariesBuildConfig: Release
# buildConfig: release
# runtimeFlavor: coreclr
# platforms:
- # - Linux_arm64
+ # - linux_arm64
# jobParameters:
# testGroup: perf
# liveLibrariesBuildConfig: Release
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
+ - osx_arm64
- windows_arm
- windows_arm64
- windows_x64
- windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: pgo
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: pgo
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
+ - osx_arm64
- windows_arm
- windows_arm64
- windows_x64
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
+ - osx_arm64
- windows_arm
- windows_arm64
- windows_x64
- windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: pgostress
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: pgostress
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
+ - osx_arm64
- windows_arm
- windows_arm64
- windows_x64
buildConfig: checked
platformGroup: gcstress
platforms:
- # It is too early to include OSX_arm64 in platform group gcstress
+ # It is too early to include osx_arm64 in platform group gcstress
# Adding it here will enable it also
- - OSX_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - osx_arm64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: r2r-extra
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: r2r-extra
buildConfig: checked
platformGroup: gcstress # r2r-extra testGroup runs gcstress0xf scenario
platforms:
- # It is too early to include OSX_arm64 in platform group gcstress
+ # It is too early to include osx_arm64 in platform group gcstress
# Adding it here will enable it also
- - OSX_arm64
+ - osx_arm64
helixQueueGroup: ci
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
+ - osx_arm64
- windows_arm
- windows_arm64
- windows_x64
- windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: outerloop
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: outerloop
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_arm
- - Linux_arm64
- - Linux_x64
- - OSX_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
+ - osx_arm64
- windows_arm
- windows_arm64
- windows_x64
buildConfig: release
platformGroup: all
platforms:
- # It is too early to include OSX_arm64 in platform group all
+ # It is too early to include osx_arm64 in platform group all
# Adding it here will enable it also
- - OSX_arm64
+ - osx_arm64
jobParameters:
isOfficialBuild: false
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: release
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: outerloop
buildConfig: release
platformGroup: all
platforms:
- # It is too early to include OSX_arm64 in platform group all
+ # It is too early to include osx_arm64 in platform group all
# Adding it here will enable it also
- - OSX_arm64
+ - osx_arm64
helixQueueGroup: ci
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: outerloop
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: outerloop
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- windows_x86
helixQueueGroup: ci
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: outerloop
# libraries test build platforms
testBuildPlatforms:
- - Linux_x64
+ - linux_x64
- windows_x64
# superpmi-collect-job that targets macOS/arm64 depends on coreclr binaries produced by the macOS/x64 job
- # We don't collect osx-x64 (it's essentially the same as linux-x64). If we did, we'd add OSX_x64 in the
+ # We don't collect osx-x64 (it's essentially the same as linux-x64). If we did, we'd add osx_x64 in the
# build-coreclr-and-libraries-job.yml above, and remove this.
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
buildConfig: checked
platforms:
- - OSX_x64
+ - osx_x64
jobParameters:
testGroup: outerloop
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: outerloop
jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/coreclr/templates/superpmi-collect-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
- - Linux_arm
- - Linux_arm64
- - Linux_x64
+ - osx_arm64
+ - linux_arm
+ - linux_arm64
+ - linux_x64
- windows_x64
- windows_x86
- windows_arm64
- name: compilerArg
value: '-clang9'
# We need to use the stable version available on Alpine Linux
- - ${{ if and(eq(parameters.osGroup, 'Linux'), eq(parameters.osSubgroup, '_musl')) }}:
+ - ${{ if and(eq(parameters.osGroup, 'linux'), eq(parameters.osSubgroup, '_musl')) }}:
- name: compilerArg
value: ''
# AppleClang has different version scheme, so we let compiler introspection pick up the available clang from PATH
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- name: compilerArg
value: ''
# Linux builds use docker images with dependencies preinstalled,
# and FreeBSD builds use a build agent with dependencies
# preinstalled, so we only need this step for OSX and Windows.
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh $(osGroup)
displayName: Install native dependencies (OSX)
- name: compilerArg
value: '-clang9'
# We need to use the stable version available on Alpine Linux
- - ${{ if and(eq(parameters.osGroup, 'Linux'), eq(parameters.osSubgroup, '_musl')) }}:
+ - ${{ if and(eq(parameters.osGroup, 'linux'), eq(parameters.osSubgroup, '_musl')) }}:
- name: compilerArg
value: ''
# AppleClang has different version scheme, so we let compiler introspection pick up the available clang from PATH
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- name: compilerArg
value: ''
- ${{ if and(ne(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- ${{ if ne(parameters.testGroup, 'innerloop') }}:
- name: clrRuntimeComponentsBuildArg
value: '-component runtime -component alljits -component paltests -component nativeaot -component spmi '
- - ${{ if and(eq(parameters.osGroup, 'Linux'), eq(parameters.archType, 'x86')) }}:
+ - ${{ if and(eq(parameters.osGroup, 'linux'), eq(parameters.archType, 'x86')) }}:
- name: clrRuntimeComponentsBuildArg
value: '-component runtime -component jit -component iltools -component spmi '
- name: clrRuntimePortableBuildArg
value: ''
- - ${{ if eq(parameters.osGroup, 'Tizen') }}:
+ - ${{ if eq(parameters.osGroup, 'tizen') }}:
- name: clrRuntimePortableBuildArg
value: '-portablebuild=false'
# Linux builds use docker images with dependencies preinstalled,
# and FreeBSD builds use a build agent with dependencies
# preinstalled, so we only need this step for OSX and Windows.
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh $(osGroup)
displayName: Install native dependencies
continueOnError: false
condition: and(succeeded(), in(variables['SignType'], 'real', 'test'))
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
- script: |
du -sh $(Build.SourcesDirectory)/*
df -h
- script: $(Build.SourcesDirectory)/src/coreclr/build-runtime$(scriptExt) $(buildConfig) $(archType) -hostarch x86 $(osArg) -ci $(compilerArg) -component crosscomponents -cmakeargs "-DCLR_CROSS_COMPONENTS_BUILD=1" $(officialBuildIdArg) $(clrRuntimePortableBuildArg)
displayName: Build CoreCLR Cross-Arch Tools (Tools that run on x86 targeting arm)
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
- script: |
du -sh $(Build.SourcesDirectory)/*
df -h
displayName: Disk Usage after Build
# Build CoreCLR Managed Components
- - ${{ if or(ne(parameters.osGroup, 'Linux'), ne(parameters.archType, 'x86')) }}:
+ - ${{ if or(ne(parameters.osGroup, 'linux'), ne(parameters.archType, 'x86')) }}:
- script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -subset clr.corelib+clr.nativecorelib+clr.nativeaotlibs+clr.tools+clr.packages+clr.paltestlist $(crossArg) -arch $(archType) $(osArg) -c $(buildConfig) $(pgoInstrumentArg) $(officialBuildIdArg) -ci
displayName: Build managed product components and packages
- - ${{ if and(eq(parameters.osGroup, 'Linux'), eq(parameters.archType, 'x86')) }}:
+ - ${{ if and(eq(parameters.osGroup, 'linux'), eq(parameters.archType, 'x86')) }}:
- script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -subset clr.corelib $(crossArg) -arch $(archType) $(osArg) -c $(buildConfig) $(pgoInstrumentArg) $(officialBuildIdArg) -ci
displayName: Build managed product components and packages
# Sign and add entitlements to these MacOS binaries
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- template: /eng/pipelines/common/macos-sign-with-entitlements.yml
parameters:
artifactName: $(buildProductArtifactName)
displayName: 'product build'
- - ${{ if and(in(parameters.osGroup, 'windows', 'Linux'), ne(parameters.archType, 'x86'), ne(parameters.compilerName, 'gcc'), ne(parameters.testGroup, 'clrTools'), eq(parameters.pgoType, '')) }}:
+ - ${{ if and(in(parameters.osGroup, 'windows', 'linux'), ne(parameters.archType, 'x86'), ne(parameters.compilerName, 'gcc'), ne(parameters.testGroup, 'clrTools'), eq(parameters.pgoType, '')) }}:
- template: /eng/pipelines/coreclr/templates/crossdac-build.yml
parameters:
archType: ${{ parameters.archType }}
steps:
# Build Android sample app
- - ${{ if eq(parameters.osGroup, 'Android') }}:
+ - ${{ if eq(parameters.osGroup, 'android') }}:
- script: make run MONO_ARCH=arm64 DEPLOY_AND_RUN=false
workingDirectory: $(Build.SourcesDirectory)/src/mono/sample/Android
displayName: Build HelloAndroid sample app
workingDirectory: $(Build.SourcesDirectory)/artifacts/bin
displayName: clean bindir
- - ${{ if eq(parameters.osGroup, 'iOS') }}:
+ - ${{ if eq(parameters.osGroup, 'ios') }}:
- script: make build-appbundle TARGET=iOS MONO_ARCH=arm64 MONO_CONFIG=Release AOT=True USE_LLVM=False DEPLOY_AND_RUN=false
env:
DevTeamProvisioning: '-'
steps:
# Always build the crossdac, that way we know in CI/PR if things break to build.
- ${{ if and(eq(parameters.osGroup, 'windows'), notin(parameters.archType, 'x86')) }}:
- - script: $(Build.SourcesDirectory)/src/coreclr/build-runtime$(scriptExt) $(buildConfig) ${{ parameters.archType }} -hostarch ${{ parameters.hostArchType }} -ci -os Linux -cmakeargs "-DCLR_CROSS_COMPONENTS_BUILD=1" -ninja $(officialBuildIdArg) -component crosscomponents
+ - script: $(Build.SourcesDirectory)/src/coreclr/build-runtime$(scriptExt) $(buildConfig) ${{ parameters.archType }} -hostarch ${{ parameters.hostArchType }} -ci -os linux -cmakeargs "-DCLR_CROSS_COMPONENTS_BUILD=1" -ninja $(officialBuildIdArg) -component crosscomponents
displayName: Build Cross OS Linux DAC for Windows
- script: $(Build.SourcesDirectory)/src/coreclr/build-runtime$(scriptExt) $(buildConfig) ${{ parameters.archType }} -hostarch ${{ parameters.hostArchType }} -ci -os alpine -cmakeargs "-DCLR_CROSS_COMPONENTS_BUILD=1" -ninja $(officialBuildIdArg) -component crosscomponents
isOfficialBuild: ${{ parameters.isOfficialBuild }}
timeoutInMinutes: 30
- - ${{ if eq(parameters.osGroup, 'Linux') }}:
+ - ${{ if eq(parameters.osGroup, 'linux') }}:
- task: CopyFiles@2
displayName: Gather runtime for CrossDac
inputs:
- ${{ if eq(parameters.osGroup, 'windows') }}:
- name: target_crossgen2_os
value: windows
- - ${{ if eq(parameters.osGroup, 'Linux') }}:
+ - ${{ if eq(parameters.osGroup, 'linux') }}:
- name: target_crossgen2_os
value: linux
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- name: target_crossgen2_os
value: osx
- name: crossgen2location
- ${{ if eq(parameters.targetos, 'windows') }}:
- name: target_crossgen2_os
value: windows
- - ${{ if eq(parameters.targetos, 'Linux') }}:
+ - ${{ if eq(parameters.targetos, 'linux') }}:
- name: target_crossgen2_os
value: linux
- - ${{ if eq(parameters.targetos, 'OSX') }}:
+ - ${{ if eq(parameters.targetos, 'osx') }}:
- name: target_crossgen2_os
value: osx
helixQueues:
# iOS/tvOS simulator x64/x86
- - ${{ if in(parameters.platform, 'iOSSimulator_x64', 'tvOSSimulator_x64') }}:
+ - ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64') }}:
- OSX.1015.Amd64.Open
# Android arm64
- - ${{ if in(parameters.platform, 'Android_arm64') }}:
+ - ${{ if in(parameters.platform, 'android_arm64') }}:
- Windows.10.Amd64.Android.Open
# Android x64
- - ${{ if in(parameters.platform, 'Android_x64') }}:
+ - ${{ if in(parameters.platform, 'android_x64') }}:
- Ubuntu.1804.Amd64.Android.29.Open
# Browser wasm
- - ${{ if eq(parameters.platform, 'Browser_wasm') }}:
+ - ${{ if eq(parameters.platform, 'browser_wasm') }}:
- Ubuntu.1804.Amd64.Open
# Linux arm
- - ${{ if eq(parameters.platform, 'Linux_arm') }}:
+ - ${{ if eq(parameters.platform, 'linux_arm') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- (Ubuntu.1804.Arm32.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7
- ${{ if and(eq(variables['System.TeamProject'], 'internal'), in(parameters.jobParameters.helixQueueGroup, 'superpmi')) }}:
- (Ubuntu.1804.Arm32)Ubuntu.1804.Armarch@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7
# Linux arm64
- - ${{ if eq(parameters.platform, 'Linux_arm64') }}:
+ - ${{ if eq(parameters.platform, 'linux_arm64') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8
- ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(parameters.jobParameters.helixQueueGroup, 'pr', 'ci', 'libraries')) }}:
- (Ubuntu.1804.Arm64)Ubuntu.1804.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8
# Linux musl x64
- - ${{ if eq(parameters.platform, 'Linux_musl_x64') }}:
+ - ${{ if eq(parameters.platform, 'linux_musl_x64') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- (Alpine.314.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-amd64
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- (Alpine.314.Amd64)ubuntu.1804.amd64@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-amd64
# Linux musl arm32
- - ${{ if eq(parameters.platform, 'Linux_musl_arm') }}:
+ - ${{ if eq(parameters.platform, 'linux_musl_arm') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- (Alpine.314.Arm32.Open)Ubuntu.1804.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-arm32v7
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- (Alpine.314.Arm32)Ubuntu.1804.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-arm32v7
# Linux musl arm64
- - ${{ if eq(parameters.platform, 'Linux_musl_arm64') }}:
+ - ${{ if eq(parameters.platform, 'linux_musl_arm64') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- (Alpine.314.Arm64.Open)Ubuntu.1804.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-arm64v8
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- (Alpine.314.Arm64)Ubuntu.1804.ArmArch@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-arm64v8
# Linux x64
- - ${{ if eq(parameters.platform, 'Linux_x64') }}:
+ - ${{ if eq(parameters.platform, 'linux_x64') }}:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.jobParameters.helixQueueGroup, 'pr', 'ci', 'libraries')) }}:
- Ubuntu.1804.Amd64.Open
- ${{ if and(eq(variables['System.TeamProject'], 'public'), notIn(parameters.jobParameters.helixQueueGroup, 'pr', 'ci', 'libraries')) }}:
- RedHat.7.Amd64
# OSX arm64
- - ${{ if eq(parameters.platform, 'OSX_arm64') }}:
+ - ${{ if eq(parameters.platform, 'osx_arm64') }}:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), in(parameters.jobParameters.helixQueueGroup, 'pr', 'ci', 'libraries')) }}:
- OSX.1200.ARM64.Open
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- OSX.1200.ARM64
# OSX x64
- - ${{ if eq(parameters.platform, 'OSX_x64') }}:
+ - ${{ if eq(parameters.platform, 'osx_x64') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- OSX.1200.Amd64.Open
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- ${{ if and(eq(parameters.runtimeType, 'mono'), ne(parameters.codeGenType, 'AOT')) }}:
- ${{ format('mono_{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeVariant, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
- ${{ if eq(parameters.runtimeType, 'wasm')}}:
- - ${{ format('build_{0}{1}_{2}_{3}_{4}_{5}', 'Browser', '', 'wasm', 'Linux', parameters.buildConfig, parameters.runtimeType) }}
+ - ${{ format('build_{0}{1}_{2}_{3}_{4}_{5}', 'browser', '', 'wasm', 'linux', parameters.buildConfig, parameters.runtimeType) }}
- ${{ if and(eq(parameters.codeGenType, 'AOT'), ne(parameters.runtimeType, 'wasm'))}}:
- ${{ format('build_{0}{1}_{2}_{3}_{4}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig, parameters.codeGenType) }}
- ${{ if eq(parameters.runtimeType, 'AndroidMono')}}:
- - ${{ 'build_Android_arm64_release_AndroidMono' }}
- - ${{ 'Build_iOS_arm64_release_MACiOSAndroidMauiNet7' }}
+ - ${{ 'build_android_arm64_release_AndroidMono' }}
+ - ${{ 'Build_ios_arm64_release_MACiOSAndroidMauiNet7' }}
- ${{ if eq(parameters.runtimeType, 'AndroidMobileNet6')}}:
- - ${{ 'Build_iOS_arm64_release_MACiOSAndroidMauiNet6' }}
+ - ${{ 'Build_ios_arm64_release_MACiOSAndroidMauiNet6' }}
- ${{ if eq(parameters.runtimeType, 'iOSMono')}}:
- - ${{ 'build_iOS_arm64_release_iOSMono' }}
- - ${{ 'Build_iOS_arm64_release_MACiOSAndroidMauiNet7' }}
+ - ${{ 'build_ios_arm64_release_iOSMono' }}
+ - ${{ 'Build_ios_arm64_release_MACiOSAndroidMauiNet7' }}
- ${{ if eq(parameters.runtimeType, 'iOSMobileNet6')}}:
- - ${{ 'Build_iOS_arm64_release_MACiOSAndroidMauiNet6' }}
+ - ${{ 'Build_ios_arm64_release_MACiOSAndroidMauiNet6' }}
${{ if and(eq(parameters.osGroup, 'windows'), not(in(parameters.runtimeType, 'AndroidMono', 'iOSMono', 'AndroidMobileNet6', 'iOSMobileNet6'))) }}:
${{ if eq(parameters.runtimeType, 'mono') }}:
- ${{ if eq(parameters.osGroup, 'windows') }}:
- HelixPreCommandWindows: 'set ORIGPYPATH=%PYTHONPATH%;py -3 -m venv %HELIX_WORKITEM_PAYLOAD%\.venv;call %HELIX_WORKITEM_PAYLOAD%\.venv\Scripts\activate.bat;set PYTHONPATH=;py -3 -m pip install -U pip;py -3 -m pip install --user azure.storage.blob==12.0.0 --force-reinstall;py -3 -m pip install --user azure.storage.queue==12.0.0 --force-reinstall;set "PERFLAB_UPLOAD_TOKEN=$(PerfCommandUploadToken)"'
- HelixPostCommandsWindows: 'set PYTHONPATH=%ORIGPYPATH%'
- - ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'OSX'), ne(parameters.osSubGroup, '_musl')) }}:
+ - ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'osx'), ne(parameters.osSubGroup, '_musl')) }}:
- HelixPreCommandLinux: 'export ORIGPYPATH=$PYTHONPATH;export CRYPTOGRAPHY_ALLOW_OPENSSL_102=true;sudo apt-get -y install python3-venv;python3 -m venv $HELIX_WORKITEM_PAYLOAD/.venv;source $HELIX_WORKITEM_PAYLOAD/.venv/bin/activate;export PYTHONPATH=;python3 -m pip install -U pip;pip3 install --user azure.storage.blob==12.0.0 --force-reinstall;pip3 install --user azure.storage.queue==12.0.0 --force-reinstall;export PERFLAB_UPLOAD_TOKEN="$(PerfCommandUploadTokenLinux)"'
- HelixPostCommandsLinux: 'export PYTHONPATH=$ORIGPYPATH'
- - ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'OSX'), eq(parameters.osSubGroup, '_musl')) }}:
+ - ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'osx'), eq(parameters.osSubGroup, '_musl')) }}:
- HelixPreCommandMusl: 'export ORIGPYPATH=$PYTHONPATH;sudo apk add py3-virtualenv;python3 -m venv $HELIX_WORKITEM_PAYLOAD/.venv;source $HELIX_WORKITEM_PAYLOAD/.venv/bin/activate;export PYTHONPATH=;python3 -m pip install -U pip;pip3 install --user azure.storage.blob==12.0.0 --force-reinstall;pip3 install --user azure.storage.queue==12.0.0 --force-reinstall;export PERFLAB_UPLOAD_TOKEN="$(PerfCommandUploadTokenLinux)"'
- HelixPostCommandsMusl: 'export PYTHONPATH=$ORIGPYPATH'
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- HelixPreCommandOSX: 'export ORIGPYPATH=$PYTHONPATH;export CRYPTOGRAPHY_ALLOW_OPENSSL_102=true;python3 -m venv $HELIX_WORKITEM_PAYLOAD/.venv;source $HELIX_WORKITEM_PAYLOAD/.venv/bin/activate;export PYTHONPATH=;python3 -m pip install -U pip;pip3 install azure.storage.blob==12.0.0 --force-reinstall;pip3 install azure.storage.queue==12.0.0 --force-reinstall;export PERFLAB_UPLOAD_TOKEN="$(PerfCommandUploadTokenLinux)"'
- HelixPostCommandOSX: 'export PYTHONPATH=$ORIGPYPATH'
- AdditionalHelixPreCommands: $(HelixPreCommandWindows)
- AdditionalHelixPostCommands: $(HelixPostCommandsWindows)
- IsInternal: -Internal
- - ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'OSX'), ne(parameters.osSubGroup, '_musl')) }}:
+ - ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'osx'), ne(parameters.osSubGroup, '_musl')) }}:
- AdditionalHelixPreCommands: $(HelixPreCommandLinux)
- AdditionalHelixPostCommands: $(HelixPostCommandsLinux)
- IsInternal: --internal
- - ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'OSX'), eq(parameters.osSubGroup, '_musl')) }}:
+ - ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'osx'), eq(parameters.osSubGroup, '_musl')) }}:
- AdditionalHelixPreCommands: $(HelixPreCommandMusl)
- AdditionalHelixPostCommands: $(HelixPostCommandsMusl)
- IsInternal: --internal
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- AdditionalHelixPreCommands: $(HelixPreCommandOSX)
- AdditionalHelixPostCommands: $(HelixPostCommandOSX)
- IsInternal: --internal
- ${{ if eq(parameters.osGroup, 'windows') }}:
- AdditionalHelixPreCommands: $(HelixPreCommandWindows)
- AdditionalHelixPostCommands: $(HelixPostCommandsWindows)
- - ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'OSX')) }}:
+ - ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.osGroup, 'osx')) }}:
- AdditionalHelixPreCommands: $(HelixPreCommandLinux)
- AdditionalHelixPostCommands: $(HelixPostCommandsLinux)
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- AdditionalHelixPreCommands: $(HelixPreCommandOSX)
- AdditionalHelixPostCommands: $(HelixPostCommandOSX)
- name: osArg
value: ''
- - ${{ if eq(parameters.osGroup, 'FreeBSD') }}:
+ - ${{ if eq(parameters.osGroup, 'freebsd') }}:
- name: osArg
- value: -os FreeBSD
+ value: -os freebsd
steps: ${{ parameters.steps }}
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- windows_x86
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: outerloop
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: outerloop
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- windows_x86
helixQueueGroup: ci
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isAndroidOnlyBuild: ${{ parameters.isAndroidOnlyBuild }}
platforms:
- - Android_arm64
+ - android_arm64
variables:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
buildConfig: Release
runtimeFlavor: mono
platforms:
- - Android_arm
- - Android_arm64
+ - android_arm
+ - android_arm64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isAndroidEmulatorOnlyBuild: ${{ parameters.isAndroidEmulatorOnlyBuild }}
platforms:
- - Android_x64
+ - android_x64
variables:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isAndroidEmulatorOnlyBuild: ${{ parameters.isAndroidEmulatorOnlyBuild }}
platforms:
- - Android_x64
+ - android_x64
variables:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
buildConfig: Release
runtimeFlavor: mono
platforms:
- - Android_x86
- - Android_x64
+ - android_x86
+ - android_x64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isiOSLikeOnlyBuild: ${{ parameters.isiOSLikeOnlyBuild }}
platforms:
- - iOS_arm64
- - tvOS_arm64
+ - ios_arm64
+ - tvos_arm64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isiOSLikeSimulatorOnlyBuild: ${{ parameters.isiOSLikeSimulatorOnlyBuild }}
platforms:
- - iOSSimulator_x64
- - tvOSSimulator_x64
+ - iossimulator_x64
+ - tvossimulator_x64
# don't run tests on arm64 PRs until we can get significantly more devices
- ${{ if eq(variables['isRollingBuild'], true) }}:
- - iOSSimulator_arm64
+ - iossimulator_arm64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isLinuxBionicOnlyBuild: ${{ parameters.isLinuxBionicOnlyBuild }}
platforms:
- - Linux_bionic_arm64
- - Linux_bionic_x64
+ - linux_bionic_arm64
+ - linux_bionic_x64
variables:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
value: 180
jobParameters:
testGroup: innerloop
- targetRid: Linux-bionic-x64
+ targetRid: linux-bionic-x64
nameSuffix: AllSubsets_Mono
buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true
timeoutInMinutes: 240
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isMacCatalystOnlyBuild: ${{ parameters.isMacCatalystOnlyBuild }}
platforms:
- - MacCatalyst_x64
- - MacCatalyst_arm64
+ - maccatalyst_x64
+ - maccatalyst_arm64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isMacCatalystOnlyBuild: ${{ parameters.isMacCatalystOnlyBuild }}
platforms:
- - MacCatalyst_x64
- - MacCatalyst_arm64
+ - maccatalyst_x64
+ - maccatalyst_arm64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
buildConfig: release
platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - OSX_x64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_musl_x64
+ - osx_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/libraries/build-job.yml
buildConfig: Release
platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - OSX_x64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_musl_x64
+ - osx_x64
- windows_x64
- windows_x86
- windows_arm64
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: Release
platforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - OSX_x64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_musl_x64
+ - osx_x64
- windows_x64
- windows_x86
- windows_arm64
platforms:
- windows_x64
- windows_arm64
- - OSX_x64
- - OSX_arm64
- - Linux_x64
- - Linux_arm64
- - Linux_musl_x64
+ - osx_x64
+ - osx_arm64
+ - linux_x64
+ - linux_arm64
+ - linux_musl_x64
jobParameters:
testGroup: innerloop
isSingleFile: true
buildConfig: Release
platforms:
- windows_x64
- - Linux_arm64
+ - linux_arm64
jobParameters:
testGroup: innerloop
isSingleFile: true
buildConfig: Release
runtimeFlavor: mono
platforms:
- - Windows_x64
+ - windows_x64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
runtimeFlavor: mono
buildConfig: release
platforms:
- - Linux_arm64
+ - linux_arm64
jobParameters:
condition: >-
or(
buildConfig: release
runtimeFlavor: mono
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: innerloop
condition: >-
buildConfig: release
runtimeFlavor: mono
platforms:
- - Linux_arm64
+ - linux_arm64
helixQueueGroup: pr
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
buildConfig: release
runtimeFlavor: mono
platforms:
- - Linux_arm64
+ - linux_arm64
helixQueueGroup: pr
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
parameters:
platforms:
- - Browser_wasm
- - Browser_wasm_win
+ - browser_wasm
+ - browser_wasm_win
nameSuffix: _AOT
runAOT: true
alwaysRun: true
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
parameters:
platforms:
- - Browser_wasm
- - Browser_wasm_win
+ - browser_wasm
+ - browser_wasm_win
nameSuffix: _HighResource_AOT
extraBuildArgs: /p:TestAssemblies=false /p:RunHighAOTResourceRequiringTestsOnly=true
buildAOTOnHelix: false
#- template: /eng/pipelines/common/templates/wasm-debugger-tests.yml
#parameters:
#platforms:
- #- Browser_wasm_firefox
+ #- browser_wasm_firefox
#browser: firefox
## ff tests are unstable currently
#shouldContinueOnError: true
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- - Browser_wasm
+ - browser_wasm
# Don't run for rolling builds, as this is covered
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- - Browser_wasm
+ - browser_wasm
nameSuffix: _NodeJs
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- - Browser_wasm_win
+ - browser_wasm_win
# Don't run for rolling builds, as this is covered
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- - Browser_wasm
- #- Browser_wasm_win
+ - browser_wasm
+ #- browser_wasm_win
nameSuffix: _Threading
extraBuildArgs: /p:MonoWasmBuildVariant=multithread /p:_WasmPThreadPoolSize=8
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- - Browser_wasm
- #- Browser_wasm_win
+ - browser_wasm
+ #- browser_wasm_win
nameSuffix: _Threading_PerfTracing
extraBuildArgs: /p:MonoWasmBuildVariant=perftrace
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
parameters:
platforms:
- - Browser_wasm
+ - browser_wasm
nameSuffix: _EAT
runAOT: false
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
parameters:
platforms:
- - Browser_wasm
- - Browser_wasm_win
+ - browser_wasm
+ - browser_wasm_win
nameSuffix: _AOT
runAOT: true
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
parameters:
platforms:
- - Browser_wasm
- - Browser_wasm_win
+ - browser_wasm
+ - browser_wasm_win
nameSuffix: _HighResource_AOT
extraBuildArgs: /p:TestAssemblies=false /p:RunHighAOTResourceRequiringTestsOnly=true
buildAOTOnHelix: false
- template: /eng/pipelines/common/templates/wasm-build-tests.yml
parameters:
platforms:
- - Browser_wasm
- - Browser_wasm_win
+ - browser_wasm
+ - browser_wasm_win
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
- template: /eng/pipelines/common/templates/wasm-debugger-tests.yml
parameters:
platforms:
- - Browser_wasm
- - Browser_wasm_win
+ - browser_wasm
+ - browser_wasm_win
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
- template: /eng/pipelines/common/templates/wasm-runtime-tests.yml
parameters:
platforms:
- - Browser_wasm
+ - browser_wasm
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
- template: /eng/pipelines/common/templates/wasm-debugger-tests.yml
parameters:
platforms:
- - Browser_wasm_firefox
+ - browser_wasm_firefox
browser: firefox
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
buildConfig: release
platforms:
- windows_x86
- - OSX_x64
- - OSX_arm64
+ - osx_x64
+ - osx_arm64
jobParameters:
testGroup: innerloop
nameSuffix: Runtime_Debug
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: debug
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
testGroup: innerloop
nameSuffix: Runtime_Release
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: debug
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
testGroup: innerloop
nameSuffix: RuntimeFlavor_Mono
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: debug
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
nameSuffix: Libraries_AllConfigurations
buildArgs: -subset libs -allconfigurations
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: Release
platforms:
- - SourceBuild_Linux_x64
+ - SourceBuild_linux_x64
jobParameters:
nameSuffix: PortableSourceBuild
extraStepsParameters:
$(CommonMSBuildArgs)
$(MsbuildSigningArguments)
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- name: CommonMSBuildArgs
value: >-
$(CommonMSBuildArgs)
$(OfficialBuildArg)
- - ${{ if in(parameters.osGroup, 'iOS', 'tvOS', 'Android', 'Browser') }}:
+ - ${{ if in(parameters.osGroup, 'ios', 'tvos', 'android', 'browser') }}:
- name: CommonMSBuildArgs
value: >-
$(CommonMSBuildArgs)
$(OfficialBuildArg)
- - ${{ if in(parameters.osGroup, 'Linux', 'FreeBSD') }}:
+ - ${{ if in(parameters.osGroup, 'linux', 'freebsd') }}:
- name: CommonMSBuildArgs
value: >-
/p:Configuration=$(_BuildConfig)
- name: _PortableBuild
value: ${{ eq(parameters.osSubgroup, '') }}
- - ${{ if and(eq(parameters.osSubgroup, '_musl'), eq(parameters.osGroup, 'Linux')) }}:
+ - ${{ if and(eq(parameters.osSubgroup, '_musl'), eq(parameters.osGroup, 'linux')) }}:
- name: _PortableBuild
value: true
displayName: 'Libraries artifacts'
cleanUnpackFolder: false
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
- script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh ${{ parameters.osGroup }}
displayName: Install Build Dependencies
displayName: Disk Usage before Build
# Build the default subset non-MacOS platforms
- - ${{ if ne(parameters.osGroup, 'OSX') }}:
+ - ${{ if ne(parameters.osGroup, 'osx') }}:
- script: $(BaseJobBuildCommand)
displayName: Build
continueOnError: ${{ and(eq(variables.SkipTests, false), eq(parameters.shouldContinueOnError, true)) }}
# Build corehost, sign and add entitlements to MacOS binaries
- - ${{ if eq(parameters.osGroup, 'OSX') }}:
+ - ${{ if eq(parameters.osGroup, 'osx') }}:
- script: $(BaseJobBuildCommand) -subset host.native
displayName: Build CoreHost
continueOnError: ${{ and(eq(variables.SkipTests, false), eq(parameters.shouldContinueOnError, true)) }}
displayName: Build and Package
continueOnError: ${{ and(eq(variables.SkipTests, false), eq(parameters.shouldContinueOnError, true)) }}
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
- script: |
du -sh $(Build.SourcesDirectory)/*
df -h
displayName: Disk Usage after Build
# Only in glibc leg, we produce RPMs and Debs
- - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), or(eq(parameters.platform, 'Linux_x64'), eq(parameters.platform, 'Linux_arm64')), eq(parameters.osSubgroup, ''), eq(parameters.pgoType, ''))}}:
+ - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), or(eq(parameters.platform, 'linux_x64'), eq(parameters.platform, 'linux_arm64')), eq(parameters.osSubgroup, ''), eq(parameters.pgoType, ''))}}:
- ${{ each packageBuild in parameters.packageDistroList }}:
# This leg's RID matches the build image. Build its distro-dependent packages, as well as
# the distro-independent installers. (There's no particular reason to build the distro-
# independent installers on this leg, but we need to do it somewhere.)
- # Currently, Linux_arm64 supports 'rpm' type only.
- - ${{ if or(not(eq(parameters.platform, 'Linux_arm64')), eq(packageBuild.packageType, 'rpm')) }}:
+ # Currently, linux_arm64 supports 'rpm' type only.
+ - ${{ if or(not(eq(parameters.platform, 'linux_arm64')), eq(packageBuild.packageType, 'rpm')) }}:
- template: /eng/pipelines/installer/jobs/steps/build-linux-package.yml
parameters:
packageType: ${{ packageBuild.packageType }}
- _crossBuildPropertyArg: /p:CrossBuild=true
# force a value for OS when cross-building
- - ${{ if in(parameters.osGroup, 'Browser', 'iOS', 'tvOS', 'Android', 'FreeBSD') }}:
+ - ${{ if in(parameters.osGroup, 'browser', 'ios', 'tvos', 'android', 'freebsd') }}:
- _osArg: -os ${{ parameters.osGroup }}
- ${{ if ne(parameters.framework, '') }}:
- ${{ if eq(parameters.isOfficialBuild, true) }}:
- template: /eng/pipelines/common/restore-internal-tools.yml
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
- script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh ${{ parameters.osGroup }}
displayName: Install Build Dependencies
$(_additionalBuildArguments)
displayName: Restore and Build Product
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
- script: |
du -sh $(Build.SourcesDirectory)/*
df -h
helixQueues:
# Linux arm
- - ${{ if eq(parameters.platform, 'Linux_arm') }}:
+ - ${{ if eq(parameters.platform, 'linux_arm') }}:
- ${{ if or(eq(parameters.jobParameters.isExtraPlatforms, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- (Debian.10.Arm32.Open)Ubuntu.1804.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-10-helix-arm32v7
- (Debian.11.Arm32.Open)Ubuntu.1804.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-arm32v7
# Linux armv6
- - ${{ if eq(parameters.platform, 'Linux_armv6') }}:
+ - ${{ if eq(parameters.platform, 'linux_armv6') }}:
# - ${{ if eq(parameters.jobParameters.isFullMatrix, true) }}:
- (Raspbian.10.Armv6.Open)Ubuntu.1804.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:raspbian-10-helix-arm32v6
# Linux arm64
- - ${{ if eq(parameters.platform, 'Linux_arm64') }}:
+ - ${{ if eq(parameters.platform, 'linux_arm64') }}:
- ${{ if or(eq(parameters.jobParameters.isExtraPlatforms, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- (Ubuntu.2204.Arm64.Open)Ubuntu.1804.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-arm64v8
- ${{ if or(ne(parameters.jobParameters.isExtraPlatforms, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- (Debian.11.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-11-helix-arm64v8
# Linux musl x64
- - ${{ if eq(parameters.platform, 'Linux_musl_x64') }}:
+ - ${{ if eq(parameters.platform, 'linux_musl_x64') }}:
- ${{ if or(ne(parameters.jobParameters.isExtraPlatforms, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- (Alpine.314.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-amd64
- ${{ if or(eq(parameters.jobParameters.isExtraPlatforms, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- (Alpine.313.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.13-helix-amd64
# Linux musl arm64
- - ${{ if and(eq(parameters.platform, 'Linux_musl_arm64'), or(eq(parameters.jobParameters.isExtraPlatforms, true), eq(parameters.jobParameters.includeAllPlatforms, true))) }}:
+ - ${{ if and(eq(parameters.platform, 'linux_musl_arm64'), or(eq(parameters.jobParameters.isExtraPlatforms, true), eq(parameters.jobParameters.includeAllPlatforms, true))) }}:
- (Alpine.313.Arm64.Open)ubuntu.1804.armarch.open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.13-helix-arm64v8
- (Alpine.314.Arm64.Open)ubuntu.1804.armarch.open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.14-helix-arm64v8
# Linux x64
- - ${{ if eq(parameters.platform, 'Linux_x64') }}:
+ - ${{ if eq(parameters.platform, 'linux_x64') }}:
- ${{ if and(eq(parameters.jobParameters.interpreter, ''), ne(parameters.jobParameters.isSingleFile, true)) }}:
- ${{ if and(eq(parameters.jobParameters.testScope, 'outerloop'), eq(parameters.jobParameters.runtimeFlavor, 'mono')) }}:
- RedHat.7.Amd64.Open
- (Debian.10.Amd64.Open)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-10-helix-amd64
# Linux s390x
- - ${{ if eq(parameters.platform, 'Linux_s390x') }}:
+ - ${{ if eq(parameters.platform, 'linux_s390x') }}:
- Ubuntu.2004.S390X.Experimental.Open
# Linux PPC64le
- - ${{ if eq(parameters.platform, 'Linux_ppc64le') }}:
+ - ${{ if eq(parameters.platform, 'linux_ppc64le') }}:
- Ubuntu.2004.PPC64le.Experimental.Open
# OSX arm64
- - ${{ if eq(parameters.platform, 'OSX_arm64') }}:
+ - ${{ if eq(parameters.platform, 'osx_arm64') }}:
- OSX.1200.ARM64.Open
# OSX x64
- - ${{ if eq(parameters.platform, 'OSX_x64') }}:
+ - ${{ if eq(parameters.platform, 'osx_x64') }}:
- OSX.1200.Amd64.Open
# Android
- - ${{ if in(parameters.platform, 'Android_x86', 'Android_x64', 'Linux_bionic_x64') }}:
+ - ${{ if in(parameters.platform, 'android_x86', 'android_x64', 'linux_bionic_x64') }}:
- Ubuntu.1804.Amd64.Android.29.Open
- - ${{ if in(parameters.platform, 'Android_arm', 'Android_arm64', 'Linux_bionic_arm64') }}:
+ - ${{ if in(parameters.platform, 'android_arm', 'android_arm64', 'linux_bionic_arm64') }}:
- Windows.10.Amd64.Android.Open
# iOS Simulator/Mac Catalyst arm64
- - ${{ if in(parameters.platform, 'MacCatalyst_arm64', 'iOSSimulator_arm64') }}:
+ - ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}:
- OSX.1200.Arm64.Open
# iOS/tvOS simulator x64/x86 & MacCatalyst x64
- - ${{ if in(parameters.platform, 'iOSSimulator_x64', 'iOSSimulator_x86', 'tvOSSimulator_x64', 'MacCatalyst_x64') }}:
+ - ${{ if in(parameters.platform, 'iossimulator_x64', 'iossimulator_x86', 'tvossimulator_x64', 'maccatalyst_x64') }}:
- OSX.1200.Amd64.Open
# iOS devices
- - ${{ if in(parameters.platform, 'iOS_arm64') }}:
+ - ${{ if in(parameters.platform, 'ios_arm64') }}:
# split traffic for runtime-extra-platforms (which mostly runs on rolling builds)
- ${{ if ne(parameters.jobParameters.isExtraPlatforms, true) }}:
- OSX.1015.Amd64.Iphone.Open
- OSX.1200.Amd64.Iphone.Open
# tvOS devices
- - ${{ if in(parameters.platform, 'tvOS_arm64') }}:
+ - ${{ if in(parameters.platform, 'tvos_arm64') }}:
# split traffic for runtime-extra-platforms (which mostly runs on rolling builds)
- ${{ if ne(parameters.jobParameters.isExtraPlatforms, true) }}:
- OSX.1015.Amd64.AppleTV.Open
- Windows.11.Arm64.Open
# Browser/WASI WebAssembly
- - ${{ if in(parameters.platform, 'Browser_wasm', 'wasi_wasm') }}:
+ - ${{ if in(parameters.platform, 'browser_wasm', 'wasi_wasm') }}:
- Ubuntu.1804.Amd64.Open
# Browser WebAssembly Firefox
- - ${{ if eq(parameters.platform, 'Browser_wasm_firefox') }}:
+ - ${{ if eq(parameters.platform, 'browser_wasm_firefox') }}:
- (Ubuntu.1804.Amd64)Ubuntu.1804.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-webassembly
# Browser WebAssembly windows
- - ${{ if eq(parameters.platform, 'Browser_wasm_win') }}:
+ - ${{ if eq(parameters.platform, 'browser_wasm_win') }}:
- (Windows.Amd64.Server2022.Open)windows.amd64.server2022.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2022-helix-webassembly
${{ insert }}: ${{ parameters.jobParameters }}
runtimeFlavor: mono
platforms:
- windows_x86
- - Browser_wasm
+ - browser_wasm
- ${{ if eq(variables['isRollingBuild'], true) }}:
- windows_x64
- - Linux_x64
- - Linux_arm
- - Linux_musl_x64
- - OSX_x64
+ - linux_x64
+ - linux_arm
+ - linux_musl_x64
+ - osx_x64
jobParameters:
testScope: outerloop
nameSuffix: AllSubsets_Mono
runtimeFlavor: mono
platforms:
- windows_x64
- - Linux_x64
- - Linux_musl_x64
- - OSX_x64
- - Android_arm64
+ - linux_x64
+ - linux_musl_x64
+ - osx_x64
+ - android_arm64
jobParameters:
testScope: outerloop
nameSuffix: AllSubsets_Mono
- windows_x64
- ${{ if eq(variables['includeLinuxOuterloop'], true) }}:
- ${{ if eq(variables['isRollingBuild'], true) }}:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_musl_x64
+ - linux_musl_arm64
- ${{ if and(eq(variables['includeOsxOuterloop'], true), eq(variables['isRollingBuild'], true)) }}:
- - OSX_arm64
- - OSX_x64
+ - osx_arm64
+ - osx_x64
jobParameters:
testScope: outerloop
nameSuffix: CoreCLR_Release
- ${{ if eq(variables['includeWindowsOuterloop'], true) }}:
- windows_x64
- ${{ if eq(variables['includeLinuxOuterloop'], true) }}:
- - Linux_x64
- - Linux_musl_x64
+ - linux_x64
+ - linux_musl_x64
- ${{ if eq(variables['includeOsxOuterloop'], true) }}:
- - OSX_arm64
- - OSX_x64
+ - osx_arm64
+ - osx_x64
jobParameters:
testScope: outerloop
nameSuffix: CoreCLR_Release
value: ''
- ${{ if eq(parameters.isOfficialBuild, true) }}:
- name: officialBuildIdArg
- value: '/p:officialBuildId=$(Build.BuildNumber)'
- - ${{ if and(eq(parameters.osSubgroup, '_musl'), eq(parameters.osGroup, 'Linux')) }}:
+ value: '/p:OfficialBuildId=$(Build.BuildNumber)'
+ - ${{ if and(eq(parameters.osSubgroup, '_musl'), eq(parameters.osGroup, 'linux')) }}:
# Set output RID manually: musl isn't properly detected. Make sure to also convert linux to
# lowercase for RID format. (Detection normally converts, but we're preventing it.)
- name: OutputRidArg
value: /p:OutputRid=linux-musl-${{ parameters.archType }}
- name: _PortableBuild
value: true
- - ${{ if eq(parameters.osGroup, 'tvOS') }}:
+ - ${{ if eq(parameters.osGroup, 'tvos') }}:
- name: osOverride
- value: -os tvOS
+ value: -os tvos
- name: darwinFrameworks
value: /p:BuildDarwinFrameworks=true
- - ${{ if eq(parameters.osGroup, 'tvOSSimulator') }}:
+ - ${{ if eq(parameters.osGroup, 'tvossimulator') }}:
- name: osOverride
- value: -os tvOSSimulator
+ value: -os tvossimulator
- name: darwinFrameworks
value: /p:BuildDarwinFrameworks=true
- - ${{ if eq(parameters.osGroup, 'iOS') }}:
+ - ${{ if eq(parameters.osGroup, 'ios') }}:
- name: osOverride
- value: -os iOS
+ value: -os ios
- name: darwinFrameworks
value: /p:BuildDarwinFrameworks=true
- - ${{ if eq(parameters.osGroup, 'iOSSimulator') }}:
+ - ${{ if eq(parameters.osGroup, 'iossimulator') }}:
- name: osOverride
- value: -os iOSSimulator
+ value: -os iossimulator
- name: darwinFrameworks
value: /p:BuildDarwinFrameworks=true
- - ${{ if eq(parameters.osGroup, 'Android') }}:
+ - ${{ if eq(parameters.osGroup, 'android') }}:
- name: osOverride
- value: -os Android
- - ${{ if eq(parameters.osGroup, 'Browser') }}:
+ value: -os android
+ - ${{ if eq(parameters.osGroup, 'browser') }}:
- name: archType
value: wasm
- name: osOverride
- value: '-os Browser'
+ value: '-os browser'
- ${{ if eq(parameters.osGroup, 'wasi') }}:
- name: archType
value: wasm
- name: osOverride
value: '-os wasi'
- - ${{ if and(eq(parameters.osGroup, 'Linux'), not(eq(parameters.archType, 'x64'))) }}:
+ - ${{ if and(eq(parameters.osGroup, 'linux'), not(eq(parameters.archType, 'x64'))) }}:
name: llvmCxxAbi
value: /p:MonoLLVMUseCxx11Abi=true
- ${{ if eq(parameters.runtimeVariant, 'llvmjit') }}:
# Linux builds use docker images with dependencies preinstalled,
# and FreeBSD builds use a build agent with dependencies
# preinstalled, so we only need this step for OSX and Windows.
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
- script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh $(osGroup)
displayName: Install native dependencies
artifact: Mono_Offsets_${{monoCrossAOTTargetOS}}
path: '$(Build.SourcesDirectory)/artifacts/obj/mono/offsetfiles'
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
- script: |
du -sh $(Build.SourcesDirectory)/*
df -h
- script: build$(scriptExt) -subset mono$(msCorDbi)+clr.hosts -c $(buildConfig) -arch $(archType) $(osOverride) -ci $(officialBuildIdArg) $(aotCrossParameter) $(llvmParameter)
displayName: Build product
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
- script: |
du -sh $(Build.SourcesDirectory)/*
df -h
env:
# TODO: remove NUGET_PACKAGES once https://github.com/dotnet/arcade/issues/1578 is fixed
NUGET_PACKAGES: $(Build.SourcesDirectory)/.packages
- ${{ if eq(parameters.osGroup, 'FreeBSD') }}:
+ ${{ if eq(parameters.osGroup, 'freebsd') }}:
# Arcade uses this SDK instead of trying to restore one.
DotNetCoreSdkDir: /usr/local/dotnet
- ${{ if eq(parameters.osGroup, 'windows') }}:
value: ''
- ${{ if eq(parameters.isOfficialBuild, true) }}:
- name: officialBuildIdArg
- value: '/p:officialBuildId=$(Build.BuildNumber)'
+ value: '/p:OfficialBuildId=$(Build.BuildNumber)'
- name: osOverride
- value: -os Linux
+ value: -os linux
- name: archType
value: x64
- ${{ parameters.variables }}
# Linux builds use docker images with dependencies preinstalled,
# and FreeBSD builds use a build agent with dependencies
# preinstalled, so we only need this step for OSX and Windows.
- - ${{ if in(parameters.osGroup, 'OSX', 'iOS', 'tvOS') }}:
+ - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
- script: $(Build.SourcesDirectory)/eng/install-native-dependencies.sh $(osGroup)
displayName: Install native dependencies
buildConfig: Release
runtimeFlavor: mono
platforms:
- - Android_x64
+ - android_x64
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_gRPC
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: innerloop
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: release
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
jobParameters:
buildArgs: -s clr+libs+host+packs -c $(_BuildConfig)
buildConfig: release
runtimeFlavor: mono
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
jobParameters:
buildArgs: -s mono+libs+host+packs+mono.mscordbi -c $(_BuildConfig)
buildConfig: Release
runtimeFlavor: mono
platforms:
- - Linux_s390x
- - Linux_ppc64le
+ - linux_s390x
+ - linux_ppc64le
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
buildConfig: Release
runtimeFlavor: mono
platforms:
- - FreeBSD_x64
+ - freebsd_x64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
buildConfig: Release
runtimeFlavor: mono
platforms:
- - Linux_armv6
+ - linux_armv6
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
buildConfig: release
platforms:
- windows_x64
- - OSX_x64
- - Linux_x64
+ - osx_x64
+ - linux_x64
jobParameters:
testGroup: innerloop
timeoutInMinutes: 120
buildConfig: release
platforms:
- windows_x64
- - OSX_x64
- - Linux_x64
+ - osx_x64
+ - linux_x64
jobParameters:
testGroup: innerloop
timeoutInMinutes: 120
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: release
platforms:
- - Browser_wasm
+ - browser_wasm
jobParameters:
testGroup: innerloop
timeoutInMinutes: 120
buildConfig: Release
runtimeFlavor: mono
platforms:
- - OSX_x64
+ - osx_x64
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMJIT
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
runtimeFlavor: mono
platforms:
- - Linux_x64
- - Linux_arm64
+ - linux_x64
+ - linux_arm64
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMJIT
buildConfig: Release
runtimeFlavor: mono
platforms:
- - Linux_x64
- - Linux_arm64
+ - linux_x64
+ - linux_arm64
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMAOT
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
runtimeFlavor: mono
platforms:
- - OSX_x64
+ - osx_x64
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMAOT
runtimeFlavor: mono
buildConfig: release
platforms:
- - Linux_x64
- - Linux_arm64
+ - linux_x64
+ - linux_arm64
jobParameters:
runtimeVariant: llvmaot
condition: >-
buildConfig: release
runtimeFlavor: mono
platforms:
- - Linux_x64
+ - linux_x64
# Disabled pending outcome of https://github.com/dotnet/runtime/issues/60234 investigation
- #- Linux_arm64
+ #- linux_arm64
helixQueueGroup: pr
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
buildConfig: release
runtimeFlavor: mono
platforms:
- - Linux_x64
- - Linux_arm64
+ - linux_x64
+ - linux_arm64
helixQueueGroup: pr
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
- ${{ if eq(variables['Build.SourceBranch'], 'refs/heads/main') }}:
- template: /eng/common/templates/job/source-index-stage1.yml
parameters:
- sourceIndexBuildCommand: build.cmd -subset libs.sfx+libs.oob -binarylog -os Linux -ci
+ sourceIndexBuildCommand: build.cmd -subset libs.sfx+libs.oob -binarylog -os linux -ci
#
# Build CoreCLR
jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
buildConfig: release
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm
- - Linux_musl_arm64
+ - osx_arm64
+ - osx_x64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_musl_x64
+ - linux_musl_arm
+ - linux_musl_arm64
- windows_x86
- windows_x64
- windows_arm
isOfficialBuild: ${{ variables.isOfficialBuild }}
timeoutInMinutes: 120
crossDacPlatforms:
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm
- - Linux_musl_arm64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_musl_x64
+ - linux_musl_arm
+ - linux_musl_arm64
- windows_x64
- windows_arm
- windows_arm64
buildConfig: release
runtimeFlavor: mono
platforms:
- - Android_x64
- - Android_x86
- - Android_arm
- - Android_arm64
- - MacCatalyst_x64
- - MacCatalyst_arm64
- - tvOSSimulator_x64
- - tvOSSimulator_arm64
- - tvOS_arm64
- - iOSSimulator_x64
- - iOSSimulator_x86
- - iOSSimulator_arm64
- - iOS_arm
- - iOS_arm64
- - OSX_x64
- - OSX_arm64
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Browser_wasm
+ - android_x64
+ - android_x86
+ - android_arm
+ - android_arm64
+ - maccatalyst_x64
+ - maccatalyst_arm64
+ - tvossimulator_x64
+ - tvossimulator_arm64
+ - tvos_arm64
+ - iossimulator_x64
+ - iossimulator_x86
+ - iossimulator_arm64
+ - ios_arm
+ - ios_arm64
+ - osx_x64
+ - osx_arm64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_musl_x64
+ - browser_wasm
- wasi_wasm
- - Linux_bionic_arm64
- - Linux_bionic_x64
- # - Linux_musl_arm
- # - Linux_musl_arm64
+ - linux_bionic_arm64
+ - linux_bionic_x64
+ # - linux_musl_arm
+ # - linux_musl_arm64
- windows_x64
- windows_x86
# - windows_arm
buildConfig: release
runtimeFlavor: mono
platforms:
- - Browser_wasm
+ - browser_wasm
jobParameters:
buildArgs: -s mono+libs+host+packs+mono.mscordbi -c $(_BuildConfig) /p:MonoWasmBuildVariant=perftrace
nameSuffix: AllSubsets_Mono_perftrace
buildConfig: release
runtimeFlavor: mono
platforms:
- - Browser_wasm
+ - browser_wasm
jobParameters:
buildArgs: -s mono+libs+host+packs+mono.mscordbi -c $(_BuildConfig) /p:MonoWasmBuildVariant=multithread
nameSuffix: AllSubsets_Mono_multithread
jobTemplate: /eng/pipelines/mono/templates/generate-offsets.yml
buildConfig: release
platforms:
- - Android_x64
- - Browser_wasm
- - tvOS_arm64
- - iOS_arm64
- - MacCatalyst_x64
+ - android_x64
+ - browser_wasm
+ - tvos_arm64
+ - ios_arm64
+ - maccatalyst_x64
jobParameters:
isOfficialBuild: ${{ variables.isOfficialBuild }}
runtimeFlavor: mono
buildConfig: release
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
buildArgs: -s mono+packs -c $(_BuildConfig)
- /p:MonoCrossAOTTargetOS=Android+Browser /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
+ /p:MonoCrossAOTTargetOS=android+browser /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
nameSuffix: CrossAOT_Mono
runtimeVariant: crossaot
dependsOn:
- mono_android_offsets
- mono_browser_offsets
monoCrossAOTTargetOS:
- - Android
- - Browser
+ - android
+ - browser
isOfficialBuild: ${{ variables.isOfficialBuild }}
extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
extraStepsParameters:
runtimeFlavor: mono
buildConfig: release
platforms:
- - Linux_arm64
+ - linux_arm64
jobParameters:
buildArgs: -s mono+packs -c $(_BuildConfig)
- /p:MonoCrossAOTTargetOS=Browser /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
+ /p:MonoCrossAOTTargetOS=browser /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
nameSuffix: CrossAOT_Mono
runtimeVariant: crossaot
dependsOn:
- mono_browser_offsets
monoCrossAOTTargetOS:
- - Browser
+ - browser
isOfficialBuild: ${{ variables.isOfficialBuild }}
extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
extraStepsParameters:
runtimeFlavor: mono
buildConfig: release
platforms:
- - Windows_x64
+ - windows_x64
jobParameters:
buildArgs: -s mono+packs -c $(_BuildConfig)
- /p:MonoCrossAOTTargetOS=Android+Browser /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
+ /p:MonoCrossAOTTargetOS=android+browser /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
nameSuffix: CrossAOT_Mono
runtimeVariant: crossaot
dependsOn:
- mono_android_offsets
- mono_browser_offsets
monoCrossAOTTargetOS:
- - Android
- - Browser
+ - android
+ - browser
isOfficialBuild: ${{ variables.isOfficialBuild }}
extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
extraStepsParameters:
runtimeFlavor: mono
buildConfig: release
platforms:
- - OSX_x64
+ - osx_x64
jobParameters:
buildArgs: -s mono+packs -c $(_BuildConfig)
- /p:MonoCrossAOTTargetOS=Android+Browser+tvOS+iOS+MacCatalyst /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
+ /p:MonoCrossAOTTargetOS=android+browser+tvos+ios+maccatalyst /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
nameSuffix: CrossAOT_Mono
runtimeVariant: crossaot
dependsOn:
- mono_ios_offsets
- mono_maccatalyst_offsets
monoCrossAOTTargetOS:
- - Android
- - Browser
- - tvOS
- - iOS
- - MacCatalyst
+ - android
+ - browser
+ - tvos
+ - ios
+ - maccatalyst
isOfficialBuild: ${{ variables.isOfficialBuild }}
extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
extraStepsParameters:
runtimeFlavor: mono
buildConfig: release
platforms:
- - OSX_arm64
+ - osx_arm64
jobParameters:
buildArgs: -s mono+packs -c $(_BuildConfig)
- /p:MonoCrossAOTTargetOS=Browser /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
+ /p:MonoCrossAOTTargetOS=browser /p:SkipMonoCrossJitConfigure=true /p:BuildMonoAOTCrossCompilerOnly=true
nameSuffix: CrossAOT_Mono
runtimeVariant: crossaot
dependsOn:
- mono_browser_offsets
monoCrossAOTTargetOS:
- - Browser
+ - browser
isOfficialBuild: ${{ variables.isOfficialBuild }}
extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
extraStepsParameters:
- template: /eng/pipelines/common/platform-matrix-multijob.yml
parameters:
platforms:
- - OSX_x64
- - Linux_x64
- # - Linux_arm
- - Linux_arm64
- # - Linux_musl_x64
- # - Linux_musl_arm64
+ - osx_x64
+ - linux_x64
+ # - linux_arm
+ - linux_arm64
+ # - linux_musl_x64
+ # - linux_musl_arm64
# - windows_x64
# - windows_x86
# - windows_arm
jobTemplate: /eng/pipelines/libraries/build-job.yml
buildConfig: Release
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm
- - Linux_musl_arm64
+ - osx_arm64
+ - osx_x64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_musl_x64
+ - linux_musl_arm
+ - linux_musl_arm64
- windows_x86
- windows_x64
- windows_arm
buildConfig: Release
helixQueueGroup: ci
platforms:
- - SourceBuild_Linux_x64
+ - SourceBuild_linux_x64
jobParameters:
nameSuffix: PortableSourceBuild
extraStepsTemplate: /eng/pipelines/common/upload-intermediate-artifacts-step.yml
liveLibrariesBuildConfig: Release
isOfficialBuild: ${{ variables.isOfficialBuild }}
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm
- - Linux_musl_arm64
+ - osx_arm64
+ - osx_x64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_musl_x64
+ - linux_musl_arm
+ - linux_musl_arm64
- windows_x86
- windows_x64
- windows_arm
platforms:
- windows_x64
- windows_x86
- - Linux_x64
+ - linux_x64
- windows_arm64
- - Linux_arm64
+ - linux_arm64
jobParameters:
isOfficialBuild: ${{ variables.isOfficialBuild }}
signBinaries: false
platforms:
- windows_x64
- windows_x86
- - Linux_x64
+ - linux_x64
- windows_arm64
- - Linux_arm64
+ - linux_arm64
#
# Build Workloads
isOfficialBuild: ${{ variables.isOfficialBuild }}
timeoutInMinutes: 120
dependsOn:
- - Build_Android_arm_release_AllSubsets_Mono
- - Build_Android_arm64_release_AllSubsets_Mono
- - Build_Android_x86_release_AllSubsets_Mono
- - Build_Android_x64_release_AllSubsets_Mono
- - Build_Browser_wasm_Linux_release_AllSubsets_Mono
- - Build_iOS_arm_release_AllSubsets_Mono
- - Build_iOS_arm64_release_AllSubsets_Mono
- - Build_iOSSimulator_x64_release_AllSubsets_Mono
- - Build_iOSSimulator_x86_release_AllSubsets_Mono
- - Build_iOSSimulator_arm64_release_AllSubsets_Mono
- - Build_MacCatalyst_arm64_release_AllSubsets_Mono
- - Build_MacCatalyst_x64_release_AllSubsets_Mono
- - Build_tvOS_arm64_release_AllSubsets_Mono
- - Build_tvOSSimulator_arm64_release_AllSubsets_Mono
- - Build_tvOSSimulator_x64_release_AllSubsets_Mono
- - Build_Windows_x64_release_CrossAOT_Mono
+ - Build_android_arm_release_AllSubsets_Mono
+ - Build_android_arm64_release_AllSubsets_Mono
+ - Build_android_x86_release_AllSubsets_Mono
+ - Build_android_x64_release_AllSubsets_Mono
+ - Build_browser_wasm_Linux_release_AllSubsets_Mono
+ - Build_ios_arm_release_AllSubsets_Mono
+ - Build_ios_arm64_release_AllSubsets_Mono
+ - Build_iossimulator_x64_release_AllSubsets_Mono
+ - Build_iossimulator_x86_release_AllSubsets_Mono
+ - Build_iossimulator_arm64_release_AllSubsets_Mono
+ - Build_maccatalyst_arm64_release_AllSubsets_Mono
+ - Build_maccatalyst_x64_release_AllSubsets_Mono
+ - Build_tvos_arm64_release_AllSubsets_Mono
+ - Build_tvossimulator_arm64_release_AllSubsets_Mono
+ - Build_tvossimulator_x64_release_AllSubsets_Mono
+ - Build_windows_x64_release_CrossAOT_Mono
- installer__coreclr__windows_x64_Release_
- installer__coreclr__windows_x86_Release_
- installer__coreclr__windows_arm_Release_
buildConfig: Release
runtimeFlavor: mono
platforms:
- - iOSSimulator_x64
+ - iossimulator_x64
variables:
- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
buildConfig: checked
platforms:
- - Linux_x86
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_arm
- - Linux_musl_arm64
- - Linux_musl_x64
- - OSX_arm64
- - Tizen_armel
+ - linux_x86
+ - linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_musl_arm
+ - linux_musl_arm64
+ - linux_musl_x64
+ - osx_arm64
+ - tizen_armel
- windows_x86
- windows_x64
- windows_arm
jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
buildConfig: checked
platforms:
- - Linux_x64
+ - linux_x64
container: debian-11-gcc12-amd64-20220511124845-b7a6185
jobParameters:
testGroup: innerloop
eq(variables['isRollingBuild'], true))
#
- # Build CoreCLR OSX_x64 checked
+ # Build CoreCLR osx_x64 checked
# Only when CoreCLR or Libraries is changed
#
- template: /eng/pipelines/common/platform-matrix.yml
jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
buildConfig: checked
platforms:
- - OSX_x64
+ - osx_x64
jobParameters:
testGroup: innerloop
condition: >-
jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
buildConfig: release
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_x64
- - Linux_arm
- - Linux_arm64
- - Linux_musl_x64
- - Linux_musl_arm
- - Linux_musl_arm64
+ - osx_arm64
+ - osx_x64
+ - linux_x64
+ - linux_arm
+ - linux_arm64
+ - linux_musl_x64
+ - linux_musl_arm
+ - linux_musl_arm64
- windows_x64
- windows_x86
- windows_arm
- windows_arm64
- - FreeBSD_x64
+ - freebsd_x64
jobParameters:
testGroup: innerloop
# Mono/runtimetests also need this, but skip for wasm
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/format-job.yml
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
jobParameters:
condition: >-
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: debug
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
jobParameters:
testGroup: innerloop
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: release
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- - OSX_x64
+ - osx_x64
jobParameters:
testGroup: innerloop
timeoutInMinutes: 120
buildConfig: Release
platforms:
- windows_arm64
- - Linux_arm64
- - OSX_arm64
+ - linux_arm64
+ - osx_arm64
jobParameters:
testGroup: innerloop
isSingleFile: true
jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
buildConfig: checked
platforms:
- - Linux_x64
+ - linux_x64
jobParameters:
testGroup: clrTools
timeoutInMinutes: 120
jobTemplate: /eng/pipelines/mono/templates/generate-offsets.yml
buildConfig: release
platforms:
- - Android_x64
- - Browser_wasm
- - tvOS_arm64
- - iOS_arm64
- - MacCatalyst_x64
+ - android_x64
+ - browser_wasm
+ - tvos_arm64
+ - ios_arm64
+ - maccatalyst_x64
jobParameters:
isOfficialBuild: ${{ variables.isOfficialBuild }}
# needed by crossaot
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
runtimeFlavor: mono
platforms:
- - tvOSSimulator_x64
- - iOSSimulator_x86
- - Linux_arm
+ - tvossimulator_x64
+ - iossimulator_x86
+ - linux_arm
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono
buildConfig: Release
runtimeFlavor: mono
platforms:
- - iOS_arm
- - Linux_musl_x64
+ - ios_arm
+ - linux_musl_x64
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- - Browser_wasm
+ - browser_wasm
buildAndRunWasi: true
alwaysRun: ${{ variables.isRollingBuild }}
scenarios:
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- - Browser_wasm_win
+ - browser_wasm_win
alwaysRun: ${{ variables.isRollingBuild }}
scenarios:
- WasmTestOnBrowser
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
parameters:
platforms:
- - Browser_wasm
+ - browser_wasm
nameSuffix: _EAT
runAOT: false
shouldRunSmokeOnly: false
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
parameters:
platforms:
- - Browser_wasm
+ - browser_wasm
nameSuffix: _AOT
runAOT: true
shouldRunSmokeOnly: true
- template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml
parameters:
platforms:
- - Browser_wasm_win
+ - browser_wasm_win
nameSuffix: _AOT
runAOT: true
shouldRunSmokeOnly: true
- template: /eng/pipelines/common/templates/wasm-build-tests.yml
parameters:
platforms:
- - Browser_wasm
- - Browser_wasm_win
+ - browser_wasm
+ - browser_wasm_win
alwaysRun: ${{ variables.isRollingBuild }}
# Wasm Debugger tests
- template: /eng/pipelines/common/templates/wasm-debugger-tests.yml
parameters:
platforms:
- - Browser_wasm
- - Browser_wasm_win
+ - browser_wasm
+ - browser_wasm_win
alwaysRun: ${{ variables.isRollingBuild }}
# Wasm runtime tests
- template: /eng/pipelines/common/templates/wasm-runtime-tests.yml
parameters:
platforms:
- - Browser_wasm
+ - browser_wasm
alwaysRun: ${{ variables.isRollingBuild }}
# BUILD ONLY - Wasm Threading Legs
- template: /eng/pipelines/common/templates/wasm-build-only.yml
parameters:
platforms:
- - Browser_wasm
+ - browser_wasm
nameSuffix: _Threading
extraBuildArgs: /p:MonoWasmBuildVariant=multithread
alwaysRun: ${{ variables.isRollingBuild }}
- template: /eng/pipelines/common/templates/wasm-build-only.yml
parameters:
platforms:
- - Browser_wasm
+ - browser_wasm
nameSuffix: _Threading_PerfTracing
extraBuildArgs: /p:MonoWasmBuildVariant=perftrace
alwaysRun: ${{ variables.isRollingBuild }}
buildConfig: Release
runtimeFlavor: mono
platforms:
- - iOS_arm64
- - tvOS_arm64
+ - ios_arm64
+ - tvos_arm64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
buildConfig: Release
runtimeFlavor: mono
platforms:
- - MacCatalyst_x64
+ - maccatalyst_x64
- ${{ if eq(variables['isRollingBuild'], true) }}:
- - MacCatalyst_arm64
+ - maccatalyst_arm64
variables:
# map dependencies variables to local variables
- name: librariesContainsChange
buildConfig: Release
runtimeFlavor: mono
platforms:
- - OSX_x64
+ - osx_x64
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMJIT
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
runtimeFlavor: mono
platforms:
- - Linux_x64
- - Linux_arm64
+ - linux_x64
+ - linux_arm64
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMJIT
buildConfig: Release
runtimeFlavor: mono
platforms:
- - Linux_x64
- - Linux_arm64
+ - linux_x64
+ - linux_arm64
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMAOT
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
runtimeFlavor: mono
platforms:
- - OSX_x64
+ - osx_x64
jobParameters:
testGroup: innerloop
nameSuffix: AllSubsets_Mono_LLVMAOT
runtimeFlavor: mono
buildConfig: debug
platforms:
- - OSX_x64
- - OSX_arm64
- - Linux_x64
- - Linux_arm64
- # - Linux_musl_arm64
+ - osx_x64
+ - osx_arm64
+ - linux_x64
+ - linux_arm64
+ # - linux_musl_arm64
- windows_x64
- windows_x86
# - windows_arm
runtimeFlavor: mono
buildConfig: release
platforms:
- - Linux_x64
- # - Linux_arm64
- # - Linux_musl_arm64
- - Windows_x64
+ - linux_x64
+ # - linux_arm64
+ # - linux_musl_arm64
+ - windows_x64
# - windows_x86
# - windows_arm
# - windows_arm64
- mono_android_offsets
- mono_browser_offsets
monoCrossAOTTargetOS:
- - Android
- - Browser
+ - android
+ - browser
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_mono_excluding_wasm.containsChange'], true),
runtimeFlavor: mono
buildConfig: release
platforms:
- - OSX_x64
+ - osx_x64
jobParameters:
runtimeVariant: crossaot
dependsOn:
- mono_ios_offsets
- mono_maccatalyst_offsets
monoCrossAOTTargetOS:
- - Android
- - Browser
- - tvOS
- - iOS
- - MacCatalyst
+ - android
+ - browser
+ - tvos
+ - ios
+ - maccatalyst
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
runtimeFlavor: mono
buildConfig: release
platforms:
- - Linux_arm64
- - OSX_arm64
+ - linux_arm64
+ - osx_arm64
jobParameters:
runtimeVariant: crossaot
dependsOn:
- mono_browser_offsets
monoCrossAOTTargetOS:
- - Browser
+ - browser
condition: >-
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true),
runtimeFlavor: mono
buildConfig: release
platforms:
- - Linux_x64
- # - Linux_musl_arm64
+ - linux_x64
+ # - linux_musl_arm64
- windows_x64
- windows_x86
# - windows_arm
runtimeFlavor: mono
buildConfig: release
platforms:
- - OSX_x64
- - Linux_arm64
+ - osx_x64
+ - linux_arm64
jobParameters:
condition: >-
or(
runtimeFlavor: mono
buildConfig: release
platforms:
- - Linux_x64
- - Linux_arm64
+ - linux_x64
+ - linux_arm64
jobParameters:
runtimeVariant: llvmaot
condition: >-
jobTemplate: /eng/pipelines/libraries/build-job.yml
buildConfig: Release
platforms:
- - Linux_arm
- - Linux_musl_arm
- - Linux_musl_arm64
+ - linux_arm
+ - linux_musl_arm
+ - linux_musl_arm64
- windows_arm
- windows_arm64
- windows_x86
jobTemplate: /eng/pipelines/libraries/build-job.yml
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
- - Linux_arm64
- - Linux_musl_x64
- - Linux_x64
- - OSX_arm64
- - OSX_x64
+ - linux_arm64
+ - linux_musl_x64
+ - linux_x64
+ - osx_arm64
+ - osx_x64
- windows_x64
- - FreeBSD_x64
+ - freebsd_x64
jobParameters:
testScope: innerloop
condition:
jobTemplate: /eng/pipelines/libraries/build-job.yml
buildConfig: Release
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
jobParameters:
condition: >-
jobTemplate: /eng/pipelines/installer/jobs/build-job.yml
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
- - Linux_musl_arm
- - Linux_musl_arm64
+ - linux_musl_arm
+ - linux_musl_arm64
- windows_x86
- windows_arm
- windows_arm64
- - Linux_arm
+ - linux_arm
jobParameters:
liveRuntimeBuildConfig: release
liveLibrariesBuildConfig: Release
jobTemplate: /eng/pipelines/installer/jobs/build-job.yml
buildConfig: Release
platforms:
- - OSX_arm64
- - OSX_x64
- - Linux_x64
- - Linux_arm64
- - Linux_musl_x64
+ - osx_arm64
+ - osx_x64
+ - linux_x64
+ - linux_arm64
+ - linux_musl_x64
- windows_x64
- - FreeBSD_x64
+ - freebsd_x64
jobParameters:
liveRuntimeBuildConfig: release
liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: innerloop
condition: >-
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - Linux_arm
+ - linux_arm
- windows_x86
- windows_arm64
helixQueueGroup: pr
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - OSX_x64
- - Linux_x64
- - Linux_arm64
+ - osx_x64
+ - linux_x64
+ - linux_arm64
- windows_x64
helixQueueGroup: pr
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- - OSX_arm64
+ - osx_arm64
helixQueueGroup: pr
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
buildConfig: release
runtimeFlavor: mono
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: innerloop
condition: >-
buildConfig: Release
runtimeFlavor: mono
platforms:
- - OSX_x64
+ - osx_x64
variables:
- name: timeoutPerTestInMinutes
value: 60
buildConfig: Release
runtimeFlavor: mono
platforms:
- - OSX_x64
+ - osx_x64
variables:
- name: timeoutPerTestInMinutes
value: 60
buildConfig: Release
runtimeFlavor: mono
platforms:
- - Linux_x64
+ - linux_x64
# Disabled pending outcome of https://github.com/dotnet/runtime/issues/60234 investigation
- #- Linux_arm64
+ #- linux_arm64
variables:
- name: timeoutPerTestInMinutes
value: 60
buildConfig: Release
runtimeFlavor: mono
platforms:
- - Linux_x64
- - Linux_arm64
+ - linux_x64
+ - linux_arm64
variables:
- name: timeoutPerTestInMinutes
value: 60
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
# - windows_x64
- - OSX_x64
- - Linux_arm64
- - Linux_x64
+ - osx_x64
+ - linux_arm64
+ - linux_x64
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
jobParameters:
isOfficialBuild: false
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
# - windows_x64
- #- OSX_x64
- - Linux_x64
+ #- osx_x64
+ - linux_x64
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
jobParameters:
isOfficialBuild: false
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
- windows_x64
- - OSX_x64
- - Linux_x64
- - Linux_musl_x64
+ - osx_x64
+ - linux_x64
+ - linux_musl_x64
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
jobParameters:
isOfficialBuild: false
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
- - Linux_arm64
+ - linux_arm64
- windows_x86
- - Linux_musl_x64
+ - linux_musl_x64
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
helixQueueGroup: libraries
jobParameters:
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: Release
platforms:
- - Linux_musl_arm
- - Linux_musl_arm64
- - Linux_x64
+ - linux_musl_arm
+ - linux_musl_arm64
+ - linux_x64
- windows_x64
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
helixQueueGroup: libraries
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
platforms:
- - OSX_x64
+ - osx_x64
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
helixQueueGroup: libraries
jobParameters:
buildConfig: Release
helixQueueGroup: pr
platforms:
- - SourceBuild_Centos7_x64
+ - SourceBuild_centos7_x64
jobParameters:
- nameSuffix: Centos7SourceBuild
+ nameSuffix: centos7SourceBuild
extraStepsParameters:
name: SourceBuildPackages
timeoutInMinutes: 95
buildConfig: Debug
helixQueueGroup: pr
platforms:
- - SourceBuild_Banana24_x64
+ - SourceBuild_banana24_x64
jobParameters:
- nameSuffix: Banana24SourceBuild
+ nameSuffix: banana24SourceBuild
extraStepsParameters:
name: SourceBuildPackages
timeoutInMinutes: 95
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: Checked
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
jobParameters:
timeoutInMinutes: 100
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: Release
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
jobParameters:
timeoutInMinutes: 100
useOfficialAllConfigurations: true
dependsOnGlobalBuild: true
platforms:
- - Linux_x64
+ - linux_x64
- windows_x64
- ${{ if ne(variables.isOfficialBuild, true) }}:
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: Checked
platforms:
- - CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
+ - CoreClrTestBuildHost # Either osx_x64 or linux_x64
jobParameters:
testGroup: innerloop
dependsOn:
- - build_Linux_x64_Checked_
- - build_Linux_x64_Release_
+ - build_linux_x64_Checked_
+ - build_linux_x64_Release_
#
# CoreCLR Test executions using live libraries
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: Checked
platforms:
- - Linux_x64
+ - linux_x64
helixQueueGroup: pr
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
jobTemplate: /eng/pipelines/libraries/run-test-job.yml
buildConfig: Release
platforms:
- - Linux_x64
+ - linux_x64
helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
jobParameters:
isRollingBuild: false
dependsOnTestBuildConfiguration: Release
dependsOnTestArchitecture: x64
dependsOn:
- - build_Linux_x64_Release_
+ - build_linux_x64_Release_
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
<Project>
<ItemGroup>
<!-- Mibc data to use when exact architecture match is available -->
- <MIBCPackageDef Include="optimization.windows_nt-x86.mibc.runtime" Version="$(optimizationwindows_ntx86MIBCRuntimeVersion)" MibcArchitecture="Windows/x86"/>
- <MIBCPackageDef Include="optimization.windows_nt-x64.mibc.runtime" Version="$(optimizationwindows_ntx64MIBCRuntimeVersion)" MibcArchitecture="Windows/x64"/>
- <MIBCPackageDef Include="optimization.windows_nt-arm64.mibc.runtime" Version="$(optimizationwindows_ntarm64MIBCRuntimeVersion)" MibcArchitecture="Windows/arm64"/>
- <MIBCPackageDef Include="optimization.linux-x64.mibc.runtime" Version="$(optimizationlinuxx64MIBCRuntimeVersion)" MibcArchitecture="Linux/x64"/>
- <MIBCPackageDef Include="optimization.linux-arm64.mibc.runtime" Version="$(optimizationlinuxarm64MIBCRuntimeVersion)" MibcArchitecture="Linux/arm64"/>
+ <MIBCPackageDef Include="optimization.windows_nt-x86.mibc.runtime" Version="$(optimizationwindows_ntx86MIBCRuntimeVersion)" MibcArchitecture="windows/x86"/>
+ <MIBCPackageDef Include="optimization.windows_nt-x64.mibc.runtime" Version="$(optimizationwindows_ntx64MIBCRuntimeVersion)" MibcArchitecture="windows/x64"/>
+ <MIBCPackageDef Include="optimization.windows_nt-arm64.mibc.runtime" Version="$(optimizationwindows_ntarm64MIBCRuntimeVersion)" MibcArchitecture="windows/arm64"/>
+ <MIBCPackageDef Include="optimization.linux-x64.mibc.runtime" Version="$(optimizationlinuxx64MIBCRuntimeVersion)" MibcArchitecture="linux/x64"/>
+ <MIBCPackageDef Include="optimization.linux-arm64.mibc.runtime" Version="$(optimizationlinuxarm64MIBCRuntimeVersion)" MibcArchitecture="linux/arm64"/>
<!-- Mibc data to use when exact architecture match not available -->
- <MIBCPackageDef Include="optimization.windows_nt-x64.mibc.runtime" Version="$(optimizationwindows_ntx64MIBCRuntimeVersion)" MibcArchitecture="Windows"/>
- <MIBCPackageDef Include="optimization.linux-x64.mibc.runtime" Version="$(optimizationlinuxx64MIBCRuntimeVersion)" MibcArchitecture="Linux"/>
- <MIBCPackageDef Include="optimization.linux-x64.mibc.runtime" Version="$(optimizationlinuxx64MIBCRuntimeVersion)" MibcArchitecture="OSX"/>
+ <MIBCPackageDef Include="optimization.windows_nt-x64.mibc.runtime" Version="$(optimizationwindows_ntx64MIBCRuntimeVersion)" MibcArchitecture="windows"/>
+ <MIBCPackageDef Include="optimization.linux-x64.mibc.runtime" Version="$(optimizationlinuxx64MIBCRuntimeVersion)" MibcArchitecture="linux"/>
+ <MIBCPackageDef Include="optimization.linux-x64.mibc.runtime" Version="$(optimizationlinuxx64MIBCRuntimeVersion)" MibcArchitecture="osx"/>
<MIBCPackage Include="@(MIBCPackageDef->HasMetadata('MibcArchitecture')->WithMetadataValue('MibcArchitecture','$(TargetOS)/$(TargetArchitecture)'))" />
<MIBCPackage Include="@(MIBCPackageDef->HasMetadata('MibcArchitecture')->WithMetadataValue('MibcArchitecture','$(TargetOS)'))" Condition="'@(MIBCPackage)' == ''" />
<Target Name="CreateTestWasmAppBundle"
AfterTargets="Publish"
DependsOnTargets="BundleTestWasmApp"
- Condition="'$(TargetArchitecture)' == 'wasm' And '$(TargetOS)' == 'Browser'" />
+ Condition="'$(TargetArchitecture)' == 'wasm' And '$(TargetOS)' == 'browser'" />
<PropertyGroup Condition="'$(PublishAot)' == 'true'">
<ILCompilerTargetsPath>$(CoreCLRBuildIntegrationDir)Microsoft.DotNet.ILCompiler.SingleEntry.targets</ILCompilerTargetsPath>
<!-- We need to separate Item metadata declaration in two in order to be able to use ProjectDir and TestRuntimeIdentifier below -->
<TestConsoleAppSourceFiles>
<ProjectFile>%(ProjectDir)project.csproj</ProjectFile>
- <TestCommand Condition="'$(TargetArchitecture)' != 'wasm' or '$(TargetOS)' != 'Browser'">$([MSBuild]::NormalizePath('%(ProjectDir)', 'bin', '$(Configuration)', '%(TargetFramework)', '%(TestRuntimeIdentifier)', 'publish', 'project'))</TestCommand>
- <TestCommand Condition="'$(TargetArchitecture)' == 'wasm' and '$(TargetOS)' == 'Browser'">$([MSBuild]::NormalizePath('%(ProjectDir)', 'bin', '$(Configuration)', '%(TargetFramework)', '%(TestRuntimeIdentifier)', 'AppBundle', 'run-v8.sh'))</TestCommand>
- <TestExecutionDirectory Condition="'$(TargetArchitecture)' != 'wasm' or '$(TargetOS)' != 'Browser'">$([MSBuild]::NormalizeDirectory('%(ProjectDir)', 'bin', '$(Configuration)', '%(TargetFramework)', '%(TestRuntimeIdentifier)', 'publish'))</TestExecutionDirectory>
- <TestExecutionDirectory Condition="'$(TargetArchitecture)' == 'wasm' and '$(TargetOS)' == 'Browser'">$([MSBuild]::NormalizeDirectory('%(ProjectDir)', 'bin', '$(Configuration)', '%(TargetFramework)', '%(TestRuntimeIdentifier)', 'AppBundle'))</TestExecutionDirectory>
+ <TestCommand Condition="'$(TargetArchitecture)' != 'wasm' or '$(TargetOS)' != 'browser'">$([MSBuild]::NormalizePath('%(ProjectDir)', 'bin', '$(Configuration)', '%(TargetFramework)', '%(TestRuntimeIdentifier)', 'publish', 'project'))</TestCommand>
+ <TestCommand Condition="'$(TargetArchitecture)' == 'wasm' and '$(TargetOS)' == 'browser'">$([MSBuild]::NormalizePath('%(ProjectDir)', 'bin', '$(Configuration)', '%(TargetFramework)', '%(TestRuntimeIdentifier)', 'AppBundle', 'run-v8.sh'))</TestCommand>
+ <TestExecutionDirectory Condition="'$(TargetArchitecture)' != 'wasm' or '$(TargetOS)' != 'browser'">$([MSBuild]::NormalizeDirectory('%(ProjectDir)', 'bin', '$(Configuration)', '%(TargetFramework)', '%(TestRuntimeIdentifier)', 'publish'))</TestExecutionDirectory>
+ <TestExecutionDirectory Condition="'$(TargetArchitecture)' == 'wasm' and '$(TargetOS)' == 'browser'">$([MSBuild]::NormalizeDirectory('%(ProjectDir)', 'bin', '$(Configuration)', '%(TargetFramework)', '%(TestRuntimeIdentifier)', 'AppBundle'))</TestExecutionDirectory>
</TestConsoleAppSourceFiles>
</ItemGroup>
<_AOTBuildCommand>$(_AOTBuildCommand) /p:XHARNESS_EXECUTION_DIR="$XHARNESS_EXECUTION_DIR" /p:RunAOTCompilation=$(RunAOTCompilation) /p:TargetOS=$(TargetOS) /p:TargetArchitecture=$(TargetArchitecture) /p:MonoForceInterpreter=$(MonoForceInterpreter) /p:MonoEnableLLVM=true /p:DevTeamProvisioning=$(DevTeamProvisioning) /p:UsePortableRuntimePack=true /p:Configuration=$(Configuration)</_AOTBuildCommand>
<_AOTBuildCommand>$(_AOTBuildCommand) </_AOTBuildCommand>
- <_ResetSimulatorSwitch Condition="'$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOSSimulator'">--reset-simulator</_ResetSimulatorSwitch>
- <_SignalAppEndSwitch Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'">--signal-app-end</_SignalAppEndSwitch>
+ <_ResetSimulatorSwitch Condition="'$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvossimulator'">--reset-simulator</_ResetSimulatorSwitch>
+ <_SignalAppEndSwitch Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'">--signal-app-end</_SignalAppEndSwitch>
<_AfterBuildCommands>
mv $XHARNESS_OUT/AOTBuild.binlog "$HELIX_WORKITEM_UPLOAD_ROOT"
</PropertyGroup>
<PropertyGroup>
- <RunAOTCompilation Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'">true</RunAOTCompilation>
+ <RunAOTCompilation Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'">true</RunAOTCompilation>
</PropertyGroup>
<PropertyGroup>
<DiagnosticPorts Condition="'$(DiagnosticStartupMode)' != ''">$(DiagnosticPorts),$(DiagnosticStartupMode)</DiagnosticPorts>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'Android'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'android'">
<!-- The -arg flag for xharness passes the arguments along to the instrumentation app -->
<AdditionalXHarnessArguments Condition="'$(XUnitMethodName)' != ''">$(AdditionalXHarnessArguments) --arg=-m=$(XUnitMethodName)</AdditionalXHarnessArguments>
<AdditionalXHarnessArguments Condition="'$(XUnitClassName)' != ''">$(AdditionalXHarnessArguments) --arg=-c=$(XUnitClassName)</AdditionalXHarnessArguments>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'MacCatalyst' or '$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'maccatalyst' or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator'">
<!-- Pass the -m or -c flag along to the app bundle, note that due to the double hyphen this needs to be the last argument -->
<AdditionalXHarnessArguments Condition="'$(XUnitMethodName)' != ''">$(AdditionalXHarnessArguments) -- -m=$(XUnitMethodName)</AdditionalXHarnessArguments>
<AdditionalXHarnessArguments Condition="'$(XUnitClassName)' != ''">$(AdditionalXHarnessArguments) -- -c=$(XUnitClassName)</AdditionalXHarnessArguments>
</ItemGroup>
<Import Project="$(MSBuildThisFileDirectory)tests.android.targets"
- Condition="'$(TargetOS)' == 'Android'" />
+ Condition="'$(TargetOS)' == 'android'" />
<Import Project="$(MSBuildThisFileDirectory)tests.ioslike.targets"
Condition="'$(TargetsAppleMobile)' == 'true'" />
<Import Project="$(MSBuildThisFileDirectory)tests.wasm.targets"
- Condition="'$(TargetOS)' == 'Browser'" />
+ Condition="'$(TargetOS)' == 'browser'" />
<PropertyGroup Condition="'$(RunAOTCompilation)' == 'true'">
<_MobileIntermediateOutputPath>$(IntermediateOutputPath)mobile</_MobileIntermediateOutputPath>
AfterTargets="ComputeResolvedFilesToPublishList"
Condition="'$(TestFramework)' == 'xunit'">
<ItemGroup>
- <_runnerFilesToPublish Include="$(AndroidTestRunnerDir)*" Condition="'$(TargetOS)' == 'Android'" />
- <_runnerFilesToPublish Include="$(AppleTestRunnerDir)*" Condition="'$(TargetOS)' == 'MacCatalyst' or '$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator'" />
- <_runnerFilesToPublish Include="$(WasmTestRunnerDir)*" Condition="'$(TargetOS)' == 'Browser'" />
+ <_runnerFilesToPublish Include="$(AndroidTestRunnerDir)*" Condition="'$(TargetOS)' == 'android'" />
+ <_runnerFilesToPublish Include="$(AppleTestRunnerDir)*" Condition="'$(TargetOS)' == 'maccatalyst' or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator'" />
+ <_runnerFilesToPublish Include="$(WasmTestRunnerDir)*" Condition="'$(TargetOS)' == 'browser'" />
<!-- Remove runner files that already exist in ResolvedFileToPublish to avoid double publishing -->
<_resolvedFilesToPublishToFileName Include="@(ResolvedFileToPublish -> '%(FileName)%(Extension)')" />
<RunScriptInputName Condition="'$(RunScriptWindowsCmd)' != 'true'">RunnerTemplate.sh</RunScriptInputName>
<RunScriptInputName Condition="'$(BuildTestsOnHelix)' == 'true' and '$(TargetsAppleMobile)' == 'true'">AppleHelixRunnerTemplate.sh</RunScriptInputName>
<RunScriptInputName Condition="'$(BuildTestsOnHelix)' != 'true' and '$(TargetsAppleMobile)' == 'true'">AppleRunnerTemplate.sh</RunScriptInputName>
- <RunScriptInputName Condition="'$(TargetOS)' == 'Android'">AndroidRunnerTemplate.sh</RunScriptInputName>
- <RunScriptInputName Condition="'$(TargetOS)' == 'Browser' and '$(OS)' != 'Windows_NT' and '$(BuildAOTTestsOnHelix)' == 'true'">WasmRunnerAOTTemplate.sh</RunScriptInputName>
- <RunScriptInputName Condition="'$(TargetOS)' == 'Browser' and '$(OS)' != 'Windows_NT' and '$(BuildAOTTestsOnHelix)' != 'true'">WasmRunnerTemplate.sh</RunScriptInputName>
- <RunScriptInputName Condition="'$(TargetOS)' == 'Browser' and '$(OS)' == 'Windows_NT'">WasmRunnerTemplate.cmd</RunScriptInputName>
+ <RunScriptInputName Condition="'$(TargetOS)' == 'android'">AndroidRunnerTemplate.sh</RunScriptInputName>
+ <RunScriptInputName Condition="'$(TargetOS)' == 'browser' and '$(OS)' != 'Windows_NT' and '$(BuildAOTTestsOnHelix)' == 'true'">WasmRunnerAOTTemplate.sh</RunScriptInputName>
+ <RunScriptInputName Condition="'$(TargetOS)' == 'browser' and '$(OS)' != 'Windows_NT' and '$(BuildAOTTestsOnHelix)' != 'true'">WasmRunnerTemplate.sh</RunScriptInputName>
+ <RunScriptInputName Condition="'$(TargetOS)' == 'browser' and '$(OS)' == 'Windows_NT'">WasmRunnerTemplate.cmd</RunScriptInputName>
<RunScriptInputName Condition="'$(TargetsLinuxBionic)' == 'true' and '$(RunScriptWindowsCmd)' != 'true'">BionicRunnerTemplate.sh</RunScriptInputName>
<RunScriptInputName Condition="'$(TargetsLinuxBionic)' == 'true' and '$(RunScriptWindowsCmd)' == 'true'">BionicRunnerTemplate.cmd</RunScriptInputName>
<InnerRunScriptInputName>BionicRunOnDevice.sh</InnerRunScriptInputName>
<RunScriptOutputName Condition="'$(RunScriptWindowsCmd)' != 'true'">RunTests.sh</RunScriptOutputName>
<RunScriptOutputName Condition="'$(BuildTestsOnHelix)' == 'true' and '$(TargetsAppleMobile)' == 'true'">build-apple-app.sh</RunScriptOutputName>
- <RunScriptOutputName Condition="'$(RunScriptWindowsCmd)' == 'true' or ('$(TargetOS)' == 'Browser' and '$(OS)' == 'Windows_NT')">RunTests.cmd</RunScriptOutputName>
+ <RunScriptOutputName Condition="'$(RunScriptWindowsCmd)' == 'true' or ('$(TargetOS)' == 'browser' and '$(OS)' == 'Windows_NT')">RunTests.cmd</RunScriptOutputName>
<InnerRunScriptOutputName>$(AssemblyName).sh</InnerRunScriptOutputName>
<RunScriptOutputPath>$([MSBuild]::NormalizePath('$(OutDir)', '$(RunScriptOutputName)'))</RunScriptOutputPath>
<InnerRunScriptOutputPath>$([MSBuild]::NormalizePath('$(OutDir)', '$(InnerRunScriptOutputName)'))</InnerRunScriptOutputPath>
<_MonoAotCrossCompilerPath Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">$(_MonoAotCrossCompilerPath).exe</_MonoAotCrossCompilerPath>
</PropertyGroup>
<ItemGroup>
- <MonoAotCrossCompiler Include="$(_MonoAotCrossCompilerPath)" RuntimeIdentifier="$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())" />
+ <MonoAotCrossCompiler Include="$(_MonoAotCrossCompilerPath)" RuntimeIdentifier="$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())" />
</ItemGroup>
<PropertyGroup>
<!-- For browser we need to hook up the target with DependsOnTargets in PublishTestAsSelfContained
because we do a Publish which runs after Build, if we run after PrepareForRun we would generated
an empty zip because we haven't published the selfcontained app. -->
- <ArchiveTestsAfterTargets Condition="'$(TargetOS)' == 'Browser' or '$(TestSingleFile)' == 'true'" />
+ <ArchiveTestsAfterTargets Condition="'$(TargetOS)' == 'browser' or '$(TestSingleFile)' == 'true'" />
</PropertyGroup>
<!-- Archive test binaries. -->
<Target Name="ArchiveTests"
- Condition="'$(ArchiveTests)' == 'true' and '$(IgnoreForCI)' != 'true' and ('$(TargetsMobile)' != 'true' or '$(TargetOS)' == 'Browser' or '$(BuildTestsOnHelix)' == 'true')"
+ Condition="'$(ArchiveTests)' == 'true' and '$(IgnoreForCI)' != 'true' and ('$(TargetsMobile)' != 'true' or '$(TargetOS)' == 'browser' or '$(BuildTestsOnHelix)' == 'true')"
AfterTargets="$(ArchiveTestsAfterTargets)"
DependsOnTargets="GenerateRunScript;ZipTestArchive" />
<PropertyGroup>
<_ZipSourceDirectory>$(OutDir)</_ZipSourceDirectory>
- <_ZipSourceDirectory Condition="'$(TargetOS)' == 'Browser' or '$(TestSingleFile)' == 'true'">$(BundleDir)</_ZipSourceDirectory>
+ <_ZipSourceDirectory Condition="'$(TargetOS)' == 'browser' or '$(TestSingleFile)' == 'true'">$(BundleDir)</_ZipSourceDirectory>
</PropertyGroup>
<MakeDir Directories="$(TestArchiveTestsDir)" />
<Target Name="GenerateRunScript">
<PropertyGroup>
<!-- RSP file support. -->
- <RunScriptCommand Condition="'$(RunScriptWindowsCmd)' != 'true' and ('$(TargetOS)' != 'Browser' or '$(OS)' != 'Windows_NT')">$(RunScriptCommand) $RSP_FILE</RunScriptCommand>
- <RunScriptCommand Condition="'$(RunScriptWindowsCmd)' == 'true' or ('$(TargetOS)' == 'Browser' and '$(OS)' == 'Windows_NT')">$(RunScriptCommand) %RSP_FILE%</RunScriptCommand>
+ <RunScriptCommand Condition="'$(RunScriptWindowsCmd)' != 'true' and ('$(TargetOS)' != 'browser' or '$(OS)' != 'Windows_NT')">$(RunScriptCommand) $RSP_FILE</RunScriptCommand>
+ <RunScriptCommand Condition="'$(RunScriptWindowsCmd)' == 'true' or ('$(TargetOS)' == 'browser' and '$(OS)' == 'Windows_NT')">$(RunScriptCommand) %RSP_FILE%</RunScriptCommand>
<!-- Escape potential user input. -->
<RunScriptCommand>$([MSBuild]::Escape('$(RunScriptCommand)'))</RunScriptCommand>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetsMobile)' == 'true'">
- <RunTestsCommand>"$(RunScriptOutputPath)" $(AssemblyName) $(TargetArchitecture) $(TargetOS.ToLowerInvariant()) $(TestProjectName)</RunTestsCommand>
+ <RunTestsCommand>"$(RunScriptOutputPath)" $(AssemblyName) $(TargetArchitecture) $(TargetOS) $(TestProjectName)</RunTestsCommand>
<RunTestsCommand Condition="'$(TargetsAppleMobile)' == 'true'">$(RunTestsCommand) $(Configuration) $(AdditionalXHarnessArguments)</RunTestsCommand>
- <RunTestsCommand Condition="'$(TargetOS)' == 'Android'">$(RunTestsCommand) $(AdditionalXHarnessArguments)</RunTestsCommand>
- <RunTestsCommand Condition="'$(TargetOS)' == 'Browser'">"$(RunScriptOutputPath)" $(JSEngine) $(AssemblyName).dll $(Scenario)</RunTestsCommand>
+ <RunTestsCommand Condition="'$(TargetOS)' == 'android'">$(RunTestsCommand) $(AdditionalXHarnessArguments)</RunTestsCommand>
+ <RunTestsCommand Condition="'$(TargetOS)' == 'browser'">"$(RunScriptOutputPath)" $(JSEngine) $(AssemblyName).dll $(Scenario)</RunTestsCommand>
</PropertyGroup>
<!-- Invoke the run script with the test host as the runtime path. -->
<ItemGroup>
<_DefaultPropsForNuGetBuild Include="Configuration=$(Configuration)" />
- <_DefaultPropsForNuGetBuild Include="TargetOS=Browser" />
+ <_DefaultPropsForNuGetBuild Include="TargetOS=browser" />
<_DefaultPropsForNuGetBuild Include="TargetArchitecture=wasm" />
<_DefaultPropsForNuGetBuild Include="ContinuousIntegrationBuild=$(ContinuousIntegrationBuild)" />
</ItemGroup>
<!-- For local builds, only one of the 3 required runtime packs might be available. In that case,
build the other nugets with the *same runtime* but different names.
-->
- <Target Name="_GetRuntimePackNuGetsToBuild" Condition="'$(TargetOS)' == 'Browser' and '$(WasmSkipMissingRuntimePackBuild)' != 'true'" Returns="@(_NuGetsToBuild)">
+ <Target Name="_GetRuntimePackNuGetsToBuild" Condition="'$(TargetOS)' == 'browser' and '$(WasmSkipMissingRuntimePackBuild)' != 'true'" Returns="@(_NuGetsToBuild)">
<PropertyGroup>
<_DefaultBuildVariant Condition="'$(MonoWasmBuildVariant)' == 'multithread'">.multithread.</_DefaultBuildVariant>
<_DefaultBuildVariant Condition="'$(MonoWasmBuildVariant)' == 'perftrace'">.perftrace.</_DefaultBuildVariant>
<PropertyGroup>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<TestResultsName>testResults.xml</TestResultsName>
- <UseXunitExcludesTxtFile Condition="'$(TargetOS)' == 'Android' or '$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'MacCatalyst'">true</UseXunitExcludesTxtFile>
+ <UseXunitExcludesTxtFile Condition="'$(TargetOS)' == 'android' or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst'">true</UseXunitExcludesTxtFile>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetsMobile)' != 'true' and '$(TestSingleFile)' != 'true'">
<ItemGroup Condition="'$(IsTestProject)' != 'true'">
<SupportedPlatform Condition="'$(TargetPlatformIdentifier)' == 'illumos'" Include="illumos" />
<SupportedPlatform Condition="'$(TargetPlatformIdentifier)' == 'solaris'" Include="Solaris" />
- <SupportedPlatform Condition="'$(TargetPlatformIdentifier)' == 'tvos'" Include="tvOS" />
<SupportedPlatform Condition="'$(TargetPlatformIdentifier)' != '' and
'$(TargetPlatformIdentifier)' != 'browser' and
'$(TargetPlatformIdentifier)' != 'wasi' and
transport packages to flow dependencies anymore -->
<CreatePackedPackage Condition="'$(CreatePackedPackage)' == ''">false</CreatePackedPackage>
- <SupportedPackageOSGroups Condition="'$(SupportedPackageOSGroups)' == ''">windows;OSX;Android;Linux;FreeBSD;NetBSD;illumos;Solaris</SupportedPackageOSGroups>
+ <SupportedPackageOSGroups Condition="'$(SupportedPackageOSGroups)' == ''">windows;osx;android;linux;freebsd;netbsd;illumos;solaris</SupportedPackageOSGroups>
<SupportedPackageOSGroups>;$(SupportedPackageOSGroups);</SupportedPackageOSGroups>
<_isSupportedOSGroup>true</_isSupportedOSGroup>
<!-- derive an OS Group based on the OS Family -->
<PropertyGroup>
<_derivedPackageTargetOSGroup Condition="'$(_derivedPackageTargetOSGroup)' == '' and '$(TargetOS)' != ''">$(TargetOS)</_derivedPackageTargetOSGroup>
- <_derivedPackageTargetOSGroup Condition="'$(_derivedPackageTargetOSGroup)' == ''">Linux</_derivedPackageTargetOSGroup>
+ <_derivedPackageTargetOSGroup Condition="'$(_derivedPackageTargetOSGroup)' == ''">linux</_derivedPackageTargetOSGroup>
<_isSupportedOSGroup Condition="!$(SupportedPackageOSGroups.Contains(';$(_derivedPackageTargetOSGroup);'))">false</_isSupportedOSGroup>
</PropertyGroup>
<PropertyGroup Condition="'$(PackageTargetRuntime)' != '' and '$(_isSupportedOSGroup)' == 'true'">
<!-- Android will use Linux package definitions -->
<_packageTargetOSGroup>$(_derivedPackageTargetOSGroup)</_packageTargetOSGroup>
- <_packageTargetOSGroup Condition="'$(_derivedPackageTargetOSGroup)' == 'Android'">Linux</_packageTargetOSGroup>
+ <_packageTargetOSGroup Condition="'$(_derivedPackageTargetOSGroup)' == 'android'">linux</_packageTargetOSGroup>
</PropertyGroup>
<PropertyGroup>
<SkipPackageFileCheck>true</SkipPackageFileCheck>
<IncludeRuntimeJson>true</IncludeRuntimeJson>
</PropertyGroup>
- <ItemGroup Condition="$(SupportedPackageOSGroups.Contains(';Linux;'))">
+ <ItemGroup Condition="$(SupportedPackageOSGroups.Contains(';linux;'))">
<OfficialBuildRID Include="linux-x64" />
<OfficialBuildRID Include="linux-musl-x64" />
<OfficialBuildRID Include="rhel.6-x64" />
<Platform>armel</Platform>
</OfficialBuildRID>
</ItemGroup>
- <ItemGroup Condition="$(SupportedPackageOSGroups.Contains(';OSX;'))">
+ <ItemGroup Condition="$(SupportedPackageOSGroups.Contains(';osx;'))">
<OfficialBuildRID Include="osx-x64" />
</ItemGroup>
- <ItemGroup Condition="$(SupportedPackageOSGroups.Contains(';FreeBSD;'))">
+ <ItemGroup Condition="$(SupportedPackageOSGroups.Contains(';freebsd;'))">
<OfficialBuildRID Include="freebsd-x64" />
</ItemGroup>
- <ItemGroup Condition="$(SupportedPackageOSGroups.Contains(';NetBSD;'))">
+ <ItemGroup Condition="$(SupportedPackageOSGroups.Contains(';netbsd;'))">
<OfficialBuildRID Include="netbsd-x64" />
</ItemGroup>
<ItemGroup Condition="$(SupportedPackageOSGroups.Contains(';illumos;'))">
<OfficialBuildRID Include="illumos-x64" />
</ItemGroup>
- <ItemGroup Condition="$(SupportedPackageOSGroups.Contains(';Solaris;'))">
+ <ItemGroup Condition="$(SupportedPackageOSGroups.Contains(';solaris;'))">
<OfficialBuildRID Include="solaris-x64" />
</ItemGroup>
<ItemGroup Condition="$(SupportedPackageOSGroups.Contains(';windows;'))">
<Target Name="FilterSupportedCrossOsDacPackages" BeforeTargets="Build;Pack">
<ItemGroup>
<_projectsToBuild Include="@(Project)" Condition="$(SupportedRids.Contains('%(Project.PackageTargetRuntime)'))">
- <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-x64'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/Linux.x64.$(Configuration)/x64</AdditionalProperties>
- <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-musl-x64'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/Linux_musl.x64.$(Configuration)/x64</AdditionalProperties>
- <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-arm64'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/Linux.arm64.$(Configuration)/x64</AdditionalProperties>
- <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-musl-arm64'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/Linux_musl.arm64.$(Configuration)/x64</AdditionalProperties>
- <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-arm'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/Linux.arm.$(Configuration)/x86</AdditionalProperties>
- <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-musl-arm'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/Linux_musl.arm.$(Configuration)/x86</AdditionalProperties>
+ <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-x64'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/linux.x64.$(Configuration)/x64</AdditionalProperties>
+ <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-musl-x64'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/linux_musl.x64.$(Configuration)/x64</AdditionalProperties>
+ <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-arm64'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/linux.arm64.$(Configuration)/x64</AdditionalProperties>
+ <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-musl-arm64'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/linux_musl.arm64.$(Configuration)/x64</AdditionalProperties>
+ <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-arm'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/linux.arm.$(Configuration)/x86</AdditionalProperties>
+ <AdditionalProperties Condition="'%(Project.PackageTargetRuntime)' == 'linux-musl-arm'">%(AdditionalProperties);CrossDacBinRoot=$(CrossDacArtifactsDir)/linux_musl.arm.$(Configuration)/x86</AdditionalProperties>
</_projectsToBuild>
</ItemGroup>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetsUnix)' == 'true'">
- <FeatureXplatEventSource Condition="'$(TargetOS)' == 'Linux'">true</FeatureXplatEventSource>
+ <FeatureXplatEventSource Condition="'$(TargetOS)' == 'linux'">true</FeatureXplatEventSource>
<FeatureArrayStubAsIL>true</FeatureArrayStubAsIL>
<FeatureMulticastStubAsIL>true</FeatureMulticastStubAsIL>
<BuildDll Condition="'$(CrossBuild)' == 'true' and '$(CrossDir)' == ''">false</BuildDll>
<BuildPdb>false</BuildPdb>
- <BuildPdb Condition="$(BuildDll) and '$(OS)' == 'Windows_NT' and '$(TargetOS)' == 'Windows'">true</BuildPdb>
+ <BuildPdb Condition="$(BuildDll) and '$(OS)' == 'Windows_NT' and '$(TargetOS)' == 'windows'">true</BuildPdb>
<BuildPerfMap>false</BuildPerfMap>
- <BuildPerfMap Condition="$(BuildDll) and '$(TargetOS)' == 'Linux'">true</BuildPerfMap>
+ <BuildPerfMap Condition="$(BuildDll) and '$(TargetOS)' == 'linux'">true</BuildPerfMap>
</PropertyGroup>
<ItemGroup>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<CppCompilerAndLinkerAlternative />
- <CppCompilerAndLinkerAlternative Condition="'$(CppCompilerAndLinker)' == '' and '$(TargetOS)' != 'OSX'">gcc</CppCompilerAndLinkerAlternative>
+ <CppCompilerAndLinkerAlternative Condition="'$(CppCompilerAndLinker)' == '' and '$(TargetOS)' != 'osx'">gcc</CppCompilerAndLinkerAlternative>
<CppCompilerAndLinker Condition="'$(CppCompilerAndLinker)' == ''">clang</CppCompilerAndLinker>
<CppLinker>$(CppCompilerAndLinker)</CppLinker>
<CppLibCreator>ar</CppLibCreator>
- <DsymUtilOptions Condition="'$(TargetOS)' == 'OSX'">--flat</DsymUtilOptions>
+ <DsymUtilOptions Condition="'$(TargetOS)' == 'osx'">--flat</DsymUtilOptions>
</PropertyGroup>
<Target Name="SetupOSSpecificProps" DependsOnTargets="$(IlcDynamicBuildPropertyDependencies)">
<CrossCompileArch />
<CrossCompileArch Condition="$(CrossCompileRid.EndsWith('-x64'))">x86_64</CrossCompileArch>
- <CrossCompileArch Condition="$(CrossCompileRid.EndsWith('-arm64')) and '$(TargetOS)' != 'OSX'">aarch64</CrossCompileArch>
- <CrossCompileArch Condition="$(CrossCompileRid.EndsWith('-arm64')) and '$(TargetOS)' == 'OSX'">arm64</CrossCompileArch>
+ <CrossCompileArch Condition="$(CrossCompileRid.EndsWith('-arm64')) and '$(TargetOS)' != 'osx'">aarch64</CrossCompileArch>
+ <CrossCompileArch Condition="$(CrossCompileRid.EndsWith('-arm64')) and '$(TargetOS)' == 'osx'">arm64</CrossCompileArch>
<TargetTriple />
<TargetTriple Condition="'$(CrossCompileArch)' != ''">$(CrossCompileArch)-linux-gnu</TargetTriple>
<TargetTriple Condition="'$(CrossCompileArch)' != '' and ($(CrossCompileRid.StartsWith('linux-musl')) or $(CrossCompileRid.StartsWith('alpine')))">$(CrossCompileArch)-alpine-linux-musl</TargetTriple>
- <IlcRPath Condition="'$(IlcRPath)' == '' and '$(TargetOS)' != 'OSX'">$ORIGIN</IlcRPath>
- <IlcRPath Condition="'$(IlcRPath)' == '' and '$(TargetOS)' == 'OSX'">@executable_path</IlcRPath>
+ <IlcRPath Condition="'$(IlcRPath)' == '' and '$(TargetOS)' != 'osx'">$ORIGIN</IlcRPath>
+ <IlcRPath Condition="'$(IlcRPath)' == '' and '$(TargetOS)' == 'osx'">@executable_path</IlcRPath>
</PropertyGroup>
<ItemGroup>
<NetCoreAppNativeLibrary Include="System.Globalization.Native" Condition="'$(StaticICULinking)' != 'true'" />
<NetCoreAppNativeLibrary Include="System.IO.Compression.Native" />
<NetCoreAppNativeLibrary Include="System.Net.Security.Native" />
- <NetCoreAppNativeLibrary Include="System.Security.Cryptography.Native.Apple" Condition="'$(TargetOS)' == 'OSX'" />
+ <NetCoreAppNativeLibrary Include="System.Security.Cryptography.Native.Apple" Condition="'$(TargetOS)' == 'osx'" />
<NetCoreAppNativeLibrary Include="System.Security.Cryptography.Native.OpenSsl" />
</ItemGroup>
<StaticICULibs Include="-Wl,-Bdynamic" Condition="'$(StaticExecutable)' != 'true'" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'OSX'">
+ <ItemGroup Condition="'$(TargetOS)' == 'osx'">
<NativeFramework Include="CoreFoundation" />
<NativeFramework Include="CryptoKit" />
<NativeFramework Include="Foundation" />
<LinkerArg Include="-static" Condition="'$(StaticExecutable)' == 'true'" />
<LinkerArg Include="@(NativeLibrary)" />
<LinkerArg Include="--sysroot=$(SysRoot)" Condition="'$(SysRoot)' != ''" />
- <LinkerArg Include="--target=$(TargetTriple)" Condition="'$(TargetOS)' != 'OSX' and '$(TargetTriple)' != ''" />
- <LinkerArg Include="-arch $(CrossCompileArch)" Condition="'$(TargetOS)' == 'OSX' and '$(CrossCompileArch)' != ''" />
+ <LinkerArg Include="--target=$(TargetTriple)" Condition="'$(TargetOS)' != 'osx' and '$(TargetTriple)' != ''" />
+ <LinkerArg Include="-arch $(CrossCompileArch)" Condition="'$(TargetOS)' == 'osx' and '$(CrossCompileArch)' != ''" />
<LinkerArg Include="-g" Condition="$(NativeDebugSymbols) == 'true'" />
- <LinkerArg Include="-Wl,--strip-debug" Condition="$(NativeDebugSymbols) != 'true' and '$(TargetOS)' != 'OSX'" />
+ <LinkerArg Include="-Wl,--strip-debug" Condition="$(NativeDebugSymbols) != 'true' and '$(TargetOS)' != 'osx'" />
<LinkerArg Include="-Wl,-rpath,'$(IlcRPath)'" />
- <LinkerArg Include="-Wl,--build-id=sha1" Condition="'$(TargetOS)' != 'OSX'" />
- <LinkerArg Include="-Wl,--as-needed" Condition="'$(TargetOS)' != 'OSX'" />
- <LinkerArg Include="-Wl,-e0x0" Condition="'$(NativeLib)' == 'Shared' and '$(TargetOS)' != 'OSX'" />
- <LinkerArg Include="-pthread" Condition="'$(TargetOS)' != 'OSX'" />
+ <LinkerArg Include="-Wl,--build-id=sha1" Condition="'$(TargetOS)' != 'osx'" />
+ <LinkerArg Include="-Wl,--as-needed" Condition="'$(TargetOS)' != 'osx'" />
+ <LinkerArg Include="-Wl,-e0x0" Condition="'$(NativeLib)' == 'Shared' and '$(TargetOS)' != 'osx'" />
+ <LinkerArg Include="-pthread" Condition="'$(TargetOS)' != 'osx'" />
<LinkerArg Include="-lstdc++" Condition="'$(LinkStandardCPlusPlusLibrary)' == 'true'" />
<LinkerArg Include="-ldl" />
<LinkerArg Include="-lm" />
- <LinkerArg Include="-lobjc" Condition="'$(TargetOS)' == 'OSX'" />
- <LinkerArg Include="-lswiftCore" Condition="'$(TargetOS)' == 'OSX'" />
- <LinkerArg Include="-lswiftFoundation" Condition="'$(TargetOS)' == 'OSX'" />
+ <LinkerArg Include="-lobjc" Condition="'$(TargetOS)' == 'osx'" />
+ <LinkerArg Include="-lswiftCore" Condition="'$(TargetOS)' == 'osx'" />
+ <LinkerArg Include="-lswiftFoundation" Condition="'$(TargetOS)' == 'osx'" />
<LinkerArg Include="-lz" />
- <LinkerArg Include="-lrt" Condition="'$(TargetOS)' != 'OSX'" />
- <LinkerArg Include="-licucore" Condition="'$(TargetOS)' == 'OSX'" />
- <LinkerArg Include="-L/usr/lib/swift" Condition="'$(TargetOS)' == 'OSX'" />
+ <LinkerArg Include="-lrt" Condition="'$(TargetOS)' != 'osx'" />
+ <LinkerArg Include="-licucore" Condition="'$(TargetOS)' == 'osx'" />
+ <LinkerArg Include="-L/usr/lib/swift" Condition="'$(TargetOS)' == 'osx'" />
<LinkerArg Include="@(StaticICULibs)" Condition="'$(StaticICULinking)' == 'true'" />
- <LinkerArg Include="-dynamiclib" Condition="'$(TargetOS)' == 'OSX' and '$(NativeLib)' == 'Shared'" />
- <LinkerArg Include="-shared" Condition="'$(TargetOS)' != 'OSX' and '$(NativeLib)' == 'Shared'" />
+ <LinkerArg Include="-dynamiclib" Condition="'$(TargetOS)' == 'osx' and '$(NativeLib)' == 'Shared'" />
+ <LinkerArg Include="-shared" Condition="'$(TargetOS)' != 'osx' and '$(NativeLib)' == 'Shared'" />
<!-- binskim warning BA3001 PIE disabled on executable -->
- <LinkerArg Include="-pie" Condition="'$(TargetOS)' != 'OSX' and '$(NativeLib)' == '' and '$(PositionIndependentExecutable)' != 'false'" />
+ <LinkerArg Include="-pie" Condition="'$(TargetOS)' != 'osx' and '$(NativeLib)' == '' and '$(PositionIndependentExecutable)' != 'false'" />
<!-- binskim warning BA3010 The GNU_RELRO segment is missing -->
- <LinkerArg Include="-Wl,-z,relro" Condition="'$(TargetOS)' != 'OSX'" />
+ <LinkerArg Include="-Wl,-z,relro" Condition="'$(TargetOS)' != 'osx'" />
<!-- binskim warning BA3011 The BIND_NOW flag is missing -->
- <LinkerArg Include="-Wl,-z,now" Condition="'$(TargetOS)' != 'OSX'" />
- <LinkerArg Include="-Wl,-u,_NativeAOT_StaticInitialization" Condition="'$(TargetOS)' == 'OSX' and '$(NativeLib)' == 'Shared'" />
- <LinkerArg Include="-Wl,--require-defined,NativeAOT_StaticInitialization" Condition="'$(TargetOS)' != 'OSX' and '$(NativeLib)' == 'Shared'" />
+ <LinkerArg Include="-Wl,-z,now" Condition="'$(TargetOS)' != 'osx'" />
+ <LinkerArg Include="-Wl,-u,_NativeAOT_StaticInitialization" Condition="'$(TargetOS)' == 'osx' and '$(NativeLib)' == 'Shared'" />
+ <LinkerArg Include="-Wl,--require-defined,NativeAOT_StaticInitialization" Condition="'$(TargetOS)' != 'osx' and '$(NativeLib)' == 'Shared'" />
- <LinkerArg Include="@(NativeFramework->'-framework %(Identity)')" Condition="'$(TargetOS)' == 'OSX'" />
+ <LinkerArg Include="@(NativeFramework->'-framework %(Identity)')" Condition="'$(TargetOS)' == 'osx'" />
</ItemGroup>
<Exec Command="command -v "$(CppLinker)"" IgnoreExitCode="true" StandardOutputImportance="Low">
<_WhereLinker>0</_WhereLinker>
</PropertyGroup>
- <PropertyGroup Condition="'$(ObjCopyName)' == '' and '$(TargetOS)' != 'OSX'">
+ <PropertyGroup Condition="'$(ObjCopyName)' == '' and '$(TargetOS)' != 'osx'">
<ObjCopyName Condition="!$(CppCompilerAndLinker.Contains('clang'))">objcopy</ObjCopyName>
<ObjCopyName Condition="$(CppCompilerAndLinker.Contains('clang'))">llvm-objcopy</ObjCopyName>
<ObjCopyNameAlternative />
<ObjCopyNameAlternative Condition="$(CppCompilerAndLinker.Contains('clang'))">objcopy</ObjCopyNameAlternative>
</PropertyGroup>
- <Error Condition="'$(_WhereLinker)' != '0' and '$(TargetOS)' == 'OSX'" Text="Platform linker ('$(CppLinker)') not found in PATH. Try installing Xcode to resolve the problem." />
+ <Error Condition="'$(_WhereLinker)' != '0' and '$(TargetOS)' == 'osx'" Text="Platform linker ('$(CppLinker)') not found in PATH. Try installing Xcode to resolve the problem." />
<Error Condition="'$(_WhereLinker)' != '0' and '$(CppCompilerAndLinkerAlternative)' != ''"
Text="Platform linker ('$(CppLinker)' or '$(CppCompilerAndLinkerAlternative)') not found in PATH. Try installing appropriate package for $(CppLinker) or $(CppCompilerAndLinkerAlternative) to resolve the problem." />
- <Error Condition="'$(_WhereLinker)' != '0' and '$(CppCompilerAndLinkerAlternative)' == '' and '$(TargetOS)' != 'OSX'"
+ <Error Condition="'$(_WhereLinker)' != '0' and '$(CppCompilerAndLinkerAlternative)' == '' and '$(TargetOS)' != 'osx'"
Text="Requested linker ('$(CppLinker)') not found in PATH." />
- <Exec Command="command -v "$(ObjCopyName)"" IgnoreExitCode="true" StandardOutputImportance="Low" Condition="'$(TargetOS)' != 'OSX' and '$(StripSymbols)' == 'true'">
+ <Exec Command="command -v "$(ObjCopyName)"" IgnoreExitCode="true" StandardOutputImportance="Low" Condition="'$(TargetOS)' != 'osx' and '$(StripSymbols)' == 'true'">
<Output TaskParameter="ExitCode" PropertyName="_WhereSymbolStripper" />
</Exec>
- <Exec Command="command -v "$(ObjCopyNameAlternative)"" IgnoreExitCode="true" StandardOutputImportance="Low" Condition="'$(TargetOS)' != 'OSX' and '$(CppCompilerAndLinkerAlternative)' != '' and '$(StripSymbols)' == 'true'">
+ <Exec Command="command -v "$(ObjCopyNameAlternative)"" IgnoreExitCode="true" StandardOutputImportance="Low" Condition="'$(TargetOS)' != 'osx' and '$(CppCompilerAndLinkerAlternative)' != '' and '$(StripSymbols)' == 'true'">
<Output TaskParameter="ExitCode" PropertyName="_WhereSymbolStripperAlt" />
</Exec>
<Error Condition="'$(_WhereSymbolStripper)' != '0' and '$(StripSymbols)' == 'true' and '$(ObjCopyNameAlternative)' != ''"
Text="Symbol stripping tool ('$(ObjCopyName)' or '$(ObjCopyNameAlternative)') not found in PATH. Try installing appropriate package for $(ObjCopyName) or $(ObjCopyNameAlternative) to resolve the problem." />
- <Error Condition="'$(_WhereSymbolStripper)' != '0' and '$(StripSymbols)' == 'true' and '$(TargetOS)' != 'OSX'"
+ <Error Condition="'$(_WhereSymbolStripper)' != '0' and '$(StripSymbols)' == 'true' and '$(TargetOS)' != 'osx'"
Text="Symbol stripping tool ('$(ObjCopyName)') not found in PATH. Make sure '$(ObjCopyName)' is available in PATH" />
- <Exec Command="command -v dsymutil && command -v strip" IgnoreExitCode="true" StandardOutputImportance="Low" Condition="'$(TargetOS)' == 'OSX' and '$(StripSymbols)' == 'true'">
+ <Exec Command="command -v dsymutil && command -v strip" IgnoreExitCode="true" StandardOutputImportance="Low" Condition="'$(TargetOS)' == 'osx' and '$(StripSymbols)' == 'true'">
<Output TaskParameter="ExitCode" PropertyName="_WhereSymbolStripper" />
</Exec>
- <Error Condition="'$(_WhereSymbolStripper)' != '0' and '$(StripSymbols)' == 'true' and '$(TargetOS)' != 'OSX'"
+ <Error Condition="'$(_WhereSymbolStripper)' != '0' and '$(StripSymbols)' == 'true' and '$(TargetOS)' != 'osx'"
Text="Symbol stripping tools ('dsymutil' and 'strip') not found in PATH. Make sure 'dsymutil' and 'strip' are available in PATH" />
- <Exec Command="dsymutil --help" IgnoreExitCode="true" StandardOutputImportance="Low" Condition="'$(TargetOS)' == 'OSX' and '$(StripSymbols)' == 'true'">
+ <Exec Command="dsymutil --help" IgnoreExitCode="true" StandardOutputImportance="Low" Condition="'$(TargetOS)' == 'osx' and '$(StripSymbols)' == 'true'">
<Output TaskParameter="ExitCode" PropertyName="_DsymUtilOutput" />
</Exec>
- <PropertyGroup Condition="'$(TargetOS)' == 'OSX' and '$(StripSymbols)' == 'true' and $(_DsymUtilOutput.Contains('--minimize'))">
+ <PropertyGroup Condition="'$(TargetOS)' == 'osx' and '$(StripSymbols)' == 'true' and $(_DsymUtilOutput.Contains('--minimize'))">
<DsymUtilOptions>$(DsymUtilOptions) --minimize</DsymUtilOptions>
</PropertyGroup>
</Target>
<IlcFrameworkNativePath Condition="'$(IlcFrameworkNativePath)' == '' and '$(IlcFrameworkPath)' != ''">$(IlcFrameworkPath)</IlcFrameworkNativePath>
<IlcMibcPath Condition="'$(IlcPath)' != '' and '$(IlcMibcPath)' == ''">$(IlcPath)\mibc\</IlcMibcPath>
<TargetOS Condition="'$([MSBuild]::IsOSPlatform(Windows))' == 'true'">windows</TargetOS>
- <TargetOS Condition="'$([MSBuild]::IsOSPlatform(OSX))' == 'true'">OSX</TargetOS>
+ <TargetOS Condition="'$([MSBuild]::IsOSPlatform(OSX))' == 'true'">osx</TargetOS>
<TargetOS Condition="'$(TargetOS)' == ''">$(OS)</TargetOS>
<NativeDebugSymbols Condition="$(DebugSymbols) == 'true' or ($(DebugType) != 'none' and $(DebugType) != '')">true</NativeDebugSymbols>
<!-- Workaround for https://github.com/dotnet/runtimelab/issues/771 -->
<NativeBinaryExt Condition="'$(IsNativeExecutable)' == 'true' and '$(TargetOS)' == 'windows'">.exe</NativeBinaryExt>
<NativeBinaryExt Condition="'$(IsNativeExecutable)' == 'true' and '$(TargetOS)' != 'windows'"></NativeBinaryExt>
<NativeBinaryExt Condition="'$(IsNativeExecutable)' != 'true' and '$(TargetOS)' == 'windows' and '$(NativeLib)' == 'Shared'">.dll</NativeBinaryExt>
- <NativeBinaryExt Condition="'$(IsNativeExecutable)' != 'true' and '$(TargetOS)' == 'OSX' and '$(NativeLib)' == 'Shared'">.dylib</NativeBinaryExt>
- <NativeBinaryExt Condition="'$(IsNativeExecutable)' != 'true' and '$(TargetOS)' != 'windows' and '$(TargetOS)' != 'OSX' and '$(NativeLib)' == 'Shared'">.so</NativeBinaryExt>
+ <NativeBinaryExt Condition="'$(IsNativeExecutable)' != 'true' and '$(TargetOS)' == 'osx' and '$(NativeLib)' == 'Shared'">.dylib</NativeBinaryExt>
+ <NativeBinaryExt Condition="'$(IsNativeExecutable)' != 'true' and '$(TargetOS)' != 'windows' and '$(TargetOS)' != 'osx' and '$(NativeLib)' == 'Shared'">.so</NativeBinaryExt>
<NativeBinaryExt Condition="'$(IsNativeExecutable)' != 'true' and '$(TargetOS)' == 'windows' and '$(NativeLib)' == 'Static'">.lib</NativeBinaryExt>
<NativeBinaryExt Condition="'$(IsNativeExecutable)' != 'true' and '$(TargetOS)' != 'windows' and '$(NativeLib)' == 'Static'">.a</NativeBinaryExt>
- <NativeSymbolExt Condition="'$(TargetOS)' == 'OSX'">.dwarf</NativeSymbolExt>
+ <NativeSymbolExt Condition="'$(TargetOS)' == 'osx'">.dwarf</NativeSymbolExt>
<NativeSymbolExt Condition="'$(TargetOS)' == 'windows'">.pdb</NativeSymbolExt>
- <NativeSymbolExt Condition="'$(TargetOS)' != 'OSX' and '$(TargetOS)' != 'windows'">.dbg</NativeSymbolExt>
+ <NativeSymbolExt Condition="'$(TargetOS)' != 'osx' and '$(TargetOS)' != 'windows'">.dbg</NativeSymbolExt>
<ExportsFileExt Condition="'$(TargetOS)' == 'windows'">.def</ExportsFileExt>
<ExportsFileExt Condition="'$(TargetOS)' != 'windows'">.exports</ExportsFileExt>
<CustomLinkerArg Include="/OUT:"$(NativeBinary)"" Condition="'$(TargetOS)' == 'windows'" />
<CustomLinkerArg Include="/DEF:"$(ExportsFile)"" Condition="'$(TargetOS)' == 'windows' and $(ExportsFile) != ''" />
<CustomLinkerArg Include="/LIBPATH:"%(AdditionalNativeLibraryDirectories.Identity)"" Condition="'$(TargetOS)' == 'windows' and '@(AdditionalNativeLibraryDirectories->Count())' > 0" />
- <CustomLinkerArg Include="-exported_symbols_list "$(ExportsFile)"" Condition="'$(TargetOS)' == 'OSX' and $(ExportsFile) != ''" />
- <CustomLinkerArg Include="-Wl,--version-script=$(ExportsFile)" Condition="'$(TargetOS)' != 'windows' and '$(TargetOS)' != 'OSX' and $(ExportsFile) != ''" />
+ <CustomLinkerArg Include="-exported_symbols_list "$(ExportsFile)"" Condition="'$(TargetOS)' == 'osx' and $(ExportsFile) != ''" />
+ <CustomLinkerArg Include="-Wl,--version-script=$(ExportsFile)" Condition="'$(TargetOS)' != 'windows' and '$(TargetOS)' != 'osx' and $(ExportsFile) != ''" />
<CustomLinkerArg Condition="Exists('$(_Win32ResFile)')" Include=""$(_Win32ResFile)"" />
<CustomLinkerArg Include="@(LinkerArg)" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' != 'windows' and '$(TargetOS)' != 'OSX'">
+ <ItemGroup Condition="'$(TargetOS)' != 'windows' and '$(TargetOS)' != 'osx'">
<CustomLinkerArg Include="-Wl,--discard-all" />
<CustomLinkerArg Include="-Wl,--gc-sections" />
</ItemGroup>
<!-- https://github.com/dotnet/runtimelab/issues/956 - we IgnoreStandardErrorWarningFormat on macOS because there's a lot of warnings -->
<PropertyGroup>
<_IgnoreLinkerWarnings>false</_IgnoreLinkerWarnings>
- <_IgnoreLinkerWarnings Condition="'$(TargetOS)' == 'OSX'">true</_IgnoreLinkerWarnings>
+ <_IgnoreLinkerWarnings Condition="'$(TargetOS)' == 'osx'">true</_IgnoreLinkerWarnings>
</PropertyGroup>
<Exec Command=""$(CppLinker)" @(CustomLinkerArg, ' ')" Condition="'$(TargetOS)' != 'windows' and '$(NativeLib)' != 'Static'" IgnoreStandardErrorWarningFormat="$(_IgnoreLinkerWarnings)" />
<Exec Command="chmod 644 "$(NativeBinary)"" Condition="'$(TargetOS)' != 'windows' and '$(NativeLib)' == 'Shared'" />
<!-- strip symbols, see https://github.com/dotnet/runtime/blob/5d3288d/eng/native/functions.cmake#L374 -->
- <Exec Condition="'$(StripSymbols)' == 'true' and '$(TargetOS)' != 'windows' and '$(TargetOS)' != 'OSX'"
+ <Exec Condition="'$(StripSymbols)' == 'true' and '$(TargetOS)' != 'windows' and '$(TargetOS)' != 'osx'"
Command="
"$(ObjCopyName)" --only-keep-debug "$(NativeBinary)" "$(NativeBinary)$(NativeSymbolExt)" &&
"$(ObjCopyName)" --strip-debug --strip-unneeded "$(NativeBinary)" &&
"$(ObjCopyName)" --add-gnu-debuglink="$(NativeBinary)$(NativeSymbolExt)" "$(NativeBinary)"" />
- <Exec Condition="'$(StripSymbols)' == 'true' and '$(TargetOS)' == 'OSX'"
+ <Exec Condition="'$(StripSymbols)' == 'true' and '$(TargetOS)' == 'osx'"
Command="
dsymutil $(DsymUtilOptions) "$(NativeBinary)" &&
strip -no_code_signature_warning -S "$(NativeBinary)"" />
<Project DefaultTargets = "ProducePALTestList" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- All OS/Arch/Runtime excludes -->
<!-- Target specific excludes -->
- <ItemGroup Condition="'$(TargetArchitecture)' == 'arm' and '$(TargetOS)' == 'Linux'">
+ <ItemGroup Condition="'$(TargetArchitecture)' == 'arm' and '$(TargetOS)' == 'linux'">
<ExcludeList Include="eventprovider/eventprovidertest">
<Issue>https://github.com/dotnet/runtime/issues/42291</Issue>
</ExcludeList>
</ItemGroup>
- <ItemGroup Condition="'$(TargetArchitecture)' == 'x64' and '$(TargetOS)' == 'Linux'">
+ <ItemGroup Condition="'$(TargetArchitecture)' == 'x64' and '$(TargetOS)' == 'linux'">
<ExcludeList Include="eventprovider/eventprovidertest">
<Issue>https://github.com/dotnet/runtime/issues/42291</Issue>
</ExcludeList>
</ItemGroup>
- <ItemGroup Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'Linux'">
+ <ItemGroup Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'linux'">
<ExcludeList Include="eventprovider/eventprovidertest">
<Issue>https://github.com/dotnet/runtime/issues/42291</Issue>
</ExcludeList>
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'OSX'">
+ <ItemGroup Condition="'$(TargetOS)' == 'osx'">
<ExcludeList Include="miscellaneous/queryperformancecounter/test1/paltest_queryperformancecounter_test1">
<Issue>https://github.com/dotnet/runtime/issues/7639</Issue>
</ExcludeList>
# Get the number of processors available to the scheduler
# Other techniques such as `nproc` only get the number of
# processors available to a single process.
-platform="$(uname)"
-if [ "$platform" = "FreeBSD" ]; then
+platform="$(uname -s | tr '[:upper:]' '[:lower:]')"
+if [ "$platform" = "freebsd" ]; then
NumProc=$(($(sysctl -n hw.ncpu)+1))
-elif [ "$platform" = "NetBSD" || "$platform" = "SunOS" ]; then
+elif [ "$platform" = "netbsd" || "$platform" = "sunos" ]; then
NumProc=$(($(getconf NPROCESSORS_ONLN)+1))
else
NumProc=$(($(getconf _NPROCESSORS_ONLN)+1))
self.valid_arches = ["x64", "x86", "arm", "arm64", "loongarch64", "wasm"]
self.valid_build_types = ["Debug", "Checked", "Release"]
- self.valid_host_os = ["windows", "OSX", "Linux", "illumos", "Solaris", "Browser", "Android", "wasi"]
+ self.valid_host_os = ["windows", "osx", "linux", "illumos", "solaris", "browser", "android", "wasi"]
self.__initialize__(args)
def provide_default_host_os():
""" Return a string representing the current host operating system.
- Returns one of: Linux, OSX, windows, illumos, Solaris
+ Returns one of: linux, osx, windows, illumos, solaris
"""
if sys.platform == "linux" or sys.platform == "linux2":
- return "Linux"
+ return "linux"
elif sys.platform == "darwin":
- return "OSX"
+ return "osx"
elif sys.platform == "win32":
return "windows"
elif sys.platform.startswith("sunos"):
is_illumos = ('illumos' in subprocess.Popen(["uname", "-o"], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0].decode('utf-8'))
- return 'illumos' if is_illumos else 'Solaris'
+ return 'illumos' if is_illumos else 'solaris'
else:
print("Unknown OS: %s" % sys.platform)
sys.exit(1)
repoRoot = os.path.dirname(os.path.dirname(coreclr))
formattingScriptFolder = os.path.join(repoRoot, "eng", "formatting")
formattingDownloadScriptCommand = []
- if platform == 'Linux' or platform == 'OSX':
+ if platform == 'linux' or platform == 'osx':
formattingDownloadScriptCommand = [os.path.join(formattingScriptFolder, "download-tools.sh")]
elif platform == 'windows':
formattingDownloadScriptCommand = ["powershell", os.path.join(formattingScriptFolder, "download-tools.ps1")]
cleanup(jitUtilsPath, '')
- if platform == 'Linux' or platform == 'OSX':
+ if platform == 'linux' or platform == 'osx':
bootstrapFilename = "bootstrap.sh"
elif platform == 'windows':
bootstrapFilename = "bootstrap.cmd"
# On *nix platforms, we need to make the bootstrap file executable
- if platform == 'Linux' or platform == 'OSX':
+ if platform == 'linux' or platform == 'osx':
logging.info("Making bootstrap executable")
os.chmod(bootstrapPath, 0o751)
# Run bootstrap
- if platform == 'Linux' or platform == 'OSX':
+ if platform == 'linux' or platform == 'osx':
logging.info('Running: bash {}'.format(bootstrapPath))
proc = subprocess.Popen(['bash', bootstrapPath], env=my_env)
output,error = proc.communicate()
jitformat = jitutilsBin
- if platform == 'Linux' or platform == 'OSX':
+ if platform == 'linux' or platform == 'osx':
jitformat = os.path.join(jitformat, "jit-format")
elif platform == 'windows':
jitformat = os.path.join(jitformat,"jit-format.exe")
build_type_help = "Build type (Debug, Checked, Release). Default: Checked."
-host_os_help = "OS (windows, OSX, Linux). Default: current OS."
+host_os_help = "OS (windows, osx, linux). Default: current OS."
spmi_location_help = """\
Directory in which to put SuperPMI files, such as downloaded MCH files, asm diffs, and repro .MC files.
"""
jit_base_name = "clrjit"
- if coreclr_args.host_os == "OSX":
+ if coreclr_args.host_os == "osx":
return "lib" + jit_base_name + ".dylib"
- elif coreclr_args.host_os == "Linux":
+ elif coreclr_args.host_os == "linux":
return "lib" + jit_base_name + ".so"
elif coreclr_args.host_os == "windows":
return jit_base_name + ".dll"
# We don't do a recursive walk because the JIT is also copied to the "sharedFramework" subdirectory,
# so we don't want to pick that up.
- if coreclr_args.host_os == "OSX":
+ if coreclr_args.host_os == "osx":
allowed_extensions = [ ".dylib" ]
# Add .dwarf for debug info
- elif coreclr_args.host_os == "Linux":
+ elif coreclr_args.host_os == "linux":
allowed_extensions = [ ".so" ]
# Add .dbg for debug info
elif coreclr_args.host_os == "windows":
<ItemGroup Condition="'$(Architecture)' == 'x64'">
<SPMI_Partition Include="win-x64" Platform="windows" Architecture="x64" />
<SPMI_Partition Include="win-arm64" Platform="windows" Architecture="arm64" />
- <SPMI_Partition Include="unix-x64" Platform="Linux" Architecture="x64" />
- <SPMI_Partition Include="unix-arm64" Platform="Linux" Architecture="arm64" />
+ <SPMI_Partition Include="unix-x64" Platform="linux" Architecture="x64" />
+ <SPMI_Partition Include="unix-arm64" Platform="linux" Architecture="arm64" />
</ItemGroup>
<ItemGroup Condition="'$(Architecture)' == 'x86'">
<SPMI_Partition Include="win-x86" Platform="windows" Architecture="x86" />
- <SPMI_Partition Include="unix-arm" Platform="Linux" Architecture="arm" />
+ <SPMI_Partition Include="unix-arm" Platform="linux" Architecture="arm" />
</ItemGroup>
<ItemGroup>
<ItemGroup Condition="'$(Architecture)' == 'x64'">
<SPMI_Partition Include="win-x64" Platform="windows" Architecture="x64" />
<SPMI_Partition Include="win-arm64" Platform="windows" Architecture="arm64" />
- <SPMI_Partition Include="unix-x64" Platform="Linux" Architecture="x64" />
- <SPMI_Partition Include="linux-arm64" Platform="Linux" Architecture="arm64" />
- <SPMI_Partition Include="osx-arm64" Platform="OSX" Architecture="arm64" />
+ <SPMI_Partition Include="unix-x64" Platform="linux" Architecture="x64" />
+ <SPMI_Partition Include="linux-arm64" Platform="linux" Architecture="arm64" />
+ <SPMI_Partition Include="osx-arm64" Platform="osx" Architecture="arm64" />
</ItemGroup>
<ItemGroup Condition="'$(Architecture)' == 'x86'">
<SPMI_Partition Include="win-x86" Platform="windows" Architecture="x86" />
- <SPMI_Partition Include="unix-arm" Platform="Linux" Architecture="arm" />
+ <SPMI_Partition Include="unix-arm" Platform="linux" Architecture="arm" />
</ItemGroup>
<ItemGroup>
<SPMI_Partition Include="win-x64-2" Platform="windows" Architecture="x64" Partition="2" PartitionCount="2"/>
<SPMI_Partition Include="win-arm64-1" Platform="windows" Architecture="arm64" Partition="1" PartitionCount="2"/>
<SPMI_Partition Include="win-arm64-2" Platform="windows" Architecture="arm64" Partition="2" PartitionCount="2"/>
- <SPMI_Partition Include="unix-x64-1" Platform="Linux" Architecture="x64" Partition="1" PartitionCount="2"/>
- <SPMI_Partition Include="unix-x64-2" Platform="Linux" Architecture="x64" Partition="2" PartitionCount="2"/>
- <SPMI_Partition Include="linux-arm64-1" Platform="Linux" Architecture="arm64" Partition="1" PartitionCount="2"/>
- <SPMI_Partition Include="linux-arm64-2" Platform="Linux" Architecture="arm64" Partition="2" PartitionCount="2"/>
- <SPMI_Partition Include="osx-arm64-1" Platform="OSX" Architecture="arm64" Partition="1" PartitionCount="2"/>
- <SPMI_Partition Include="osx-arm64-2" Platform="OSX" Architecture="arm64" Partition="2" PartitionCount="2"/>
+ <SPMI_Partition Include="unix-x64-1" Platform="linux" Architecture="x64" Partition="1" PartitionCount="2"/>
+ <SPMI_Partition Include="unix-x64-2" Platform="linux" Architecture="x64" Partition="2" PartitionCount="2"/>
+ <SPMI_Partition Include="linux-arm64-1" Platform="linux" Architecture="arm64" Partition="1" PartitionCount="2"/>
+ <SPMI_Partition Include="linux-arm64-2" Platform="linux" Architecture="arm64" Partition="2" PartitionCount="2"/>
+ <SPMI_Partition Include="osx-arm64-1" Platform="osx" Architecture="arm64" Partition="1" PartitionCount="2"/>
+ <SPMI_Partition Include="osx-arm64-2" Platform="osx" Architecture="arm64" Partition="2" PartitionCount="2"/>
</ItemGroup>
<ItemGroup Condition="'$(Architecture)' == 'x86'">
<SPMI_Partition Include="win-x86-1" Platform="windows" Architecture="x86" Partition="1" PartitionCount="3"/>
<SPMI_Partition Include="win-x86-2" Platform="windows" Architecture="x86" Partition="2" PartitionCount="3"/>
<SPMI_Partition Include="win-x86-3" Platform="windows" Architecture="x86" Partition="3" PartitionCount="3"/>
- <SPMI_Partition Include="unix-arm-1" Platform="Linux" Architecture="arm" Partition="1" PartitionCount="3"/>
- <SPMI_Partition Include="unix-arm-2" Platform="Linux" Architecture="arm" Partition="2" PartitionCount="3"/>
- <SPMI_Partition Include="unix-arm-3" Platform="Linux" Architecture="arm" Partition="3" PartitionCount="3"/>
+ <SPMI_Partition Include="unix-arm-1" Platform="linux" Architecture="arm" Partition="1" PartitionCount="3"/>
+ <SPMI_Partition Include="unix-arm-2" Platform="linux" Architecture="arm" Partition="2" PartitionCount="3"/>
+ <SPMI_Partition Include="unix-arm-3" Platform="linux" Architecture="arm" Partition="3" PartitionCount="3"/>
</ItemGroup>
<ItemGroup>
to get that version. Otherwise, use "unknown-jit-ee-version".
"""
-host_os_help = "OS (windows, OSX, Linux). Default: current OS."
+host_os_help = "OS (windows, osx, linux). Default: current OS."
arch_help = "Architecture (x64, x86, arm, arm64). Default: current architecture."
-target_os_help = "Target OS, for use with cross-compilation JIT (windows, OSX, Linux). Default: current OS."
+target_os_help = "Target OS, for use with cross-compilation JIT (windows, osx, linux). Default: current OS."
target_arch_help = "Target architecture, for use with cross-compilation JIT (x64, x86, arm, arm64). Passed as asm diffs target to SuperPMI. Default: current architecture."
self.core_root = coreclr_args.core_root
- if coreclr_args.host_os == "OSX":
+ if coreclr_args.host_os == "osx":
self.collection_shim_name = "libsuperpmi-shim-collector.dylib"
self.corerun_tool_name = "corerun"
- elif coreclr_args.host_os == "Linux":
+ elif coreclr_args.host_os == "linux":
self.collection_shim_name = "libsuperpmi-shim-collector.so"
self.corerun_tool_name = "corerun"
elif coreclr_args.host_os == "windows":
if coreclr_args.target_arch.startswith("arm"):
os_name = "universal"
- elif coreclr_args.target_os == "OSX" or coreclr_args.target_os == "Linux":
+ elif coreclr_args.target_os == "osx" or coreclr_args.target_os == "linux":
os_name = "unix"
elif coreclr_args.target_os == "windows":
os_name = "win"
jit_base_name = 'clrjit_{}_{}_{}'.format(os_name, coreclr_args.target_arch, coreclr_args.arch)
- if coreclr_args.host_os == "OSX":
+ if coreclr_args.host_os == "osx":
return "lib" + jit_base_name + ".dylib"
- elif coreclr_args.host_os == "Linux":
+ elif coreclr_args.host_os == "linux":
return "lib" + jit_base_name + ".so"
elif coreclr_args.host_os == "windows":
return jit_base_name + ".dll"
(str) Name of the superpmi tool to use
"""
- if coreclr_args.host_os == "OSX" or coreclr_args.host_os == "Linux":
+ if coreclr_args.host_os == "osx" or coreclr_args.host_os == "linux":
return "superpmi"
elif coreclr_args.host_os == "windows":
return "superpmi.exe"
(str) Name of the mcs tool to use
"""
- if coreclr_args.host_os == "OSX" or coreclr_args.host_os == "Linux":
+ if coreclr_args.host_os == "osx" or coreclr_args.host_os == "linux":
return "mcs"
elif coreclr_args.host_os == "windows":
return "mcs.exe"
(str) Name of the dotnet tool to use
"""
- if coreclr_args.host_os == "OSX" or coreclr_args.host_os == "Linux":
+ if coreclr_args.host_os == "osx" or coreclr_args.host_os == "linux":
return "dotnet"
elif coreclr_args.host_os == "windows":
return "dotnet.exe"
(str) : name of the native lib for this OS
"""
- if target_os == "OSX":
+ if target_os == "osx":
return "lib" + base_lib_name + ".dylib"
- elif target_os == "Linux":
+ elif target_os == "linux":
return "lib" + base_lib_name + ".so"
elif target_os == "windows":
return base_lib_name + ".dll"
if coreclr_args.host_os == "windows":
# return "aspnet-perf-win"
return "aspnet-citrine-win"
- elif coreclr_args.host_os == "Linux":
+ elif coreclr_args.host_os == "linux":
return "aspnet-perf-lin"
else:
raise RuntimeError("Invalid OS for x64.")
elif coreclr_args.arch == "arm64":
- if coreclr_args.host_os == "Linux":
+ if coreclr_args.host_os == "linux":
return "aspnet-citrine-arm"
else:
raise RuntimeError("Invalid OS for arm64.")
In order to run the tests, execute:
```sh
-artifacts/tests/coreclr/(Windows/Linux).x64.Release/ilverify/ILVerification.Tests.(cmd/sh) -coreroot=artifacts/tests/coreclr/(Windows/Linux).x64.Release/Tests/Core_Root
+artifacts/tests/coreclr/(windows/linux).x64.Release/ilverify/ILVerification.Tests.(cmd/sh) -coreroot=artifacts/tests/coreclr/(windows/linux).x64.Release/Tests/Core_Root
```
<PublishSingleFile>true</PublishSingleFile>
<PublishReadyToRun>true</PublishReadyToRun>
<!-- Disable crossgen on NetBSD, illumos and Solaris for now. This can be revisited when we have full support. -->
- <PublishReadyToRun Condition="'$(TargetOS)'=='NetBSD' Or '$(TargetOS)'=='illumos' Or '$(TargetOS)'=='Solaris'">false</PublishReadyToRun>
+ <PublishReadyToRun Condition="'$(TargetOS)' == 'netbsd' Or '$(TargetOS)' == 'illumos' Or '$(TargetOS)' == 'solaris'">false</PublishReadyToRun>
<!-- Disable crossgen on FreeBSD when cross building from Linux. -->
- <PublishReadyToRun Condition="'$(TargetOS)'=='FreeBSD' and '$(CrossBuild)'=='true'">false</PublishReadyToRun>
+ <PublishReadyToRun Condition="'$(TargetOS)' == 'freebsd' and '$(CrossBuild)' == 'true'">false</PublishReadyToRun>
<PublishReadyToRunComposite>true</PublishReadyToRunComposite>
</PropertyGroup>
<File Include="$(CoreCLRAotSdkDir)*" TargetPath="sdk" />
<File Include="$(MibcOptimizationDataDir)/$(TargetOS)/$(TargetArchitecture)/**/*.mibc" TargetPath="mibc" />
</ItemGroup>
- <ItemGroup Condition="'$(PackageTargetRuntime)' != '' and '$(TargetOS)' == 'Linux'">
+ <ItemGroup Condition="'$(PackageTargetRuntime)' != '' and '$(TargetOS)' == 'linux'">
<File Include="$(MSBuildThisFileDirectory)\..\..\..\..\native\libs\System.Globalization.Native\*" TargetPath="native/src/libs/System.Globalization.Native"/>
<File Include="$(MSBuildThisFileDirectory)\..\..\..\..\native\minipal\*" TargetPath="native/src/minipal"/>
<File Include="$(MSBuildThisFileDirectory)\..\..\..\..\native\libs\Common\*" TargetPath="native/src/libs/Common"/>
<PublishReadyToRun Condition="'$(RuntimeFlavor)' != 'Mono'">true</PublishReadyToRun>
<PublishReadyToRun Condition="'$(RuntimeFlavor)' == 'Mono'">false</PublishReadyToRun>
<!-- Disable crossgen on NetBSD, illumos and Solaris for now. This can be revisited when we have full support. -->
- <PublishReadyToRun Condition="'$(TargetOS)'=='NetBSD' Or '$(TargetOS)'=='illumos' Or '$(TargetOS)'=='Solaris'">false</PublishReadyToRun>
+ <PublishReadyToRun Condition="'$(TargetOS)' == 'netbsd' or '$(TargetOS)' == 'illumos' or '$(TargetOS)' == 'solaris'">false</PublishReadyToRun>
<!-- Disable crossgen on FreeBSD when cross building from Linux. -->
- <PublishReadyToRun Condition="'$(TargetOS)'=='FreeBSD' and '$(CrossBuild)'=='true'">false</PublishReadyToRun>
+ <PublishReadyToRun Condition="'$(TargetOS)'=='freebsd' and '$(CrossBuild)'=='true'">false</PublishReadyToRun>
<!-- These components are installed by the root shared framework, but not others. -->
<IncludeWerRelatedKeys>true</IncludeWerRelatedKeys>
<IncludeBreadcrumbStoreFolder>true</IncludeBreadcrumbStoreFolder>
<PropertyGroup>
<PlatformPackageType>RuntimePack</PlatformPackageType>
<ArchiveName>dotnet-runtime-internal</ArchiveName>
- <InstallerName Condition="'$(TargetOS)' != 'OSX'">dotnet-runtime</InstallerName>
- <InstallerName Condition="'$(TargetOS)' == 'OSX'">dotnet-runtime-internal</InstallerName>
+ <InstallerName Condition="'$(TargetOS)' != 'osx'">dotnet-runtime</InstallerName>
+ <InstallerName Condition="'$(TargetOS)' == 'osx'">dotnet-runtime-internal</InstallerName>
<OverridePackageId Condition="'$(PgoInstrument)' != ''">$(SharedFrameworkName).PGO</OverridePackageId>
<CreateSymbolsArchive Condition="'$(PgoInstrument)' == ''">true</CreateSymbolsArchive>
<SymbolsArchiveName>dotnet-runtime-symbols</SymbolsArchiveName>
<SkipBuild Condition="'$(RuntimeFlavor)' != '$(PrimaryRuntimeFlavor)'">true</SkipBuild>
<GenerateInstallers>true</GenerateInstallers>
<InstallerName>dotnet-host</InstallerName>
- <InstallerName Condition="'$(TargetOS)' == 'OSX'">dotnet-host-internal</InstallerName>
+ <InstallerName Condition="'$(TargetOS)' == 'osx'">dotnet-host-internal</InstallerName>
<LinuxInstallRoot Condition="'$(BuildRpmPackage)' == 'true'">/</LinuxInstallRoot>
<PackageBrandNameSuffix>Host</PackageBrandNameSuffix>
<VSInsertionShortComponentName>NetCore.SharedHost</VSInsertionShortComponentName>
<GenerateInstallers>true</GenerateInstallers>
<ArchiveName>dotnet-hostfxr-internal</ArchiveName>
<InstallerName>dotnet-hostfxr</InstallerName>
- <InstallerName Condition="'$(TargetOS)' == 'OSX'">dotnet-hostfxr-internal</InstallerName>
+ <InstallerName Condition="'$(TargetOS)' == 'osx'">dotnet-hostfxr-internal</InstallerName>
<PackageBrandNameSuffix>Host FX Resolver</PackageBrandNameSuffix>
<PlatformPackageType>ToolPack</PlatformPackageType>
<VSInsertionShortComponentName>NetCore.HostFXR</VSInsertionShortComponentName>
<Project>
- <PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'browser'">
<_TargetFrameworkForXHarness>$(AspNetCoreAppCurrent)</_TargetFrameworkForXHarness>
<HelixTargetsFile>$(MSBuildThisFileDirectory)LocalEchoServer.helix.targets</HelixTargetsFile>
<WasmXHarnessArgs>$(WasmXHarnessArgs) --web-server-middleware=$(_TestEchoMiddleware)/NetCoreServer.dll,NetCoreServer.GenericHandler</WasmXHarnessArgs>
</PropertyGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser'">
<!-- The middleware doesn't need to be built for browser-wasm, so remove the relevant properties.
Also, due to https://github.com/dotnet/runtime/issues/77707 RunAOTCompilation needs to be removed
as a workaround. -->
<ItemGroup>
<!-- Used by the runtime tests to prepare the CORE_ROOT layout. Don't use in libraries. -->
- <BinPlaceTargetFrameworks Include="$(NetCoreAppCurrent)-$(TargetOS.ToLowerInvariant())"
+ <BinPlaceTargetFrameworks Include="$(NetCoreAppCurrent)-$(TargetOS)"
Condition="'$(BinPlaceForTargetVertical)' == 'true'">
<NativePath>$(LibrariesAllBinArtifactsPath)</NativePath>
<RefPath>$(LibrariesAllRefArtifactsPath)</RefPath>
'$(TargetFramework)' == 'netstandard2.0'" />
<!-- Setup the shared framework directory for testing -->
- <BinPlaceTargetFrameworks Include="$(NetCoreAppCurrent)-$(TargetOS.ToLowerInvariant())">
+ <BinPlaceTargetFrameworks Include="$(NetCoreAppCurrent)-$(TargetOS)">
<NativePath>$(NetCoreAppCurrentTestHostSharedFrameworkPath)</NativePath>
<RuntimePath Condition="'$(IsNETCoreAppSrc)' == 'true'">$(NetCoreAppCurrentTestHostSharedFrameworkPath)</RuntimePath>
</BinPlaceTargetFrameworks>
<!-- Microsoft.NetCore.App.Ref and Microsoft.NetCore.App.Runtime targeting packs -->
- <BinPlaceTargetFrameworks Include="$(NetCoreAppCurrent)-$(TargetOS.ToLowerInvariant())">
+ <BinPlaceTargetFrameworks Include="$(NetCoreAppCurrent)-$(TargetOS)">
<NativePath>$(MicrosoftNetCoreAppRuntimePackNativeDir)</NativePath>
<RefPath Condition="'$(IsNETCoreAppRef)' == 'true'">$(MicrosoftNetCoreAppRefPackRefDir)</RefPath>
<RuntimePath Condition="'$(IsNETCoreAppSrc)' == 'true'">$(MicrosoftNetCoreAppRuntimePackRidLibTfmDir)</RuntimePath>
-->
<Features>$(Features.Replace('strict', '')</Features>
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(CoreLibSharedDir)System\Runtime\CompilerServices\IsExternalInit.cs" Link="Common\System\Runtime\CompilerServices\IsExternalInit.cs" />
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);net472</TargetFrameworks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
</PropertyGroup>
<ItemGroup>
<PropertyGroup>
<DefineConstants>$(DefineConstants);XMLSERIALIZERGENERATORTESTS</DefineConstants>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <SkipTestsOnPlatform Condition="'$(TargetsMobile)' == 'true' or '$(TargetOS)' == 'FreeBSD' or '$(TargetArchitecture)' == 'arm' or '$(TargetArchitecture)' == 'arm64' or '$(TargetArchitecture)' == 'armel' or '$(TargetArchitecture)' == 'wasm'">true</SkipTestsOnPlatform>
+ <SkipTestsOnPlatform Condition="'$(TargetsMobile)' == 'true' or '$(TargetOS)' == 'freebsd' or '$(TargetArchitecture)' == 'arm' or '$(TargetArchitecture)' == 'arm64' or '$(TargetArchitecture)' == 'armel' or '$(TargetArchitecture)' == 'wasm'">true</SkipTestsOnPlatform>
</PropertyGroup>
<ItemGroup Condition="'$(SkipTestsOnPlatform)' != 'true'">
<TestRuntime>true</TestRuntime>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(CoreLibSharedDir)System\Collections\Concurrent\IProducerConsumerCollectionDebugView.cs"
<PropertyGroup>
<NoWarn>0436</NoWarn>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetFrameworkMinimum)</TargetFrameworks>
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
</PropertyGroup>
<ItemGroup>
<RdXmlFile Include="default.rd.xml" />
<PropertyGroup>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
</PropertyGroup>
<ItemGroup>
<!-- Common Collections tests -->
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TestRuntime>true</TestRuntime>
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
</PropertyGroup>
<ItemGroup>
<RdXmlFile Include="default.rd.xml" />
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetFrameworkMinimum)</TargetFrameworks>
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
</PropertyGroup>
<ItemGroup>
<Compile Include="ContainerConfigurationTests.cs" />
<PropertyGroup>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetFrameworkMinimum)</TargetFrameworks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(CommonTestPath)System\IO\TempDirectory.cs" Link="Common\System\IO\TempDirectory.cs" />
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
<EnableLibraryImportGenerator>true</EnableLibraryImportGenerator>
</PropertyGroup>
<ItemGroup>
<!-- Include the test assembly as Content. We don't do this on Browser to work around
https://github.com/dotnet/runtime/issues/46856 that would proceed to treat Content as an assembly reference anyway.
Works around: Found identical vfs mappings for target path: System.Diagnostics.FileVersionInfo.TestAssembly.dll, source file: .../System.Diagnostics.FileVersionInfo.TestAssembly.dll. Ignoring. -->
- <ProjectReference Include="..\System.Diagnostics.FileVersionInfo.TestAssembly\System.Diagnostics.FileVersionInfo.TestAssembly.csproj" Condition="'$(TargetOS)' != 'Browser'">
+ <ProjectReference Include="..\System.Diagnostics.FileVersionInfo.TestAssembly\System.Diagnostics.FileVersionInfo.TestAssembly.csproj" Condition="'$(TargetOS)' != 'browser'">
<OutputItemType>Content</OutputItemType>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</ProjectReference>
- <ProjectReference Include="..\System.Diagnostics.FileVersionInfo.TestAssembly\System.Diagnostics.FileVersionInfo.TestAssembly.csproj" Condition="'$(TargetOS)' == 'Browser'" />
+ <ProjectReference Include="..\System.Diagnostics.FileVersionInfo.TestAssembly\System.Diagnostics.FileVersionInfo.TestAssembly.csproj" Condition="'$(TargetOS)' == 'browser'" />
</ItemGroup>
</Project>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser</TargetFrameworks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
<EnableLibraryImportGenerator>true</EnableLibraryImportGenerator>
</PropertyGroup>
<!-- DesignTimeBuild requires all the TargetFramework Derived Properties to not be present in the first property group. -->
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<!-- these tests depend on the pdb files -->
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
</PropertyGroup>
<ItemGroup>
<Compile Include="StackFrameExtensionsTests.cs" />
<Compile Include="SymLanguageVendorTests.cs" />
<Compile Include="SymbolTokenTests.cs" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser'">
<WasmFilesToIncludeFromPublishDir Include="$(AssemblyName).dll" />
<WasmFilesToIncludeFromPublishDir Include="$(AssemblyName).pdb" />
</ItemGroup>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
</PropertyGroup>
<PropertyGroup>
- <RuntimeComponents Condition="'$(TargetsAppleMobile)' == 'true' or '$(TargetOS)' == 'Android'">diagnostics_tracing;marshal-ilgen</RuntimeComponents>
+ <RuntimeComponents Condition="'$(TargetsAppleMobile)' == 'true' or '$(TargetOS)' == 'android'">diagnostics_tracing;marshal-ilgen</RuntimeComponents>
</PropertyGroup>
<!-- Windows only files -->
<ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'windows'">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
</PropertyGroup>
<ItemGroup>
<Compile Include="ColorTranslatorTests.cs" />
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
</PropertyGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs" />
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser</TargetFrameworks>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'browser'">
<!-- This doesn't run on V8 shell because https://bugs.chromium.org/p/v8/issues/detail?id=12541 -->
<Scenario>WasmTestOnBrowser</Scenario>
<TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'browser'">
<!-- This doesn't run on V8 shell because https://bugs.chromium.org/p/v8/issues/detail?id=12541 -->
<Scenario>WasmTestOnBrowser</Scenario>
<TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-linux;$(NetCoreAppCurrent)-osx;$(NetCoreAppCurrent)-maccatalyst;$(NetCoreAppCurrent)-freebsd</TargetFrameworks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'tvOS'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'tvos'">true</IgnoreForCI>
<EnableLibraryImportGenerator>true</EnableLibraryImportGenerator>
</PropertyGroup>
<ItemGroup>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)-maccatalyst;$(NetCoreAppCurrent)-ios;$(NetCoreAppCurrent)-tvos;$(NetCoreAppCurrent)-android</TargetFrameworks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
</PropertyGroup>
<ItemGroup>
<Compile Include="System\IO\IsolatedStorage\IdentityTests.cs" />
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)</TargetFrameworks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
<EnableLibraryImportGenerator>true</EnableLibraryImportGenerator>
</PropertyGroup>
<ItemGroup>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
</PropertyGroup>
<ItemGroup>
<RdXmlFile Include="default.rd.xml" />
// The public keys of our self-signed certificates that are used by the loopback server are part of the System.Net.TestData
// package and they can be included in a the Android test apk by adding the following property to the test's .csproj:
//
- // <IncludeNetworkSecurityConfig Condition="'$(TargetOS)' == 'Android'">true</IncludeNetworkSecurityConfig>
+ // <IncludeNetworkSecurityConfig Condition="'$(TargetOS)' == 'android'">true</IncludeNetworkSecurityConfig>
//
handler.ServerCertificateCustomValidationCallback = TestHelper.AllowAllCertificates;
<Project Sdk="Microsoft.NET.Sdk">
- <Import Condition="'$(TargetOS)' == 'Browser'" Project="$(CommonTestPath)System/Net/Prerequisites/LocalEchoServer.props" />
+ <Import Condition="'$(TargetOS)' == 'browser'" Project="$(CommonTestPath)System/Net/Prerequisites/LocalEchoServer.props" />
<PropertyGroup>
<StringResourcesPath>../../src/Resources/Strings.resx</StringResourcesPath>
<EnableLibraryImportGenerator>true</EnableLibraryImportGenerator>
<EnablePreviewFeatures>true</EnablePreviewFeatures>
<!-- the res/xml/network_security_config.xml file comes from the System.Net.TestData package -->
- <IncludeNetworkSecurityConfig Condition="'$(TargetOS)' == 'Android'">true</IncludeNetworkSecurityConfig>
+ <IncludeNetworkSecurityConfig Condition="'$(TargetOS)' == 'android'">true</IncludeNetworkSecurityConfig>
<EventSourceSupport Condition="'$(TestNativeAot)' == 'true'">true</EventSourceSupport>
</PropertyGroup>
<DefineConstants Condition="'$(TargetPlatformIdentifier)' == 'browser'">$(DefineConstants);TARGETS_BROWSER</DefineConstants>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'browser'">
<!-- This doesn't run on V8 because it lacks websocket support -->
<Scenario>WasmTestOnBrowser</Scenario>
<TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
<NodeNpmModule Include="node-fetch" />
<NodeNpmModule Include="node-abort-controller" />
- <TrimmerRootDescriptor Include="$(MSBuildThisFileDirectory)ILLink.Descriptor.xml" Condition="'$(TargetOS)' == 'Browser'" />
+ <TrimmerRootDescriptor Include="$(MSBuildThisFileDirectory)ILLink.Descriptor.xml" Condition="'$(TargetOS)' == 'browser'" />
</ItemGroup>
<ItemGroup>
ENV VERSION=$VERSION
ENV CONFIGURATION=$CONFIGURATION
ENV HTTPSTRESS_ARGS=''
-CMD /live-runtime-artifacts/testhost/net$VERSION-Linux-$CONFIGURATION-x64/dotnet exec --roll-forward Major \
+CMD /live-runtime-artifacts/testhost/net$VERSION-linux-$CONFIGURATION-x64/dotnet exec --roll-forward Major \
./bin/$CONFIGURATION/net$VERSION/HttpStress.dll $HTTPSTRESS_ARGS
libraries_configuration=${libraries_configuration^} # Uppercase first character
fi
-testhost_root=$repo_root/artifacts/bin/testhost/net$version-Linux-$libraries_configuration-x64
+testhost_root=$repo_root/artifacts/bin/testhost/net$version-linux-$libraries_configuration-x64
echo "StressConfiguration: $stress_configuration, LibrariesConfiguration: $libraries_configuration, testhost: $testhost_root"
if [[ ! -d $testhost_root ]]; then
{
switch -Wildcard ($(uname -s))
{
- "Linux*" { return "Linux" }
- "Darwin*" { return "MacOS" }
- "*" { return "Unix" }
+ "Linux*" { return "linux" }
+ "Darwin*" { return "osx" }
+ "*" { return "unix" }
}
}
}
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<StringResourcesPath>../src/Resources/Strings.resx</StringResourcesPath>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)-osx</TargetFrameworks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
</PropertyGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs" />
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser</TargetFrameworks>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
<EventSourceSupport Condition="'$(TestNativeAot)' == 'true'">true</EventSourceSupport>
</PropertyGroup>
<ItemGroup>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<StringResourcesPath>../../src/Resources/Strings.resx</StringResourcesPath>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser</TargetFrameworks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
<EnableLibraryImportGenerator>true</EnableLibraryImportGenerator>
</PropertyGroup>
<!-- Do not reference these assemblies from the TargetingPack since we are building part of the source code for tests. -->
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<StringResourcesPath>../../src/Resources/Strings.resx</StringResourcesPath>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
<DefineConstants>$(DefineConstants);NETWORKINFORMATION_TEST</DefineConstants>
<EventSourceSupport Condition="'$(TestNativeAot)' == 'true'">true</EventSourceSupport>
</PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
<EnableLibraryImportGenerator>true</EnableLibraryImportGenerator>
</PropertyGroup>
<!-- Test APIs introduced after 1.0 -->
<Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.InterfaceNameToIndex.cs"
Link="Common\Interop\Unix\System.Native\Interop.InterfaceNameToIndex.cs" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'browser' or '$(TargetPlatformIdentifier)' == 'Wasi'">
+ <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'browser' or '$(TargetPlatformIdentifier)' == 'wasi'">
<Compile Include="$(CommonPath)System\Net\NetworkInformation\HostInformationPal.Browser.cs"
Link="Common\System\Net\NetworkInformation\HostInformationPal.Browser.cs" />
<Compile Include="$(CommonPath)System\Net\NetworkInformation\InterfaceInfoPal.Browser.cs"
</ItemGroup>
<!-- Support for deploying msquic on Windows -->
- <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'windows' and '$(UseQuicTransportPackage)' == 'true' and '$(DotNetBuildFromSource)' != 'true'">
+ <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'windows' and
+ '$(TargetOS)' == 'windows' and
+ '$(UseQuicTransportPackage)' == 'true' and
+ '$(DotNetBuildFromSource)' != 'true'">
<BinPlaceDir Include="$(MicrosoftNetCoreAppRuntimePackNativeDir)" ItemName="NativeBinPlaceItem" />
<BinPlaceDir Include="$(NetCoreAppCurrentTestHostSharedFrameworkPath)" ItemName="NativeBinPlaceItem" />
<BinPlaceDir Include="$(LibrariesAllBinArtifactsPath)" ItemName="NativeBinPlaceItem" />
<BinPlaceDir Include="$(LibrariesNativeArtifactsPath)" ItemName="NativeBinPlaceItem" />
- <NativeBinPlaceItem Include="$(PkgSystem_Net_MsQuic_Transport)\runtimes\win10-$(TargetArchitecture)\native\*" />
- </ItemGroup>
- <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'windows' and '$(UseQuicTransportPackage)' != 'true' and '$(DotNetBuildFromSource)' != 'true'">
- <BinPlaceDir Include="$(MicrosoftNetCoreAppRuntimePackNativeDir)" ItemName="NativeBinPlaceItem" />
- <BinPlaceDir Include="$(NetCoreAppCurrentTestHostSharedFrameworkPath)" ItemName="NativeBinPlaceItem" />
- <BinPlaceDir Include="$(LibrariesAllBinArtifactsPath)" ItemName="NativeBinPlaceItem" />
- <BinPlaceDir Include="$(LibrariesNativeArtifactsPath)" ItemName="NativeBinPlaceItem" />
- <NativeBinPlaceItem Include="$(PkgMicrosoft_Native_Quic_MsQuic_Schannel)\build\native\bin\$(TargetArchitecture)\*" />
+ <NativeBinPlaceItem Include="$(PkgSystem_Net_MsQuic_Transport)\runtimes\win10-$(TargetArchitecture)\native\*"
+ Condition="'$(UseQuicTransportPackage)' == 'true'" />
+ <NativeBinPlaceItem Include="$(PkgMicrosoft_Native_Quic_MsQuic_Schannel)\build\native\bin\$(TargetArchitecture)\*"
+ Condition="'$(UseQuicTransportPackage)' != 'true'" />
</ItemGroup>
<ItemGroup>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
<!-- SYSLIB0014: WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead. -->
<NoWarn>$(NoWarn);SYSLIB0014</NoWarn>
<!-- the res/xml/network_security_config.xml file comes from the System.Net.TestData package -->
- <IncludeNetworkSecurityConfig Condition="'$(TargetOS)' == 'Android'">true</IncludeNetworkSecurityConfig>
+ <IncludeNetworkSecurityConfig Condition="'$(TargetOS)' == 'android'">true</IncludeNetworkSecurityConfig>
<EnablePreviewFeatures>true</EnablePreviewFeatures>
<EventSourceSupport Condition="'$(TestNativeAot)' == 'true'">true</EventSourceSupport>
</PropertyGroup>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)-osx;$(NetCoreAppCurrent)-ios</TargetFrameworks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
<EnableLibraryImportGenerator>true</EnableLibraryImportGenerator>
<!-- the res/xml/network_security_config.xml file comes from the System.Net.TestData package -->
- <IncludeNetworkSecurityConfig Condition="'$(TargetOS)' == 'Android'">true</IncludeNetworkSecurityConfig>
+ <IncludeNetworkSecurityConfig Condition="'$(TargetOS)' == 'android'">true</IncludeNetworkSecurityConfig>
<EnablePreviewFeatures>true</EnablePreviewFeatures>
<EventSourceSupport Condition="'$(TestNativeAot)' == 'true'">true</EventSourceSupport>
</PropertyGroup>
ENV CONFIGURATION=$CONFIGURATION
ENV SSLSTRESS_ARGS=''
-CMD /live-runtime-artifacts/testhost/net$VERSION-Linux-$CONFIGURATION-x64/dotnet exec --roll-forward Major \
+CMD /live-runtime-artifacts/testhost/net$VERSION-linux-$CONFIGURATION-x64/dotnet exec --roll-forward Major \
./bin/$CONFIGURATION/net$VERSION/SslStress.dll $SSLSTRESS_ARGS
\ No newline at end of file
libraries_configuration=${libraries_configuration^} # Uppercase first character
fi
-testhost_root=$repo_root/artifacts/bin/testhost/net$version-Linux-$libraries_configuration-x64
+testhost_root=$repo_root/artifacts/bin/testhost/net$version-linux-$libraries_configuration-x64
echo "StressConfiguration: $stress_configuration, LibrariesConfiguration: $libraries_configuration, testhost: $testhost_root"
if [[ ! -d $testhost_root ]]; then
<!-- Disable: CLSCompliant attribute is not needed -->
<NoWarn>$(NoWarn);3021</NoWarn>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)-osx;$(NetCoreAppCurrent)-ios;$(NetCoreAppCurrent)-android</TargetFrameworks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
<EnableLibraryImportGenerator>true</EnableLibraryImportGenerator>
</PropertyGroup>
<ItemGroup>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
<TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser</TargetFrameworks>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
<EventSourceSupport Condition="'$(TestNativeAot)' == 'true'">true</EventSourceSupport>
</PropertyGroup>
<ItemGroup>
<DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
<!-- SYSLIB0014: WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead. -->
<NoWarn>$(NoWarn);SYSLIB0014</NoWarn>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
</PropertyGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs" />
<Project Sdk="Microsoft.NET.Sdk">
- <Import Condition="'$(TargetOS)' == 'Browser'" Project="$(CommonTestPath)System/Net/Prerequisites/LocalEchoServer.props" />
+ <Import Condition="'$(TargetOS)' == 'browser'" Project="$(CommonTestPath)System/Net/Prerequisites/LocalEchoServer.props" />
<PropertyGroup>
<StringResourcesPath>../src/Resources/Strings.resx</StringResourcesPath>
<!--Remove once this is fixed, https://github.com/dotnet/runtime/issues/71506 -->
<IlcTrimMetadata>false</IlcTrimMetadata>
<!-- the res/xml/network_security_config.xml file comes from the System.Net.TestData package -->
- <IncludeNetworkSecurityConfig Condition="'$(TargetOS)' == 'Android'">true</IncludeNetworkSecurityConfig>
+ <IncludeNetworkSecurityConfig Condition="'$(TargetOS)' == 'android'">true</IncludeNetworkSecurityConfig>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'browser'">
<!-- This doesn't run on V8 because it lacks websocket support -->
<Scenario>WasmTestOnBrowser</Scenario>
<TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
<Project Sdk="Microsoft.NET.Sdk">
- <Import Condition="'$(TargetOS)' == 'Browser'" Project="$(CommonTestPath)System/Net/Prerequisites/LocalEchoServer.props" />
+ <Import Condition="'$(TargetOS)' == 'browser'" Project="$(CommonTestPath)System/Net/Prerequisites/LocalEchoServer.props" />
<PropertyGroup>
<StringResourcesPath>../../src/Resources/Strings.resx</StringResourcesPath>
<DefineConstants>$(DefineConstants);NETSTANDARD</DefineConstants>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'browser'">
<WasmXHarnessArgs>--background-throttling</WasmXHarnessArgs>
<Scenario>WasmTestOnBrowser</Scenario>
<TestArchiveTestsRoot>$(TestArchiveRoot)browseronly/</TestArchiveTestsRoot>
<IlcTrimMetadata>false</IlcTrimMetadata>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'browser'">
<!-- This doesn't run on V8 shell because https://bugs.chromium.org/p/v8/issues/detail?id=12541 -->
<Scenario>WasmTestOnBrowser</Scenario>
<TestArchiveTestsRoot>$(TestArchiveRoot)browserornodejs/</TestArchiveTestsRoot>
<NoWarn>$(NoWarn);436;SYSLIB0037</NoWarn>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetFrameworkMinimum)</TargetFrameworks>
<EnableLibraryImportGenerator>true</EnableLibraryImportGenerator>
- <DefineConstants Condition="'$(TargetOS)' == 'Browser'">$(DefineConstants);TARGET_BROWSER</DefineConstants>
+ <DefineConstants Condition="'$(TargetOS)' == 'browser'">$(DefineConstants);TARGET_BROWSER</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(CommonTestPath)System\Security\Cryptography\SignatureSupport.cs"
<PackageReference Include="System.Security.Cryptography.Algorithms" Version="$(SystemSecurityCryptographyAlgorithmsVersion)" />
<PackageReference Include="System.ValueTuple" Version="$(SystemValueTupleVersion)" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser'">
<WasmFilesToIncludeFromPublishDir Include="$(AssemblyName).dll" />
</ItemGroup>
</Project>
<ItemGroup>
<ProjectReference Include="..\src\System.Reflection.MetadataLoadContext.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser'">
<WasmFilesToIncludeFromPublishDir Include="System.Private.CoreLib.dll" />
<WasmFilesToIncludeFromPublishDir Include="System.Reflection.MetadataLoadContext.Tests.dll" />
<WasmFilesToIncludeFromPublishDir Include="mscorlib.dll" />
<NoWarn>$(NoWarn);SYSLIB0013;SYSLIB0037</NoWarn>
<!-- these tests depend on the pdb files -->
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
</PropertyGroup>
<ItemGroup>
<RdXmlFile Include="default.rd.xml" />
<ProjectReference Include="TestExe\System.Reflection.TestExe.csproj" />
<ProjectReference Include="TestAssembly\TestAssembly.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser'">
<WasmFilesToIncludeFromPublishDir Include="$(AssemblyName).dll" />
<WasmFilesToIncludeFromPublishDir Include="$(AssemblyName).pdb" />
</ItemGroup>
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)</TargetFrameworks>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- <FeatureWasmThreads Condition="'$(TargetOS)' == 'Browser' and '$(MonoWasmBuildVariant)' == 'multithread'">true</FeatureWasmThreads>
+ <FeatureWasmThreads Condition="'$(TargetOS)' == 'browser' and '$(MonoWasmBuildVariant)' == 'multithread'">true</FeatureWasmThreads>
<DefineConstants Condition="'$(FeatureWasmThreads)' == 'true'" >$(DefineConstants);FEATURE_WASM_THREADS</DefineConstants>
</PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<TestRuntime>true</TestRuntime>
<!-- COM tests are currently only supported only in Windows -->
- <IgnoreForCI Condition="'$(TargetOS)' != 'Windows'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' != 'windows'">true</IgnoreForCI>
</PropertyGroup>
<ItemGroup>
<Compile Include="System\Runtime\InteropServices\Marshal\MarshalComDisabledTests.cs" />
<!-- To integrate with DNNE's architecture calculation, we need to set the RID for this project. -->
<RuntimeIdentifier>$(OutputRid)</RuntimeIdentifier>
<AppHostRuntimeIdentifier>$(PackageRID)</AppHostRuntimeIdentifier>
- <_TargetsAppleOS Condition="'$(TargetOS)' == 'OSX' or '$(TargetOS)' == 'MacCatalyst' or
- '$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'iOSSimulator' or
- '$(TargetOS)' == 'tvOSSimulator'">true</_TargetsAppleOS>
+ <_TargetsAppleOS Condition="'$(TargetOS)' == 'osx' or '$(TargetOS)' == 'maccatalyst' or
+ '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'iossimulator' or
+ '$(TargetOS)' == 'tvossimulator'">true</_TargetsAppleOS>
</PropertyGroup>
<!-- Until we use the live app host, use a prebuilt from the 7.0 SDK.
</Target>
<Target Name="GetAppleBuildArgumentsForDNNE" Condition="'$(_TargetsAppleOS)' == 'true'">
- <PropertyGroup Condition=" '$(TargetOS)' == 'MacCatalyst'">
+ <PropertyGroup Condition=" '$(TargetOS)' == 'maccatalyst'">
<TargetTriple Condition="'$(TargetArchitecture)' == 'arm64'">arm64-apple-ios14.2-macabi</TargetTriple>
<TargetTriple Condition="'$(TargetArchitecture)' == 'x64'">x86_64-apple-ios13.5-macabi</TargetTriple>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'OSX'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'osx'">
<TargetTriple Condition="'$(TargetArchitecture)' == 'arm64'">arm64-apple-macos11</TargetTriple>
<TargetTriple Condition="'$(TargetArchitecture)' == 'x64'">x86_64-apple-macos10.14</TargetTriple>
<XCodeSdkName>macosx</XCodeSdkName>
<ItemGroup>
<!-- iOS & tvOS are aot workloads and loading an embedded assembly results in some dynamic codegen, which is not allowed -->
- <ProjectReference Condition="'$(TargetOS)' != 'iOS' and '$(TargetOS)' != 'tvOS'" Include="System.Runtime.Loader.Test.Assembly\System.Runtime.Loader.Test.Assembly.csproj" ReferenceOutputAssembly="false" OutputItemType="EmbeddedResource" />
- <ProjectReference Condition="'$(TargetOS)' != 'iOS' and '$(TargetOS)' != 'tvOS'" Include="System.Runtime.Loader.Test.Assembly2\System.Runtime.Loader.Test.Assembly2.csproj" ReferenceOutputAssembly="false" OutputItemType="EmbeddedResource" />
- <ProjectReference Condition="'$(TargetOS)' != 'iOS' and '$(TargetOS)' != 'tvOS'" Include="System.Runtime.Loader.Test.AssemblyNotSupported\System.Runtime.Loader.Test.AssemblyNotSupported.csproj" ReferenceOutputAssembly="false" OutputItemType="EmbeddedResource" />
- <ProjectReference Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'" Include="System.Runtime.Loader.Test.Assembly\System.Runtime.Loader.Test.Assembly.csproj" />
- <ProjectReference Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'" Include="System.Runtime.Loader.Test.Assembly2\System.Runtime.Loader.Test.Assembly2.csproj" />
- <ProjectReference Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'" Include="System.Runtime.Loader.Test.AssemblyNotSupported\System.Runtime.Loader.Test.AssemblyNotSupported.csproj" />
+ <ProjectReference Condition="'$(TargetOS)' != 'ios' and '$(TargetOS)' != 'tvos'" Include="System.Runtime.Loader.Test.Assembly\System.Runtime.Loader.Test.Assembly.csproj" ReferenceOutputAssembly="false" OutputItemType="EmbeddedResource" />
+ <ProjectReference Condition="'$(TargetOS)' != 'ios' and '$(TargetOS)' != 'tvos'" Include="System.Runtime.Loader.Test.Assembly2\System.Runtime.Loader.Test.Assembly2.csproj" ReferenceOutputAssembly="false" OutputItemType="EmbeddedResource" />
+ <ProjectReference Condition="'$(TargetOS)' != 'ios' and '$(TargetOS)' != 'tvos'" Include="System.Runtime.Loader.Test.AssemblyNotSupported\System.Runtime.Loader.Test.AssemblyNotSupported.csproj" ReferenceOutputAssembly="false" OutputItemType="EmbeddedResource" />
+ <ProjectReference Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'" Include="System.Runtime.Loader.Test.Assembly\System.Runtime.Loader.Test.Assembly.csproj" />
+ <ProjectReference Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'" Include="System.Runtime.Loader.Test.Assembly2\System.Runtime.Loader.Test.Assembly2.csproj" />
+ <ProjectReference Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'" Include="System.Runtime.Loader.Test.AssemblyNotSupported\System.Runtime.Loader.Test.AssemblyNotSupported.csproj" />
<ProjectReference Include="ContextualReflectionDependency\System.Runtime.Loader.Test.ContextualReflectionDependency.csproj" />
<ProjectReference Include="ReferencedClassLib\ReferencedClassLib.csproj" />
<ProjectReference Include="ReferencedClassLibNeutralIsSatellite\ReferencedClassLibNeutralIsSatellite.csproj" />
<ProjectReference Include="ApplyUpdate\System.Reflection.Metadata.ApplyUpdate.Test.ReflectionAddNewType\System.Reflection.Metadata.ApplyUpdate.Test.ReflectionAddNewType.csproj" />
<ProjectReference Include="ApplyUpdate\System.Reflection.Metadata.ApplyUpdate.Test.ReflectionAddNewMethod\System.Reflection.Metadata.ApplyUpdate.Test.ReflectionAddNewMethod.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser'">
<WasmFilesToIncludeFromPublishDir Include="$(AssemblyName).dll" />
<TrimmerRootDescriptor Include="$(MSBuildThisFileDirectory)ILLink.Descriptors.xml" />
</ItemGroup>
- <Target Name="PreserveEnCAssembliesFromLinking" Condition="'$(TargetOS)' == 'Browser' and '$(EnableAggressiveTrimming)' == 'true'" BeforeTargets="ConfigureTrimming">
+ <Target Name="PreserveEnCAssembliesFromLinking" Condition="'$(TargetOS)' == 'browser' and '$(EnableAggressiveTrimming)' == 'true'" BeforeTargets="ConfigureTrimming">
<ItemGroup>
<!-- want to compute the intersection: apply update test assemblies that are also resolved to publish.
-->
</ItemGroup>
</Target>
- <Target Name="IncludeDeltasInWasmBundle" BeforeTargets="PrepareForWasmBuildApp" Condition="'$(TargetOS)' == 'Browser'">
+ <Target Name="IncludeDeltasInWasmBundle" BeforeTargets="PrepareForWasmBuildApp" Condition="'$(TargetOS)' == 'browser'">
<ItemGroup>
<!-- FIXME: this belongs in eng/testing/tests.wasm.targets -->
<!-- FIXME: Can we do something on the Content items in the referenced projects themselves to get this for free? -->
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);net48</TargetFrameworks>
<Nullable>enable</Nullable>
- <IgnoreForCI Condition="'$(TargetOS)' == 'Browser'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'browser'">true</IgnoreForCI>
</PropertyGroup>
<ItemGroup>
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser</TargetFrameworks>
<!-- The library is not supported on mobile platforms (PNSE) -->
- <IgnoreForCI Condition="'$(TargetOS)' == 'Android' or '$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'">true</IgnoreForCI>
+ <IgnoreForCI Condition="'$(TargetOS)' == 'android' or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'">true</IgnoreForCI>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<EnableLibraryImportGenerator>true</EnableLibraryImportGenerator>
</PropertyGroup>
<!-- these tests depend on the pdb files. Causes test failures like:
[FAIL] System.Text.Json.Tests.DebuggerTests.DefaultJsonElement -->
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
<!-- Needed for JsonSerializerOptionsUpdateHandler tests -->
- <MetadataUpdaterSupport Condition="'$(MetadataUpdaterSupport)' == '' and '$(TargetOS)' == 'Browser'">true</MetadataUpdaterSupport>
+ <MetadataUpdaterSupport Condition="'$(MetadataUpdaterSupport)' == '' and '$(TargetOS)' == 'browser'">true</MetadataUpdaterSupport>
<WasmXHarnessArgs>$(WasmXHarnessArgs) --timeout=1800</WasmXHarnessArgs>
<IncludeRemoteExecutor>true</IncludeRemoteExecutor>
</PropertyGroup>
<!-- SYSLIB1045 is for switching to GeneratedRegex -->
<NoWarn>$(NoWarn);xUnit2008;SYSLIB0036;SYSLIB1045</NoWarn>
<TargetFrameworks>$(NetCoreAppCurrent);net48</TargetFrameworks>
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
<IsHighAotMemoryUsageTest>true</IsHighAotMemoryUsageTest> <!-- to avoid OOMs with source generation in wasm: https://github.com/dotnet/runtime/pull/60701 -->
<NoWarn>$(NoWarn);xUnit2008;SYSLIB0036</NoWarn>
<StringResourcesPath>..\..\src\Resources\Strings.resx</StringResourcesPath>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DefineConstants>$(DefineConstants);DEBUG</DefineConstants> <!-- always define debug, even in release builds -->
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>$(NetCoreAppCurrent);$(NetFrameworkMinimum)</TargetFrameworks>
- <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'Browser'">true</DebuggerSupport>
+ <DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(TargetOS)' == 'browser'">true</DebuggerSupport>
</PropertyGroup>
<ItemGroup>
<Compile Include="BoundedChannelTests.cs" />
<Project Sdk="Microsoft.Build.NoTargets">
<PropertyGroup>
- <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS.ToLowerInvariant())</TargetFramework>
+ <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS)</TargetFramework>
<!-- Reference the dependencies to have the assemblies available for API comparison. -->
<NoTargetsDoNotReferenceOutputAssemblies>false</NoTargetsDoNotReferenceOutputAssemblies>
<!-- Target reference assemblies instead of implementation assemblies. -->
<PropertyGroup>
<GCStressDependsOnCoreDisTools>false</GCStressDependsOnCoreDisTools>
- <GCStressDependsOnCoreDisTools Condition="'$(TargetOS)' == 'Windows' And ('$(TargetArchitecture)' == 'x64' Or '$(TargetArchitecture)' == 'x86')">true</GCStressDependsOnCoreDisTools>
- <GCStressDependsOnCoreDisTools Condition="'$(TargetOS)' == 'Linux' And '$(TargetArchitecture)' == 'x64'">true</GCStressDependsOnCoreDisTools>
+ <GCStressDependsOnCoreDisTools Condition="'$(TargetOS)' == 'windows' And ('$(TargetArchitecture)' == 'x64' Or '$(TargetArchitecture)' == 'x86')">true</GCStressDependsOnCoreDisTools>
+ <GCStressDependsOnCoreDisTools Condition="'$(TargetOS)' == 'linux' And '$(TargetArchitecture)' == 'x64'">true</GCStressDependsOnCoreDisTools>
<CopyCoreDisToolsToCoreRoot>false</CopyCoreDisToolsToCoreRoot>
<CopyCoreDisToolsToCoreRoot Condition="$(GCStressDependsOnCoreDisTools) And '$(DotNetBuildFromSource)' != 'true'">true</CopyCoreDisToolsToCoreRoot>
</PropertyGroup>
<Project Sdk="Microsoft.Build.Traversal">
<PropertyGroup>
- <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS.ToLowerInvariant())</TargetFramework>
+ <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS)</TargetFramework>
<!-- Filter ProjectReferences to build the best matching target framework only. -->
<FilterTraversalProjectReferences>true</FilterTraversalProjectReferences>
</PropertyGroup>
<Project Sdk="Microsoft.Build.NoTargets">
<PropertyGroup>
- <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS.ToLowerInvariant())</TargetFramework>
+ <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS)</TargetFramework>
<!-- By default, build the NetCoreAppCurrent vertical only. -->
<BuildTargetFramework Condition="'$(BuildAllConfigurations)' != 'true'">$(NetCoreAppCurrent)</BuildTargetFramework>
</PropertyGroup>
<ExternalsProject Include="externals.csproj" Condition="'$(BuildTargetFramework)' == '$(NetCoreAppCurrent)' or '$(BuildTargetFramework)' == ''" />
<ProjectReference Include="@(ExternalsProject)" Condition="'$(MSBuildRestoreSessionId)' != ''" />
- <ProjectReference Include="$(CommonTestPath)AppleTestRunner\AppleTestRunner.csproj" Condition="'$(TargetOS)' == 'MacCatalyst' or '$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator'"/>
- <ProjectReference Include="$(CommonTestPath)AndroidTestRunner\AndroidTestRunner.csproj" Condition="'$(TargetOS)' == 'Android'" />
- <ProjectReference Include="$(CommonTestPath)WasmTestRunner\WasmTestRunner.csproj" Condition="'$(TargetOS)' == 'Browser'" />
- <ProjectReference Include="$(MonoProjectRoot)wasm\symbolicator\WasmSymbolicator.csproj" Condition="'$(TargetOS)' == 'Browser'" />
+ <ProjectReference Include="$(CommonTestPath)AppleTestRunner\AppleTestRunner.csproj" Condition="'$(TargetOS)' == 'maccatalyst' or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator'"/>
+ <ProjectReference Include="$(CommonTestPath)AndroidTestRunner\AndroidTestRunner.csproj" Condition="'$(TargetOS)' == 'android'" />
+ <ProjectReference Include="$(CommonTestPath)WasmTestRunner\WasmTestRunner.csproj" Condition="'$(TargetOS)' == 'browser'" />
+ <ProjectReference Include="$(MonoProjectRoot)wasm\symbolicator\WasmSymbolicator.csproj" Condition="'$(TargetOS)' == 'browser'" />
<!-- needed to test workloads for wasm -->
- <ProjectReference Include="$(InstallerProjectRoot)pkg\sfx\Microsoft.NETCore.App\Microsoft.NETCore.App.Runtime.sfxproj" Pack="true" Condition="'$(TargetOS)' == 'Browser'" />
+ <ProjectReference Include="$(InstallerProjectRoot)pkg\sfx\Microsoft.NETCore.App\Microsoft.NETCore.App.Runtime.sfxproj" Pack="true" Condition="'$(TargetOS)' == 'browser'" />
</ItemGroup>
<Import Project="$(RepositoryEngineeringDir)testing\wasm-provisioning.targets"
- Condition="'$(TargetOS)' == 'Browser' and '$(ContinuousIntegrationBuild)' == 'true'" />
+ Condition="'$(TargetOS)' == 'browser' and '$(ContinuousIntegrationBuild)' == 'true'" />
<Target Name="BuildExternalsProject"
BeforeTargets="Build">
<EnableDefaultBuildHelixWorkItems>false</EnableDefaultBuildHelixWorkItems>
<IncludeHelixCorrelationPayload>false</IncludeHelixCorrelationPayload>
- <NeedsToBuildAppsOnHelix Condition="('$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator') and '$(NeedsToBuildAppsOnHelix)' == '' and '$(Scenario)' == 'BuildiOSApps'">true</NeedsToBuildAppsOnHelix>
+ <NeedsToBuildAppsOnHelix Condition="('$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator') and '$(NeedsToBuildAppsOnHelix)' == '' and '$(Scenario)' == 'BuildiOSApps'">true</NeedsToBuildAppsOnHelix>
<NeedsiOSSDK Condition="'$(NeedsToBuildAppsOnHelix)' == 'true' and '$(NeedsWorkload)' != 'true'">true</NeedsiOSSDK>
</PropertyGroup>
- <ItemDefinitionGroup Condition="'$(TargetOS)' == 'MacCatalyst'">
+ <ItemDefinitionGroup Condition="'$(TargetOS)' == 'maccatalyst'">
<XHarnessAppBundleToTest>
<Targets>maccatalyst</Targets>
<TestTimeout>$(_workItemTimeout)</TestTimeout>
</XHarnessAppBundleToTest>
</ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(TargetOS)' == 'Android'">
+ <ItemDefinitionGroup Condition="'$(TargetOS)' == 'android'">
<XHarnessApkToTest>
<Targets Condition="'$(TargetArchitecture)' == 'arm'">armeabi-v7a</Targets>
<Targets Condition="'$(TargetArchitecture)' == 'arm64'">arm64-v8a</Targets>
<Target Name="PrepareForBuildHelixWorkItems_Mobile">
- <PropertyGroup Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'MacCatalyst'">
- <AppleTestTarget Condition="'$(TargetOS)' == 'iOSSimulator'">ios-simulator-64</AppleTestTarget>
- <AppleTestTarget Condition="'$(TargetOS)' == 'tvOSSimulator'">tvos-simulator</AppleTestTarget>
- <AppleTestTarget Condition="'$(TargetOS)' == 'iOS'">ios-device</AppleTestTarget>
- <AppleTestTarget Condition="'$(TargetOS)' == 'tvOS'">tvos-device</AppleTestTarget>
- <AppleTestTarget Condition="'$(TargetOS)' == 'MacCatalyst'">maccatalyst</AppleTestTarget>
+ <PropertyGroup Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst'">
+ <AppleTestTarget Condition="'$(TargetOS)' == 'iossimulator'">ios-simulator-64</AppleTestTarget>
+ <AppleTestTarget Condition="'$(TargetOS)' == 'tvossimulator'">tvos-simulator</AppleTestTarget>
+ <AppleTestTarget Condition="'$(TargetOS)' == 'ios'">ios-device</AppleTestTarget>
+ <AppleTestTarget Condition="'$(TargetOS)' == 'tvos'">tvos-device</AppleTestTarget>
+ <AppleTestTarget Condition="'$(TargetOS)' == 'maccatalyst'">maccatalyst</AppleTestTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetsAppleMobile)' == 'true'">
<HelixCorrelationPayload Include="cmake" Uri="$(CMakeUrl)" Destination="build/cmake" />
<HelixCorrelationPayload Include="$(AppleAppBuilderDir)" Destination="build/AppleAppBuilder" />
<HelixCorrelationPayload Include="$(MonoAOTCompilerDir)" Destination="build/MonoAOTCompiler" />
- <HelixCorrelationPayload Include="$(MicrosoftNetCoreAppRuntimePackDir)" Destination="build/microsoft.netcore.app.runtime.$(TargetOS.ToLower())-$(TargetArchitecture.ToLower())" />
+ <HelixCorrelationPayload Include="$(MicrosoftNetCoreAppRuntimePackDir)" Destination="build/microsoft.netcore.app.runtime.$(TargetOS)-$(TargetArchitecture.ToLower())" />
<HelixCorrelationPayload Include="$(iOSLikeBuildTargetsDir)" Destination="build/apple" />
<HelixCorrelationPayload Include="$(MonoAotCrossDir)" Destination="build/cross" />
<HelixCorrelationPayload Include="$(MonoTargetsTasksDir)" Destination="build/MonoTargetsTasks" />
Note: We're excluding iOS and tvOS device runonly as mlaunch does not seem to return and times out.
-->
- <XHarnessAppBundleToTest Condition="Exists('$(TestArchiveRoot)runonly') and '$(TargetOS)' != 'tvOS' and '$(TargetOS)' != 'iOS'" Include="$([System.IO.Directory]::GetDirectories('$(TestArchiveRoot)runonly', '*.app', System.IO.SearchOption.AllDirectories))" >
+ <XHarnessAppBundleToTest Condition="Exists('$(TestArchiveRoot)runonly') and '$(TargetOS)' != 'tvos' and '$(TargetOS)' != 'ios'" Include="$([System.IO.Directory]::GetDirectories('$(TestArchiveRoot)runonly', '*.app', System.IO.SearchOption.AllDirectories))" >
<!-- The sample app doesn't need test runner -->
<IncludesTestRunner>false</IncludesTestRunner>
<!-- The sample's C# Main method returns 42 so it should be considered by xharness as a success -->
</XHarnessAppBundleToTest>
<!-- To save on overall size, we compress each app after building. -->
- <XHarnessAppBundleToTest Condition="Exists('$(TestArchiveRoot)runonly/$(OSPlatformConfig)') and '$(TargetOS)' != 'tvOS' and '$(TargetOS)' != 'iOS'"
+ <XHarnessAppBundleToTest Condition="Exists('$(TestArchiveRoot)runonly/$(OSPlatformConfig)') and '$(TargetOS)' != 'tvos' and '$(TargetOS)' != 'ios'"
Include="$([System.IO.Directory]::GetFiles('$(TestArchiveRoot)runonly/$(OSPlatformConfig)', '*.zip', System.IO.SearchOption.TopDirectoryOnly))"
Exclude="$([System.IO.Directory]::GetFiles('$(TestArchiveRoot)runonly', 'xharness-app-payload*', System.IO.SearchOption.AllDirectories))">
<!-- The sample app doesn't need test runner -->
</XHarnessAppBundleToTest>
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Android'">
+ <ItemGroup Condition="'$(TargetOS)' == 'android'">
<_apks Include="$(TestArchiveTestsRoot)**/*.apk" />
<XHarnessApkToTest Include="@(_apks)">
<AndroidPackageName>net.dot.%(Filename)</AndroidPackageName>
<_TestPath Condition="'%(XHarnessAppBundleToTest.CustomCommands)' != ''">$([System.IO.Path]::GetDirectoryName('%(XHarnessAppBundleToTest.Identity)'))</_TestPath>
</PropertyGroup>
- <Exec Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS'"
+ <Exec Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'"
Command="du -sh "$(_TestPath)""
ContinueOnError="true"
IgnoreExitCode="true"
To run a custom project specific target for adding/editing @(HelixWorkItem):
- In the project add:
- <HelixTargetsFile Condition="'$(TargetOS)' == 'Browser'">wasm.helix.targets</HelixTargetsFile>
+ <HelixTargetsFile Condition="'$(TargetOS)' == 'browser'">wasm.helix.targets</HelixTargetsFile>
- This files gets copied next to the test archive as $(MSBuildProjectName).helix.targets
- In this `wasm.helix.targets` file, add to $(HelixExtensionTargets) to run your custom target
<Error Condition="!Exists('$(TestEnvFilePath)')" Text="File $(TestEnvFilePath) not found!" />
</Target>
- <Target Condition="'$(Scenarios)' != '' and '$(TargetOS)' != 'Browser' and '$(TargetOS)' != 'iOS' and '$(TargetOS)' != 'iOSSimulator'" Name="CreateAllScenarioTestEnvFiles">
+ <Target Condition="'$(Scenarios)' != '' and '$(TargetOS)' != 'browser' and '$(TargetOS)' != 'ios' and '$(TargetOS)' != 'iossimulator'" Name="CreateAllScenarioTestEnvFiles">
<!-- This target creates one __TestEnv file for each of the scenarios in the $(Scenarios) comma-separated list. -->
<Message Importance="High" Text="Creating per-scenario TestEnv files for scenarios $(Scenarios)" />
<EnableDefaultBuildHelixWorkItems>true</EnableDefaultBuildHelixWorkItems>
</PropertyGroup>
- <Import Project="$(MSBuildThisFileDirectory)sendtohelix-wasm.targets" Condition="'$(TargetOS)' == 'Browser'" />
- <Import Project="$(MSBuildThisFileDirectory)sendtohelix-mobile.targets" Condition="'$(TargetsMobile)' == 'true' and '$(TargetOS)' != 'Browser'" />
+ <Import Project="$(MSBuildThisFileDirectory)sendtohelix-wasm.targets" Condition="'$(TargetOS)' == 'browser'" />
+ <Import Project="$(MSBuildThisFileDirectory)sendtohelix-mobile.targets" Condition="'$(TargetsMobile)' == 'true' and '$(TargetOS)' != 'browser'" />
<PropertyGroup Condition="'$(_workItemTimeout)' == ''">
<!-- Normal jobs have a 30 minute timeout for arm/arm64, and 15 minute timeout otherwise.
'$(Scenario)' == 'gcstress0xc_jitstress1' or
'$(Scenario)' == 'gcstress0xc_jitstress2' or
'$(Scenario)' == 'gcstress0xc_jitminopts_heapverify1'">06:00:00</_workItemTimeout>
- <_workItemTimeout Condition="'$(_workItemTimeout)' == '' and ('$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'MacCatalyst' or '$(TargetOS)' == 'Android')">00:30:00</_workItemTimeout>
- <_workItemTimeout Condition="'$(_workItemTimeout)' == '' and ('$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS')">00:45:00</_workItemTimeout>
+ <_workItemTimeout Condition="'$(_workItemTimeout)' == '' and ('$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst' or '$(TargetOS)' == 'android')">00:30:00</_workItemTimeout>
+ <_workItemTimeout Condition="'$(_workItemTimeout)' == '' and ('$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos')">00:45:00</_workItemTimeout>
<_workItemTimeout Condition="'$(Scenario)' == '' and '$(_workItemTimeout)' == '' and ('$(TargetArchitecture)' == 'arm64' or '$(TargetArchitecture)' == 'arm')">00:45:00</_workItemTimeout>
<_workItemTimeout Condition="'$(Scenario)' != '' and '$(_workItemTimeout)' == '' and ('$(TargetArchitecture)' == 'arm64' or '$(TargetArchitecture)' == 'arm')">01:00:00</_workItemTimeout>
<_workItemTimeout Condition="'$(Scenario)' == '' and '$(_workItemTimeout)' == '' and '$(Outerloop)' == 'true'">00:20:00</_workItemTimeout>
<HelixType>test/functional/cli/$(TestScope)/</HelixType>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'Browser' or '$(TargetOS)' == 'Android' or '$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'MacCatalyst'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'browser' or '$(TargetOS)' == 'android' or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst'">
<IncludeXHarnessCli>true</IncludeXHarnessCli>
<!-- XHarness telemetry not supported with custom WASM workloads yet -->
- <EnableXHarnessTelemetry Condition="'$(TargetOS)' == 'Browser'">false</EnableXHarnessTelemetry>
+ <EnableXHarnessTelemetry Condition="'$(TargetOS)' == 'browser'">false</EnableXHarnessTelemetry>
</PropertyGroup>
<ItemGroup Condition="'$(MonoEnvOptions)' != ''">
-->
<TestEnvFileName></TestEnvFileName>
<TestEnvFileName Condition=" '$(Scenario)' != '' and '$(TargetOS)' == 'windows'">SetStressModes_$(Scenario).cmd</TestEnvFileName>
- <TestEnvFileName Condition=" '$(Scenario)' != '' and '$(TargetOS)' != 'windows' and '$(TargetOS)' != 'Browser'">SetStressModes_$(Scenario).sh</TestEnvFileName>
+ <TestEnvFileName Condition=" '$(Scenario)' != '' and '$(TargetOS)' != 'windows' and '$(TargetOS)' != 'browser'">SetStressModes_$(Scenario).sh</TestEnvFileName>
</PropertyGroup>
<!-- HelixPreCommands is a set of commands run before the work item command. We use it here to inject
<_MonoAotCrossCompilerPath Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">$(_MonoAotCrossCompilerPath).exe</_MonoAotCrossCompilerPath>
</PropertyGroup>
<ItemGroup Condition="'$(RuntimeFlavor)' == 'Mono'">
- <MonoAotCrossCompiler Include="$(_MonoAotCrossCompilerPath)" RuntimeIdentifier="$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())" />
+ <MonoAotCrossCompiler Include="$(_MonoAotCrossCompilerPath)" RuntimeIdentifier="$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())" />
</ItemGroup>
</Target>
</ItemGroup>
<Message Condition="'$(Scenario)' != ''" Importance="High" Text="Done building Helix work items for scenario $(Scenario). Work item count: @(HelixWorkItem->Count())" />
- <Message Condition="'$(Scenario)' == '' and '$(TargetOS)' != 'Android' and '$(TargetOS)' != 'iOS' and '$(TargetOS)' != 'iOSSimulator' and '$(TargetOS)' != 'tvOS' and '$(TargetOS)' != 'tvOSSimulator' and '$(TargetOS)' != 'MacCatalyst'" Importance="High" Text="Done building Helix work items. Work item count: @(HelixWorkItem->Count())" />
+ <Message Condition="'$(Scenario)' == '' and '$(TargetOS)' != 'android' and '$(TargetOS)' != 'ios' and '$(TargetOS)' != 'iossimulator' and '$(TargetOS)' != 'tvos' and '$(TargetOS)' != 'tvossimulator' and '$(TargetOS)' != 'maccatalyst'" Importance="High" Text="Done building Helix work items. Work item count: @(HelixWorkItem->Count())" />
<Message Text="HelixCorrelationPayload: %(HelixCorrelationPayload.Identity)" Condition="'$(HelixDryRun)' == 'true'" Importance="High" />
<Message Text="HelixWorkItem: %(HelixWorkItem.Identity), Command: %(HelixWorkItem.Command), PreCommands: %(HelixWorkItem.PreCommands) with PayloadArchive: %(HelixWorkItem.PayloadArchive)" Condition="'$(HelixDryRun)' == 'true'" Importance="High" />
<Project Sdk="Microsoft.Build.Traversal">
<PropertyGroup>
- <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS.ToLowerInvariant())</TargetFramework>
+ <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS)</TargetFramework>
<!-- Filter ProjectReferences to build the best matching target framework only. -->
<FilterTraversalProjectReferences>true</FilterTraversalProjectReferences>
</PropertyGroup>
<Project Sdk="Microsoft.Build.NoTargets">
<PropertyGroup>
- <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS.ToLowerInvariant())</TargetFramework>
+ <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS)</TargetFramework>
<BuildInParallel>false</BuildInParallel>
</PropertyGroup>
<Project Sdk="Microsoft.Build.Traversal">
<PropertyGroup>
- <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS.ToLowerInvariant())</TargetFramework>
+ <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS)</TargetFramework>
</PropertyGroup>
<!-- Reference the source project shims which themselves then reference their corresponding ref project, if it exists. -->
<Import Project="..\Directory.Build.props" />
<PropertyGroup>
- <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS.ToLowerInvariant())</TargetFramework>
+ <TargetFramework>$(NetCoreAppCurrent)-$(TargetOS)</TargetFramework>
<Nullable>disable</Nullable>
<!-- By default make shims compile against reference assemblies. -->
<CompileUsingReferenceAssemblies>true</CompileUsingReferenceAssemblies>
<RunHighAOTResourceRequiringTestsOnly Condition="'$(RunHighAOTResourceRequiringTestsOnly)' == ''">false</RunHighAOTResourceRequiringTestsOnly>
<!-- Don't build samples, and functional tests on EAT, AOT, WBT, and Debugger lanes -->
- <RunWasmSamples Condition="'$(RunSmokeTestsOnly)' != 'true' and '$(RunHighAOTResourceRequiringTestsOnly)' != 'true' and '$(TargetOS)' == 'Browser' and '$(BuildAOTTestsOnHelix)' != 'true' and '$(TestWasmBuildTests)' != 'true' and '$(TestWasmDebuggerTests)' != 'true'">true</RunWasmSamples>
+ <RunWasmSamples Condition="'$(RunSmokeTestsOnly)' != 'true' and '$(RunHighAOTResourceRequiringTestsOnly)' != 'true' and '$(TargetOS)' == 'browser' and '$(BuildAOTTestsOnHelix)' != 'true' and '$(TestWasmBuildTests)' != 'true' and '$(TestWasmDebuggerTests)' != 'true'">true</RunWasmSamples>
</PropertyGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser'">
<!-- https://github.com/dotnet/runtime/issues/65356 - OOM while linking -->
<HighAOTResourceRequiringProject Include="$(MSBuildThisFileDirectory)System.Text.RegularExpressions\tests\FunctionalTests\System.Text.RegularExpressions.Tests.csproj" />
</ItemGroup>
<!-- Samples which are too complex for CI -->
- <ItemGroup Condition="'$(TargetOS)' == 'Browser'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser'">
<ProjectExclusions Include="$(MonoProjectRoot)sample\wasm\console-node-ts\Wasm.Console.Node.TS.Sample.csproj" />
<ProjectExclusions Include="$(MonoProjectRoot)sample\wasm\browser-webpack\Wasm.Browser.WebPack.Sample.csproj" />
<ProjectExclusions Include="$(MonoProjectRoot)sample\wasm\node-webpack\Wasm.Node.WebPack.Sample.csproj" />
</ItemGroup>
<!-- Samples that require a multi-threaded runtime -->
- <ItemGroup Condition="'$(TargetOS)' == 'Browser' and '$(MonoWasmBuildVariant)' != 'multithread'" >
+ <ItemGroup Condition="'$(TargetOS)' == 'browser' and '$(MonoWasmBuildVariant)' != 'multithread'" >
<ProjectExclusions Include="$(MonoProjectRoot)sample\wasm\browser-threads\Wasm.Browser.Threads.Sample.csproj" />
</ItemGroup>
<!-- Samples that require a perf-tracing wasm runtime -->
- <ItemGroup Condition="'$(TargetOS)' == 'Browser' and '$(MonoWasmBuildVariant)' != 'perftrace'" >
+ <ItemGroup Condition="'$(TargetOS)' == 'browser' and '$(MonoWasmBuildVariant)' != 'perftrace'" >
<ProjectExclusions Include="$(MonoProjectRoot)sample\wasm\browser-eventpipe\Wasm.Browser.EventPipe.Sample.csproj" />
</ItemGroup>
<!-- wasm EAT/AOT -->
- <ItemGroup Condition="'$(TargetOS)' == 'Browser' and '$(RunDisabledWasmTests)' != 'true' and '$(EnableAggressiveTrimming)' == 'true'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser' and '$(RunDisabledWasmTests)' != 'true' and '$(EnableAggressiveTrimming)' == 'true'">
</ItemGroup>
<!-- Wasm aot on all platforms -->
- <ItemGroup Condition="'$(TargetOS)' == 'Browser' and '$(BuildAOTTestsOnHelix)' == 'true' and '$(RunDisabledWasmTests)' != 'true' and '$(RunAOTCompilation)' == 'true'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser' and '$(BuildAOTTestsOnHelix)' == 'true' and '$(RunDisabledWasmTests)' != 'true' and '$(RunAOTCompilation)' == 'true'">
<!-- https://github.com/dotnet/runtime/issues/66118 -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Text.RegularExpressions\tests\UnitTests\System.Text.RegularExpressions.Unit.Tests.csproj" />
<!-- Normally run with HighAOT, but disabling there, and for AOT - https://github.com/dotnet/runtime/issues/71848 -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.InteropServices\tests\ComInterfaceGenerator.Tests\ComInterfaceGenerator.Tests.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'FreeBSD'">
+ <ItemGroup Condition="'$(TargetOS)' == 'freebsd'">
<!-- LibraryImportGenerator runtime tests build depends pulling down a pre-built nethost binary, which is not available for FreeBSD. -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.InteropServices\tests\LibraryImportGenerator.Tests\LibraryImportGenerator.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.InteropServices.JavaScript\tests\JSImportGenerator.UnitTest\JSImportGenerator.Unit.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.InteropServices.JavaScript\tests\JSImportGenerator.UnitTest\JSImportGenerator.Unit.Tests.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Windows' and '$(RuntimeFlavor)' == 'Mono' and '$(RunDisabledMonoTestsOnWindows)' != 'true'">
+ <ItemGroup Condition="'$(TargetOS)' == 'windows' and '$(RuntimeFlavor)' == 'Mono' and '$(RunDisabledMonoTestsOnWindows)' != 'true'">
<!-- Issue: https://github.com/dotnet/runtime/issues/53281 -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Net.WebSockets.Client\tests\System.Net.WebSockets.Client.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.InteropServices\tests\LibraryImportGenerator.UnitTests\LibraryImportGenerator.Unit.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Drawing.Common\tests\System.Drawing.Common.Tests.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' != 'Windows'">
+ <ItemGroup Condition="'$(TargetOS)' != 'windows'">
<!-- windows specific tests -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.Hosting.WindowsServices/tests/Microsoft.Extensions.Hosting.WindowsServices.Tests.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Android'">
+ <ItemGroup Condition="'$(TargetOS)' == 'android'">
<!-- Never going to run on Android -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Security.Cryptography.OpenSsl\tests\System.Security.Cryptography.OpenSsl.Tests.csproj" />
</ItemGroup>
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.IO.FileSystem\tests\DisabledFileLockingTests\System.IO.FileSystem.DisabledFileLocking.Tests.csproj" />
</ItemGroup>
- <ItemGroup Condition="('$(TargetOS)' == 'Android' or '$(TargetsLinuxBionic)' == 'true') and '$(RunDisabledAndroidTests)' != 'true'">
+ <ItemGroup Condition="('$(TargetOS)' == 'android' or '$(TargetsLinuxBionic)' == 'true') and '$(RunDisabledAndroidTests)' != 'true'">
<!-- Tests time out intermittently -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.Hosting\tests\UnitTests\Microsoft.Extensions.Hosting.Unit.Tests.csproj" />
<ProjectExclusions Include="$(RepoRoot)\src\tests\FunctionalTests\Android\Device_Emulator\gRPC\Android.Device_Emulator.gRPC.Test.csproj" />
</ItemGroup>
- <ItemGroup Condition="('$(TargetOS)' == 'Android' or '$(TargetsLinuxBionic)' == 'true') and '$(TargetArchitecture)' == 'arm64' and '$(RunDisabledAndroidTests)' != 'true'">
+ <ItemGroup Condition="('$(TargetOS)' == 'android' or '$(TargetsLinuxBionic)' == 'true') and '$(TargetArchitecture)' == 'arm64' and '$(RunDisabledAndroidTests)' != 'true'">
<!-- Crashes on CI (possibly flakey) https://github.com/dotnet/runtime/issues/52615 -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.Configuration/tests/FunctionalTests/Microsoft.Extensions.Configuration.Functional.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.Configuration.Binder/tests/Microsoft.Extensions.Configuration.Binder.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Reflection.DispatchProxy/tests/System.Reflection.DispatchProxy.Tests.csproj" />
</ItemGroup>
- <ItemGroup Condition="('$(TargetOS)' == 'Android' or '$(TargetsLinuxBionic)' == 'true') and '$(TargetArchitecture)' == 'x64' and '$(RunDisabledAndroidTests)' != 'true'">
+ <ItemGroup Condition="('$(TargetOS)' == 'android' or '$(TargetsLinuxBionic)' == 'true') and '$(TargetArchitecture)' == 'x64' and '$(RunDisabledAndroidTests)' != 'true'">
<!-- Test flakiness on x64 https://github.com/dotnet/runtime/issues/49937 -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Threading\tests\System.Threading.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Security.Cryptography\tests\System.Security.Cryptography.Tests.csproj" />
</ItemGroup>
- <ItemGroup Condition="('$(TargetOS)' == 'Android' or '$(TargetsLinuxBionic)' == 'true') and '$(TargetArchitecture)' == 'x86' and '$(RunDisabledAndroidTests)' != 'true'">
+ <ItemGroup Condition="('$(TargetOS)' == 'android' or '$(TargetsLinuxBionic)' == 'true') and '$(TargetArchitecture)' == 'x86' and '$(RunDisabledAndroidTests)' != 'true'">
<!-- Crashes only on x86 -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.Primitives\tests\Microsoft.Extensions.Primitives.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.Extensions\tests\System.Runtime.Extensions.Tests.csproj" />
<ProjectExclusions Include="$(RepoRoot)\src\tests\FunctionalTests\Android\Device_Emulator\AOT\Android.Device_Emulator.Aot.Test.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'iOS' and '$(RunDisablediOSTests)' != 'true'">
+ <ItemGroup Condition="'$(TargetOS)' == 'ios' and '$(RunDisablediOSTests)' != 'true'">
<ProjectExclusions Include="$(MSBuildThisFileDirectory)*\tests\**\*.Tests.csproj" />
<!-- Functional tests on devices have problems with return codes from mlaunch -->
- <ProjectExclusions Include="$(RepoRoot)\src\tests\FunctionalTests\$(TargetOS)\Device\**\*.Test.csproj" />
+ <ProjectExclusions Include="$(RepoRoot)\src\tests\FunctionalTests\iOS\Device\**\*.Test.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'iOSSimulator' and '$(TargetArchitecture)' == 'arm64' and '$(RunDisablediOSTests)' != 'true'">
+ <ItemGroup Condition="'$(TargetOS)' == 'iossimulator' and '$(TargetArchitecture)' == 'arm64' and '$(RunDisablediOSTests)' != 'true'">
<!-- Functional tests on arm64 simulator have problems with return codes from mlaunch -->
<ProjectExclusions Include="$(RepoRoot)\src\tests\FunctionalTests\iOS\Simulator\**\*.Test.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'tvOS' and '$(RunDisablediOSTests)' != 'true'">
+ <ItemGroup Condition="'$(TargetOS)' == 'tvos' and '$(RunDisablediOSTests)' != 'true'">
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Reflection\tests\System.Reflection.Emit.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Reflection.Emit.ILGeneration/tests/System.Reflection.Emit.ILGeneration.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Reflection.Emit.Lightweight/tests/System.Reflection.Emit.Lightweight.Tests.csproj" />
</ItemGroup>
<!-- Excluding all tests for aot catalyst until building on helix works properly -->
- <ItemGroup Condition="('$(TargetOS)' == 'MacCatalyst' and '$(BuildTestsOnHelix)' == 'true') and '$(RunDisablediOSTests)' != 'true'">
+ <ItemGroup Condition="('$(TargetOS)' == 'maccatalyst' and '$(BuildTestsOnHelix)' == 'true') and '$(RunDisablediOSTests)' != 'true'">
<ProjectExclusions Include="$(MSBuildThisFileDirectory)*\tests\**\*.Tests.csproj" />
<!-- No functional tests until helix stabilizes -->
<ProjectExclusions Include="$(RepoRoot)\src\tests\FunctionalTests\iOS\Simulator\**\*.Test.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'MacCatalyst'">
+ <ItemGroup Condition="'$(TargetOS)' == 'maccatalyst'">
<ProjectExclusions Include="$(RepoRoot)/src/tests/FunctionalTests/iOS/Simulator/XmlFormatWriterGeneratorAOT/iOS.Simulator.XmlFormatWriterGeneratorAot.Test.csproj" />
</ItemGroup>
<!-- Run only explicitly selected tests for Mac Catalyst in App Sandbox -->
- <ItemGroup Condition="'$(TargetOS)' == 'MacCatalyst' and '$(EnableAppSandbox)' == 'true'">
+ <ItemGroup Condition="'$(TargetOS)' == 'maccatalyst' and '$(EnableAppSandbox)' == 'true'">
<ProjectExclusions Include="$(MSBuildThisFileDirectory)*/tests/**/*.Tests.csproj" />
<ProjectExclusions Include="$(RepoRoot)/src/tests/FunctionalTests/iOS/Simulator/**/*.Test.csproj" />
<ProjectExclusions Remove="$(MSBuildThisFileDirectory)System.Diagnostics.Process/tests/System.Diagnostics.Process.Tests.csproj" />
</ItemGroup>
- <ItemGroup Condition="('$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'MacCatalyst') and '$(RunDisablediOSTests)' != 'true'">
+ <ItemGroup Condition="('$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst') and '$(RunDisablediOSTests)' != 'true'">
<!-- PNSE -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Net.Quic/tests/FunctionalTests/System.Net.Quic.Functional.Tests.csproj" />
<!-- https://github.com/dotnet/runtime/issues/51414 -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Net.Security/tests/FunctionalTests/System.Net.Security.Tests.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser' and '$(RunDisabledWasmTests)' != 'true' and '$(RunAOTCompilation)' != 'true'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser' and '$(RunDisabledWasmTests)' != 'true' and '$(RunAOTCompilation)' != 'true'">
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser' and '$(RunDisabledWasmTests)' != 'true'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser' and '$(RunDisabledWasmTests)' != 'true'">
<ProjectExclusions Include="$(MSBuildThisFileDirectory)Microsoft.NETCore.Platforms\tests\Microsoft.NETCore.Platforms.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Runtime.InteropServices.JavaScript\tests\JSImportGenerator.UnitTest\JSImportGenerator.Unit.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Net.WebSockets.Client\tests\wasm\System.Net.WebSockets.Client.Wasm.Tests.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser' and '$(MonoWasmBuildVariant)' == 'multithread' and '$(RunDisabledWasmTests)' != 'true'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser' and '$(MonoWasmBuildVariant)' == 'multithread' and '$(RunDisabledWasmTests)' != 'true'">
<!-- Issue: https://github.com/dotnet/runtime/issues/72101 -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Text.Json\tests\System.Text.Json.Tests\System.Text.Json.Tests.csproj" />
<!-- Issue: https://github.com/dotnet/runtime/issues/74411 -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Net.WebSockets.Client\tests\System.Net.WebSockets.Client.Tests.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser' and '$(MonoWasmBuildVariant)' == 'perftrace' and '$(RunDisabledWasmTests)' != 'true'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser' and '$(MonoWasmBuildVariant)' == 'perftrace' and '$(RunDisabledWasmTests)' != 'true'">
<!-- Issue: https://github.com/dotnet/runtime/issues/74411 -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Net.Http\tests\FunctionalTests\System.Net.Http.Functional.Tests.csproj" />
<!-- Issue: https://github.com/dotnet/runtime/issues/74413 -->
</ItemGroup>
<!-- Aggressive Trimming related failures -->
- <ItemGroup Condition="('$(TargetOS)' != 'Browser' and '$(RunAOTCompilation)' == 'true' and '$(MonoForceInterpreter)' != 'true') or ('$(TargetOS)' == 'Browser' and '$(BuildAOTTestsOnHelix)' == 'true' and '$(RunDisabledWasmTests)' != 'true')">
+ <ItemGroup Condition="('$(TargetOS)' != 'browser' and '$(RunAOTCompilation)' == 'true' and '$(MonoForceInterpreter)' != 'true') or ('$(TargetOS)' == 'browser' and '$(BuildAOTTestsOnHelix)' == 'true' and '$(RunDisabledWasmTests)' != 'true')">
</ItemGroup>
- <ItemGroup Condition="('$(TargetOS)' != 'Browser' and '$(RunAOTCompilation)' == 'true' and '$(MonoForceInterpreter)' != 'true') or ('$(TargetOS)' == 'Browser' and '$(BuildAOTTestsOnHelix)' == 'true' and '$(RunDisabledWasmTests)' != 'true') or ('$(TargetOS)' == 'iOS' and '$(BuildTestsOnHelix)' == 'true')">
+ <ItemGroup Condition="('$(TargetOS)' != 'browser' and '$(RunAOTCompilation)' == 'true' and '$(MonoForceInterpreter)' != 'true') or ('$(TargetOS)' == 'browser' and '$(BuildAOTTestsOnHelix)' == 'true' and '$(RunDisabledWasmTests)' != 'true') or ('$(TargetOS)' == 'ios' and '$(BuildTestsOnHelix)' == 'true')">
<!-- Issue: https://github.com/dotnet/runtime/issues/50724 -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Composition\tests\System.Composition.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Dynamic.Runtime\tests\System.Dynamic.Runtime.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.DependencyInjection\tests\DI.Tests\Microsoft.Extensions.DependencyInjection.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)Microsoft.Extensions.Logging.EventSource\tests\Microsoft.Extensions.Logging.EventSource.Tests.csproj" />
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Diagnostics.DiagnosticSource\tests\System.Diagnostics.DiagnosticSource.Tests.csproj" />
- <ProjectExclusions Condition="'$(TargetOS)' != 'iOS'" Include="$(MSBuildThisFileDirectory)System.Diagnostics.Tracing/tests/System.Diagnostics.Tracing.Tests.csproj" />
+ <ProjectExclusions Condition="'$(TargetOS)' != 'ios'" Include="$(MSBuildThisFileDirectory)System.Diagnostics.Tracing/tests/System.Diagnostics.Tracing.Tests.csproj" />
<!-- Issue: https://github.com/dotnet/runtime/issues/51708 -->
<ProjectExclusions Include="$(MSBuildThisFileDirectory)System.Linq.Expressions\tests\System.Linq.Expressions.Tests.csproj" />
<!-- wasm.build.tests are run on _WasmBuildTests job on CI, and with library tests locally. -->
<ProjectReference Include="$(RepoRoot)\src\mono\wasm\Wasm.Build.Tests\*.Tests.csproj"
Exclude="@(ProjectExclusions)"
- Condition="'$(TargetOS)' == 'Browser' and
+ Condition="'$(TargetOS)' == 'browser' and
(('$(ContinuousIntegrationBuild)' == 'true' and '$(TestWasmBuildTests)' == 'true') or
('$(ContinuousIntegrationBuild)' != 'true' and '$(TestAssemblies)' == 'true'))"
BuildInParallel="false" />
<ProjectReference Include="$(RepoRoot)\src\mono\wasm\debugger\Wasm.Debugger.Tests\*.Tests.csproj"
Exclude="@(ProjectExclusions)"
- Condition="'$(TargetOS)' == 'Browser' and
+ Condition="'$(TargetOS)' == 'browser' and
(('$(ContinuousIntegrationBuild)' == 'true' and '$(TestWasmDebuggerTests)' == 'true') or
('$(ContinuousIntegrationBuild)' != 'true' and '$(TestAssemblies)' == 'true'))"
BuildInParallel="false" />
</ItemGroup>
- <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(TargetOS)' == 'iOS'">
+ <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(TargetOS)' == 'ios'">
<!-- Only System.Runtime tests on iOS for now -->
<ProjectReference Include="$(MSBuildThisFileDirectory)System.Runtime\tests\System.Runtime.Tests.csproj" />
BuildInParallel="false" />
</ItemGroup>
- <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(TargetOS)' == 'iOS' and '$(IsManualOrRollingBuild)' == 'true'">
+ <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(TargetOS)' == 'ios' and '$(IsManualOrRollingBuild)' == 'true'">
<!-- These crash on tvOS, but do not on iOS. Run these only on the rolling builds -->
<ProjectReference Include="$(MSBuildThisFileDirectory)System.IO.MemoryMappedFiles\tests\System.IO.MemoryMappedFiles.Tests.csproj" />
<ProjectReference Include="$(MSBuildThisFileDirectory)System.Runtime.Numerics\tests\System.Runtime.Numerics.Tests.csproj" />
<ProjectReference Include="$(MSBuildThisFileDirectory)System.Formats.Cbor\tests\System.Formats.Cbor.Tests.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(RunSmokeTestsOnly)' != 'true' and '$(RunGrpcTestsOnly)' != 'true' and '$(TargetOS)' == 'iOSSimulator'">
+ <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(RunSmokeTestsOnly)' != 'true' and '$(RunGrpcTestsOnly)' != 'true' and '$(TargetOS)' == 'iossimulator'">
<!-- https://github.com/dotnet/runtime/issues/57666 -->
<!-- <ProjectReference Include="$(MonoProjectRoot)sample\iOS\Program.csproj"
BuildInParallel="false" /> -->
BuildInParallel="false" />
</ItemGroup>
- <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(RunSmokeTestsOnly)' != 'true' and '$(RunGrpcTestsOnly)' != 'true' and '$(TargetOS)' == 'tvOS'">
+ <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(RunSmokeTestsOnly)' != 'true' and '$(RunGrpcTestsOnly)' != 'true' and '$(TargetOS)' == 'tvos'">
<ProjectReference Include="$(RepoRoot)\src\tests\FunctionalTests\tvOS\Device\**\*.Test.csproj"
Exclude="@(ProjectExclusions)"
BuildInParallel="false" />
</ItemGroup>
- <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(RunSmokeTestsOnly)' != 'true' and '$(RunGrpcTestsOnly)' != 'true' and '$(TargetOS)' == 'MacCatalyst'">
+ <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(RunSmokeTestsOnly)' != 'true' and '$(RunGrpcTestsOnly)' != 'true' and '$(TargetOS)' == 'maccatalyst'">
<!-- https://github.com/dotnet/runtime/issues/57666 -->
<!-- <ProjectReference Include="$(MonoProjectRoot)sample\iOS\Program.csproj"
BuildInParallel="false" /> -->
BuildInParallel="false" />
</ItemGroup>
- <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(RunSmokeTestsOnly)' != 'true' and '$(RunGrpcTestsOnly)' != 'true' and '$(TargetOS)' == 'tvOSSimulator'">
+ <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(RunSmokeTestsOnly)' != 'true' and '$(RunGrpcTestsOnly)' != 'true' and '$(TargetOS)' == 'tvossimulator'">
<ProjectReference Include="$(RepoRoot)\src\tests\FunctionalTests\tvOS\Simulator\**\*.Test.csproj"
Exclude="@(ProjectExclusions)"
BuildInParallel="false" />
</ItemGroup>
- <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(RunSmokeTestsOnly)' != 'true' and '$(RunGrpcTestsOnly)' != 'true' and '$(TargetOS)' == 'Android'">
+ <ItemGroup Condition="'$(ArchiveTests)' == 'true' and '$(RunSmokeTestsOnly)' != 'true' and '$(RunGrpcTestsOnly)' != 'true' and '$(TargetOS)' == 'android'">
<ProjectReference Include="$(MonoProjectRoot)sample\Android\AndroidSampleApp.csproj"
BuildInParallel="false" />
<ProjectReference Include="$(RepoRoot)\src\tests\FunctionalTests\Android\**\*.Test.csproj"
set(MONO_OFFSETS_FILE "${AOT_OFFSETS_FILE}")
endif()
if(AOT_TARGET_TRIPLE STREQUAL "x86_64-apple-darwin10")
- set(TARGET_SYSTEM_NAME "iOS")
+ set(TARGET_SYSTEM_NAME "ios")
set(TARGET_ARCH "x86_64")
elseif(AOT_TARGET_TRIPLE STREQUAL "i386-apple-darwin10")
- set(TARGET_SYSTEM_NAME "iOS")
+ set(TARGET_SYSTEM_NAME "ios")
set(TARGET_ARCH "x86")
elseif(AOT_TARGET_TRIPLE STREQUAL "aarch64-apple-darwin10")
- set(TARGET_SYSTEM_NAME "iOS")
+ set(TARGET_SYSTEM_NAME "ios")
set(TARGET_ARCH "arm64")
elseif(AOT_TARGET_TRIPLE STREQUAL "arm-apple-darwin10")
- set(TARGET_SYSTEM_NAME "iOS")
+ set(TARGET_SYSTEM_NAME "ios")
set(TARGET_ARCH "arm")
elseif(AOT_TARGET_TRIPLE STREQUAL "x86_64-apple-maccatalyst")
- set(TARGET_SYSTEM_NAME "Darwin")
+ set(TARGET_SYSTEM_NAME "darwin")
set(TARGET_ARCH "x86_64")
set(TARGET_MACCAT 1)
elseif(AOT_TARGET_TRIPLE STREQUAL "aarch64-apple-maccatalyst")
- set(TARGET_SYSTEM_NAME "Darwin")
+ set(TARGET_SYSTEM_NAME "darwin")
set(TARGET_ARCH "arm64")
set(TARGET_MACCAT 1)
elseif(AOT_TARGET_TRIPLE STREQUAL "wasm32-unknown-none")
- set(TARGET_SYSTEM_NAME "Emscripten")
+ set(TARGET_SYSTEM_NAME "emscripten")
set(TARGET_ARCH "wasm")
elseif(AOT_TARGET_TRIPLE STREQUAL "x86_64-none-linux-android")
- set(TARGET_SYSTEM_NAME "Android")
+ set(TARGET_SYSTEM_NAME "android")
set(TARGET_ARCH "x86_64")
elseif(AOT_TARGET_TRIPLE STREQUAL "i686-none-linux-android")
- set(TARGET_SYSTEM_NAME "Android")
+ set(TARGET_SYSTEM_NAME "android")
set(TARGET_ARCH "x86")
elseif(AOT_TARGET_TRIPLE STREQUAL "aarch64-v8a-linux-android")
- set(TARGET_SYSTEM_NAME "Android")
+ set(TARGET_SYSTEM_NAME "android")
set(TARGET_ARCH "arm64")
elseif(AOT_TARGET_TRIPLE STREQUAL "armv7-none-linux-androideabi")
- set(TARGET_SYSTEM_NAME "Android")
+ set(TARGET_SYSTEM_NAME "android")
set(TARGET_ARCH "arm")
elseif(AOT_TARGET_TRIPLE STREQUAL "aarch64-linux-gnu")
- set(TARGET_SYSTEM_NAME "Linux")
+ set(TARGET_SYSTEM_NAME "linux")
set(TARGET_ARCH "arm64")
elseif(AOT_TARGET_TRIPLE STREQUAL "riscv64-linux-gnu")
- set(TARGET_SYSTEM_NAME "Linux")
+ set(TARGET_SYSTEM_NAME "linux")
set(TARGET_ARCH "riscv64")
else()
message(FATAL_ERROR "AOT target '${AOT_TARGET_TRIPLE}' not supported.")
message ("CMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}")
message ("CMAKE_SYSTEM_VARIANT=${CMAKE_SYSTEM_VARIANT}")
+set(CLR_CMAKE_HOST_OS ${CMAKE_SYSTEM_NAME})
+string(TOLOWER ${CLR_CMAKE_HOST_OS} CLR_CMAKE_HOST_OS)
+
# TODO: check if we can enable this on more platforms
# set(MONO_KEYWORD_THREAD "__thread")
-if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+if(CLR_CMAKE_HOST_OS STREQUAL "darwin")
add_definitions(-D_THREAD_SAFE)
set(HOST_DARWIN 1)
set(HOST_OSX 1)
set(PTHREAD_POINTER_ID 1)
set(USE_MACH_SEMA 1)
- if(CMAKE_SYSTEM_VARIANT STREQUAL "MacCatalyst")
+ if(CMAKE_SYSTEM_VARIANT STREQUAL "maccatalyst")
set(HOST_MACCAT 1)
endif()
-elseif(CMAKE_SYSTEM_NAME STREQUAL "iOS" OR CMAKE_SYSTEM_NAME STREQUAL "tvOS")
+elseif(CLR_CMAKE_HOST_OS STREQUAL "ios" OR CLR_CMAKE_HOST_OS STREQUAL "tvos")
# See man cmake-toolchains(7) on which variables
# control cross-compiling to ios
add_definitions(-D_THREAD_SAFE)
set(HOST_DARWIN 1)
set(HOST_IOS 1)
- if(CMAKE_SYSTEM_NAME STREQUAL "tvOS")
+ if(CLR_CMAKE_HOST_OS STREQUAL "tvos")
set(HOST_TVOS 1)
endif()
set(PTHREAD_POINTER_ID 1)
add_definitions("-DSMALL_CONFIG")
add_definitions("-D_XOPEN_SOURCE")
add_definitions("-DHAVE_LARGE_FILE_SUPPORT=1")
-elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+elseif(CLR_CMAKE_HOST_OS STREQUAL "linux")
set(HOST_LINUX 1)
add_definitions(-D_GNU_SOURCE -D_REENTRANT)
add_definitions(-D_THREAD_SAFE)
# Enable the "full RELRO" options (RELRO & BIND_NOW) at link time
add_link_options(-Wl,-z,relro)
add_link_options(-Wl,-z,now)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
+elseif(CLR_CMAKE_HOST_OS STREQUAL "android")
set(HOST_LINUX 1)
add_definitions(-D_GNU_SOURCE -D_REENTRANT)
add_definitions(-D_THREAD_SAFE)
set(HAVE_SCHED_GETAFFINITY 0)
set(HAVE_SCHED_SETAFFINITY 0)
# FIXME: Rest of the flags from configure.ac
-elseif(CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
+elseif(CLR_CMAKE_HOST_OS STREQUAL "emscripten")
set(HOST_BROWSER 1)
add_definitions(-DNO_GLOBALIZATION_SHIM)
add_definitions(-D_THREAD_SAFE)
# sys/random.h exists, but its not found
set(HAVE_SYS_RANDOM_H 1)
set(INTERNAL_ZLIB 1)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "WASI")
+elseif(CLR_CMAKE_HOST_OS STREQUAL "wasi")
set(HOST_WASI 1)
add_definitions(-D_WASI_EMULATED_PROCESS_CLOCKS -D_WASI_EMULATED_SIGNAL -D_WASI_EMULATED_MMAN -DHOST_WASI)
add_definitions(-DNO_GLOBALIZATION_SHIM)
set(INTERNAL_ZLIB 1)
set(DISABLE_EXECUTABLES 1)
set(STATIC_COMPONENTS 1)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+elseif(CLR_CMAKE_HOST_OS STREQUAL "windows")
set(HOST_WIN32 1)
set(EXE_SUFFIX ".exe")
set(HOST_NO_SYMLINKS 1)
# the combination of /Zi compiler flag and /DEBUG /OPT:REF /OPT:ICF
# linker flags is needed to create .pdb output on release builds
endif()
-elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
+elseif(CLR_CMAKE_HOST_OS STREQUAL "sunos")
set(HOST_SOLARIS 1)
add_definitions(-DGC_SOLARIS_THREADS -DGC_SOLARIS_PTHREADS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_MMAP -DUSE_MUNMAP -DHOST_SOLARIS -D__EXTENSIONS__ -D_XPG4_2)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+elseif(CLR_CMAKE_HOST_OS STREQUAL "freebsd")
set(HOST_FREEBSD 1)
else()
- message(FATAL_ERROR "Host '${CMAKE_SYSTEM_NAME}' not supported.")
+ message(FATAL_ERROR "Host '${CLR_CMAKE_HOST_OS}' not supported.")
endif()
######################################
######################################
if(NOT TARGET_SYSTEM_NAME)
- set(TARGET_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}")
+ set(TARGET_SYSTEM_NAME "${CLR_CMAKE_HOST_OS}")
endif()
-if(TARGET_SYSTEM_NAME STREQUAL "Darwin")
+if(TARGET_SYSTEM_NAME STREQUAL "darwin")
set(TARGET_MACH 1)
set(TARGET_OSX 1)
set(TARGET_DARWIN 1)
- if(CMAKE_SYSTEM_VARIANT STREQUAL "MacCatalyst")
+ if(CMAKE_SYSTEM_VARIANT STREQUAL "maccatalyst")
set(TARGET_MACCAT 1)
endif()
-elseif(TARGET_SYSTEM_NAME STREQUAL "iOS" OR TARGET_SYSTEM_NAME STREQUAL "tvOS")
+elseif(TARGET_SYSTEM_NAME STREQUAL "ios" OR TARGET_SYSTEM_NAME STREQUAL "tvos")
set(TARGET_MACH 1)
set(TARGET_IOS 1)
set(TARGET_DARWIN 1)
- if(TARGET_SYSTEM_NAME STREQUAL "tvOS")
+ if(TARGET_SYSTEM_NAME STREQUAL "tvos")
set(TARGET_TVOS 1)
endif()
set(TARGET_APPLE_MOBILE 1)
-elseif(TARGET_SYSTEM_NAME STREQUAL "Linux")
+elseif(TARGET_SYSTEM_NAME STREQUAL "linux")
set(TARGET_LINUX 1)
-elseif(TARGET_SYSTEM_NAME STREQUAL "Android")
+elseif(TARGET_SYSTEM_NAME STREQUAL "android")
set(TARGET_ANDROID 1)
if (CMAKE_BUILD_TYPE STREQUAL "Release")
add_compile_options(-O2)
endif()
-elseif(TARGET_SYSTEM_NAME STREQUAL "Emscripten")
+elseif(TARGET_SYSTEM_NAME STREQUAL "emscripten")
set(TARGET_BROWSER 1)
if (CMAKE_BUILD_TYPE STREQUAL "Release")
add_compile_options(-Os)
endif()
-elseif(TARGET_SYSTEM_NAME STREQUAL "WASI")
+elseif(TARGET_SYSTEM_NAME STREQUAL "wasi")
set(TARGET_WASI 1)
if (CMAKE_BUILD_TYPE STREQUAL "Release")
add_compile_options(-Os)
endif()
-elseif(TARGET_SYSTEM_NAME STREQUAL "Windows")
+elseif(TARGET_SYSTEM_NAME STREQUAL "windows")
set(TARGET_WIN32 1)
-elseif(TARGET_SYSTEM_NAME STREQUAL "SunOS")
+elseif(TARGET_SYSTEM_NAME STREQUAL "sunos")
set(TARGET_SOLARIS 1)
-elseif(TARGET_SYSTEM_NAME STREQUAL "FreeBSD")
+elseif(TARGET_SYSTEM_NAME STREQUAL "freebsd")
set(TARGET_FREEBSD 1)
else()
message(FATAL_ERROR "Target '${TARGET_SYSTEM_NAME}' not supported.")
set(MONO_ARCHITECTURE "\"arm64\"")
set(TARGET_SIZEOF_VOID_P 8)
set(SIZEOF_REGISTER 8)
- if(TARGET_SYSTEM_NAME STREQUAL "watchOS")
+ if(TARGET_SYSTEM_NAME STREQUAL "watchos")
set(TARGET_SIZEOF_VOID_P 4)
set(MONO_ARCH_ILP32 1)
endif()
set(llvm_cxxflags "-I${LLVM_PREFIX}/include -std=c++14 -fno-exceptions -fno-rtti -D__STDC_CONSTANT_MACROS -D__STD_FORMAT_MACROS -D__STDC_LIMIT_MACROS")
set(llvm_includedir "${LLVM_PREFIX}/include")
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ if(CLR_CMAKE_HOST_OS STREQUAL "linux")
# llvm-config --system-libs
set(llvm_system_libs "-lz" "-lrt" "-ldl" "-lpthread" "-lm")
- elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ elseif(CLR_CMAKE_HOST_OS STREQUAL "darwin")
# llvm-config --system-libs
set(llvm_system_libs "-lz" "-lm")
endif()
set(LLVM_LIBDIR "${LLVM_PREFIX}/lib")
set(LLVM_INCLUDEDIR "${llvm_includedir}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${llvm_cflags}")
- if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+ if(HOST_WIN32)
# /EHsc already enabled, prevent LLVM flags to disable it. Corresponds to -fexceptions.
string(REPLACE "/EHs-c-" "" llvm_cxxflags "${llvm_cxxflags}")
# /GR- already enabled and inherited from LLVM flags. Corresponds to -fno-rtti.
elseif(GC_SUSPEND STREQUAL "preemptive")
elseif(GC_SUSPEND STREQUAL "default")
# set some kind of fallback default
- if(TARGET_SYSTEM_NAME STREQUAL "watchOS")
+ if(TARGET_SYSTEM_NAME STREQUAL "watchos")
set(ENABLE_COOP_SUSPEND 1)
- elseif(TARGET_SYSTEM_NAME STREQUAL "Windows")
+ elseif(TARGET_SYSTEM_NAME STREQUAL "windows")
# use preemptive
- elseif(TARGET_SYSTEM_NAME STREQUAL "Emscripten")
+ elseif(TARGET_SYSTEM_NAME STREQUAL "emscripten")
# use preemptive
elseif(TARGET_SYSTEM_NAME STREQUAL "WASI")
# use preemptive
<watchOS64_32VersionMin>5.1</watchOS64_32VersionMin>
<macOSVersionMin>10.14</macOSVersionMin>
<!-- FIXME: when we're building ios or tvOS cross-compilers hosted on OSX/arm64 targeting ios/arm64 we should set the min macOS version to 11.0, also -->
- <macOSVersionMin Condition="('$(TargetOS)' == 'OSX' or '$(TargetOS)' == 'MacCatalyst') and '$(TargetArchitecture)' == 'arm64'">11.0</macOSVersionMin>
+ <macOSVersionMin Condition="('$(TargetOS)' == 'osx' or '$(TargetOS)' == 'maccatalyst') and '$(TargetArchitecture)' == 'arm64'">11.0</macOSVersionMin>
<!-- Version of the OS SDK we target -->
<iOSVersion></iOSVersion>
</PropertyGroup>
<PropertyGroup>
- <MonoAotCrossDir>$([MSBuild]::NormalizePath($(RuntimeBinDir), 'cross', '$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())'))</MonoAotCrossDir>
+ <MonoAotCrossDir>$([MSBuild]::NormalizePath($(RuntimeBinDir), 'cross', '$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())'))</MonoAotCrossDir>
<_MonoAotCrossCompilerPath>$([MSBuild]::NormalizePath($(MonoAotCrossDir), 'mono-aot-cross'))</_MonoAotCrossCompilerPath>
<_MonoAotCrossCompilerPath Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">$(_MonoAotCrossCompilerPath).exe</_MonoAotCrossCompilerPath>
</PropertyGroup>
<ItemGroup>
- <MonoAotCrossCompiler Include="$(_MonoAotCrossCompilerPath)" RuntimeIdentifier="$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())" />
+ <MonoAotCrossCompiler Include="$(_MonoAotCrossCompilerPath)" RuntimeIdentifier="$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())" />
</ItemGroup>
<!-- Paths for Mobile App Projects -->
<!-- ARM Linux cross build options on CI -->
<ItemGroup Condition="'$(TargetsAndroid)' != 'true' and '$(TargetsLinuxBionic)' != 'true' and '$(MonoCrossDir)' != '' and ('$(TargetArchitecture)' == 'arm' or '$(TargetArchitecture)' == 'armv6' or '$(TargetArchitecture)' == 'arm64')">
<_MonoCMakeArgs Include="-DCMAKE_TOOLCHAIN_FILE=$(CrossToolchainFile)" />
- <_MonoCMakeArgs Condition="'$(TargetOS)' == 'Linux' and ('$(TargetArchitecture)' == 'arm' or '$(TargetArchitecture)' == 'armv6')" Include="-DMONO_ARM_FPU=vfp-hard" />
+ <_MonoCMakeArgs Condition="'$(TargetOS)' == 'linux' and ('$(TargetArchitecture)' == 'arm' or '$(TargetArchitecture)' == 'armv6')" Include="-DMONO_ARM_FPU=vfp-hard" />
<_MonoBuildEnv Condition="'$(Platform)' == 'arm64'" Include="TARGET_BUILD_ARCH=arm64" />
<_MonoBuildEnv Condition="'$(Platform)' == 'arm'" Include="TARGET_BUILD_ARCH=arm" />
<_MonoBuildEnv Condition="'$(Platform)' == 'armv6'" Include="TARGET_BUILD_ARCH=armv6" />
</ItemGroup>
<!-- Mac Catalyst specific options -->
<ItemGroup Condition="'$(TargetsMacCatalyst)' == 'true'">
- <_MonoCMakeArgs Include="-DCMAKE_SYSTEM_VARIANT=MacCatalyst" />
+ <_MonoCMakeArgs Include="-DCMAKE_SYSTEM_VARIANT=maccatalyst" />
<!-- https://gitlab.kitware.com/cmake/cmake/-/issues/20132 -->
<_MonoCPPFLAGS Include="-Wno-overriding-t-option" />
<_MonoCFlags Condition="'$(TargetArchitecture)' == 'arm64'" Include="-target arm64-apple-ios14.2-macabi" />
<_MonoCFLAGS Include="-Wl,--build-id=sha1" />
<_MonoCXXFLAGS Include="-Wl,--build-id=sha1" />
</ItemGroup>
- <ItemGroup Condition="'$(RealTargetOS)' == 'Linux'">
+ <ItemGroup Condition="'$(RealTargetOS)' == 'linux'">
<_MonoAOTCFLAGS Include="-Wl,--build-id=sha1" />
<_MonoAOTCXXFLAGS Include="-Wl,--build-id=sha1" />
</ItemGroup>
</PropertyGroup>
<!-- Linux specific options -->
- <ItemGroup Condition="'$(RealTargetOS)' == 'Linux' or $([MSBuild]::IsOSPlatform('Linux'))">
+ <ItemGroup Condition="'$(RealTargetOS)' == 'linux' or $([MSBuild]::IsOSPlatform('Linux'))">
<_LibClang Include="$(ANDROID_NDK_ROOT)/toolchains/llvm/prebuilt/$(MonoToolchainPrebuiltOS)/lib64/libclang.so.*"/>
</ItemGroup>
<PropertyGroup Condition="'$(TargetsLinux)' == 'true' and '$(Platform)' == 'arm64'">
</PropertyGroup>
<!-- macOS host specific options -->
- <ItemGroup Condition="'$(RealTargetOS)' == 'OSX' or $([MSBuild]::IsOSPlatform('OSX'))">
+ <ItemGroup Condition="'$(RealTargetOS)' == 'osx' or $([MSBuild]::IsOSPlatform('OSX'))">
<MonoAOTCMakeArgs Condition="'$(RealTargetArchitecture)' == 'arm64'" Include="-DCMAKE_OSX_ARCHITECTURES=arm64"/>
<MonoAOTCMakeArgs Include="-DCMAKE_OSX_DEPLOYMENT_TARGET=$(macOSVersionMin)" />
<MonoAOTCMakeArgs Include="-DENABLE_ICALL_EXPORT=1"/>
</PropertyGroup>
<!-- Windows specific options -->
- <ItemGroup Condition="'$(RealTargetOS)' == 'Windows' or $([MSBuild]::IsOSPlatform('Windows'))">
+ <ItemGroup Condition="'$(RealTargetOS)' == 'windows' or $([MSBuild]::IsOSPlatform('Windows'))">
<_MonoAOTCPPFLAGS Include="-DHOST_WIN32" />
<_MonoAOTCPPFLAGS Include="-D__WIN32__" />
<_MonoAOTCPPFLAGS Include="-DWIN32" />
if(HOST_DARWIN)
set(OS_LIBS "-framework CoreFoundation" "-framework Foundation")
- if(CMAKE_SYSTEM_VARIANT STREQUAL "MacCatalyst")
+ if(CMAKE_SYSTEM_VARIANT STREQUAL "maccatalyst")
set(OS_LIBS ${OS_LIBS} "-lobjc" "-lc++")
endif()
elseif(HOST_IOS)
<PropertyGroup>
<!-- OS name is case sensitive! -->
- <_MonoCrossAOTTargetOS Condition="'$(MonoCrossAOTTargetOS)' != ''">+$(MonoCrossAOTTargetOS.ToLowerInvariant())+</_MonoCrossAOTTargetOS>
- <_MonoGenerateOffsetsOSGroups Condition="'$(MonoGenerateOffsetsOSGroups)' != ''">+$(MonoGenerateOffsetsOSGroups.ToLowerInvariant())+</_MonoGenerateOffsetsOSGroups>
+ <_MonoCrossAOTTargetOS Condition="'$(MonoCrossAOTTargetOS)' != ''">+$(MonoCrossAOTTargetOS)+</_MonoCrossAOTTargetOS>
+ <_MonoGenerateOffsetsOSGroups Condition="'$(MonoGenerateOffsetsOSGroups)' != ''">+$(MonoGenerateOffsetsOSGroups)+</_MonoGenerateOffsetsOSGroups>
<_MonoCrossAOTTargetOS Condition="$(_MonoGenerateOffsetsOSGroups.contains('+android+'))">$(_MonoCrossAOTTargetOS)+android+</_MonoCrossAOTTargetOS>
<_MonoCrossAOTTargetOS Condition="$(_MonoGenerateOffsetsOSGroups.contains('+browser+'))">$(_MonoCrossAOTTargetOS)+browser+</_MonoCrossAOTTargetOS>
<_MonoCrossAOTTargetOS Condition="$(_MonoGenerateOffsetsOSGroups.contains('+tvos+'))">$(_MonoCrossAOTTargetOS)+tvos+</_MonoCrossAOTTargetOS>
<_MonoCrossAOTTargetOS Condition="$(_MonoGenerateOffsetsOSGroups.contains('+ios+'))">$(_MonoCrossAOTTargetOS)+ios+</_MonoCrossAOTTargetOS>
<_MonoCrossAOTTargetOS Condition="$(_MonoGenerateOffsetsOSGroups.contains('+maccatalyst+'))">$(_MonoCrossAOTTargetOS)+maccatalyst+</_MonoCrossAOTTargetOS>
- <MonoAotTargets Condition="$(_MonoCrossAOTTargetOS.contains('+android+'))">$(MonoAotTargets);Android-x64;Android-arm64;Android-x86;Android-arm</MonoAotTargets>
- <MonoAotTargets Condition="$(_MonoCrossAOTTargetOS.contains('+browser+'))">$(MonoAotTargets);Browser-wasm</MonoAotTargets>
- <MonoAotTargets Condition="$(_MonoCrossAOTTargetOS.contains('+tvos+'))">$(MonoAotTargets);tvOSSimulator-x64;tvOSSimulator-arm64;tvOS-arm64</MonoAotTargets>
- <MonoAotTargets Condition="$(_MonoCrossAOTTargetOS.contains('+ios+'))">$(MonoAotTargets);iOSSimulator-x64;iOSSimulator-arm64;iOSSimulator-x86;iOS-arm64;iOS-arm</MonoAotTargets>
- <MonoAotTargets Condition="$(_MonoCrossAOTTargetOS.contains('+maccatalyst+'))">$(MonoAotTargets);MacCatalyst-x64;MacCatalyst-arm64</MonoAotTargets>
+ <MonoAotTargets Condition="$(_MonoCrossAOTTargetOS.contains('+android+'))">$(MonoAotTargets);android-x64;android-arm64;android-x86;android-arm</MonoAotTargets>
+ <MonoAotTargets Condition="$(_MonoCrossAOTTargetOS.contains('+browser+'))">$(MonoAotTargets);browser-wasm</MonoAotTargets>
+ <MonoAotTargets Condition="$(_MonoCrossAOTTargetOS.contains('+tvos+'))">$(MonoAotTargets);tvossimulator-x64;tvossimulator-arm64;tvos-arm64</MonoAotTargets>
+ <MonoAotTargets Condition="$(_MonoCrossAOTTargetOS.contains('+ios+'))">$(MonoAotTargets);iossimulator-x64;iossimulator-arm64;iossimulator-x86;ios-arm64;ios-arm</MonoAotTargets>
+ <MonoAotTargets Condition="$(_MonoCrossAOTTargetOS.contains('+maccatalyst+'))">$(MonoAotTargets);maccatalyst-x64;maccatalyst-arm64</MonoAotTargets>
</PropertyGroup>
<ItemGroup>
<_MonoAOTCrossFiles Include="$(ArtifactsBinDir)mono\$(MonoAotTargetOS).$(MonoAotTargetArchitecture).$(Configuration)\cross\$(MonoAotTargetRid.ToLower())\**" />
</ItemGroup>
- <Message Text="Copying @(_MonoAOTCrossFiles) to $(RealRuntimeBinDir)cross\$(TargetOS.ToLower())-$(TargetArchitecture.ToLower())\$(MonoAotTargetRid.ToLower())" Importance="High" />
+ <Message Text="Copying @(_MonoAOTCrossFiles) to $(RealRuntimeBinDir)cross\$(TargetOS)-$(TargetArchitecture.ToLower())\$(MonoAotTargetRid.ToLower())" Importance="High" />
- <Copy SourceFiles="@(_MonoAOTCrossFiles)" DestinationFolder="$(RealRuntimeBinDir)cross\$(TargetOS.ToLower())-$(TargetArchitecture.ToLower())\$(MonoAotTargetRid.ToLower())">
+ <Copy SourceFiles="@(_MonoAOTCrossFiles)" DestinationFolder="$(RealRuntimeBinDir)cross\$(TargetOS)-$(TargetArchitecture.ToLower())\$(MonoAotTargetRid.ToLower())">
<Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
</Copy>
</Target>
<Project>
<PropertyGroup>
- <RuntimeIdentifier>$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())</RuntimeIdentifier>
+ <RuntimeIdentifier>$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())</RuntimeIdentifier>
<UseMonoRuntime>true</UseMonoRuntime>
<UseMonoJustInterp Condition="'$(RunAOTCompilation)' == 'true' and '$(MonoForceInterpreter)' == 'true'">true</UseMonoJustInterp>
</ItemGroup>
<MonoAOTCompiler
- CompilerBinaryPath="@(MonoAotCrossCompiler->WithMetadataValue('RuntimeIdentifier','$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())'))"
+ CompilerBinaryPath="@(MonoAotCrossCompiler->WithMetadataValue('RuntimeIdentifier','$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())'))"
OutputDir="$(_MobileIntermediateOutputPath)"
Mode="$(_AOTMode)"
OutputType="AsmOnly"
<!-- For MacCatalyst, adhoc is the default. Set it here so that we don't have to specify when running local -->
<PropertyGroup>
- <DevTeamProvisioning Condition="'$(DevTeamProvisioning)' == '' and '$(TargetOS)' == 'MacCatalyst'">adhoc</DevTeamProvisioning>
+ <DevTeamProvisioning Condition="'$(DevTeamProvisioning)' == '' and '$(TargetOS)' == 'maccatalyst'">adhoc</DevTeamProvisioning>
</PropertyGroup>
<!-- TODO: this breaks runtime tests on Helix due to the file not being there for some reason. Once this is fixed we can remove the UpdateRuntimePack target here -->
<PropertyGroup Condition="'$(RuntimeSrcDir)' != '' and '$(AppleBuildSupportDir)' == ''">
<ArtifactsBinDir>$(RuntimeSrcDir)\artifacts\bin\</ArtifactsBinDir>
- <MicrosoftNetCoreAppRuntimePackLocationToUse>$([MSBuild]::NormalizeDirectory($(ArtifactsBinDir), 'microsoft.netcore.app.runtime.$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())', $(RuntimeConfig)))</MicrosoftNetCoreAppRuntimePackLocationToUse>
- <MicrosoftNetCoreAppRuntimePackLibDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackLocationToUse), 'runtimes', '$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())', 'lib', '$(_NetCoreAppCurrent)'))</MicrosoftNetCoreAppRuntimePackLibDir>
- <MicrosoftNetCoreAppRuntimePackNativeDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackLocationToUse), 'runtimes', '$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())', 'native'))</MicrosoftNetCoreAppRuntimePackNativeDir>
+ <MicrosoftNetCoreAppRuntimePackLocationToUse>$([MSBuild]::NormalizeDirectory($(ArtifactsBinDir), 'microsoft.netcore.app.runtime.$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())', $(RuntimeConfig)))</MicrosoftNetCoreAppRuntimePackLocationToUse>
+ <MicrosoftNetCoreAppRuntimePackLibDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackLocationToUse), 'runtimes', '$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())', 'lib', '$(_NetCoreAppCurrent)'))</MicrosoftNetCoreAppRuntimePackLibDir>
+ <MicrosoftNetCoreAppRuntimePackNativeDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackLocationToUse), 'runtimes', '$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())', 'native'))</MicrosoftNetCoreAppRuntimePackNativeDir>
<AppleAppBuilderDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AppleAppBuilder', 'Debug', '$(_NetCoreAppToolCurrent)'))</AppleAppBuilderDir>
<MonoAOTCompilerDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', 'Debug', '$(_NetCoreAppToolCurrent)'))</MonoAOTCompilerDir>
<MonoTargetsTasksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoTargetsTasks', 'Debug', '$(_NetCoreAppToolCurrent)'))</MonoTargetsTasksDir>
<MonoArtifactsPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'mono', '$(TargetOS).$(TargetArchitecture).$(RuntimeConfig)'))</MonoArtifactsPath>
- <MonoAotCrossDir>$([MSBuild]::NormalizePath($(MonoArtifactsPath), 'cross', '$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())'))</MonoAotCrossDir>
+ <MonoAotCrossDir>$([MSBuild]::NormalizePath($(MonoArtifactsPath), 'cross', '$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())'))</MonoAotCrossDir>
<_MonoAotCrossCompilerPath>$([MSBuild]::NormalizePath($(MonoAotCrossDir), 'mono-aot-cross'))</_MonoAotCrossCompilerPath>
<_MonoAotCrossCompilerPath Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">$(_MonoAotCrossCompilerPath).exe</_MonoAotCrossCompilerPath>
</PropertyGroup>
<PropertyGroup Condition="'$(RuntimeSrcDir)' == '' and '$(AppleBuildSupportDir)' != ''">
<BuildBaseDir>$(AppleBuildSupportDir)\</BuildBaseDir>
- <MicrosoftNetCoreAppRuntimePackLocationToUse>$([MSBuild]::NormalizeDirectory($(BuildBaseDir), 'microsoft.netcore.app.runtime.$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())'))</MicrosoftNetCoreAppRuntimePackLocationToUse>
- <MicrosoftNetCoreAppRuntimePackLibDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackLocationToUse), 'runtimes', '$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())', 'lib', '$(_NetCoreAppCurrent)'))</MicrosoftNetCoreAppRuntimePackLibDir>
- <MicrosoftNetCoreAppRuntimePackNativeDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackLocationToUse), 'runtimes', '$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())', 'native'))</MicrosoftNetCoreAppRuntimePackNativeDir>
+ <MicrosoftNetCoreAppRuntimePackLocationToUse>$([MSBuild]::NormalizeDirectory($(BuildBaseDir), 'microsoft.netcore.app.runtime.$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())'))</MicrosoftNetCoreAppRuntimePackLocationToUse>
+ <MicrosoftNetCoreAppRuntimePackLibDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackLocationToUse), 'runtimes', '$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())', 'lib', '$(_NetCoreAppCurrent)'))</MicrosoftNetCoreAppRuntimePackLibDir>
+ <MicrosoftNetCoreAppRuntimePackNativeDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackLocationToUse), 'runtimes', '$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())', 'native'))</MicrosoftNetCoreAppRuntimePackNativeDir>
<MonoAOTCompilerDir>$([MSBuild]::NormalizeDirectory($(BuildBaseDir), 'MonoAOTCompiler'))</MonoAOTCompilerDir>
<MonoTargetsTasksDir>$([MSBuild]::NormalizeDirectory($(BuildBaseDir), 'MonoTargetsTasks'))</MonoTargetsTasksDir>
<AppleAppBuilderDir>$([MSBuild]::NormalizeDirectory($(BuildBaseDir), 'AppleAppBuilder'))</AppleAppBuilderDir>
</PropertyGroup>
<ItemGroup>
- <MonoAotCrossCompiler Include="$(_MonoAotCrossCompilerPath)" RuntimeIdentifier="$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())" />
+ <MonoAotCrossCompiler Include="$(_MonoAotCrossCompilerPath)" RuntimeIdentifier="$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())" />
</ItemGroup>
<PropertyGroup>
<MicrosoftNetCoreAppRuntimePackDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackLocationToUse)))</MicrosoftNetCoreAppRuntimePackDir>
- <MicrosoftNetCoreAppRuntimePackRidDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackDir), 'runtimes', '$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())'))</MicrosoftNetCoreAppRuntimePackRidDir>
+ <MicrosoftNetCoreAppRuntimePackRidDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackDir), 'runtimes', '$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())'))</MicrosoftNetCoreAppRuntimePackRidDir>
<AppleAppBuilderTasksAssemblyPath>$([MSBuild]::NormalizePath('$(AppleAppBuilderDir)', 'AppleAppBuilder.dll'))</AppleAppBuilderTasksAssemblyPath>
<MonoAOTCompilerTasksAssemblyPath>$([MSBuild]::NormalizePath('$(MonoAOTCompilerDir)', 'MonoAOTCompiler.dll'))</MonoAOTCompilerTasksAssemblyPath>
<MonoTargetsTasksAssemblyPath>$([MSBuild]::NormalizePath('$(MonoTargetsTasksDir)', 'MonoTargetsTasks.dll'))</MonoTargetsTasksAssemblyPath>
<PropertyGroup>
<MicrosoftNetCoreAppRuntimePackDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackLocationToUse)))</MicrosoftNetCoreAppRuntimePackDir>
- <MicrosoftNetCoreAppRuntimePackRidDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackDir), 'runtimes', '$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())'))</MicrosoftNetCoreAppRuntimePackRidDir>
+ <MicrosoftNetCoreAppRuntimePackRidDir>$([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackDir), 'runtimes', '$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())'))</MicrosoftNetCoreAppRuntimePackRidDir>
<AppleAppBuilderTasksAssemblyPath>$([MSBuild]::NormalizePath('$(AppleAppBuilderDir)', 'AppleAppBuilder.dll'))</AppleAppBuilderTasksAssemblyPath>
<MonoAOTCompilerTasksAssemblyPath>$([MSBuild]::NormalizePath('$(MonoAOTCompilerDir)', 'MonoAOTCompiler.dll'))</MonoAOTCompilerTasksAssemblyPath>
<MonoTargetsTasksAssemblyPath>$([MSBuild]::NormalizePath('$(MonoTargetsTasksDir)', 'RuntimeConfigParser.dll'))</MonoTargetsTasksAssemblyPath>
<Project>
<!-- iOS/tvOS device + arm64 simulators need to AOT -->
- <PropertyGroup Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS' or (('$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOSSimulator') And '$(TargetArchitecture)' == 'arm64')">
+ <PropertyGroup Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos' or (('$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvossimulator') And '$(TargetArchitecture)' == 'arm64')">
<RunAOTCompilation Condition="'$(RunAOTCompilation)' == ''">true</RunAOTCompilation>
</PropertyGroup>
<!-- iOS/tvOS arm64 simulators do not support JIT, so force interpreter fallback, devices should FullAOT -->
- <PropertyGroup Condition="('$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOSSimulator') And '$(TargetArchitecture)' == 'arm64'">
+ <PropertyGroup Condition="('$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvossimulator') And '$(TargetArchitecture)' == 'arm64'">
<MonoForceInterpreter Condition="'$(MonoForceInterpreter)' == ''">true</MonoForceInterpreter>
</PropertyGroup>
<PropertyGroup>
- <RuntimeIdentifier>$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())</RuntimeIdentifier>
+ <RuntimeIdentifier>$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())</RuntimeIdentifier>
<UseMonoRuntime>true</UseMonoRuntime>
<UseMonoJustInterp Condition="'$(RunAOTCompilation)' == 'true' and '$(MonoForceInterpreter)' == 'true'">true</UseMonoJustInterp>
<Target Name="_InitializeCommonProperties">
<Error Condition="'$(IntermediateOutputPath)' == ''" Text="%24(IntermediateOutputPath) property needs to be set" />
- <Error Condition="('$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'MacCatalyst') and '$(DevTeamProvisioning)' == ''"
+ <Error Condition="('$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'maccatalyst') and '$(DevTeamProvisioning)' == ''"
Text="'DevTeamProvisioning' needs to be set for device builds. Set it to 'adhoc' to sign with an adhoc key, or '-' to skip signing all together.." />
<PropertyGroup>
</PropertyGroup>
<ItemGroup>
- <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' != 'MacCatalyst'" Include="mtriple=arm64-ios" />
- <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'MacCatalyst'" Include="mtriple=arm64-apple-ios14.2-macabi" />
+ <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' != 'maccatalyst'" Include="mtriple=arm64-ios" />
+ <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'maccatalyst'" Include="mtriple=arm64-apple-ios14.2-macabi" />
<MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm'" Include="mtriple=armv7-ios" />
- <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'x64' and '$(TargetOS)' != 'MacCatalyst'" Include="mtriple=x86_64-ios" />
- <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'x64' and '$(TargetOS)' == 'MacCatalyst'" Include="mtriple=x86_64-apple-ios13.5-macabi" />
+ <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'x64' and '$(TargetOS)' != 'maccatalyst'" Include="mtriple=x86_64-ios" />
+ <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'x64' and '$(TargetOS)' == 'maccatalyst'" Include="mtriple=x86_64-apple-ios13.5-macabi" />
<MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'x86'" Include="mtriple=i386-ios" />
<MonoAOTCompilerDefaultAotArguments Include="static" />
<MonoAOTCompilerDefaultAotArguments Include="dwarfdebug" />
<MakeDir Directories="$(_MobileIntermediateOutputPath)" />
<MonoAOTCompiler Condition="'$(RunAOTCompilation)' == 'true'"
- CompilerBinaryPath="@(MonoAotCrossCompiler->WithMetadataValue('RuntimeIdentifier','$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())'))"
+ CompilerBinaryPath="@(MonoAotCrossCompiler->WithMetadataValue('RuntimeIdentifier','$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())'))"
OutputDir="$(_MobileIntermediateOutputPath)"
Mode="$(_AOTMode)"
OutputType="AsmOnly"
<Project Sdk="Microsoft.Build.Traversal" DefaultTargets="Pack">
- <ItemGroup Condition="'$(TargetOS)' == 'Android'">
+ <ItemGroup Condition="'$(TargetOS)' == 'android'">
<ProjectReference Include="Microsoft.NET.Runtime.Android.Sample.Mono\Microsoft.NET.Runtime.Android.Sample.Mono.pkgproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser'">
<ProjectReference Include="Microsoft.NET.Runtime.wasm.Sample.Mono\Microsoft.NET.Runtime.wasm.Sample.Mono.pkgproj" />
<ProjectReference Include="Microsoft.NETCore.BrowserDebugHost.Transport\Microsoft.NETCore.BrowserDebugHost.Transport.pkgproj" />
<ProjectReference Include="Microsoft.NET.Runtime.WebAssembly.Sdk\Microsoft.NET.Runtime.WebAssembly.Sdk.pkgproj" />
<ProjectReference Include="..\wasm\templates\Microsoft.NET.Runtime.WebAssembly.Templates.csproj" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator'">
+ <ItemGroup Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator'">
<ProjectReference Include="Microsoft.NET.Runtime.iOS.Sample.Mono\Microsoft.NET.Runtime.iOS.Sample.Mono.pkgproj" />
</ItemGroup>
</PropertyGroup>
<MonoAOTCompiler Condition="'$(ForceAOT)' == 'true'"
- CompilerBinaryPath="@(MonoAotCrossCompiler->WithMetadataValue('RuntimeIdentifier','$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())'))"
+ CompilerBinaryPath="@(MonoAotCrossCompiler->WithMetadataValue('RuntimeIdentifier','$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())'))"
OutputDir="$(_MobileIntermediateOutputPath)"
Mode="Full"
OutputType="$(_AotOutputType)"
all: runtimepack run
runtimepack:
- ../../../../build.sh Mono+Libs -os Android -arch $(MONO_ARCH) -c $(MONO_CONFIG)
+ ../../../../build.sh mono+libs -os android -arch $(MONO_ARCH) -c $(MONO_CONFIG)
run:
$(DOTNET) publish \
/p:TargetArchitecture=$(MONO_ARCH) \
- /p:TargetOS=Android \
+ /p:TargetOS=android \
/p:Configuration=$(MONO_CONFIG) \
/p:DeployAndRun=$(DEPLOY_AND_RUN) \
/p:RunAOTCompilation=$(AOT) \
<PropertyGroup>
<RunScriptOutputName Condition="'$(TargetOS)' != 'windows'">RunTests.sh</RunScriptOutputName>
- <RunScriptOutputName Condition="'$(TargetOS)' == 'windows' or ('$(TargetOS)' == 'Browser' and '$(OS)' == 'Windows_NT')">RunTests.cmd</RunScriptOutputName>
+ <RunScriptOutputName Condition="'$(TargetOS)' == 'windows' or ('$(TargetOS)' == 'browser' and '$(OS)' == 'Windows_NT')">RunTests.cmd</RunScriptOutputName>
</PropertyGroup>
<!--
</ItemGroup>
<MonoAOTCompiler
- CompilerBinaryPath="@(MonoAotCrossCompiler->WithMetadataValue('RuntimeIdentifier','$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())'))"
+ CompilerBinaryPath="@(MonoAotCrossCompiler->WithMetadataValue('RuntimeIdentifier','$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())'))"
OutputType="$(_AotOutputType)"
LibraryFormat="$(_AotLibraryFormat)"
Assemblies="@(AotInputAssemblies)"
MONO_CONFIG?=Debug
MONO_ARCH?=$(shell . $(TOP)eng/native/init-os-and-arch.sh && echo $${arch})
-TARGET_OS?=$(shell . $(TOP)eng/native/init-os-and-arch.sh && echo $${os} | tr "[:upper:]" "[:lower:]")
+TARGET_OS?=$(shell . $(TOP)eng/native/init-os-and-arch.sh && echo $${os})
AOT?=false
#NET_TRACE_PATH=<path-to-trace-of-sample>
DOTNET := ../../../../dotnet.sh
USE_LLVM=true
AOT?=false
-TARGET?=iOSSimulator
+TARGET?=iossimulator
DEPLOY_AND_RUN?=true
APP_SANDBOX?=false
run: clean appbuilder
$(DOTNET) publish \
-c $(MONO_CONFIG) \
- /p:TargetOS=iOS \
+ /p:TargetOS=ios \
/p:TargetArchitecture=$(MONO_ARCH) \
/p:UseLLVM=$(USE_LLVM) \
/p:ForceAOT=$(AOT) \
run-sim: clean appbuilder
$(DOTNET) publish \
-c $(MONO_CONFIG) \
- /p:TargetOS=iOSSimulator \
+ /p:TargetOS=iossimulator \
/p:TargetArchitecture=$(MONO_ARCH) \
/p:UseLLVM=$(USE_LLVM) \
/p:ForceAOT=$(AOT) \
run-catalyst:
$(DOTNET) publish \
-c $(MONO_CONFIG) \
- /p:TargetOS=MacCatalyst \
+ /p:TargetOS=maccatalyst \
/p:TargetArchitecture=$(MONO_ARCH) \
'/p:DeployAndRun="$(DEPLOY_AND_RUN)"' \
/p:UseLLVM=False \
run-sim-interp: clean appbuilder
$(DOTNET) publish \
-c $(MONO_CONFIG) \
- /p:TargetOS=iOSSimulator \
+ /p:TargetOS=iossimulator \
/p:TargetArchitecture=$(MONO_ARCH) \
/p:UseLLVM=$(USE_LLVM) \
/p:ForceAOT=$(AOT) \
run-catalyst-interp:
$(DOTNET) publish \
-c $(MONO_CONFIG) \
- /p:TargetOS=MacCatalyst \
+ /p:TargetOS=maccatalyst \
/p:TargetArchitecture=$(MONO_ARCH) \
/p:UseLLVM=False \
'/p:DeployAndRun="$(DEPLOY_AND_RUN)"' \
<OutputType>Exe</OutputType>
<OutputPath>bin</OutputPath>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <TargetOS Condition="'$(TargetOS)' == ''">iOS</TargetOS>
- <TargetOS Condition="'$(TargetsiOSSimulator)' == 'true'">iOSSimulator</TargetOS>
+ <TargetOS Condition="'$(TargetOS)' == ''">ios</TargetOS>
+ <TargetOS Condition="'$(TargetsiOSSimulator)' == 'true'">iossimulator</TargetOS>
<DeployAndRun Condition="'$(DeployAndRun)' == ''">true</DeployAndRun>
- <RuntimeIdentifier>$(TargetOS.ToLower())-$(TargetArchitecture)</RuntimeIdentifier>
+ <RuntimeIdentifier>$(TargetOS)-$(TargetArchitecture)</RuntimeIdentifier>
<DefineConstants Condition="'$(ArchiveTests)' == 'true'">$(DefineConstants);CI_TEST</DefineConstants>
<AppName>HelloiOS</AppName>
</PropertyGroup>
<TrimMode>Link</TrimMode>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'MacCatalyst'">
- <DevTeamProvisioning Condition="'$(TargetOS)' == 'MacCatalyst' and '$(DevTeamProvisioning)' == ''">adhoc</DevTeamProvisioning>
+ <PropertyGroup Condition="'$(TargetOS)' == 'maccatalyst'">
+ <DevTeamProvisioning Condition="'$(TargetOS)' == 'maccatalyst' and '$(DevTeamProvisioning)' == ''">adhoc</DevTeamProvisioning>
<EnableAppSandbox Condition="'$(EnableAppSandbox)' == ''">false</EnableAppSandbox>
</PropertyGroup>
</ItemGroup>
<PropertyGroup>
- <AOTMode Condition="'$(TargetOS)' != 'MacCatalyst'">Full</AOTMode>
- <AOTMode Condition="'$(TargetOS)' == 'MacCatalyst' and '$(MonoForceInterpreter)' != 'true'">Full</AOTMode>
- <AOTMode Condition="'$(TargetOS)' == 'MacCatalyst' and '$(MonoForceInterpreter)' == 'true'">JustInterp</AOTMode>
+ <AOTMode Condition="'$(TargetOS)' != 'maccatalyst'">Full</AOTMode>
+ <AOTMode Condition="'$(TargetOS)' == 'maccatalyst' and '$(MonoForceInterpreter)' != 'true'">Full</AOTMode>
+ <AOTMode Condition="'$(TargetOS)' == 'maccatalyst' and '$(MonoForceInterpreter)' == 'true'">JustInterp</AOTMode>
</PropertyGroup>
<MonoAOTCompiler
Condition="'$(RunAOTCompilation)' == 'true'"
- CompilerBinaryPath="@(MonoAotCrossCompiler->WithMetadataValue('RuntimeIdentifier','$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())'))"
+ CompilerBinaryPath="@(MonoAotCrossCompiler->WithMetadataValue('RuntimeIdentifier','$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())'))"
Mode="$(AOTMode)"
OutputType="AsmOnly"
Assemblies="@(AotInputAssemblies)"
TargetOS="$(TargetOS)"
Arch="$(TargetArchitecture)"
ProjectName="$(AppName)"
- MonoRuntimeHeaders="$(MicrosoftNetCoreAppRuntimePackDir)runtimes\$(TargetOS.ToLower())-$(TargetArchitecture)\native\include\mono-2.0"
+ MonoRuntimeHeaders="$(MicrosoftNetCoreAppRuntimePackDir)runtimes\$(TargetOS)-$(TargetArchitecture)\native\include\mono-2.0"
Assemblies="@(BundleAssemblies)"
MainLibraryFileName="Program.dll"
GenerateXcodeProject="True"
<!-- FIXME: only run if the TargetArchitecture matches the current architecture -->
<!-- install and run on ios simulator or device -->
- <Exec Condition="'$(TargetOS)' == 'iOSSimulator'" Command="dotnet xharness apple run --app=$(AppBundlePath) --targets=ios-simulator-64 --output-directory=/tmp/out" />
- <Exec Condition="'$(TargetOS)' == 'iOS'" Command="dotnet xharness apple run --app=$(AppBundlePath) --targets=ios-device --output-directory=/tmp/out" />
+ <Exec Condition="'$(TargetOS)' == 'iossimulator'" Command="dotnet xharness apple run --app=$(AppBundlePath) --targets=ios-simulator-64 --output-directory=/tmp/out" />
+ <Exec Condition="'$(TargetOS)' == 'ios'" Command="dotnet xharness apple run --app=$(AppBundlePath) --targets=ios-device --output-directory=/tmp/out" />
<!-- run on MacCatalyst -->
- <Exec Condition="'$(TargetOS)' == 'MacCatalyst'" Command="open -W $(AppBundlePath)" />
+ <Exec Condition="'$(TargetOS)' == 'maccatalyst'" Command="open -W $(AppBundlePath)" />
</Target>
For Apple targets:
```console
-build.sh --os MacCatalyst -s Mono+Libs
+build.sh --os maccatalyst -s mono+libs
```
or
```console
-build.sh --os iOSSimulator -s Mono+Libs
+build.sh --os iossimulator -s mono+libs
```
## Running
<OutputType>Exe</OutputType>
<OutputPath>bin</OutputPath>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <RuntimeIdentifier>$(TargetOS.ToLower())-$(TargetArchitecture)</RuntimeIdentifier>
+ <RuntimeIdentifier>$(TargetOS)-$(TargetArchitecture)</RuntimeIdentifier>
<DefineConstants Condition="'$(ArchiveTests)' == 'true'">$(DefineConstants);CI_TEST</DefineConstants>
<MonoForceInterpreter>true</MonoForceInterpreter>
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
<DeltaCount>1</DeltaCount>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'MacCatalyst'">
- <DevTeamProvisioning Condition="'$(TargetOS)' == 'MacCatalyst' and '$(DevTeamProvisioning)' == ''">-</DevTeamProvisioning>
+ <PropertyGroup Condition="'$(TargetOS)' == 'maccatalyst'">
+ <DevTeamProvisioning Condition="'$(TargetOS)' == 'maccatalyst' and '$(DevTeamProvisioning)' == ''">-</DevTeamProvisioning>
</PropertyGroup>
<Import Project="$(RepoTasksDir)AotCompilerTask\MonoAOTCompiler.props" />
TargetOS="$(TargetOS)"
Arch="$(TargetArchitecture)"
ProjectName="AppleDelta"
- MonoRuntimeHeaders="$(MicrosoftNetCoreAppRuntimePackDir)runtimes\$(TargetOS.ToLower())-$(TargetArchitecture)\native\include\mono-2.0"
+ MonoRuntimeHeaders="$(MicrosoftNetCoreAppRuntimePackDir)runtimes\$(TargetOS)-$(TargetArchitecture)\native\include\mono-2.0"
Assemblies="@(BundleAssemblies)"
NativeMainSource="$(MSBuildThisFileDirectory)\main.m"
MainLibraryFileName="AppleDelta.dll"
<Message Importance="High" Text="Xcode: $(XcodeProjectPath)"/>
<Message Importance="High" Text="App: $(AppBundlePath)"/>
- <Exec Condition="'$(TargetOS)' == 'iOSSimulator'" Command="dotnet xharness apple run --app=$(AppBundlePath) --targets=ios-simulator-64 --output-directory=/tmp/out" />
+ <Exec Condition="'$(TargetOS)' == 'iossimulator'" Command="dotnet xharness apple run --app=$(AppBundlePath) --targets=ios-simulator-64 --output-directory=/tmp/out" />
<!-- run on MacCatalyst -->
- <Exec Condition="'$(TargetOS)' == 'MacCatalyst'" Command="dotnet xharness apple run --app=$(AppBundlePath) --targets=maccatalyst --output-directory=/tmp/out" />
+ <Exec Condition="'$(TargetOS)' == 'maccatalyst'" Command="dotnet xharness apple run --app=$(AppBundlePath) --targets=maccatalyst --output-directory=/tmp/out" />
</Target>
DOTNET:=$(TOP)dotnet.sh
run-sim:
- $(DOTNET) publish -c $(CONFIG) /p:TargetOS=iOSSimulator /p:TargetArchitecture=$(MONO_ARCH) \
+ $(DOTNET) publish -c $(CONFIG) /p:TargetOS=iossimulator /p:TargetArchitecture=$(MONO_ARCH) \
/p:UseLLVM=False /p:ForceAOT=False /p:MonoForceInterpreter=true
run-catalyst:
- $(DOTNET) publish -c $(CONFIG) /p:TargetOS=MacCatalyst /p:TargetArchitecture=$(MONO_ARCH) \
+ $(DOTNET) publish -c $(CONFIG) /p:TargetOS=maccatalyst /p:TargetArchitecture=$(MONO_ARCH) \
/p:UseLLVM=False /p:ForceAOT=False /p:MonoForceInterpreter=true
clean:
# How was dotnet/runtime built? should be the same as build.sh -c option
BUILT_RUNTIME_CONFIG ?= Release
MONO_ARCH?=$(shell . $(TOP)eng/native/init-os-and-arch.sh && echo $${arch})
-TARGET_OS?=$(shell . $(TOP)eng/native/init-os-and-arch.sh && echo $${os} | tr "[:upper:]" "[:lower:]")
+TARGET_OS?=$(shell . $(TOP)eng/native/init-os-and-arch.sh && echo $${os})
MONO_ENV_OPTIONS = --interp
<Import Project="$(MonoProjectRoot)\wasm\build\WasmApp.InTree.targets" />
<PropertyGroup>
- <RunScriptInputName Condition="'$(TargetOS)' == 'Browser' and '$(OS)' != 'Windows_NT'">WasmRunnerTemplate.sh</RunScriptInputName>
- <RunScriptInputName Condition="'$(TargetOS)' == 'Browser' and '$(OS)' == 'Windows_NT'">WasmRunnerTemplate.cmd</RunScriptInputName>
+ <RunScriptInputName Condition="'$(TargetOS)' == 'browser' and '$(OS)' != 'Windows_NT'">WasmRunnerTemplate.sh</RunScriptInputName>
+ <RunScriptInputName Condition="'$(TargetOS)' == 'browser' and '$(OS)' == 'Windows_NT'">WasmRunnerTemplate.cmd</RunScriptInputName>
<RunScriptOutputPath>$([MSBuild]::NormalizePath('$(WasmAppDir)', '$(RunScriptOutputName)'))</RunScriptOutputPath>
<_WasmMainJSFileName>$([System.IO.Path]::GetFileName('$(WasmMainJSPath)'))</_WasmMainJSFileName>
<BuildAdditionalArgs Condition="'$(MonoDiagnosticsMock)' != ''">$(BuildAdditionalArgs) /p:MonoDiagnosticsMock=$(MonoDiagnosticsMock) </BuildAdditionalArgs>
</PropertyGroup>
- <Exec Command="$(_Dotnet) publish -bl /p:Configuration=$(Configuration) /p:TargetArchitecture=wasm /p:TargetOS=Browser $(_AOTFlag) $(_SampleProject) $(BuildAdditionalArgs)" />
+ <Exec Command="$(_Dotnet) publish -bl /p:Configuration=$(Configuration) /p:TargetArchitecture=wasm /p:TargetOS=browser $(_AOTFlag) $(_SampleProject) $(BuildAdditionalArgs)" />
</Target>
<Target Name="RunSampleWithV8" DependsOnTargets="BuildSampleInTree">
<Exec WorkingDirectory="bin/$(Configuration)/AppBundle" Command="v8 --expose_wasm $(_WasmMainJSFileName) -- $(DOTNET_MONO_LOG_LEVEL) --run $(_SampleAssembly) $(Args)" IgnoreExitCode="true" />
In console #2 start the sample
```
-dotnet build /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Debug /t:RunSample src/mono/sample/wasm/browser-eventpipe /p:MonoDiagnosticsMock=false
+dotnet build /p:TargetOS=browser /p:TargetArchitecture=wasm /p:Configuration=Debug /t:RunSample src/mono/sample/wasm/browser-eventpipe /p:MonoDiagnosticsMock=false
```
In console #3 start the dotnet trace
Shows how to create react component and re-use runtime instance, when the component is instantiated multiple times.
```
-dotnet build /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Debug /t:RunSample
+dotnet build /p:TargetOS=browser /p:TargetArchitecture=wasm -c Debug /t:RunSample
```
\ No newline at end of file
"private": true,
"license": "MIT",
"scripts": {
- "build:dotnet": "dotnet build /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Debug",
+ "build:dotnet": "dotnet build /p:TargetOS=browser /p:TargetArchitecture=wasm /p:Configuration=Debug",
"dev": "next dev",
"build": "next build",
"start": "next start"
## Sample for packaging dotnet.js via WebPack
```
-dotnet build /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Debug /t:RunSample
+dotnet build /p:TargetOS=browser /p:TargetArchitecture=wasm -c Debug /t:RunSample
```
\ No newline at end of file
"license": "MIT",
"main": "index.js",
"scripts": {
- "build": "dotnet build /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Debug",
+ "build": "dotnet build /p:TargetOS=browser /p:TargetArchitecture=wasm -c Debug",
"webpack": "webpack"
},
"devDependencies": {
"description": "TypeScript sample for dotnet in WASM",
"type": "module",
"scripts": {
- "build": "dotnet build /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Debug",
+ "build": "dotnet build /p:TargetOS=browser /p:TargetArchitecture=wasm -c Debug",
"tsc": "tsc -p ."
},
"devDependencies": {
## Sample for packaging dotnet.js via WebPack
```
-dotnet build /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Debug /t:RunSample
+dotnet build /p:TargetOS=browser /p:TargetArchitecture=wasm -c Debug /t:RunSample
```
\ No newline at end of file
"license": "MIT",
"main": "index.js",
"scripts": {
- "build": "dotnet build /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Debug",
+ "build": "dotnet build /p:TargetOS=browser /p:TargetArchitecture=wasm -c Debug",
"webpack": "webpack"
},
"devDependencies": {
CONFIG?=Release
-WASM_DEFAULT_BUILD_ARGS?=/p:TargetArchitecture=wasm /p:TargetOS=Browser /p:Configuration=$(CONFIG)
+WASM_DEFAULT_BUILD_ARGS?=/p:TargetArchitecture=wasm /p:TargetOS=browser /p:Configuration=$(CONFIG)
# we set specific headers to enable SharedArrayBuffer support in browsers for threading: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer#security_requirements
CORS_HEADERS?= -h "Cross-Origin-Opener-Policy:same-origin" -h "Cross-Origin-Embedder-Policy:require-corp"
CONFIG?=Release
BINDIR?=$(TOP)/artifacts/bin
OBJDIR?=$(TOP)/artifacts/obj
-_MSBUILD_WASM_BUILD_ARGS=/p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=$(CONFIG)
+_MSBUILD_WASM_BUILD_ARGS=/p:TargetOS=browser /p:TargetArchitecture=wasm /p:Configuration=$(CONFIG)
XHARNESS_BROWSER?=chrome
HELIX_TARGET_QUEUE?=Ubuntu.1804.Amd64.Open
@echo "----------------------------------------------------------"
@echo "Installed emsdk into EMSDK_PATH=$(TOP)/src/mono/wasm/emsdk"
-MONO_OBJ_DIR=$(OBJDIR)/mono/Browser.wasm.$(CONFIG)
+MONO_OBJ_DIR=$(OBJDIR)/mono/browser.wasm.$(CONFIG)
BUILDS_OBJ_DIR=$(MONO_OBJ_DIR)/wasm
clean-emsdk:
.PHONY: build
build:
- EMSDK_PATH=$(EMSDK_PATH) $(TOP)/build.sh mono+libs.pretest -os Browser -c $(CONFIG) --binaryLog /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS)
+ EMSDK_PATH=$(EMSDK_PATH) $(TOP)/build.sh mono+libs.pretest -os browser -c $(CONFIG) --binaryLog /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS)
build-all:
- EMSDK_PATH=$(EMSDK_PATH) $(TOP)/build.sh mono+libs -os Browser -c $(CONFIG) --binaryLog /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS)
+ EMSDK_PATH=$(EMSDK_PATH) $(TOP)/build.sh mono+libs -os browser -c $(CONFIG) --binaryLog /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS)
runtime:
- EMSDK_PATH=$(EMSDK_PATH) $(TOP)/build.sh mono.runtime+mono.wasmruntime+libs.native+libs.pretest -os Browser -c $(CONFIG) /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS)
+ EMSDK_PATH=$(EMSDK_PATH) $(TOP)/build.sh mono.runtime+mono.wasmruntime+libs.native+libs.pretest -os browser -c $(CONFIG) /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS)
# Rebuild only the mono runtime+cross compiler, don't build dotnet.wasm
mono-runtime:
- EMSDK_PATH=$(EMSDK_PATH) $(TOP)/build.sh mono.runtime+libs.native+libs.pretest -os Browser -c $(CONFIG) /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS)
+ EMSDK_PATH=$(EMSDK_PATH) $(TOP)/build.sh mono.runtime+libs.native+libs.pretest -os browser -c $(CONFIG) /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS)
corlib:
- EMSDK_PATH=$(EMSDK_PATH) $(TOP)/build.sh mono.corelib+mono.wasmruntime+libs.pretest -os Browser -c $(CONFIG) /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS)
+ EMSDK_PATH=$(EMSDK_PATH) $(TOP)/build.sh mono.corelib+mono.wasmruntime+libs.pretest -os browser -c $(CONFIG) /p:ContinueOnError=false /p:StopOnFirstFailure=true $(MSBUILD_ARGS)
test-runner:
$(DOTNET) build $(TOP)/src/libraries/Common/tests/WasmTestRunner /p:Configuration=$(CONFIG) $(MSBUILD_ARGS)
* To build everything
-`build.cmd -os Browser -subset mono+libs` in the repo top level directory.
+`build.cmd -os browser -subset mono+libs` in the repo top level directory.
# Running tests
Examples of running tests for individual libraries:
-`.\dotnet.cmd build /t:Test /p:TargetOS=Browser src\libraries\System.Collections.Concurrent\tests`
-`.\dotnet.cmd build /t:Test /p:TargetOS=Browser /p:JSEngine="SpiderMonkey" src\libraries\System.Text.Json\tests`
+`.\dotnet.cmd build /t:Test /p:TargetOS=browser src\libraries\System.Collections.Concurrent\tests`
+`.\dotnet.cmd build /t:Test /p:TargetOS=browser /p:JSEngine="SpiderMonkey" src\libraries\System.Text.Json\tests`
### Browser tests on macOS
- Running:
Linux/macOS: `$ make -C src/mono/wasm run-build-tests`
-Windows: `.\dotnet.cmd build .\src\mono\wasm\BuildWasmApps\Wasm.Build.Tests\Wasm.Build.Tests.csproj -c Release -t:Test -p:TargetOS=Browser -p:TargetArchitecture=wasm`
+Windows: `.\dotnet.cmd build .\src\mono\wasm\BuildWasmApps\Wasm.Build.Tests\Wasm.Build.Tests.csproj -c Release -t:Test -p:TargetOS=browser -p:TargetArchitecture=wasm`
- Specific tests can be run via `XUnitClassName`, and `XUnitMethodName`
- eg. `XUnitClassName=Wasm.Build.Tests.BlazorWasmTests`
<MonoTargetsTasksDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoTargetsTasks', 'Debug', '$(_TargetFrameworkForNETCoreTasks)'))</MonoTargetsTasksDir>
<MonoArtifactsPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'mono', '$(TargetOS).$(TargetArchitecture).$(RuntimeConfig)'))</MonoArtifactsPath>
- <_MonoAotCrossCompilerPath>$([MSBuild]::NormalizePath($(MonoArtifactsPath), 'cross', '$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())', 'mono-aot-cross'))</_MonoAotCrossCompilerPath>
+ <_MonoAotCrossCompilerPath>$([MSBuild]::NormalizePath($(MonoArtifactsPath), 'cross', '$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())', 'mono-aot-cross'))</_MonoAotCrossCompilerPath>
<_MonoAotCrossCompilerPath Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">$(_MonoAotCrossCompilerPath).exe</_MonoAotCrossCompilerPath>
</PropertyGroup>
</PropertyGroup>
<ItemGroup>
- <MonoAotCrossCompiler Include="$(_MonoAotCrossCompilerPath)" RuntimeIdentifier="$(TargetOS.ToLowerInvariant())-$(TargetArchitecture.ToLowerInvariant())" />
+ <MonoAotCrossCompiler Include="$(_MonoAotCrossCompilerPath)" RuntimeIdentifier="$(TargetOS)-$(TargetArchitecture.ToLowerInvariant())" />
</ItemGroup>
<PropertyGroup>
<Project>
<PropertyGroup>
<TargetArchitecture>wasm</TargetArchitecture>
- <TargetOS>Browser</TargetOS>
+ <TargetOS>browser</TargetOS>
<RuntimeIdentifier>browser-wasm</RuntimeIdentifier>
<UseMonoRuntime>true</UseMonoRuntime>
<TrimMode Condition="'$(TrimMode)' == ''">partial</TrimMode>
</ItemGroup>
</Target>
<Target Name="PreserveEnCAssembliesFromLinking"
- Condition="'$(TargetOS)' == 'Browser' and '$(EnableAggressiveTrimming)' == 'true'"
+ Condition="'$(TargetOS)' == 'browser' and '$(EnableAggressiveTrimming)' == 'true'"
BeforeTargets="ConfigureTrimming">
<ItemGroup>
<!-- Don't modify EnC test assemblies -->
</Target>
<Target Name="IncludeDeltasInWasmBundle"
BeforeTargets="PrepareForWasmBuildApp"
- Condition="'$(TargetOS)' == 'Browser'">
+ Condition="'$(TargetOS)' == 'browser'">
<ItemGroup>
<!-- FIXME: this belongs in eng/testing/tests.wasm.targets -->
<!-- FIXME: Can we do something on the Content items in the referenced projects themselves to get this for free? -->
<Target Name="CheckEnv">
<Error Condition="'$(TargetArchitecture)' != 'wasm'" Text="Expected TargetArchitecture==wasm, got '$(TargetArchitecture)'"/>
- <Error Condition="'$(TargetOS)' != 'Browser'" Text="Expected TargetOS==Browser, got '$(TargetOS)'"/>
+ <Error Condition="'$(TargetOS)' != 'browser'" Text="Expected TargetOS==browser, got '$(TargetOS)'"/>
<Error Condition="'$(EMSDK_PATH)' == ''" Text="The EMSDK_PATH environment variable should be set pointing to the emscripten SDK root dir."/>
</Target>
set __CMakeBinDir=""
set __IntermediatesDir=""
set __BuildArch=x64
-set __TargetOS=Windows
+set __TargetOS=windows
set CMAKE_BUILD_TYPE=Debug
set __PortableBuild=0
set __ConfigureOnly=0
__RepoRootDir="$(cd "$__scriptpath"/../../..; pwd -P)"
__TargetArch=x64
-__TargetOS=Linux
+__TargetOS=linux
__BuildType=Debug
__CMakeArgs=""
__Compiler=clang
if /i [%1] == [outconfig] ( set __outConfig=%2&&shift&&shift&goto Arg_Loop)
-if /i [%1] == [Browser] ( set __TargetOS=Browser&&shift&goto Arg_Loop)
+if /i [%1] == [browser] ( set __TargetOS=browser&&shift&goto Arg_Loop)
if /i [%1] == [wasi] ( set __TargetOS=wasi&&shift&goto Arg_Loop)
if /i [%1] == [rebuild] ( set __BuildTarget=rebuild&&shift&goto Arg_Loop)
set __generatorArgs=
if [%__Ninja%] == [1] (
set __generatorArgs=
-) else if [%__TargetOS%] == [Browser] (
+) else if [%__TargetOS%] == [browser] (
set __generatorArgs=
) else if [%__TargetOS%] == [wasi] (
set __generatorArgs=
#!/usr/bin/env bash
-usage_list=("-outconfig: Configuration, typically a quadruplet such as 'net8.0-Linux-Release-x64', used to name output directory.")
+usage_list=("-outconfig: Configuration, typically a quadruplet such as 'net8.0-linux-Release-x64', used to name output directory.")
usage_list+=("-staticLibLink: Optional argument to statically link any native library.")
__scriptpath="$(cd "$(dirname "$0")"; pwd -P)"
# Set the various build properties here so that CMake and MSBuild can pick them up
__TargetArch=x64
-__TargetOS=Linux
+__TargetOS=linux
__BuildType=Debug
__CMakeArgs=""
__Compiler=clang
source "$__RepoRootDir"/eng/native/build-commons.sh
# Set cross build
-if [[ "$__TargetOS" == Browser ]]; then
+if [[ "$__TargetOS" == browser ]]; then
if [[ -z "$EMSDK_PATH" ]]; then
if [[ -d "$__RepoRootDir"/src/mono/wasm/emsdk/ ]]; then
export EMSDK_PATH="$__RepoRootDir"/src/mono/wasm/emsdk/
export WASI_SDK_PATH="${WASI_SDK_PATH%/}/"
export CLR_CC="$WASI_SDK_PATH"bin/clang
export TARGET_BUILD_ARCH=wasm
- __CMakeArgs="-DCLR_CMAKE_TARGET_OS=WASI -DCLR_CMAKE_TARGET_ARCH=wasm -DWASI_SDK_PREFIX=$WASI_SDK_PATH -DCMAKE_TOOLCHAIN_FILE=$WASI_SDK_PATH/share/cmake/wasi-sdk.cmake"
-elif [[ "$__TargetOS" == iOS || "$__TargetOS" == iOSSimulator ]]; then
+ __CMakeArgs="-DCLR_CMAKE_TARGET_OS=wasi -DCLR_CMAKE_TARGET_ARCH=wasm -DWASI_SDK_PREFIX=$WASI_SDK_PATH -DCMAKE_TOOLCHAIN_FILE=$WASI_SDK_PATH/share/cmake/wasi-sdk.cmake"
+elif [[ "$__TargetOS" == ios || "$__TargetOS" == iossimulator ]]; then
# nothing to do here
true
-elif [[ "$__TargetOS" == tvOS || "$__TargetOS" == tvOSSimulator ]]; then
+elif [[ "$__TargetOS" == tvos || "$__TargetOS" == tvossimulator ]]; then
# nothing to do here
true
-elif [[ "$__TargetOS" == Android && -z "$ROOTFS_DIR" ]]; then
+elif [[ "$__TargetOS" == android && -z "$ROOTFS_DIR" ]]; then
# nothing to do here
true
else
fi
fi
-if [[ "$__TargetOS" == Android && -z "$ROOTFS_DIR" ]]; then
+if [[ "$__TargetOS" == android && -z "$ROOTFS_DIR" ]]; then
# Android SDK defaults to c++_static; we only need C support
__CMakeArgs="-DANDROID_STL=none $__CMakeArgs"
elif [[ "$__TargetOS" == linux-bionic && -z "$ROOTFS_DIR" ]]; then
# Android SDK defaults to c++_static; we only need C support
__CMakeArgs="-DFORCE_ANDROID_OPENSSL=1 -DANDROID_STL=none $__CMakeArgs"
-elif [[ "$__TargetOS" == iOSSimulator ]]; then
+elif [[ "$__TargetOS" == iossimulator ]]; then
# set default iOS simulator deployment target
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphonesimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 $__CMakeArgs"
elif [[ "$__TargetArch" == arm64 ]]; then
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
else
- echo "Error: Unknown iOSSimulator architecture $__TargetArch."
+ echo "Error: Unknown iossimulator architecture $__TargetArch."
exit 1
fi
-elif [[ "$__TargetOS" == iOS ]]; then
+elif [[ "$__TargetOS" == ios ]]; then
# set default iOS device deployment target
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_SYSROOT=iphoneos -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 $__CMakeArgs"
elif [[ "$__TargetArch" == arm ]]; then
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"armv7;armv7s\" $__CMakeArgs"
else
- echo "Error: Unknown iOS architecture $__TargetArch."
+ echo "Error: Unknown ios architecture $__TargetArch."
exit 1
fi
-elif [[ "$__TargetOS" == tvOSSimulator ]]; then
+elif [[ "$__TargetOS" == tvossimulator ]]; then
# set default tvOS simulator deployment target
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_SYSTEM_NAME=tvOS -DCMAKE_OSX_SYSROOT=appletvsimulator -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 $__CMakeArgs"
elif [[ "$__TargetArch" == arm64 ]]; then
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
else
- echo "Error: Unknown tvOSSimulator architecture $__TargetArch."
+ echo "Error: Unknown tvossimulator architecture $__TargetArch."
exit 1
fi
-elif [[ "$__TargetOS" == tvOS ]]; then
+elif [[ "$__TargetOS" == tvos ]]; then
# set default tvOS device deployment target
# keep in sync with src/mono/Directory.Build.props
__CMakeArgs="-DCMAKE_SYSTEM_NAME=tvOS -DCMAKE_OSX_SYSROOT=appletvos -DCMAKE_OSX_DEPLOYMENT_TARGET=10.0 $__CMakeArgs"
if [[ "$__TargetArch" == arm64 ]]; then
__CMakeArgs="-DCMAKE_OSX_ARCHITECTURES=\"arm64\" $__CMakeArgs"
else
- echo "Error: Unknown tvOS architecture $__TargetArch."
+ echo "Error: Unknown tvos architecture $__TargetArch."
exit 1
fi
fi
<Project>
- <ItemGroup Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'MacCatalyst'">
- <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' != 'MacCatalyst'" Include="mtriple=arm64-ios" />
- <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'MacCatalyst'" Include="mtriple=arm64-apple-ios14.2-macabi" />
+ <ItemGroup Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst'">
+ <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' != 'maccatalyst'" Include="mtriple=arm64-ios" />
+ <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'maccatalyst'" Include="mtriple=arm64-apple-ios14.2-macabi" />
<MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm'" Include="mtriple=armv7-ios" />
- <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'x64' and '$(TargetOS)' != 'MacCatalyst'" Include="mtriple=x86_64-ios" />
- <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'x64' and '$(TargetOS)' == 'MacCatalyst'" Include="mtriple=x86_64-apple-ios13.5-macabi" />
+ <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'x64' and '$(TargetOS)' != 'maccatalyst'" Include="mtriple=x86_64-ios" />
+ <MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'x64' and '$(TargetOS)' == 'maccatalyst'" Include="mtriple=x86_64-apple-ios13.5-macabi" />
<MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'x86'" Include="mtriple=i386-ios" />
<MonoAOTCompilerDefaultAotArguments Include="static" />
<MonoAOTCompilerDefaultAotArguments Include="dwarfdebug" />
<MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm64' or '$(TargetArchitecture)' == 'arm'" Include="mattr=+crc" /> <!-- enable System.Runtime.Intrinsics.Arm (Crc32 and ArmBase for now) -->
<!--<MonoAOTCompilerDefaultAotArguments Include="direct-pinvoke" />--> <!-- TODO: enable direct-pinvokes (to get rid of -force_loads)-->
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'MacCatalyst'">
+ <ItemGroup Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst'">
<MonoAOTCompilerDefaultProcessArguments Include="-O=gsharedvt" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'MacCatalyst'">
+ <ItemGroup Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'maccatalyst'">
<MonoAOTCompilerDefaultAotArguments Include="direct-icalls" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Android'">
+ <ItemGroup Condition="'$(TargetOS)' == 'android'">
<MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm'" Include="mtriple=armv7-linux-gnueabi" />
<MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'arm64'" Include="mtriple=aarch64-linux-android" />
<MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'x86'" Include="mtriple=i686-linux-android" />
<MonoAOTCompilerDefaultAotArguments Condition="'$(TargetArchitecture)' == 'x64'" Include="mtriple=x86_64-linux-android" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Android' or '$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'MacCatalyst'">
+ <ItemGroup Condition="'$(TargetOS)' == 'android' or '$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst'">
<!-- Default trampolines run out for libraries tests -->
<MonoAOTCompilerDefaultAotArguments Include="nimt-trampolines=2000" />
<MonoAOTCompilerDefaultAotArguments Include="ntrampolines=10000" />
<MonoAOTCompilerDefaultAotArguments Include="nftnptr-arg-trampolines=4000" />
<MonoAOTCompilerDefaultAotArguments Include="nrgctx-trampolines=21000" />
</ItemGroup>
- <ItemGroup Condition="'$(TargetOS)' == 'Browser'">
+ <ItemGroup Condition="'$(TargetOS)' == 'browser'">
<MonoAOTCompilerDefaultAotArguments Include="no-opt" />
<MonoAOTCompilerDefaultAotArguments Include="static" />
<MonoAOTCompilerDefaultAotArguments Include="direct-icalls" />
]]>
</CLRTestBashPreCommands>
- <BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And $(TargetOS) != 'Browser' And '$(TargetOS)' != 'Android' And '$(TargetArchitecture)' != 'arm64'">
+ <BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And '$(TargetOS)' != 'browser' And '$(TargetOS)' != 'android' And '$(TargetArchitecture)' != 'arm64'">
<![CDATA[
$(BashLinkerTestLaunchCmds)
$(BashLinkerTestCleanupCmds)
]]></BashCLRTestLaunchCmds>
- <BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And $(TargetOS) != 'Browser' And '$(TargetOS)' != 'Android' And '$(TargetArchitecture)' == 'arm64'">
+ <BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And '$(TargetOS)' != 'browser' And '$(TargetOS)' != 'android' And '$(TargetArchitecture)' == 'arm64'">
<![CDATA[
$(BashLinkerTestLaunchCmds)
$(BashLinkerTestCleanupCmds)
]]></BashCLRTestLaunchCmds>
- <BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And $(TargetOS) == 'Browser' ">
+ <BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And '$(TargetOS)' == 'browser'">
<![CDATA[
cd WasmApp
./run-v8.sh
CLRTestExitCode=$?
]]>
</BashCLRTestLaunchCmds>
- <BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And $(TargetOS) == 'Android' ">
+ <BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And '$(TargetOS)' == 'android'">
<![CDATA[
# run Android app
__Command=""
CLRTestExpectedExitCode=0
]]>
</BashCLRTestLaunchCmds>
- <BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And $(TargetOS) == 'iOSSimulator' ">
+ <BashCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And '$(TargetOS)' == 'iossimulator'">
<![CDATA[
__Command=""
if [ ! -z ${__TestDotNetCmd+x} ] %3B then
$(BashCLRTestArgPrep)
]]></BashCLRTestArgPrep>
- <CLRTestExecutionScriptHeader Condition=" $(TargetOS) == 'Android' ">
+ <CLRTestExecutionScriptHeader Condition="'$(TargetOS)' == 'android'">
<![CDATA[
%23%21/usr/bin/env bash
set -e
]]></CLRTestExecutionScriptHeader>
- <CLRTestExecutionScriptHeader Condition=" $(TargetOS) != 'Android' ">
+ <CLRTestExecutionScriptHeader Condition="'$(TargetOS)' != 'android'">
<![CDATA[
%23%21/usr/bin/env bash
]]></CLRTestExecutionScriptHeader>
ECHO Copying '%CORE_ROOT%\CoreShim.dll'...
COPY /y %CORE_ROOT%\CoreShim.dll .
]]></BatchCopyCoreShimLocalCmds>
- <BatchCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And $(TargetOS) != 'Android' ">
+ <BatchCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And $(TargetOS) != 'android'">
<![CDATA[
$(BatchLinkerTestLaunchCmds)
$(BatchCopyCoreShimLocalCmds)
)
$(BatchLinkerTestCleanupCmds)
]]></BatchCLRTestLaunchCmds>
- <BatchCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And $(TargetOS) == 'Android' ">
+ <BatchCLRTestLaunchCmds Condition="'$(CLRTestKind)' == 'BuildAndRun' And $(TargetOS) == 'android'">
<![CDATA[
REM run Android app
IF NOT "%__TestDotNetCmd%"=="" (
DependsOnTargets="GetDisasmCheckData">
<PropertyGroup>
<HasBashDisasmCheck>false</HasBashDisasmCheck>
- <HasBashDisasmCheck Condition="'$(HasDisasmCheck)' == 'true' and '$(RuntimeFlavor)' == 'coreclr' and ('$(TargetOS)' == 'Linux' or '$(TargetOS)' == 'OSX') and ('$(TargetArchitecture)' == 'x64' or '$(TargetArchitecture)' == 'arm64')">true</HasBashDisasmCheck>
+ <HasBashDisasmCheck Condition="'$(HasDisasmCheck)' == 'true' and '$(RuntimeFlavor)' == 'coreclr' and ('$(TargetOS)' == 'linux' or '$(TargetOS)' == 'osx') and ('$(TargetArchitecture)' == 'x64' or '$(TargetArchitecture)' == 'arm64')">true</HasBashDisasmCheck>
<BashDisasmOutputFile Condition="'$(HasBashDisasmCheck)' == 'true'">$(scriptPath)__jit_disasm.out</BashDisasmOutputFile>
<BashDisasmListOutputFile Condition="'$(HasBashDisasmCheck)' == 'true'">$(scriptPath)__jit_disasm_list.out</BashDisasmListOutputFile>
<PropertyGroup>
<GCStressDependsOnCoreDisTools>false</GCStressDependsOnCoreDisTools>
<GCStressDependsOnCoreDisTools Condition="'$(TargetOS)' == 'windows' And ('$(TargetArchitecture)' == 'x64' Or '$(TargetArchitecture)' == 'x86')">true</GCStressDependsOnCoreDisTools>
- <GCStressDependsOnCoreDisTools Condition="'$(TargetOS)' == 'Linux' And '$(TargetArchitecture)' == 'x64'">true</GCStressDependsOnCoreDisTools>
+ <GCStressDependsOnCoreDisTools Condition="'$(TargetOS)' == 'linux' And '$(TargetArchitecture)' == 'x64'">true</GCStressDependsOnCoreDisTools>
<CopyCoreDisToolsToCoreRoot>false</CopyCoreDisToolsToCoreRoot>
<CopyCoreDisToolsToCoreRoot Condition="$(GCStressDependsOnCoreDisTools) And '$(DotNetBuildFromSource)' != 'true'">true</CopyCoreDisToolsToCoreRoot>
<!-- Non-desktop OS's use a custom dotnet host, instead of corerun -->
SuperPmiCollect=$(_SuperPmiCollect)
</_PropertiesToPass>
- <_PropertiesToPass Condition="'$(TargetOS)' == 'Browser' Or '$(TargetsAndroid)' == 'true'">
+ <_PropertiesToPass Condition="'$(TargetOS)' == 'browser' Or '$(TargetsAndroid)' == 'true'">
$(_PropertiesToPass);
IncludeDotNetCli=$(IncludeDotNetCli);
DotNetCliRuntime=$(DotNetCliRuntime);
<PropertyGroup Condition="'$(HelixRuntimeRid)' == ''">
<TargetOSSpec>$(TargetOS)$(TargetOSSubgroup)</TargetOSSpec>
<HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'windows'">win-$(TargetArchitecture)</HelixRuntimeRid>
- <HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'OSX'">osx-$(TargetArchitecture)</HelixRuntimeRid>
- <HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'Linux'">linux-$(TargetArchitecture)</HelixRuntimeRid>
- <HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'Linux_musl'">linux-musl-$(TargetArchitecture)</HelixRuntimeRid>
- <HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'Browser'">browser-wasm</HelixRuntimeRid>
- <HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'Android'">android-$(TargetArchitecture)</HelixRuntimeRid>
- <HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'iOSSimulator'">iossimulator-$(TargetArchitecture)</HelixRuntimeRid>
+ <HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'osx'">osx-$(TargetArchitecture)</HelixRuntimeRid>
+ <HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'linux'">linux-$(TargetArchitecture)</HelixRuntimeRid>
+ <HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'linux_musl'">linux-musl-$(TargetArchitecture)</HelixRuntimeRid>
+ <HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'browser'">browser-wasm</HelixRuntimeRid>
+ <HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'android'">android-$(TargetArchitecture)</HelixRuntimeRid>
+ <HelixRuntimeRid Condition="'$(TargetOSSpec)' == 'iossimulator'">iossimulator-$(TargetArchitecture)</HelixRuntimeRid>
</PropertyGroup>
<PropertyGroup>
}
# Get the number of processors available to the scheduler
-platform="$(uname)"
-if [[ "$platform" == "FreeBSD" ]]; then
+platform="$(uname -s | tr '[:upper:]' '[:lower:]')"
+if [[ "$platform" == "freebsd" ]]; then
NumProc="$(($(sysctl -n hw.ncpu)+1))"
-elif [[ "$platform" == "NetBSD" || "$platform" == "SunOS" ]]; then
+elif [[ "$platform" == "netbsd" || "$platform" == "sunos" ]]; then
NumProc="$(($(getconf NPROCESSORS_ONLN)+1))"
-elif [[ "$platform" == "Darwin" ]]; then
+elif [[ "$platform" == "darwin" ]]; then
NumProc="$(($(getconf _NPROCESSORS_ONLN)+1))"
elif command -v nproc > /dev/null 2>&1; then
NumProc="$(nproc)"
# The following command
#
# ~/git/coreclr$ python tests/scripts/crossgen_comparison.py crossgen_corelib
-# --crossgen artifacts/bin/coreclr/Linux.arm.Checked/crossgen
-# --il_corelib artifacts/bin/coreclr/Linux.arm.Checked/IL/System.Private.CoreLib.dll
-# --result_dir Linux.arm_arm.Checked
+# --crossgen artifacts/bin/coreclr/linux.arm.Checked/crossgen
+# --il_corelib artifacts/bin/coreclr/linux.arm.Checked/IL/System.Private.CoreLib.dll
+# --result_dir linux.arm_arm.Checked
#
# runs Hostarm/arm crossgen on System.Private.CoreLib.dll and puts all the
-# information in files Linux.arm_arm.Checked/System.Private.CoreLib-NativeOrReadyToRunImage.json
+# information in files linux.arm_arm.Checked/System.Private.CoreLib-NativeOrReadyToRunImage.json
# and System.Private.CoreLib-DebuggingFile.json
#
-# ~/git/coreclr$ cat Linux.arm_arm.Checked/System.Private.CoreLib-NativeOrReadyToRunImage.json
+# ~/git/coreclr$ cat linux.arm_arm.Checked/System.Private.CoreLib-NativeOrReadyToRunImage.json
# {
# "AssemblyName": "System.Private.CoreLib",
# "ReturnCode": 0,
# "OutputFileSizeInBytes": 9564160
# }
#
-# ~/git/coreclr$ cat Linux.x64_arm.Checked/System.Private.CoreLib-DebuggingFile.json
+# ~/git/coreclr$ cat linux.x64_arm.Checked/System.Private.CoreLib-DebuggingFile.json
# {
# "ReturnCode": 0,
# "StdOut": [
# The following command
#
# ~/git/coreclr$ python tests/scripts/crossgen_comparison.py crossgen_dotnet_sdk
-# --crossgen artifacts/bin/coreclr/Linux.arm.Checked/x64/crossgen
-# --il_corelib artifacts/bin/coreclr/Linux.arm.Checked/IL/System.Private.CoreLib.dll
+# --crossgen artifacts/bin/coreclr/linux.arm.Checked/x64/crossgen
+# --il_corelib artifacts/bin/coreclr/linux.arm.Checked/IL/System.Private.CoreLib.dll
# --dotnet_sdk dotnet-sdk-latest-linux-arm.tar.gz
-# --result_dir Linux.x64_arm.Checked
+# --result_dir linux.x64_arm.Checked
#
# runs Hostx64/arm crossgen on System.Private.CoreLib.dll in artifacts/Product and on
# all the assemblies inside dotnet-sdk-latest-linux-arm.tar.gz and stores the
-# collected information in directory Linux.x64_arm.Checked
+# collected information in directory linux.x64_arm.Checked
#
-# ~/git/coreclr$ ls Linux.x64_arm.Checked | head
+# ~/git/coreclr$ ls linux.x64_arm.Checked | head
# Microsoft.AI.DependencyCollector.dll.json
# Microsoft.ApplicationInsights.AspNetCore.dll.json
# Microsoft.ApplicationInsights.dll.json
# The following command
#
# ~/git/coreclr$ python -u tests/scripts/crossgen_comparison.py compare
-# --base_dir Linux.x64_arm.Checked
-# --diff_dir Linux.x86_arm.Checked
+# --base_dir linux.x64_arm.Checked
+# --diff_dir linux.x86_arm.Checked
#
# compares the results of Hostx64/arm crossgen and Hostx86/arm crossgen.
################################################################################
#!/usr/bin/env bash
-OSName=$(uname -s)
+OSName=$(uname -s | tr '[:upper:]' '[:lower:]')
case $OSName in
- Darwin)
- OS=OSX
+ darwin)
+ OS=osx
;;
- FreeBSD)
- OS=FreeBSD
+ freeBSD)
+ OS=freebsd
;;
- Linux)
- OS=Linux
+ linux)
+ OS=linux
;;
- NetBSD)
- OS=NetBSD
+ netbsd)
+ OS=netbsd
;;
- SunOS)
- OS=SunOS
+ sunos)
+ OS=sunos
;;
*)
echo "Unsupported OS $OSName detected, configuring as if for Linux"
- OS=Linux
+ OS=linux
;;
esac
<PropertyGroup>
<XunitConsoleRunner>$(CORE_ROOT)\xunit\xunit.console.dll</XunitConsoleRunner>
- <XunitArgs Condition="'$(TargetOS)' == 'Android' or '$(TargetOS)' == 'iOSSimulator'">-parallel none</XunitArgs>
- <XunitArgs Condition="'$(TargetOS)' != 'Android' and '$(TargetOS)' != 'iOSSimulator'">-parallel $(ParallelRun)</XunitArgs>
+ <XunitArgs Condition="'$(TargetOS)' == 'android' or '$(TargetOS)' == 'iossimulator'">-parallel none</XunitArgs>
+ <XunitArgs Condition="'$(TargetOS)' != 'android' and '$(TargetOS)' != 'iossimulator'">-parallel $(ParallelRun)</XunitArgs>
<XunitArgs>$(XunitArgs) -html $(__TestRunHtmlLog)</XunitArgs>
<XunitArgs>$(XunitArgs) -xml $(__TestRunXmlLog)</XunitArgs>
<XunitArgs>$(XunitArgs) @(IncludeTraitsItems->'-trait %(Identity)', ' ')</XunitArgs>
<UsePartialNGENOptimization Condition="'$(UsePartialNGENOptimization)' == ''">false</UsePartialNGENOptimization>
<RunWithAndroid>false</RunWithAndroid>
- <RunWithAndroid Condition="'$(TargetOS)' == 'Android'">true</RunWithAndroid>
+ <RunWithAndroid Condition="'$(TargetOS)' == 'android'">true</RunWithAndroid>
<MonoAot>false</MonoAot>
<MonoAot Condition="'$(__MonoAot)' == '1'">true</MonoAot>
</PropertyGroup>
<PropertyGroup>
- <TargetsUnknownUnix Condition="'$(TargetsUnix)' == 'true' AND '$(TargetOS)' != 'FreeBSD' AND '$(TargetOS)' != 'Linux' AND '$(TargetOS)' != 'NetBSD' AND '$(TargetOS)' != 'OSX' AND '$(TargetOS)' != 'MacCatalyst' AND '$(TargetOS)' != 'illumos' AND '$(TargetOS)' != 'Solaris'">true</TargetsUnknownUnix>
+ <TargetsUnknownUnix Condition="'$(TargetsUnix)' == 'true' AND '$(TargetOS)' != 'freebsd' AND '$(TargetOS)' != 'linux' AND '$(TargetOS)' != 'netbsd' AND '$(TargetOS)' != 'osx' AND '$(TargetOS)' != 'maccatalyst' AND '$(TargetOS)' != 'illumos' AND '$(TargetOS)' != 'solaris'">true</TargetsUnknownUnix>
<Language Condition="'$(Language)' == '' and '$(MSBuildProjectExtension)' == '.csproj'">C#</Language>
<Language Condition="'$(Language)' == '' and '$(MSBuildProjectExtension)' == '.fsproj'">F#</Language>
<Language Condition="'$(Language)' == '' and '$(MSBuildProjectExtension)' == '.ilproj'">IL</Language>
<!-- Set Test Wrapper running host OS -->
<PropertyGroup>
<TestWrapperTargetsWindows>false</TestWrapperTargetsWindows>
- <TestWrapperTargetsWindows Condition=" ('$(TargetsWindows)' != '' And '$(TargetsWindows)' ) OR ('$(TargetOS)' == 'Android' And '$(TargetArchitecture)' == 'arm64' )">true</TestWrapperTargetsWindows>
+ <TestWrapperTargetsWindows Condition=" ('$(TargetsWindows)' != '' And '$(TargetsWindows)' ) OR ('$(TargetOS)' == 'android' And '$(TargetArchitecture)' == 'arm64' )">true</TestWrapperTargetsWindows>
<TestScriptExtension Condition="'$(TestWrapperTargetsWindows)' != 'true' ">sh</TestScriptExtension>
<TestScriptExtension Condition="'$(TestWrapperTargetsWindows)' == 'true' ">cmd</TestScriptExtension>
</PropertyGroup>
<BaselineMicrosoftNetCoreAppPackageVersion>2.1.0-preview3-26416-01</BaselineMicrosoftNetCoreAppPackageVersion>
</PropertyGroup>
- <PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'browser'">
<CLRTestMSBuildArgs>/p:MSBuildEnableWorkloadResolver=false /p:Configuration=$(Configuration)</CLRTestMSBuildArgs>
</PropertyGroup>
<!-- There are currently no native project binaries on wasm or Android -->
<Error Text="The native project files are missing in $(NativeProjectOutputFolder) please run build from the root of the repo at least once"
- Condition="'@(NativeProjectBinaries)' == '' And '$(TargetOS)' != 'Browser' And '$(TargetOS)' != 'Android' And '$(TargetOS)' != 'iOS' And '$(TargetOS)' != 'iOSSimulator'"/>
+ Condition="'@(NativeProjectBinaries)' == '' And '$(TargetOS)' != 'browser' And '$(TargetOS)' != 'android' And '$(TargetOS)' != 'ios' And '$(TargetOS)' != 'iossimulator'"/>
<Copy
SourceFiles="@(NativeProjectBinaries)"
<PropertyGroup Condition="'$(TestBuildMode)' == 'nativeaot'">
<!-- NativeAOT compiled output is placed into a 'native' subdirectory: we need to tweak
rpath so that the test can load its native library dependencies if there's any -->
- <IlcRPath Condition="'$(TargetOS)' != 'OSX'">$ORIGIN/..</IlcRPath>
- <IlcRPath Condition="'$(TargetOS)' == 'OSX'">@executable_path/..</IlcRPath>
+ <IlcRPath Condition="'$(TargetOS)' != 'osx'">$ORIGIN/..</IlcRPath>
+ <IlcRPath Condition="'$(TargetOS)' == 'osx'">@executable_path/..</IlcRPath>
<!-- Works around "Error: Native compilation can run on x64 and arm64 hosts only"
Microsoft.NETCore.Native.targets expect IlcHostArch to be set but it doesn't have to -->
</PropertyGroup>
<!-- Modeled after Microsoft.Android.Sdk.ILLink.targets https://github.com/xamarin/xamarin-android/blob/main/src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.DefaultProperties.targets -->
- <PropertyGroup Condition="'$(TargetOS)' == 'Android'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'android'">
<DebuggerSupport Condition="'$(DebuggerSupport)' == ''">false</DebuggerSupport>
<EnableUnsafeBinaryFormatterSerialization Condition="'$(EnableUnsafeBinaryFormatterSerialization)' == ''">false</EnableUnsafeBinaryFormatterSerialization>
<InvariantGlobalization Condition="'$(InvariantGlobalization)' != 'true'"></InvariantGlobalization>
</PropertyGroup>
<!-- Modeled after Microsoft.NET.Sdk.BlazorWebAssembly.Current.targets https://github.com/dotnet/sdk/blob/main/src/BlazorWasmSdk/Targets/Microsoft.NET.Sdk.BlazorWebAssembly.Current.targets -->
- <PropertyGroup Condition="'$(TargetOS)' == 'Browser'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'browser'">
<DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(Configuration)' != 'Debug'">false</DebuggerSupport>
<InvariantGlobalization Condition="'$(InvariantGlobalization)' == ''">false</InvariantGlobalization>
</PropertyGroup>
<!-- Modeled after Xamarin.Shared.Sdk.targets https://github.com/xamarin/xamarin-macios/blob/main/dotnet/targets/Xamarin.Shared.Sdk.targets -->
- <PropertyGroup Condition="'$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator' or '$(TargetOS)' == 'tvOS' or '$(TargetOS)' == 'tvOSSimulator' or '$(TargetOS)' == 'MacCatalyst'">
+ <PropertyGroup Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst'">
<CustomResourceTypesSupport Condition="'$(CustomResourceTypesSupport)' == ''">false</CustomResourceTypesSupport>
<DebuggerSupport Condition="'$(DebuggerSupport)' == '' and '$(Configuration)' == 'Debug'">true</DebuggerSupport>
<DebuggerSupport Condition="'$(DebuggerSupport)' == ''">false</DebuggerSupport>
<EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization Condition="'$(EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization)' == ''">false</EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization>
<EnableUnsafeBinaryFormatterSerialization Condition="'$(EnableUnsafeBinaryFormatterSerialization)' == ''">false</EnableUnsafeBinaryFormatterSerialization>
- <InvariantGlobalization Condition="'$(TargetOS)' == 'MacCatalyst' and '$(InvariantGlobalization)' == ''">true</InvariantGlobalization>
+ <InvariantGlobalization Condition="'$(TargetOS)' == 'maccatalyst' and '$(InvariantGlobalization)' == ''">true</InvariantGlobalization>
<StartupHookSupport Condition="'$(StartupHookSupport)' == ''">false</StartupHookSupport>
<UseNativeHttpHandler Condition="'$(UseNativeHttpHandler)' == ''">false</UseNativeHttpHandler>
</PropertyGroup>
</ItemGroup>
<Target Name="PreserveEnCAssembliesFromLinking"
- Condition="'$(TargetOS)' == 'Browser' and '$(EnableAggressiveTrimming)' == 'true'"
+ Condition="'$(TargetOS)' == 'browser' and '$(EnableAggressiveTrimming)' == 'true'"
BeforeTargets="ConfigureTrimming">
<ItemGroup>
<!-- Don't modify EnC test assemblies -->
<Target Name="IncludeDeltasInWasmBundle"
BeforeTargets="PrepareForWasmBuildApp"
- Condition="'$(TargetOS)' == 'Browser'">
+ Condition="'$(TargetOS)' == 'browser'">
<ItemGroup>
<!-- FIXME: this belongs in eng/testing/tests.wasm.targets -->
<!-- FIXME: Can we do something on the Content items in the referenced projects themselves to get this for free? -->
<RunAOTCompilation>true</RunAOTCompilation>
<TestRuntime>true</TestRuntime>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <TargetOS Condition="'$(TargetOS)' == ''">iOS</TargetOS>
+ <TargetOS Condition="'$(TargetOS)' == ''">ios</TargetOS>
<MainLibraryFileName>iOS.Device.Aot-Llvm.Test.dll</MainLibraryFileName>
<IncludesTestRunner>false</IncludesTestRunner>
<ExpectedExitCode>42</ExpectedExitCode>
<RunAOTCompilation>true</RunAOTCompilation>
<TestRuntime>true</TestRuntime>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <TargetOS Condition="'$(TargetOS)' == ''">iOSSimulator</TargetOS>
+ <TargetOS Condition="'$(TargetOS)' == ''">iossimulator</TargetOS>
<MainLibraryFileName>iOS.Simulator.Aot-Llvm.Test.dll</MainLibraryFileName>
<IncludesTestRunner>false</IncludesTestRunner>
<ExpectedExitCode>42</ExpectedExitCode>
<RunAOTCompilation>true</RunAOTCompilation>
<TestRuntime>true</TestRuntime>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <TargetOS Condition="'$(TargetOS)' == ''">iOSSimulator</TargetOS>
+ <TargetOS Condition="'$(TargetOS)' == ''">iossimulator</TargetOS>
<MainLibraryFileName>iOS.Simulator.Aot.Test.dll</MainLibraryFileName>
<IncludesTestRunner>false</IncludesTestRunner>
<ExpectedExitCode>42</ExpectedExitCode>
<RunAOTCompilation>false</RunAOTCompilation>
<TestRuntime>true</TestRuntime>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <TargetOS Condition="'$(TargetOS)' == ''">iOSSimulator</TargetOS>
+ <TargetOS Condition="'$(TargetOS)' == ''">iossimulator</TargetOS>
<MainLibraryFileName>iOS.Simulator.Interpreter.Test.dll</MainLibraryFileName>
<IncludesTestRunner>false</IncludesTestRunner>
<ExpectedExitCode>42</ExpectedExitCode>
<InvariantGlobalization>true</InvariantGlobalization>
<TestRuntime>true</TestRuntime>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <TargetOS Condition="'$(TargetOS)' == ''">iOSSimulator</TargetOS>
+ <TargetOS Condition="'$(TargetOS)' == ''">iossimulator</TargetOS>
<MainLibraryFileName>iOS.Simulator.InvariantCultureOnlyMode.Test.dll</MainLibraryFileName>
<IncludesTestRunner>false</IncludesTestRunner>
<ExpectedExitCode>42</ExpectedExitCode>
<RunAOTCompilation>true</RunAOTCompilation>
<TestRuntime>true</TestRuntime>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <TargetOS Condition="'$(TargetOS)' == ''">iOSSimulator</TargetOS>
+ <TargetOS Condition="'$(TargetOS)' == ''">iossimulator</TargetOS>
<MainLibraryFileName>iOS.Simulator.LambdaCompilerAot.Test.dll</MainLibraryFileName>
<IncludesTestRunner>false</IncludesTestRunner>
<ExpectedExitCode>42</ExpectedExitCode>
<RunAOTCompilation>false</RunAOTCompilation>
<TestRuntime>true</TestRuntime>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <TargetOS Condition="'$(TargetOS)' == ''">iOSSimulator</TargetOS>
+ <TargetOS Condition="'$(TargetOS)' == ''">iossimulator</TargetOS>
<MainLibraryFileName>iOS.Simulator.PInvoke.Test.dll</MainLibraryFileName>
<IncludesTestRunner>false</IncludesTestRunner>
<ExpectedExitCode>42</ExpectedExitCode>
<RunAOTCompilation>true</RunAOTCompilation>
<TestRuntime>true</TestRuntime>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <TargetOS Condition="'$(TargetOS)' == ''">iOSSimulator</TargetOS>
+ <TargetOS Condition="'$(TargetOS)' == ''">iossimulator</TargetOS>
<MainLibraryFileName>iOS.Simulator.XmlFormatWriterGeneratorAot.Test.dll</MainLibraryFileName>
<IncludesTestRunner>false</IncludesTestRunner>
<ExpectedExitCode>42</ExpectedExitCode>
<RunAOTCompilation>true</RunAOTCompilation>
<TestRuntime>true</TestRuntime>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <TargetOS Condition="'$(TargetOS)' == ''">iOSSimulator</TargetOS>
+ <TargetOS Condition="'$(TargetOS)' == ''">iossimulator</TargetOS>
<MainLibraryFileName>iOS.Simulator.XmlSerializer_Deserialize.Test.dll</MainLibraryFileName>
<IncludesTestRunner>false</IncludesTestRunner>
<ExpectedExitCode>42</ExpectedExitCode>
<RunAOTCompilation>true</RunAOTCompilation>
<TestRuntime>true</TestRuntime>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
- <TargetOS Condition="'$(TargetOS)' == ''">tvOS</TargetOS>
+ <TargetOS Condition="'$(TargetOS)' == ''">tvos</TargetOS>
<MainLibraryFileName>tvOS.Device.Aot-Llvm.Test.dll</MainLibraryFileName>
<IncludesTestRunner>false</IncludesTestRunner>
<ExpectedExitCode>42</ExpectedExitCode>
<ItemGroup>
<Compile Include="StructABI.cs" />
<Compile Include="StructABI.Windows.cs" Condition="'$(TargetOS)' == 'windows'" />
- <Compile Include="StructABI.Unix.cs" Condition="'$(TargetOS)' == 'Linux' Or '$(TargetOS)' == 'FreeBSD' Or '$(TargetOS)' == 'NetBSD' Or '$(TargetOS)' == 'illumos' Or '$(TargetOS)' == 'Solaris'" />
- <Compile Include="StructABI.OSX.cs" Condition="'$(TargetOS)' == 'OSX'" />
+ <Compile Include="StructABI.Unix.cs" Condition="'$(TargetOS)' == 'linux' Or '$(TargetOS)' == 'freebsd' Or '$(TargetOS)' == 'netbsd' Or '$(TargetOS)' == 'illumos' Or '$(TargetOS)' == 'solaris'" />
+ <Compile Include="StructABI.OSX.cs" Condition="'$(TargetOS)' == 'osx'" />
</ItemGroup>
<ItemGroup>
<CMakeProjectReference Include="CMakeLists.txt" />
<PropertyGroup>
<IsMergedTestRunnerAssembly>true</IsMergedTestRunnerAssembly>
<NumberOfStripesToUseInStress>20</NumberOfStripesToUseInStress>
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
<GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm'">true</GCStressIncompatible>
</PropertyGroup>
<ItemGroup>
<PropertyGroup>
<IsMergedTestRunnerAssembly>true</IsMergedTestRunnerAssembly>
<NumberOfStripesToUseInStress>20</NumberOfStripesToUseInStress>
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
<GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm'">true</GCStressIncompatible>
</PropertyGroup>
<ItemGroup>
<PropertyGroup>
<GCStressIncompatible Condition="'$(TargetArchitecture)' == 'x86'">true</GCStressIncompatible>
<!-- Issue https://github.com/dotnet/runtime/issues/50381 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
<!-- NOTE: this test simply takes too long to complete under heap verify. It is not fundamentally incompatible. -->
<HeapVerifyIncompatible Condition="'$(TargetArchitecture)' == 'x86'">true</HeapVerifyIncompatible>
<RequiresProcessIsolation>true</RequiresProcessIsolation>
<RequiresProcessIsolation>true</RequiresProcessIsolation>
<OutputType>Exe</OutputType>
<!-- Issue https://github.com/dotnet/runtime/issues/50381 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<PropertyGroup>
<DebugType>PdbOnly</DebugType>
<OutputType>Exe</OutputType>
<CLRTestPriority>1</CLRTestPriority>
<!-- Issue https://github.com/dotnet/runtime/issues/50381 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<PropertyGroup>
<!-- Set to 'Full' if the Debug? column is marked in the spreadsheet. Leave blank otherwise. -->
<OutputType>Exe</OutputType>
<CLRTestPriority>1</CLRTestPriority>
<!-- Issue https://github.com/dotnet/runtime/issues/50381 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<PropertyGroup>
<!-- Set to 'Full' if the Debug? column is marked in the spreadsheet. Leave blank otherwise. -->
<OutputType>Exe</OutputType>
<CLRTestPriority>1</CLRTestPriority>
<!-- Issue https://github.com/dotnet/runtime/issues/50381 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<PropertyGroup>
<!-- Set to 'Full' if the Debug? column is marked in the spreadsheet. Leave blank otherwise. -->
<OutputType>Exe</OutputType>
<CLRTestPriority>1</CLRTestPriority>
<!-- Issue https://github.com/dotnet/runtime/issues/50381 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<PropertyGroup>
<!-- Set to 'Full' if the Debug? column is marked in the spreadsheet. Leave blank otherwise. -->
<PropertyGroup>
<OutputType>Exe</OutputType>
<!-- Issue https://github.com/dotnet/runtime/issues/50381 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<PropertyGroup>
<!-- Set to 'Full' if the Debug? column is marked in the spreadsheet. Leave blank otherwise. -->
<OutputType>Exe</OutputType>
<CLRTestPriority>1</CLRTestPriority>
<!-- Issue https://github.com/dotnet/runtime/issues/50381 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<PropertyGroup>
<!-- Set to 'Full' if the Debug? column is marked in the spreadsheet. Leave blank otherwise. -->
<OutputType>Exe</OutputType>
<CLRTestPriority>1</CLRTestPriority>
<!-- Issue https://github.com/dotnet/runtime/issues/50381 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<PropertyGroup>
<!-- Set to 'Full' if the Debug? column is marked in the spreadsheet. Leave blank otherwise. -->
<OutputType>Exe</OutputType>
<CLRTestPriority>1</CLRTestPriority>
<!-- Issue https://github.com/dotnet/runtime/issues/50381 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<PropertyGroup>
<!-- Set to 'Full' if the Debug? column is marked in the spreadsheet. Leave blank otherwise. -->
<OutputType>Exe</OutputType>
<CLRTestPriority>1</CLRTestPriority>
<!-- Issue https://github.com/dotnet/runtime/issues/50381 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<PropertyGroup>
<!-- Set to 'Full' if the Debug? column is marked in the spreadsheet. Leave blank otherwise. -->
COREFXROOT=~/src/corefx
WINDOWSCORECLRROOT=~/WindowsMachine/coreclr
WINDOWSFLAVOR=windows.x64.Debug
-UNIXANYFLAVOR=OSX.AnyCPU.Debug
-UNIXARCHFLAVOR=OSX.x64.Debug
+UNIXANYFLAVOR=osx.AnyCPU.Debug
+UNIXARCHFLAVOR=osx.x64.Debug
ARGS="\
--testRootDir=${TESTROOT}/${WINDOWSFLAVOR} \
<!-- This test takes a long time to complete -->
<UnloadabilityIncompatible>true</UnloadabilityIncompatible>
<!-- https://github.com/dotnet/runtime/issues/53321 -->
- <JitOptimizationSensitive Condition="'$(TargetArchitecture)' == 'arm64' And '$(TargetOS)' == 'OSX'">true</JitOptimizationSensitive>
+ <JitOptimizationSensitive Condition="'$(TargetArchitecture)' == 'arm64' And '$(TargetOS)' == 'osx'">true</JitOptimizationSensitive>
</PropertyGroup>
<PropertyGroup>
<DebugType>Full</DebugType>
<OutputType>Exe</OutputType>
<CLRTestPriority>1</CLRTestPriority>
<!-- Test unsupported outside of linux -->
- <CLRTestTargetUnsupported Condition="'$(TargetOS)' != 'Linux'">true</CLRTestTargetUnsupported>
+ <CLRTestTargetUnsupported Condition="'$(TargetOS)' != 'linux'">true</CLRTestTargetUnsupported>
</PropertyGroup>
<ItemGroup>
<Compile Include="Ii.cs" />
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<!-- Generated shell script and corresponding assembly have different names -->
- <CLRTestTargetUnsupported Condition="'$(TargetOS)' == 'Android'">true</CLRTestTargetUnsupported>
+ <CLRTestTargetUnsupported Condition="'$(TargetOS)' == 'android'">true</CLRTestTargetUnsupported>
</PropertyGroup>
<ItemGroup>
<Compile Include="BasicTestWithMcj.cs" />
<Target Name="CreateIosApps"
DependsOnTargets="BuildAlliOSApp"
AfterTargets="ManagedBuild"
- Condition="'$(__BuildTestWrappersOnly)' != '1' and '$(__GenerateLayoutOnly)' != '1' and '$(__CopyNativeTestBinaries)' != '1' and ('$(TargetOS)' == 'iOS' or '$(TargetOS)' == 'iOSSimulator')" />
+ Condition="'$(__BuildTestWrappersOnly)' != '1' and '$(__GenerateLayoutOnly)' != '1' and '$(__CopyNativeTestBinaries)' != '1' and ('$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator')" />
<Target Name="BuildMonoAot"
DependsOnTargets="MonoAotCompileTests"
export MSBUILDDEBUGPATH
if [[ "$__SkipNative" != 1 && "$__BuildTestWrappersOnly" != 1 && "$__GenerateLayoutOnly" != 1 && "$__CopyNativeTestBinaries" != 1 && \
- "$__TargetOS" != "Browser" && "$__TargetOS" != "wasi" && "$__TargetOS" != "Android" && "$__TargetOS" != "iOS" && "$__TargetOS" != "iOSSimulator" ]]; then
+ "$__TargetOS" != "browser" && "$__TargetOS" != "wasi" && "$__TargetOS" != "android" && "$__TargetOS" != "ios" && "$__TargetOS" != "iossimulator" ]]; then
build_native "$__TargetOS" "$__TargetArch" "$__TestDir" "$__NativeTestIntermediatesDir" "install" "CoreCLR test component"
if [[ "$?" -ne 0 ]]; then
__CrossBuild=1
fi
-if [[ "$__CrossBuild" == 1 && "$__TargetOS" != "Android" ]]; then
+if [[ "$__CrossBuild" == 1 && "$__TargetOS" != "android" ]]; then
__UnprocessedBuildArgs+=("/p:CrossBuild=true")
fi
fi
# Get the number of processors available to the scheduler
-platform="$(uname)"
-if [[ "$platform" == "FreeBSD" ]]; then
+platform="$(uname -s | tr '[:upper:]' '[:lower:]')"
+if [[ "$platform" == "freebsd" ]]; then
__NumProc="$(($(sysctl -n hw.ncpu)+1))"
-elif [[ "$platform" == "NetBSD" || "$platform" == "SunOS" ]]; then
+elif [[ "$platform" == "netbsd" || "$platform" == "sunos" ]]; then
__NumProc="$(($(getconf NPROCESSORS_ONLN)+1))"
-elif [[ "$platform" == "Darwin" ]]; then
+elif [[ "$platform" == "darwin" ]]; then
__NumProc="$(($(getconf _NPROCESSORS_ONLN)+1))"
elif command -v nproc > /dev/null 2>&1; then
__NumProc="$(nproc)"
<PropertyGroup>
<OutputType>Exe</OutputType>
<!-- Times out -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<ItemGroup>
<Compile Include="MethodImplOptionsTests.cs" />
</ExcludeList>
</ItemGroup>
- <ItemGroup Condition=" $(TargetOS) == 'Android' " >
+ <ItemGroup Condition="'$(TargetOS)' == 'android'" >
<ExcludeList Include = "$(XunitTestBinBase)/baseservices/TieredCompilation/**">
<Issue>No crossgen folder under Core_Root</Issue>
</ExcludeList>
</ExcludeList>
</ItemGroup>
- <ItemGroup Condition=" $(TargetOS) == 'Android' And '$(TargetArchitecture)' == 'arm64' " >
+ <ItemGroup Condition="'$(TargetOS)' == 'android' And '$(TargetArchitecture)' == 'arm64'">
<ExcludeList Include = "$(XunitTestBinBase)/JIT/Performance/CodeQuality/BenchmarksGame/fannkuch-redux/fannkuch-redux-5/**">
<Issue>https://github.com/dotnet/runtime/issues/52781</Issue>
</ExcludeList>
</ItemGroup>
- <ItemGroup Condition=" $(TargetOS) == 'iOSSimulator' " >
+ <ItemGroup Condition="'$(TargetOS)' == 'iossimulator'">
<ExcludeList Include = "$(XunitTestBinBase)/Interop/PInvoke/Miscellaneous/MultipleAssembliesWithSamePInvoke/MAWSPITest/**">
<Issue>missing assembly</Issue>
</ExcludeList>
</ExcludeList>
</ItemGroup>
- <ItemGroup Condition=" '$(TargetArchitecture)' == 'wasm' or ('$(TargetOS)' == 'Android' or '$(TargetOS)' == 'iOSSimulator')">
+ <ItemGroup Condition=" '$(TargetArchitecture)' == 'wasm' or ('$(TargetOS)' == 'android' or '$(TargetOS)' == 'iossimulator')">
<ExcludeList Include="$(XunitTestBinBase)/Interop/MonoAPI/**">
<Issue>mobile and wasm don't support tests with native libraries. wasm also needs static linking</Issue>
</ExcludeList>
context, locals in this loop prevent unloading -->
<UnloadabilityIncompatible>true</UnloadabilityIncompatible>
<!-- Issue https://github.com/dotnet/runtime/issues/50306 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(MSBuildProjectName).cs" />
"""
global coredump_pattern
- if host_os == "OSX":
+ if host_os == "osx":
coredump_pattern = subprocess.check_output("sysctl -n kern.corefile", shell=True).rstrip()
- elif host_os == "Linux":
+ elif host_os == "linux":
with open("/proc/sys/kernel/core_pattern", "r") as f:
coredump_pattern = f.read().rstrip()
else:
print("CoreDump generation enabled")
- if host_os == "Linux" and os.path.isfile("/proc/self/coredump_filter"):
+ if host_os == "linux" and os.path.isfile("/proc/self/coredump_filter"):
# Include memory in private and shared file-backed mappings in the dump.
# This ensures that we can see disassembly from our shared libraries when
# inspecting the contents of the dump. See 'man core' for details.
command = ""
- if host_os == "OSX":
+ if host_os == "osx":
command = "lldb -c %s -b -o 'bt all' -o 'disassemble -b -p'" % coredump_name
- elif host_os == "Linux":
+ elif host_os == "linux":
command = "gdb --batch -ex \"thread apply all bt full\" -ex \"disassemble /r $pc\" -ex \"quit\" %s %s" % (executable_name, coredump_name)
else:
print("Not printing coredump due to unsupported OS: %s" % host_os)
if "%P" in coredump_pattern:
coredump_name_uses_pid=True
- elif host_os == "Linux" and os.path.isfile("/proc/sys/kernel/core_uses_pid"):
+ elif host_os == "linux" and os.path.isfile("/proc/sys/kernel/core_uses_pid"):
with open("/proc/sys/kernel/core_uses_pid", "r") as f:
if f.read().rstrip() == "1":
coredump_name_uses_pid=True
location using the build type and the arch.
"""
- requires_coreroot = args.host_os != "Browser" and args.host_os != "Android"
+ requires_coreroot = args.host_os != "browser" and args.host_os != "android"
coreclr_setup_args = CoreclrArguments(args,
require_built_test_dir=True,
require_built_core_root=requires_coreroot,
echo ' -h|--help : Show usage information.'
echo ' -v, --verbose : Show output from each test.'
echo ' <arch> : One of x64, x86, arm, arm64, loongarch64, riscv64, wasm. Defaults to current architecture.'
- echo ' Android : Set build OS to Android.'
+ echo ' android : Set build OS to Android.'
echo ' --test-env=<path> : Script to set environment variables for tests'
echo ' --testRootDir=<path> : Root directory of the test build (e.g. runtime/artifacts/tests/windows.x64.Debug).'
echo ' --enableEventLogging : Enable event logging through LTTNG.'
wasm)
buildArch="wasm"
;;
- Android)
- buildOS="Android"
+ android)
+ buildOS="android"
;;
debug|Debug)
buildConfiguration="Debug"
echo "Build Configuration : ${buildConfiguration}"
if [ "$buildArch" = "wasm" ]; then
- runtestPyArguments+=("-os" "Browser")
+ runtestPyArguments+=("-os" "browser")
fi
-if [ "$buildOS" = "Android" ]; then
- runtestPyArguments+=("-os" "Android")
+if [ "$buildOS" = "android" ]; then
+ runtestPyArguments+=("-os" "android")
fi
if [[ -n "$testRootDir" ]]; then
<JitOptimizationSensitive>true</JitOptimizationSensitive>
<UnloadabilityIncompatible>true</UnloadabilityIncompatible>
<!-- GCStress timeout: https://github.com/dotnet/runtime/issues/51133 -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(MSBuildProjectName).cs" />
context, locals in this loop prevent unloading -->
<UnloadabilityIncompatible>true</UnloadabilityIncompatible>
<!-- Times out -->
- <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'OSX'">true</GCStressIncompatible>
+ <GCStressIncompatible Condition="'$(TargetArchitecture)' == 'arm64' and '$(TargetOS)' == 'osx'">true</GCStressIncompatible>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(MSBuildProjectName).cs" />
<Category Condition="'$(RunningOnUnix)' == 'true'" >$([System.String]::Copy('$(CategoryWithSlash)').Replace('/','.'))</Category>
<XunitWrapper>$(Category).XUnitWrapper</XunitWrapper>
<XunitWrapperSrcDir>$(XunitWrapperGeneratedCSDirBase)$(Category)</XunitWrapperSrcDir>
- <MobilePlatform Condition=" '$(TargetOS)' == 'Android' ">android</MobilePlatform>
- <MobilePlatform Condition=" '$(TargetOS)' == 'iOS' Or '$(TargetOS)' == 'iOSSimulator' ">apple</MobilePlatform>
+ <MobilePlatform Condition=" '$(TargetOS)' == 'android' ">android</MobilePlatform>
+ <MobilePlatform Condition=" '$(TargetOS)' == 'ios' Or '$(TargetOS)' == 'iossimulator' ">apple</MobilePlatform>
<IsMobile>false</IsMobile>
- <IsMobile Condition=" '$(TargetOS)' == 'Android' Or '$(TargetOS)' == 'iOS' Or '$(TargetOS)' == 'iOSSimulator' ">true</IsMobile>
+ <IsMobile Condition=" '$(TargetOS)' == 'android' Or '$(TargetOS)' == 'ios' Or '$(TargetOS)' == 'iossimulator' ">true</IsMobile>
</PropertyGroup>
<PropertyGroup>