diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index a8fe633290e14c..6d3f2efaf848ce 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -15,7 +15,7 @@
]
},
"microsoft.dotnet.xharness.cli": {
- "version": "1.0.0-prerelease.21613.2",
+ "version": "1.0.0-prerelease.21622.1",
"commands": [
"xharness"
]
diff --git a/Directory.Build.props b/Directory.Build.props
index f149734c7c81f4..0983ba4ae36f89 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -245,6 +245,7 @@
$([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'System.Private.CoreLib', 'src'))
$([MSBuild]::NormalizePath('$(CoreClrProjectRoot)', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj'))
$([MSBuild]::NormalizePath('$(MonoProjectRoot)', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj'))
+ $([MSBuild]::NormalizePath('$(CoreClrProjectRoot)', 'nativeaot', 'System.Private.CoreLib', 'src', 'System.Private.CoreLib.csproj'))
true
diff --git a/NuGet.config b/NuGet.config
index 8d59f2744cf862..f74e0c4a70248a 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -22,8 +22,6 @@
-
-
diff --git a/docs/design/coreclr/botr/ilc-architecture.md b/docs/design/coreclr/botr/ilc-architecture.md
index 697f2b7a852e9e..6f277692411160 100644
--- a/docs/design/coreclr/botr/ilc-architecture.md
+++ b/docs/design/coreclr/botr/ilc-architecture.md
@@ -139,7 +139,7 @@ While the object file format is highly target specific, the compiler represents
On a high level, the role of the object writer is to go over all the marked `ObjectNode`s in the graph, retrieve their data, defined symbols, and relocations to other symbols, and store them in the object file.
NativeAOT compiler contains multiple object writers:
-* Native object writer (`src/coreclr/tools/aot/ObjWriter`) based on LLVM that is capable of producing Windows PE, Linux ELF, and macOS Mach-O file formats
+* Native object writer based on LLVM that is capable of producing Windows PE, Linux ELF, and macOS Mach-O file formats
* Native object writer based on LLVM for WebAssembly
* Ready to run object writer that generates mixed CIL/native executables in the ready to run format for CoreCLR
diff --git a/docs/workflow/building/coreclr/nativeaot.md b/docs/workflow/building/coreclr/nativeaot.md
index 576939fe9e3b70..968bb5fa892435 100644
--- a/docs/workflow/building/coreclr/nativeaot.md
+++ b/docs/workflow/building/coreclr/nativeaot.md
@@ -25,7 +25,7 @@ The executable looks like a native executable, in the sense that it can be debug
- [NOT PORTED OVER YET] The build will place the toolchain packages at `artifacts\packages\[Debug|Release]\Shipping`. To publish your project using these packages:
- [NOT PORTED OVER YET] Add the package directory to your `nuget.config` file. For example, replace `dotnet-experimental` line in `samples\HelloWorld\nuget.config` with ``
- [NOT PORTED OVER YET] Run `dotnet publish --packages pkg -r [win-x64|linux-x64|osx-64] -c [Debug|Release]` to publish your project. `--packages pkg` option restores the package into a local directory that is easy to cleanup once you are done. It avoids polluting the global nuget cache with your locally built dev package.
-- *Optional*. The ObjWriter component of the AOT compiler is not built by default. If you're working on ObjWriter or bringing up a new platform that doesn't have ObjWriter packages yet, as additional pre-requiresites you need to run `build[.cmd|.sh] clr.objwriter` from the repo root before building the product.
+- The component that writes out object files (objwriter.dll/libobjwriter.so/libobjwriter.dylib) is based on LLVM and doesn't build in the runtime repo. It gets published as a NuGet package out of the dotnet/llvm-project repo (branch objwriter/12.x). If you're working on ObjWriter or bringing up a new platform that doesn't have ObjWriter packages yet, as additional pre-requiresites you need to build objwriter out of that repo and replace the file in the output.
## Visual Studio Solutions
diff --git a/docs/workflow/building/libraries/webassembly-instructions.md b/docs/workflow/building/libraries/webassembly-instructions.md
index fdc5dc31d22267..3ae2d2f808abfe 100644
--- a/docs/workflow/building/libraries/webassembly-instructions.md
+++ b/docs/workflow/building/libraries/webassembly-instructions.md
@@ -152,7 +152,7 @@ Submit a PR request with the updated version, wait for all checks to pass and fo
{
"dockerfile": "src/ubuntu/18.04/webassembly/Dockerfile",
"simpleTags": [
- "ubuntu-18.04-webassembly-20200529220811-6a6da63"
+ "ubuntu-18.04-webassembly-20210707133424-12f133e"
],
"digest": "sha256:1f2d920a70bd8d55bbb329e87c3bd732ef930d64ff288dab4af0aa700c25cfaf",
"osType": "Linux",
@@ -169,7 +169,7 @@ Copy the docker image tag and replace it in [platform-matrix.yml](https://github
```
container:
- image: ubuntu-18.04-webassembly-20200409132031-f70ea41
+ image: ubuntu-18.04-webassembly-20210707133424-12f133e
registry: mcr
```
diff --git a/docs/workflow/debugging/coreclr/debugging-aot-compilers.md b/docs/workflow/debugging/coreclr/debugging-aot-compilers.md
index e2fd7f7e3bb905..048d571df45f21 100644
--- a/docs/workflow/debugging/coreclr/debugging-aot-compilers.md
+++ b/docs/workflow/debugging/coreclr/debugging-aot-compilers.md
@@ -81,7 +81,7 @@ At the time of writing the current supported sets of valid arguments are:
- The ILC compiler typically compiles the whole program - it loosely corresponds to the composite mode of crossgen2. There is a multifile mode, where each managed assembly corresponds to a single object file, but this mode is not shipping.
-- The object files generated by the ILC compiler are written out using an LLVM-based object writer (src\coreclr\tools\aot\ObjWriter). The object writer uses the LLVM assembler APIs (APIs meant to be used by tools that convert textual assembly into machine code) to emit object files in PE/ELF/Mach-O formats. Normally the object writer is not built as part of the repo, but gets downloaded through NuGet. If you need to debug the object writer, you can build it by specifying `clr.objwriter` subset to the root build script. It takes about 5 minutes to compile the object writer.
+- The object files generated by the ILC compiler are written out using an LLVM-based object writer (consumed as a NuGet package built out of the dotnet/llvm-project repo, branch objwriter/12.x). The object writer uses the LLVM assembler APIs (APIs meant to be used by tools that convert textual assembly into machine code) to emit object files in PE/ELF/Mach-O formats.
Example of debugging a test application in Crossgen2
================================================
diff --git a/docs/workflow/testing/libraries/testing-apple.md b/docs/workflow/testing/libraries/testing-apple.md
index 0ce42742e9c710..2727fb4b28cd9c 100644
--- a/docs/workflow/testing/libraries/testing-apple.md
+++ b/docs/workflow/testing/libraries/testing-apple.md
@@ -48,6 +48,10 @@ For example:
```
./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`
+- to skip signing all together by setting `/p:DevTeamProvisioning=-` .
+
[AppleAppBuilder](https://github.com/dotnet/runtime/blob/main/src/tasks/AppleAppBuilder/AppleAppBuilder.cs) generates temp Xcode projects you can manually open and resolve provisioning issues there using native UI and deploy to your devices.
### Running individual test suites
diff --git a/eng/ApiCompatExcludeAttributes.txt b/eng/ApiCompatExcludeAttributes.txt
index 19475f50297f8a..5ea702ad6f3d4a 100644
--- a/eng/ApiCompatExcludeAttributes.txt
+++ b/eng/ApiCompatExcludeAttributes.txt
@@ -1,3 +1,5 @@
T:System.CLSCompliantAttribute
T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute
T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute
+T:System.Diagnostics.DebuggerGuidedStepThroughAttribute
+T:System.Runtime.CompilerServices.EagerStaticClassConstructionAttribute
diff --git a/eng/Subsets.props b/eng/Subsets.props
index 22714ffc7d0a88..f0bb31a28aea72 100644
--- a/eng/Subsets.props
+++ b/eng/Subsets.props
@@ -49,9 +49,12 @@
$(PrimaryRuntimeFlavor)
-
- true
+
+ true
+
+
+ true
@@ -104,7 +107,6 @@
-
@@ -242,7 +244,9 @@
+ Test="true" Category="clr" Condition="'$(DotNetBuildFromSource)' != 'true'"/>
+
@@ -261,10 +265,6 @@
-
-
-
-
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 83ad7ff90ed386..e3a571f451cdea 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -1,8 +1,8 @@
-
+
https://github.com/dotnet/icu
- d483c01eb69a904062475e49d6b20b8bbbefe64b
+ d9371f17932fbf828f1d1e2f21a99b64ba40eba5
https://github.com/dotnet/msquic
@@ -16,127 +16,159 @@
https://github.com/dotnet/wcf
7f504aabb1988e9a093c1e74d8040bd52feb2f01
+
+ https://github.com/dotnet/llvm-project
+ ef5d90bc37b53288e32d78dbf34eae32cd0893d3
+
+
+ https://github.com/dotnet/llvm-project
+ ef5d90bc37b53288e32d78dbf34eae32cd0893d3
+
+
+ https://github.com/dotnet/llvm-project
+ ef5d90bc37b53288e32d78dbf34eae32cd0893d3
+
+
+ https://github.com/dotnet/llvm-project
+ ef5d90bc37b53288e32d78dbf34eae32cd0893d3
+
+
+ https://github.com/dotnet/llvm-project
+ ef5d90bc37b53288e32d78dbf34eae32cd0893d3
+
+
+ https://github.com/dotnet/llvm-project
+ ef5d90bc37b53288e32d78dbf34eae32cd0893d3
+
+
+ https://github.com/dotnet/llvm-project
+ ef5d90bc37b53288e32d78dbf34eae32cd0893d3
+
+
+ https://github.com/dotnet/llvm-project
+ ef5d90bc37b53288e32d78dbf34eae32cd0893d3
+
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
https://github.com/microsoft/vstest
140434f7109d357d0158ade9e5164a4861513965
-
+
https://github.com/dotnet/runtime-assets
- 658e482c4af9a16cbe9ea0fae4c6e4281f1521b6
+ f6e023ee68f858cd020a13dc9dfc13ba6a82b64b
-
+
https://github.com/dotnet/runtime-assets
- 658e482c4af9a16cbe9ea0fae4c6e4281f1521b6
+ f6e023ee68f858cd020a13dc9dfc13ba6a82b64b
-
+
https://github.com/dotnet/runtime-assets
- 658e482c4af9a16cbe9ea0fae4c6e4281f1521b6
+ f6e023ee68f858cd020a13dc9dfc13ba6a82b64b
-
+
https://github.com/dotnet/runtime-assets
- 658e482c4af9a16cbe9ea0fae4c6e4281f1521b6
+ f6e023ee68f858cd020a13dc9dfc13ba6a82b64b
-
+
https://github.com/dotnet/runtime-assets
- 658e482c4af9a16cbe9ea0fae4c6e4281f1521b6
+ f6e023ee68f858cd020a13dc9dfc13ba6a82b64b
-
+
https://github.com/dotnet/runtime-assets
- 658e482c4af9a16cbe9ea0fae4c6e4281f1521b6
+ f6e023ee68f858cd020a13dc9dfc13ba6a82b64b
-
+
https://github.com/dotnet/runtime-assets
- 658e482c4af9a16cbe9ea0fae4c6e4281f1521b6
+ f6e023ee68f858cd020a13dc9dfc13ba6a82b64b
-
+
https://github.com/dotnet/runtime-assets
- 658e482c4af9a16cbe9ea0fae4c6e4281f1521b6
+ f6e023ee68f858cd020a13dc9dfc13ba6a82b64b
-
+
https://github.com/dotnet/runtime-assets
- 658e482c4af9a16cbe9ea0fae4c6e4281f1521b6
+ f6e023ee68f858cd020a13dc9dfc13ba6a82b64b
-
+
https://github.com/dotnet/runtime-assets
- 658e482c4af9a16cbe9ea0fae4c6e4281f1521b6
+ f6e023ee68f858cd020a13dc9dfc13ba6a82b64b
-
+
https://github.com/dotnet/runtime-assets
- 658e482c4af9a16cbe9ea0fae4c6e4281f1521b6
+ f6e023ee68f858cd020a13dc9dfc13ba6a82b64b
https://github.com/dotnet/llvm-project
@@ -170,53 +202,53 @@
https://github.com/dotnet/llvm-project
662aff66999c435aec09c58643e9fd703eadc3e0
-
+
https://github.com/dotnet/runtime
- 78f4a7de7e89ddefa88f9e9da7604ecb5c58d3b7
+ 834b278911962102919b3a7dec22ca6cb26bfa8a
-
+
https://github.com/dotnet/runtime
- 78f4a7de7e89ddefa88f9e9da7604ecb5c58d3b7
+ 834b278911962102919b3a7dec22ca6cb26bfa8a
-
+
https://github.com/dotnet/runtime
- 78f4a7de7e89ddefa88f9e9da7604ecb5c58d3b7
+ 834b278911962102919b3a7dec22ca6cb26bfa8a
-
+
https://github.com/dotnet/runtime
- 78f4a7de7e89ddefa88f9e9da7604ecb5c58d3b7
+ 834b278911962102919b3a7dec22ca6cb26bfa8a
-
+
https://github.com/dotnet/runtime
- 78f4a7de7e89ddefa88f9e9da7604ecb5c58d3b7
+ 834b278911962102919b3a7dec22ca6cb26bfa8a
-
+
https://github.com/dotnet/runtime
- 78f4a7de7e89ddefa88f9e9da7604ecb5c58d3b7
+ 834b278911962102919b3a7dec22ca6cb26bfa8a
-
+
https://github.com/dotnet/runtime
- 78f4a7de7e89ddefa88f9e9da7604ecb5c58d3b7
+ 834b278911962102919b3a7dec22ca6cb26bfa8a
-
+
https://github.com/dotnet/runtime
- 78f4a7de7e89ddefa88f9e9da7604ecb5c58d3b7
+ 834b278911962102919b3a7dec22ca6cb26bfa8a
-
+
https://github.com/dotnet/linker
- 25323570686848f192bd05e726aff5c91eb0b2f0
+ 41467d340a3345f08cb8ba67c20c1ea40c57682f
-
+
https://github.com/dotnet/xharness
- d5affc0d0361de14aa1ccbf5cad268d5873e3113
+ 7ad8d01a879af9437a7c33d01409bd761700cdad
-
+
https://github.com/dotnet/xharness
- d5affc0d0361de14aa1ccbf5cad268d5873e3113
+ 7ad8d01a879af9437a7c33d01409bd761700cdad
-
+
https://github.com/dotnet/arcade
- 943d03f62955c771825dfa1f1bdeb8f853a2d7dd
+ 0cd94b1d02c03377d99f3739beb191591f6abee5
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
@@ -234,13 +266,13 @@
https://dev.azure.com/dnceng/internal/_git/dotnet-optimization
91d6b3c1f51888d166701510189505f35714665c
-
+
https://github.com/dotnet/hotreload-utils
- 4782fa39c0fb1651890b6b03aef11f7129884eae
+ f0d838421286fed81005fd4ddf6562555b641b3b
-
+
https://github.com/dotnet/runtime-assets
- 658e482c4af9a16cbe9ea0fae4c6e4281f1521b6
+ f6e023ee68f858cd020a13dc9dfc13ba6a82b64b
https://github.com/dotnet/roslyn-analyzers
diff --git a/eng/Versions.props b/eng/Versions.props
index 22c9796bed7290..47d31b37c8e334 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -54,30 +54,38 @@
2.0.0-alpha.1.21525.11
- 7.0.0-beta.21615.1
- 7.0.0-beta.21615.1
- 7.0.0-beta.21615.1
- 7.0.0-beta.21615.1
- 7.0.0-beta.21615.1
- 7.0.0-beta.21615.1
- 2.5.1-beta.21615.1
- 7.0.0-beta.21615.1
- 7.0.0-beta.21615.1
- 7.0.0-beta.21615.1
- 7.0.0-beta.21615.1
- 7.0.0-beta.21615.1
- 7.0.0-beta.21615.1
- 7.0.0-beta.21615.1
- 7.0.0-beta.21615.1
+ 7.0.0-beta.21621.3
+ 7.0.0-beta.21621.3
+ 7.0.0-beta.21621.3
+ 7.0.0-beta.21621.3
+ 7.0.0-beta.21621.3
+ 7.0.0-beta.21621.3
+ 2.5.1-beta.21621.3
+ 7.0.0-beta.21621.3
+ 7.0.0-beta.21621.3
+ 7.0.0-beta.21621.3
+ 7.0.0-beta.21621.3
+ 7.0.0-beta.21621.3
+ 7.0.0-beta.21621.3
+ 7.0.0-beta.21621.3
+ 7.0.0-beta.21621.3
6.0.0-preview.1.102
- 7.0.0-alpha.1.21612.5
- 7.0.0-alpha.1.21612.5
- 7.0.0-alpha.1.21612.5
+ 7.0.0-alpha.1.21620.1
+ 7.0.0-alpha.1.21620.1
+ 7.0.0-alpha.1.21620.1
3.1.0
- 7.0.0-alpha.1.21612.5
+ 7.0.0-alpha.1.21620.1
+ 1.0.0-alpha.1.21630.1
+ 1.0.0-alpha.1.21630.1
+ 1.0.0-alpha.1.21630.1
+ 1.0.0-alpha.1.21630.1
+ 1.0.0-alpha.1.21630.1
+ 1.0.0-alpha.1.21630.1
+ 1.0.0-alpha.1.21630.1
+ 1.0.0-alpha.1.21630.1
5.0.0
4.3.0
@@ -112,24 +120,24 @@
5.0.0
5.0.0
4.9.0-rc2.21473.1
- 7.0.0-alpha.1.21612.5
- 7.0.0-alpha.1.21612.5
+ 7.0.0-alpha.1.21620.1
+ 7.0.0-alpha.1.21620.1
4.5.4
4.5.0
- 7.0.0-alpha.1.21612.5
+ 7.0.0-alpha.1.21620.1
- 7.0.0-beta.21603.1
- 7.0.0-beta.21603.1
- 7.0.0-beta.21603.1
- 7.0.0-beta.21603.1
- 7.0.0-beta.21603.1
- 7.0.0-beta.21603.1
- 7.0.0-beta.21603.1
- 7.0.0-beta.21603.1
- 7.0.0-beta.21603.1
- 7.0.0-beta.21603.1
- 7.0.0-beta.21603.1
- 7.0.0-beta.21603.1
+ 7.0.0-beta.21620.3
+ 7.0.0-beta.21620.3
+ 7.0.0-beta.21620.3
+ 7.0.0-beta.21620.3
+ 7.0.0-beta.21620.3
+ 7.0.0-beta.21620.3
+ 7.0.0-beta.21620.3
+ 7.0.0-beta.21620.3
+ 7.0.0-beta.21620.3
+ 7.0.0-beta.21620.3
+ 7.0.0-beta.21620.3
+ 7.0.0-beta.21620.3
1.0.0-prerelease.21577.2
1.0.0-prerelease.21577.2
@@ -152,9 +160,9 @@
1.0.1-prerelease-00006
16.9.0-preview-20201201-01
- 1.0.0-prerelease.21613.2
- 1.0.0-prerelease.21613.2
- 1.0.2-alpha.0.21613.2
+ 1.0.0-prerelease.21622.1
+ 1.0.0-prerelease.21622.1
+ 1.0.2-alpha.0.21620.2
2.4.2-pre.9
2.4.2
1.3.0
@@ -167,10 +175,10 @@
6.0.0-preview-20211019.1
- 7.0.100-1.21610.1
+ 7.0.100-1.21620.1
$(MicrosoftNETILLinkTasksVersion)
- 7.0.0-alpha.1.21613.1
+ 7.0.0-alpha.1.21620.1
7.0.0-alpha.1.21529.3
diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake
index 6501c3a955f782..9d22fc92693031 100644
--- a/eng/common/cross/toolchain.cmake
+++ b/eng/common/cross/toolchain.cmake
@@ -3,18 +3,26 @@ set(CROSS_ROOTFS $ENV{ROOTFS_DIR})
set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH})
if(EXISTS ${CROSS_ROOTFS}/bin/freebsd-version)
set(CMAKE_SYSTEM_NAME FreeBSD)
+ set(FREEBSD 1)
elseif(EXISTS ${CROSS_ROOTFS}/usr/platform/i86pc)
set(CMAKE_SYSTEM_NAME SunOS)
set(ILLUMOS 1)
else()
set(CMAKE_SYSTEM_NAME Linux)
+ set(LINUX 1)
endif()
set(CMAKE_SYSTEM_VERSION 1)
+if(EXISTS ${CROSS_ROOTFS}/etc/tizen-release)
+ set(TIZEN 1)
+elseif(EXISTS ${CROSS_ROOTFS}/android_platform)
+ set(ANDROID 1)
+endif()
+
if(TARGET_ARCH_NAME STREQUAL "armel")
set(CMAKE_SYSTEM_PROCESSOR armv7l)
set(TOOLCHAIN "arm-linux-gnueabi")
- if("$ENV{__DistroRid}" MATCHES "tizen.*")
+ if(TIZEN)
set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/9.2.0")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm")
@@ -33,7 +41,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "arm64")
else()
set(TOOLCHAIN "aarch64-linux-gnu")
endif()
- if("$ENV{__DistroRid}" MATCHES "tizen.*")
+ if(TIZEN)
set(TIZEN_TOOLCHAIN "aarch64-tizen-linux-gnu/9.2.0")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
@@ -42,7 +50,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "s390x")
elseif(TARGET_ARCH_NAME STREQUAL "x86")
set(CMAKE_SYSTEM_PROCESSOR i686)
set(TOOLCHAIN "i686-linux-gnu")
-elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+elseif (FREEBSD)
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
set(triple "x86_64-unknown-freebsd12")
elseif (ILLUMOS)
@@ -57,7 +65,7 @@ if(DEFINED ENV{TOOLCHAIN})
endif()
# Specify include paths
-if(DEFINED TIZEN_TOOLCHAIN)
+if(TIZEN)
if(TARGET_ARCH_NAME STREQUAL "armel")
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
@@ -68,7 +76,7 @@ if(DEFINED TIZEN_TOOLCHAIN)
endif()
endif()
-if("$ENV{__DistroRid}" MATCHES "android.*")
+if(ANDROID)
if(TARGET_ARCH_NAME STREQUAL "arm")
set(ANDROID_ABI armeabi-v7a)
elseif(TARGET_ARCH_NAME STREQUAL "arm64")
@@ -76,7 +84,9 @@ if("$ENV{__DistroRid}" MATCHES "android.*")
endif()
# extract platform number required by the NDK's toolchain
- string(REGEX REPLACE ".*\\.([0-9]+)-.*" "\\1" ANDROID_PLATFORM "$ENV{__DistroRid}")
+ file(READ "${CROSS_ROOTFS}/android_platform" RID_FILE_CONTENTS)
+ string(REPLACE "RID=" "" ANDROID_RID "${RID_FILE_CONTENTS}")
+ string(REGEX REPLACE ".*\\.([0-9]+)-.*" "\\1" ANDROID_PLATFORM "${ANDROID_RID}")
set(ANDROID_TOOLCHAIN clang)
set(FEATURE_EVENT_TRACE 0) # disable event trace as there is no lttng-ust package in termux repository
@@ -85,7 +95,7 @@ if("$ENV{__DistroRid}" MATCHES "android.*")
# include official NDK toolchain script
include(${CROSS_ROOTFS}/../build/cmake/android.toolchain.cmake)
-elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+elseif(FREEBSD)
# we cross-compile by instructing clang
set(CMAKE_C_COMPILER_TARGET ${triple})
set(CMAKE_CXX_COMPILER_TARGET ${triple})
@@ -145,20 +155,20 @@ function(add_toolchain_linker_flag Flag)
set("CMAKE_SHARED_LINKER_FLAGS${CONFIG_SUFFIX}_INIT" "${CMAKE_SHARED_LINKER_FLAGS${CONFIG_SUFFIX}_INIT} ${Flag}" PARENT_SCOPE)
endfunction()
-if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+if(LINUX)
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/lib/${TOOLCHAIN}")
add_toolchain_linker_flag("-Wl,--rpath-link=${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}")
endif()
if(TARGET_ARCH_NAME STREQUAL "armel")
- if(DEFINED TIZEN_TOOLCHAIN) # For Tizen only
+ if(TIZEN)
add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
endif()
elseif(TARGET_ARCH_NAME STREQUAL "arm64")
- if(DEFINED TIZEN_TOOLCHAIN) # For Tizen only
+ if(TIZEN)
add_toolchain_linker_flag("-B${CROSS_ROOTFS}/usr/lib64/gcc/${TIZEN_TOOLCHAIN}")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib64")
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/lib64")
@@ -177,7 +187,7 @@ endif()
# Specify compile options
-if((TARGET_ARCH_NAME MATCHES "^(arm|armel|arm64|s390x)$" AND NOT "$ENV{__DistroRid}" MATCHES "android.*") OR ILLUMOS)
+if((TARGET_ARCH_NAME MATCHES "^(arm|armel|arm64|s390x)$" AND NOT ANDROID) OR ILLUMOS)
set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN})
set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN})
set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN})
@@ -204,7 +214,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
add_compile_options(-Wno-error=unused-command-line-argument)
endif()
-if(DEFINED TIZEN_TOOLCHAIN)
+if(TIZEN)
if(TARGET_ARCH_NAME MATCHES "^(armel|arm64)$")
add_compile_options(-Wno-deprecated-declarations) # compile-time option
add_compile_options(-D__extern_always_inline=inline) # compile-time option
diff --git a/eng/common/dotnet-install.sh b/eng/common/dotnet-install.sh
index fdfeea66e7d43f..5c94e98632a0a7 100755
--- a/eng/common/dotnet-install.sh
+++ b/eng/common/dotnet-install.sh
@@ -55,6 +55,9 @@ case $cpuname in
aarch64)
buildarch=arm64
;;
+ loongarch64)
+ buildarch=loongarch64
+ ;;
amd64|x86_64)
buildarch=x64
;;
diff --git a/eng/common/native/CommonLibrary.psm1 b/eng/common/native/CommonLibrary.psm1
index adf707c8fe7008..ca38268c44d832 100644
--- a/eng/common/native/CommonLibrary.psm1
+++ b/eng/common/native/CommonLibrary.psm1
@@ -276,7 +276,8 @@ function Get-MachineArchitecture {
}
if (($ProcessorArchitecture -Eq "AMD64") -Or
($ProcessorArchitecture -Eq "IA64") -Or
- ($ProcessorArchitecture -Eq "ARM64")) {
+ ($ProcessorArchitecture -Eq "ARM64") -Or
+ ($ProcessorArchitecture -Eq "LOONGARCH64")) {
return "x64"
}
return "x86"
diff --git a/eng/common/native/init-compiler.sh b/eng/common/native/init-compiler.sh
index e361e03fabdd2e..6d7ba15e5f2b5d 100644
--- a/eng/common/native/init-compiler.sh
+++ b/eng/common/native/init-compiler.sh
@@ -2,25 +2,45 @@
#
# This file detects the C/C++ compiler and exports it to the CC/CXX environment variables
#
-# NOTE: some scripts source this file and rely on stdout being empty, make sure to not output anything here!
+# NOTE: some scripts source this file and rely on stdout being empty, make sure to not output anything here!
if [[ "$#" -lt 3 ]]; then
echo "Usage..."
- echo "init-compiler.sh
-
+
-
+