1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-10 18:11:04 +09:00
Commit graph

76 commits

Author SHA1 Message Date
Andy Gocke
f0ff6d6948
Revert "Add more complete linux build instructions (#101631)" (#104581)
This reverts commit 55747a5866.
2024-07-08 16:38:49 -07:00
Andy Gocke
55747a5866
Add more complete linux build instructions (#101631)
I'm trying to make it slightly easier to install the needed requirements, and add some validation if a user hasn't installed the requirements.

Also, I validated that these instructions still work for Ubuntu 24.04 and have noted that other installs are only community-supported.
2024-07-08 23:15:02 +00:00
Alexander Köplinger
0a220d534b
Bump minimum Apple OS versions (#101342)
As defined in the ".NET 9 - Supported OS versions" document: https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md

- macOS 12.0
- iOS/iOSSimulator 12.2
- tvOS/tvOSSimulator 12.2
- MacCatalyst 15.0 (== macOS 12.0)

Fixes https://github.com/dotnet/runtime/issues/91736
2024-04-23 15:23:13 +02:00
Filip Navara
4cff20f61f
Use eng/common/native/init-os-and-arch.sh instead of eng/native/init-os-and-arch.sh (#97967) 2024-02-05 06:20:07 -08:00
Jan Vorlicek
ce3b14da2f
Fix handling of --help in the build-commons.sh (#91590)
The `--help` was not recognized in that script because double dashes
were converted to single ones before processing the options. That
causes e.g. the src/test/build.sh to not to recognize the `--help`
option, so it instead starts building the tests.

This change fixes it
2023-09-05 09:12:12 -07:00
dotnet-maestro[bot]
699ffbe66e
[main] Update dependencies from 10 repositories (#90517)
* Update dependencies from https://github.com/dotnet/runtime build 20230814.1

Microsoft.DotNet.ILCompiler , Microsoft.NET.ILLink.Tasks , Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Text.Json
 From Version 8.0.0-rc.1.23406.6 -> To Version 8.0.0-rc.1.23414.1

* Update dependencies from https://github.com/dotnet/source-build-reference-packages build 20230808.2

Microsoft.SourceBuild.Intermediate.source-build-reference-packages
 From Version 8.0.0-alpha.1.23381.3 -> To Version 8.0.0-alpha.1.23408.2

* Update dependencies from https://github.com/dotnet/sdk build 20230814.3

Microsoft.DotNet.ApiCompat.Task
 From Version 8.0.100-preview.7.23329.3 -> To Version 8.0.100-rc.1.23414.3

* Don't use latest ILLink package

* Work around ProcessFrameworkReferences bug

* Update dependencies from https://github.com/dotnet/emsdk build 20230814.1

Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100.Transport
 From Version 8.0.0-rc.1.23411.2 -> To Version 8.0.0-rc.1.23414.1

* Update dependencies from https://github.com/dotnet/arcade build 20230814.5

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23411.1 -> To Version 8.0.0-beta.23414.5

Dependency coherency updates

Microsoft.DotNet.XliffTasks
 From Version 1.0.0-beta.23408.1 -> To Version 1.0.0-beta.23412.1 (parent: Microsoft.DotNet.Arcade.Sdk

* Update dependencies from https://github.com/dotnet/icu build 20230814.4

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 8.0.0-rc.1.23407.2 -> To Version 9.0.0-alpha.1.23414.4

* Update dependencies from https://github.com/dotnet/cecil build 20230814.1

Microsoft.DotNet.Cecil
 From Version 0.11.4-alpha.23407.2 -> To Version 0.11.4-alpha.23414.1

* Update dependencies from https://github.com/dotnet/sdk build 20230815.5

Microsoft.DotNet.ApiCompat.Task
 From Version 8.0.100-preview.7.23329.3 -> To Version 8.0.100-rc.1.23415.5

* Update dependencies from https://github.com/dotnet/arcade build 20230815.4

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23411.1 -> To Version 8.0.0-beta.23415.4

Dependency coherency updates

Microsoft.DotNet.XliffTasks
 From Version 1.0.0-beta.23408.1 -> To Version 1.0.0-beta.23415.1 (parent: Microsoft.DotNet.Arcade.Sdk

* Update dependencies from https://github.com/dotnet/sdk build 20230816.8

Microsoft.DotNet.ApiCompat.Task
 From Version 8.0.100-preview.7.23329.3 -> To Version 9.0.100-alpha.1.23416.8

* Attempt to fix test problems

* Update dependencies from https://github.com/dotnet/xharness build 20230816.1

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 8.0.0-prerelease.23407.2 -> To Version 8.0.0-prerelease.23416.1

* Update dependencies from https://github.com/dotnet/sdk build 20230817.3

Microsoft.DotNet.ApiCompat.Task
 From Version 8.0.100-preview.7.23329.3 -> To Version 9.0.100-alpha.1.23417.3

* Update dependencies from https://github.com/dotnet/sdk build 20230817.11

Microsoft.DotNet.ApiCompat.Task
 From Version 8.0.100-preview.7.23329.3 -> To Version 9.0.100-alpha.1.23417.11

* Update dependencies from https://github.com/dotnet/arcade build 20230817.3

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23411.1 -> To Version 8.0.0-beta.23417.3

Dependency coherency updates

Microsoft.DotNet.XliffTasks
 From Version 1.0.0-beta.23408.1 -> To Version 1.0.0-beta.23416.1 (parent: Microsoft.DotNet.Arcade.Sdk

* Update dependencies from https://github.com/dotnet/sdk build 20230817.25

Microsoft.DotNet.ApiCompat.Task
 From Version 8.0.100-preview.7.23329.3 -> To Version 9.0.100-alpha.1.23417.25

* Add dotnet9* feeds

* Update dependencies from https://github.com/dotnet/runtime build 20230818.2

Microsoft.DotNet.ILCompiler , Microsoft.NET.ILLink.Tasks , Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Text.Json
 From Version 8.0.0-rc.1.23406.6 -> To Version 8.0.0-rc.1.23418.2

* Update dependencies from https://github.com/dotnet/sdk build 20230818.40

Microsoft.DotNet.ApiCompat.Task
 From Version 8.0.100-preview.7.23329.3 -> To Version 9.0.100-alpha.1.23418.40

* Update dependencies from https://github.com/dotnet/arcade build 20230819.1

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23411.1 -> To Version 8.0.0-beta.23419.1

Dependency coherency updates

Microsoft.DotNet.XliffTasks
 From Version 1.0.0-beta.23408.1 -> To Version 1.0.0-beta.23418.1 (parent: Microsoft.DotNet.Arcade.Sdk

* Update dependencies from https://github.com/dotnet/sdk build 20230819.8

Microsoft.DotNet.ApiCompat.Task
 From Version 8.0.100-preview.7.23329.3 -> To Version 9.0.100-alpha.1.23419.8

* Update dependencies from https://github.com/dotnet/runtime-assets build 20230821.1

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
 From Version 8.0.0-beta.23408.1 -> To Version 8.0.0-beta.23421.1

* Update dependencies from https://github.com/dotnet/sdk build 20230820.17

Microsoft.DotNet.ApiCompat.Task
 From Version 8.0.100-preview.7.23329.3 -> To Version 9.0.100-alpha.1.23420.17

* Update dependencies from https://github.com/dotnet/runtime build 20230821.1

Microsoft.DotNet.ILCompiler , Microsoft.NET.ILLink.Tasks , Microsoft.NET.Sdk.IL , Microsoft.NETCore.App.Runtime.win-x64 , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , System.Text.Json
 From Version 8.0.0-rc.1.23406.6 -> To Version 8.0.0-rc.1.23421.1

* Update dependencies from https://github.com/dotnet/source-build-reference-packages build 20230814.1

Microsoft.SourceBuild.Intermediate.source-build-reference-packages
 From Version 8.0.0-alpha.1.23381.3 -> To Version 8.0.0-alpha.1.23414.1

* Update dependencies from https://github.com/dotnet/icu build 20230821.1

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 8.0.0-rc.1.23407.2 -> To Version 9.0.0-alpha.1.23421.1

* Update dependencies from https://github.com/dotnet/xharness build 20230821.1

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 8.0.0-prerelease.23407.2 -> To Version 8.0.0-prerelease.23421.1

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20230821.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 8.0.0-alpha.0.23407.2 -> To Version 8.0.0-alpha.0.23421.1

* Update dependencies from https://github.com/dotnet/cecil build 20230821.1

Microsoft.DotNet.Cecil
 From Version 0.11.4-alpha.23407.2 -> To Version 0.11.4-alpha.23421.1

* Update dependencies from https://github.com/dotnet/sdk build 20230822.1

Microsoft.DotNet.ApiCompat.Task
 From Version 8.0.100-preview.7.23329.3 -> To Version 9.0.100-alpha.1.23422.1

* Remove unused parameter (https://github.com/dotnet/arcade/pull/13961)

* Try to fix NativeAOT helix correlation payload issue

* Revert a change

* Update dependencies from https://github.com/dotnet/arcade build 20230822.1

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23411.1 -> To Version 8.0.0-beta.23422.1

Dependency coherency updates

Microsoft.DotNet.XliffTasks
 From Version 1.0.0-beta.23408.1 -> To Version 1.0.0-beta.23418.1 (parent: Microsoft.DotNet.Helix.Sdk

* Update dependencies from https://github.com/dotnet/runtime-assets build 20230823.1

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
 From Version 8.0.0-beta.23408.1 -> To Version 8.0.0-beta.23423.1

* Update dependencies from https://github.com/dotnet/emsdk build 20230822.1

Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport
 From Version 9.0.0-alpha.1.23415.2 -> To Version 9.0.0-alpha.1.23422.1

* Update dependencies from https://github.com/dotnet/sdk build 20230823.2

Microsoft.DotNet.ApiCompat.Task
 From Version 8.0.100-preview.7.23329.3 -> To Version 9.0.100-alpha.1.23423.2

* Dependency coherency updates

runtime.linux-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.win-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.win-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.osx-arm64.Microsoft.NETCore.Runtime.ObjWriter,runtime.osx-x64.Microsoft.NETCore.Runtime.ObjWriter,runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
 From Version 16.0.5-alpha.1.23408.1 -> To Version 16.0.5-alpha.1.23414.1 (parent: Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport

* Update dependencies from https://github.com/dotnet/sdk build 20230824.6

Microsoft.DotNet.ApiCompat.Task
 From Version 8.0.100-preview.7.23329.3 -> To Version 9.0.100-alpha.1.23424.6

* Exclusion for Microsoft.NET.ILLink.Tasks

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Sven Boemer <sbomer@gmail.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Nikola Milosavljevic <nikolam@microsoft.com>
2023-08-25 10:22:05 +02:00
Adeel Mujahid
7881fe334c
Delete duplicate init-distro-rid.sh (#90952) 2023-08-22 22:32:05 -07:00
Jeremy Koritzinsky
2811e7c755
Address Sanitizer support in CoreCLR (#74623)
* Enable AddressSanitizer in CoreCLR, Libs, and Host and update runtime-sanitized to run tests with ASAN on Linux and Mac

* Unify on HAS_ADDRESS_SANITIZER define name

Centralize setting up sanitizer flags.

Remove last usage of CLR_CMAKE_ENABLE_ASAN outside of eng/native

Remove unnecessary diffs

Use the cpuid intrinsic and enable ASAN on InitJitHelpers1.

Add comments for the places where we have ASAN disabled

Undo changes to src/coreclr/jit/CMakeLists.txt

Add docs and fix the docs in the build script.

Add docs for the SkipVCEnvInit hook

* Remove CRT runtime changes. We won't need this when we finally onboard to Windows with some changes they have coming down the pipeline, so remove them for now to reduce the diff of this PR.

* Remove suppression now that we've fixed the underlying issue.

* Remove some Windows-only sanitizer CMake that we won't need when ASAN is ready for us to consume on Windows.

* Set schedule for runtime-sanitized pipeline

* Remove workaround in JIT memory set/copy helpers now that the JIT bug has been fixed.

* Add missing helix queues setup template.

* Fix missing command to build nativeaot runtime tests as nativeaot.

* Add a scenario name to trigger the extended timeout in the libraries test helix configuration.

* Remove extraneous whitespace.

* Fix using the cross-targetting ILC when sanitizers are enabled. Also pass through our TargetOS and TargetArchitecture variables to the publish command for our native sanitizers targets to correctly do their extra logic.

* Disable LSAN on the CustomMain test.

* Disable some tests on sanitized runtimes.

* Copy the sanitizer runtime for OSX NativeAOT runtime tests.

* A little cleanup to try to get the build right now that we are always doing cross-builds on Linux.

* Fix crossgen-corelib.proj syntax.

* Fix cross-os dac builds to not include the host architecture in the output path.

* Split the debugger components into a separate component and make the "unsanitized cross components" build into an "unsanitized debugger components" build as it can't be part of the regular cross-components build

* Always write out the host-arch path on Windows and update the cross-dac build script to expect that.

* Change to use the dynamic runtime on Windows, as ASAN in VS is moving to a dynamic-only model.

* Update docker images to include the sanitizer runtimes in the crossrootfs images.

* Fix explicit image tags

* The unsanitized build should be of the target architecture, not the host architecture. As a result, we still need a cross-arch build for the cross-arch use cases when sanitized, as well as an unsanitized target arch build for the debugger tools.

* Turn off using the sigaltstack for NativeAOT tests that don't use the asansupport.cpp default options

* Make sure the shared ASAN runtime is present for the nativeaot/SmokeTests/SharedLibrary test.

* Disable crossgen2 tests with sanitizers as they don't get us interesting coverage.

* Fix custom default options and disable some more crossgen2-based tests.

* Simplify lookup of asan runtime on mac and fix copying the shared runtime for the SharedLibrary NativeAOT test.

* Disable test that's failing for weird reasons.

* Fix one more alloc-dealloc mismatch that only started to show up after test merging increased allocations in the runtime

* Disable the System.Text.Json test suite on sanitized builds as it causes SO failures on Mac

* Fix test exclusion

* PR feedback.

* Fix mac build

* Do review changes

* Add libbootstrapper object files to the platform manifest now that NativeAOT has

* Disable tests that check size on sanitized builds

* Use the built-in `include_guard` option

* Disable use-after-return checking in ASAN. CoreCLR doesn't do well with parallel stacks.

* Only pass the no UAR flag on C and CXX with Clang (not AppleClang).
2023-07-17 20:32:03 -07:00
Milos Kotlar
14e8b829e5
[nativeaot] Add Native AOT cross-build support for iOS-like platforms (#88242)
* Add Native AOT cross-build support for iOS-like platforms

* Add -hostos parameter for cross-components build

---------

Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
2023-07-11 21:34:35 +02:00
Jo Shields
b6e8073b60
Work around for Android builds using GCC for cross compiler native tools build (#88345)
* Work around for Android builds using GCC for cross compiler native tools build

* Allow true cross-compiled cross-compiler during Android repo builds
2023-07-10 17:23:13 -04:00
Michal Strehovský
7173823996
Add NativeAOT build and runtime pack for linux-bionic (#86781)
Build and runtime pack for linux-bionic (Android without the Java part).

I tried not to regress the existing CoreCLR Android build that is based on a crossrootfs (#56622) - the if's basically deal with that. Note that it's likely broken anyway (#66562).
2023-05-27 16:38:18 +09:00
Tom Deseyn
21fb96b6ee
Try to untangle the rid calculation. (#82832)
* Try to untangle the rid calculation.

* Ignore __portableOS.

* Add back musl detection.

* Try fix AnyOS tests.

* Try fix coreclr linux_musl_arm64 job.

* src/tests/build.proj: use PackageRID for restore.

* Use RuntimeOS as an override for _packageOS.

* Remove (probably) out-dated override for non-portable ToolsRID.

* CI cross-builds for linux-musl use linux.

* Add missing arch to rid.

* Try simplified ToolsRID.

* Update comments.

* Rename OutputRid to OutputRID.

* Tweak comment.

* Move TargetsLinux{Bionic,Musl} with the other Targets properties.

* Don't use RuntimeOS for PackageRID for CrossBuilds.

* Move RuntimeOS condition to ToolsRID assignment.

* Clean up a few things.

* Fix broken Condition.

* Try fix the linux-bionic build.

* Try fix the linux-bionic build, part II.

* Try fix the linux-bionic build, part III.

* Fix PackageRID.

* Use RuntimeOS as _packageOS override.

* Remove RuntimeOS.

* Fix '-os linux-musl' mapping.

* Clean up .

* Rename __PortableOS to __PortableTargetOS.

* Extend comments.

* Extend OutputRID comment too.

* build.sh: include linux-bionic, linux-musl in usage.

* SourceBuild.props: no need to pass RuntimeOS. Only set ToolsOS, PackageOS when RuntimeOS is not empty.

* Fix comment.

* linux-bionic doesn't get built on linux-bionic.

* Unconditionally assign TargetsLinuxBionic/TargetsLinuxMusl.

* Remove SkipInferTargetOSName.
2023-04-21 10:02:07 +02:00
Sven Boemer
887c043eb9
Build on CBL-mariner host with rootfs (#84148)
This changes the linux builds to use the new CBL-mariner build
images. All of these builds are now cross-builds with a
rootfs (including x64, and x64 musl).

- The new images intentionally don't have binutils, so our build
  jobs have been updated to use llvm-based tools. This includes
  lld when we run nativeaot over our tests. This leads to a
  slight size regression, I believe due to ILCompiler not
  supporting `--gc-sections` with lld.

- This change turns off PGO optimization because it was hitting a
  compiler crash when consuming and old version of profile data
  produced by clang9 instrumented
  builds (https://bugzilla.redhat.com/show_bug.cgi?id=1827282). The
  intention is to quickly flow the change into our optimization
  repo, then collect and ingest the new data so we can turn
  optimization back on.

- The Mono LLVMAot test build is kept on the old build images,
  because they run the aot compiler which depends on binutils. We
  can probably move it to the same plan as the other legs, but
  I'm not familiar with the context here. cc @akoeplinger. We
  would at least need to fix `AS_NAME` here:
  1d2cd206f4/src/mono/mono/mini/aot-compiler.c (L13030)


- Mono arm64 product build is kept on the old images due to
  https://github.com/dotnet/runtime/issues/84503.

- Includes a temporary revert of
  d80a584ae1
  which requires LLVM 13.

- Sets arch for mono build, because our source-built LLVM doesn't
  target armv7a by default. Possibly related to
  b7363248b1

- Allow text relocations. The lld defaults differ from ld, which will add
  text relocations on demand by default.
  See https://maskray.me/blog/2020-12-19-lld-and-gnu-linker-incompatibilities

---------

Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
2023-04-12 13:39:35 -07:00
Tom Deseyn
ec2859d69c
corehost: derive fallback rid from output rid. (#82163) 2023-02-21 20:57:34 -08:00
Alexander Köplinger
e56db76481
Enable building NativeAOT for Apple mobile platforms (#81780)
These changes allow the NativeAOT runtime to compile for and run on iOS, tvOS and MacCatalyst.
2023-02-16 02:00:08 +01:00
Alexander Köplinger
8cb3cfc360
Bump iOS/tvOS minimum version to 11.0, cleanup some code (#81965)
In .NET 8 the minimum Apple OS versions we're supporting are iOS/tvOS 11.0 and macOS 10.15.

This bumps the version settings in various files and cleans up code that can now assume it's running on a later OS version. For example, it allows us to get rid of a couple `dlsym()` calls in System.Security.Cryptography.Native.Apple.

We can also stop building the iOS arm and iOSSimulator x86 runtime packs since 32bit platforms aren't supported by iOS 11
2023-02-13 16:18:56 +01:00
Viktor Hofer
2ca7cf7140
Lowercase TargetOS (#80164)
Follow-up on #32451
Follow-up on #80074

In #43651, the "Windows" OS name was lowercased to achieve target frameworks with RIDs in them. At that time, the original plan was to lowercase all TargetOS values but that had to be cut because of resources. This PR finishes that and updates build systems, YML, markdowns and managed components.

To not break existing developer workflows, the passed-in -os value is automatically lower-cased in the script entry points and validated in the msbuild entry point.
2023-01-11 17:58:32 +01:00
Pavel Savara
27c19c31f5
new RID: wasi-wasm (#78376)
- new RID: wasi-wasm
- msbuild: TargetsWasi, mono.wasiruntime subset
- differentiate wasm on Browser from wasm on Wasi, renamed IsBrowserProject
- build shell files
- initial CMake files
- CI pipeline platform wasi_wasm
- OperatingSystem.OSPlatformName ="Wasi"
- OperatingSystem.IsWasi()

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Ankit Jain <radical@gmail.com>
2022-11-16 19:51:59 +01:00
Tom Deseyn
58c3d52399
Pass TargetRid and SourceBuildNonPortable to the native scripts (#74504)
* Pass SourceBuild TargetRid and SourceBuildPortable args through the native script.

* Rename -packagerid to -distrorid.

* Fix init-distro-rid.sh.

* Use OutputRid instead of PackageRid.

* Drop unnecessary Condition.

* Try passing --distrorid as OutputRid.

* NativeExport: use PackageRID for AppHostRuntimeIdentifier.

* Rename --distrorid to --outputrid.

* Fix SourceBuild.props.

* Undo changes to init-distro-rid.sh.

* Let source-build leg build 'banana-x64' rid.

* SourceBuild.props: don't force a RuntimeOS.

* SourceBuild.props: set AdditionalRuntimeIdentifierParent.

* Build banana.24-x64 instead.

* Fix SourceBuild.props.

* SourceBuild.props: try fix AdditionalRuntimeIdentifier* usage.

* source-build.yml: add runtimeOS parameter.

* SourceBuild.props: derive RuntimeOS from NETCoreSdkRuntimeIdentifier.

* Undo using NETCoreSdkRuntimeIdentifier.

* Update eng/pipelines/common/global-build-job.yml

Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>

Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
2022-09-28 11:48:11 +02:00
Adeel Mujahid
fe9a5a4685
Use nproc without --all on Linux (#74696)
* Use nproc without --all on Linux

* Fix a few typos missed in previous PR

* Allow llvm-objcopy to be 'NOT FOUND'

* Add CMAKE ASM workaround for newer clang

* Fix comment
2022-08-29 21:40:43 -07:00
Adeel Mujahid
56095347ca
Add initial riscv64 port (#73385) 2022-08-04 16:08:01 -07:00
Alexander Köplinger
921029babd
Update Android NDK and set optimization flags (#68354)
Brings in new cmake 2.23.1 and Android NDK23c which fixes an issue with the binary size and perf of libmonosgen-2.0.so

In NDK23b they decided to no longer pass -O2 compiler optimization flag (for arm64, armv7 used -Oz) as part of the Android toolchain but delegate to upstream CMake behavior: https://github.com/android/ndk/wiki/Changelog-r23 and https://github.com/android/ndk/issues/1536

CMake defaults to -O3 for Release builds but unfortunately this causes quite a noticable binary size increase and perf regression.

The Xamarin Android team measured startup time on an average of 10 runs of `dotnet new maui` on a Pixel 5:
```
-O3: 893.7ms
-O2: 600.2ms
-Oz: 649.1ms
```

We now explicitly pass in -O2 for Android builds.

Fixes https://github.com/dotnet/runtime/issues/68330
2022-07-01 00:26:14 +02:00
Sapana-Khemkar
8b4f9c76d4
ppc64le build support (#68806)
* add ppc64le build support in eng directory files

* add platform option linux-ppc64le

* add ppc64le support in subfolder libraries

* add RID linux-ppc64le and linux-musl-ppc64le as UnofficialBuildRID

* ppc64le changes in subfolder native

* add support for ppc64le to few coreclr makefiles required to build mono and libraries

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
2022-06-13 10:53:04 -04:00
Jo Shields
b5f9c224e7
Linux-bionic (Android libc w/o Android interop) initial implementation (#66147)
Implement support for "Linux Bionic", a RID which builds a Linux runtime against an Android libc but without Android OS functions like JNI, Dalvik, Instrumentation, etc. This configuration has been requested by a team working on an IoT scenario.

* The new RID is linux-bionic-arm64/linux-bionic-x64.
* The build reuses the existing Android build dockerfiles and Helix queues
* Since we don't have JNI, we don't have Android Crypto - instead, use an Android build of OpenSSL. As an errata, it is incumbent upon the end user to supply this in their OS environment (we download one ad-hoc for testing purposes, which was compiled by Google)
* Some tests cannot be completed due to SELinux policies affecting the shell user executing tests via adb shell in the world-writable /data/local/tmp directory. We expect those tests would pass if they pass on Android, in a real-world IoT scenario with a custom OS (rather than recycling Google's OS images intended for phones)

Closes: #66027
2022-05-19 15:27:40 -04:00
Kevin Jones
7fd3c9293c
Use and support OpenSSL 3 on macOS (#68045)
* Use OpenSSL 3 on macOS

* Update documentation

* Restart CI
2022-04-20 11:10:53 -07:00
Jeremy Koritzinsky
7d562f9d2a
Make the cross-component build just another invocation of the build-runtime script (#67108) 2022-04-01 10:08:23 -07:00
Jo Shields
df69293bdb
Port Mono to Raspberry Pi, ship as new linux-armv6 RID (#62594)
* Initial ARMv6 arch addition. Builds mono runtime, not CoreCLR (Mono already supports the CPU arch subset used by Raspberry Pi, whilst porting CoreCLR to e.g. VFPv2 would be major work)
* Build small clr subset on ARMv6, it's needed for SDK and we want to check it works
2022-01-24 16:29:57 -05:00
Qiao
b7e0a85ab6
[LoongArch64] add all the coreclr-build-config files (#62889) 2022-01-13 22:33:20 -08:00
Adeel Mujahid
a95cc4d3d8
Parse compiler version in init-compiler.sh (#63126)
When user passes versioned native compiler argument such as
`-clang10.1` or `-gcc9.2` to the top-level `:/build.sh`,
`:/eng/build.sh` transforms that to msbuild property called
`<Compiler>` with raw/unprocessed value.

In coreclr, libs, corehost and tests partitions, we end up calling
`:/eng/native/build-commons.sh`, which slices the compiler name, major
and minor versions, then calls `:/eng/native/gen-buildsys.sh` with
individual components. That is just a pass-thru script for the final
`:/eng/common/native/init-compiler.sh`, where those arguments are
actually used.

In `mono.proj` and `NativeExports.csproj`, we do not use
`build-commons` script, but instead, invoke `init-compiler.sh` directly
with the raw `<Compiler>` property. That causes an error when versioned
native compiler is specified on the command line.

This PR fixes this issue by pushing version parsing code into
`init-compiler.sh` so all its consumers get the same behavior.
2021-12-25 20:30:45 -08:00
Adeel Mujahid
6cc2d2e478
Fix a few syntax issues in shell scripts (#62102)
* Fix a few syntax issues in shell scripts

* Cleanup trailing whitespace in changed files
```sh
# git remote add dotnet https://github.com/dotnet/runtime && git pull --rebase dotnet main

if uname 2>/devnull | grep -q Darwin; then
    space=" "
fi

git show --name-only --pretty="" HEAD...dotnet/main |\
    xargs -I{} sh -c "test -f {} && sed -i$space'' 's/[[:space:]]*$//' {}"
```

* Address CR feedback
2021-11-30 17:32:39 -06:00
Adeel Mujahid
4cd689a8cd
Fix common workflow issues (#61027) 2021-11-10 11:43:15 -08:00
Jeremy Koritzinsky
4682098d3a
Move optdata and version file generation up to MSBuild from build-runtime (#58674)
* Move optdata and version file generation from the native build scripts up into the managed scripts. The native build scripts will now by default copy a fallback version file in place if the version files do not exist and will disable PGO if no pgo file path is passed in to the build-runtime scripts.

This removes all cases of build-runtime calling into MSBuild.

* Update CI to use the new prereqs model.

* Remove some old MSBuild arg pass-through that's no longer needed as build-runtime no longer calls into any MSBuild processes.

* Apply suggestions from code review

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>

* Move some targets around based on feedback.

* Output version files in the artifacts/obj dir so they can be easily shared.

* Move native pgo into a targets file instead of being a separate project to be more static-graph friendly.

* Fix subsets.

* Share version file path by default

* Fix VER_FILEDESCRIPTION_STR

* Fix version fallback copies.

* Fix include path for the version headers.

* Update src/coreclr/dlls/mscordac/CMakeLists.txt

Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>

* Enable easily sharing the fallback version files between all components of the repo.

* Remove some now-unused command-line options from our build scripts.

* Bump importance output to pass the pgo path between steps.

* Add eval statement to run copy_version_files script

* Rename some files and and standardize on a _version.c file name for Linux.

* Remove temp proj ref.

* Fix permissions

* Reference targets to produce version file in libraries native build.

* Fix CoreCLR build breaks

* Generate the version files for Mono

* include configurepaths.cmake on the Windows CoreFX build.

* Restore mono.proj when building it through monoaotcross.proj.

* Update copy script to work on macos.

* Make sure mono pulls in the shared version files.

* Add artifcats/obj dir as include dir for CoreCLR diagonstic components included in Mono

* Add artifacts/obj include for the whole mono build.

* Update CMakeLists.txt

* Fix NativeVersion.rc path on Windows.

* Fix linux version parsing to point at the right file.

* Fix mono version parsing (apparently the quotes make a difference here)

* Update src/coreclr/build-runtime.sh

Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>

* Update eng/native/version/copy_version_files.sh

Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>

* Update copy_version_files.sh to insert the current commit hash into _version.c.

* Apply suggestions from code review

Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>

* Update the _version.c writing script to only update the placeholder version file if it actually is a placeholder (not a real generated file).

* Generate the version files for wasm/browser as well.

* Fix Mono WASM cross build.

* Update eng/nativepgo.targets

Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>

* Fix comparison for NativeOptimizationDataSupported.

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
2021-10-27 10:03:34 -07:00
Michal Strehovský
4bf4300da8
Move Android SDK logic to /eng (#58700) 2021-09-16 08:35:58 +02:00
Ulrich Weigand
5df6cc6315
Add s390x support in a few places in eng/native build scripts (#56426)
* Make isMSBuildOnNETCoreSupported return true on s390x
  (fixes generating version headers)

* Add s390x platform-specific library name in find_unwind_libs
  (enables linking against system-provided libunwind)
2021-08-30 15:23:36 +02:00
Gleb Balykov
c8c4ead00e
Set NumProc on tizen (#53098) 2021-05-24 08:01:03 -07:00
Ulrich Weigand
0dd6b7be33
Build support for s390x: eng scripts (#52840)
Add support for Linux on s390x as host and target build architecture.
2021-05-18 14:48:38 +02:00
Jo Shields
26000448d2
Enable tests for MacCatalyst x64 (#51139) 2021-05-08 08:30:58 -04:00
Gleb Balykov
bad6ea00b5
Fix __NumProc setup if nproc is not available (#51002) 2021-05-01 11:24:00 -07:00
Jeremy Koritzinsky
8d6cd81d8e
Reorganize CoreCLR native build to reduce CMake reconfigures when the build system is untouched (#49906) 2021-04-05 15:05:34 -07:00
Adeel Mujahid
b5e2c5f2a7
Fix FreeBSD __NumProc calculation (#50691) 2021-04-03 19:48:46 -07:00
Jo Shields
ded66fc97e
Introduce iossimulator RIDs, and convert as needed (#49305)
Previously, we have had four iOS RIDs:

iOS-arm
iOS-arm64
iOS-x86
iOS-x64

Apple has never shipped an iOS device with an x86 or x64 processor. Instead, the x86/x64 RIDs have meant "iOS simulator with these arches" as opposed to "iOS with these arches". Amongst other things, that means building against a DIFFERENT SDK, iPhoneSimulator.platform vs iPhoneOS.platform

In the Apple Silicon future, the iOS simulator is now an ARM64 binary - so we need:

iOS-arm
iOS-arm64
iOS-arm64, but built against the simulator SDK not the device SDK
iOS-x86
iOS-x64
Clearly, there's a problem.

The solution is to move the simulators to a different RID, to avoid the overloading issue:

iOS-arm
iOS-arm64
iOSSimulator-arm64
iOSSimulator-x86
iOSSimulator-x64

This PR introduces the new entries in the RID graph, moves our existing iOS-x{86,64} to iOS-sim-x{86,64}, adds a new iOS-arm64.

The above also applies for tvOS, with a smaller set of OSes:

tvOS-arm64
tvOSSimulator-arm64
tvOSSimulator-x64

Ref: #48216
2021-03-19 12:24:10 -04:00
Jo Shields
59594697a9
Deal with Homebrew prefix not being /usr/local (Apple Silicon) (#48912)
As per the documentation, Homebrew uses a different install directory for Brew on Intel vs. Apple Silicon. We have hardcoded the Intel location in a couple of places, so instead switch to pulling the prefix from brew --prefix
2021-03-01 15:52:21 -05:00
Viktor Hofer
3553284bea
Rename mention to master branch to main (#48824) 2021-03-01 10:09:31 +01:00
Jo Shields
44f8f0faee
Add Mac Catalyst (iOS API, Mac ABI) runtime (#47823)
Initial support for Mac Catalyst for mono subset. This enables building runtime packs and working jobs, but right now the `tests` subset needs some work to allow library test runs in CI
2021-02-08 14:26:14 -05:00
Adeel Mujahid
8f463670ed
Replace AWK with Bash scripts (#46313)
* Replace AWK with Bash scripts

* Replace awk usage with Bash or POSIX tr

* Simplify genmoduleindex.sh
2020-12-23 01:52:26 +01:00
Vladimir Sadov
08ad834608
Static linking of native libs (#44505)
* from prototype

* fix OSX

* fix for Android

* treat "libSystem.Globalization.Native" as QCall in mono too (for now).

* fix for wasm

* fix pedantic errors on GCC

* delete gPalGlobalizationNative

* pass overrider from the host

* default override

* default PInvoke override runs after optional host-provided overrider.

* Some PR feedback   (mostly related to code, not the CMake stuff).

* more coding PR feedback

* Deleted "libraries-native" folder.

* unifying tryrun.cmake into 1 common file

* factor out adding lib-specific dependencies into one place (per native library)

* cleanup: entirely remove tryrun.cmake propagation in eng, gen-buildsys, build-commons, and build scripts

* remove "clrcompression.dll" and "libSystem.IO.Compression.Native.dylib" from single-file host packaging

* mono: refactor Globalization lookup into `default_resolve_dllimport`.

* set FEATURE_DISTRO_AGNOSTIC_SSL according to __PortableBuild

* CORECLR_CALLING_CONVENTION for the host callback types

* refactor common parts of entrypoints.c into entrypoints.h

* rename OverrideEntry -->  DllImportEntry

* extra libs as CMake functions

* use macros instead of functions in extra_libs.cmake

* mono formatting style in src/mono/mono/metadata/native-library.c

Co-authored-by: Ryan Lucia <ryan@luciaonline.net>

* mono: Remaining stylistic nits.

Co-authored-by: Ryan Lucia <ryan@luciaonline.net>

* do not set DFEATURE_DISTRO_AGNOSTIC_SSL on iOS, Android, tvOS

Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
2020-12-06 20:08:41 -08:00
Adeel Mujahid
05cd29c814
Share unix getexepath() definition via src/native (#44999)
* Share unix getexepath() definition via src/native

* Address CR feedback

* Remove duplicate property

* Inline variable with single usage

* Fix include path in tests

* Remove unixcoreruncommon static lib dependency

* Merge coreruncommon.{cpp,h} into corerun.cpp

* Include local headers before the first use

* Remove Unix case from (Win32 only) corerun

* Use realpath in getauxval case

* Delete obsolete comment
2020-11-26 13:24:13 +01:00
Steve MacLean
fd094a92cd
Add initial support for Apple Silicon (#40435)
* Add CoreCLR compilation support for Apple Silicon
    * Use CMAKE_OSX_ARCH rework
    * Set clang -arch flag
    * Workaround uname arch reporting emulated arch

* Fix native code compilation issues
* Implement missing osx-arm64 functionality
* Prototype fix for write no execute issues
* Strip libunwind pointer authentication bits

* Review feedback
* Does not fix Arm64 ABI issues

Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
2020-10-07 21:01:28 -04:00
Alexander Köplinger
f025f53481
Add other openssl path to PKG_CONFIG_PATH (#43041)
Follow-up to https://github.com/dotnet/runtime/pull/43037#discussion_r499726268
2020-10-05 20:21:27 +02:00
Alexander Köplinger
f15b55a17f
build-commons.sh: check for OpenSSL 1.1 on macOS (#43037)
We're installing openssl@1.1 from Homebrew so we should check that version.
It looks like CI Macs don't set the /usr/local/opt/openssl symlink anymore.
2020-10-05 19:04:13 +02:00