Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-09-06[release/7.0] Don't try to build PGO tools on platforms with no CoreCLR ↵github-actions[bot]
port. (#75003) Co-authored-by: Jo Shields <directhex@apebox.org>
2022-08-12Only include host.native instead of all host in default clr/mono subsets ↵Elinor Fung
(#73800)
2022-08-04[Android] Introduce NetTraceToMibcConverter task & streamline testing ↵Steve Pfister
targets (#72394) NetTraceToMibcConverter - Used in profiled AOT scenarios where a .nettrace file is given as input and is converted to a .mibc file that can be fed into the AOT compiler. This previously was in the AotCompiler task, but for clarity purposes is now separated out. Streamline Android testing targets - The testing targets function the same, but are now structured similarly to iOS and Wasm. - Introduced new testing properties to support profiled AOT: NetTraceFilePath - The path to a .nettrace file that will be converted into a .mibc file and fed into the aot compiler RuntimeComponents - The list of native components to include in the test app build (diagnostics_tracing) DiagnosticsPorts - The ip address:port where the runtime will listen when running diagnostic tooling DiagnosticStartupMode - The mode the runtime will use at startup for diagnostic scenarios. Suspend will halt the app very early and wait, while nosuspend will wait for a connection, but not halt the runtime Co-authored-by: Mitchell Hwang <16830051+mdh1418@users.noreply.github.com>
2022-08-03Bring back live host change (#73095)Andy Gocke
This reverts commit 63692cd725a2bf36e896c78f9709c5474af0b6c1. Re-try the change to remove the usage of pre-built hosts and instead always use the live host. This PR doesn't contain the change to move the host into liveBuild placement as that would place the host in the shared framework packages instead of just in the runtime pack. This change also leaves the DotNetHost packages building, but not being consumed, because the packages may be used for symbol acquisition. The packages can probably be removed if the symbol problems are resolved.
2022-07-22Revert "Always use live host (#71725)" (#72628)Andy Gocke
This reverts commit c4277b99ef2b623dca6ed2c1427890855e3deced.
2022-07-18Always use live host (#71725)Andy Gocke
Eliminates package dependency on the host during build and test. This change adds steps to various build pipelines to build the host where they wouldn't before. It also stops us from building the Microsoft.NETCore.{DotnetHost,DotNetHostPolicy,DotNetHostResolver}, since those weren't necessary beyond this internal usage.
2022-07-17Fix typos (#72314)Adeel Mujahid
* Fix typos * Cleanup trailing whitespaces in committed files * Revert a macro for win32 compat * Disambiguate test data method * Revert XMLPath test which rely on external assets * Revert whitespace change in Xml tests * Revert ClrEtwAl and ILLink.Shared * Revert crossgen2 props/targets and *.wxl
2022-07-17Add clr.aot subset for convenience and document it (#72251)Andy Gocke
You can now use `build.[cmd|sh] clr.aot` to build the components for the AOT workloads.
2022-07-06Enable host.pkg subset in source-build (#60069) (#71690)Michael Simons
2022-06-13ppc64le build support (#68806)Sapana-Khemkar
* 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-10Add basic testing infrastructure in NativeAOT (port from dotnet/linker) (#70408)Tlakaelel Axayakatl Ceja
Add basic testing infrastructure in NativeAOT (port from dotnet/linker) - Port the Mono.Linker.Tests* projects from dotnet/linker - Add the new projects to .editorconfig so they remain under the dotnet/linker format instead of dotnet/runtime - clr.toolstests subset now runs the Mono.Linker.Tests infrastructure - Make DisplayNameHelpers a public class so it can be used by the test infrastructure - Add a couple of simple test cases (Dataflow and Requires) along with a Repro test, just like the repro project the repro test serves prototyping purposes - Adds ProducedBy.NativeAOT to be able to represent differences between dotnet/linker and NativeAOT (either because of a bug or because NativeAOT correctly produces additional warnings) - Use MSBuild properties instead of trying to figure out with linker paths
2022-05-19Linux-bionic (Android libc w/o Android interop) initial implementation (#66147)Jo Shields
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-04-27Retry publish crossgen as AOT (#67636)Andy Gocke
Brings back the earlier change to publish crossgen as AOT with a fix for restore flakiness (#65948) Closes #60016 (cherry picked from commit 0d1e04ba2a9ebc9d21a7f65db00407dd0056b547) Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com> Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2022-04-22Remove unused libs.packages subset (#68345)Aleksey Kliger (λgeek)
Followup to https://github.com/dotnet/runtime/pull/56899
2022-04-05Revert "Publish crossgen as AOT if supported by the target platform ↵Andy Gocke
(#65948)" (#67590) This reverts commit 0d1e04ba2a9ebc9d21a7f65db00407dd0056b547.
2022-04-01Publish crossgen as AOT if supported by the target platform (#65948)Andy Gocke
Publishes crossgen as an AOT binary on Windows+Linux x64+ARM64, otherwise publishes as an R2R single file. Closes #60016
2022-04-01Make the cross-component build just another invocation of the build-runtime ↵Jeremy Koritzinsky
script (#67108)
2022-03-25Infra for regeneration of third-party-notices file (#60091)Nikola Milosavljevic
* Infra for regeneration of third-party-notices file * Update eng/regenerate-third-party-notices.proj Co-authored-by: Davis Goodin <dagood@users.noreply.github.com> * Addressing PR comments * Updated copyright in all .cs files * Update dotnet/liner repo name * Add dotnet/emsdk to the list Co-authored-by: Davis Goodin <dagood@users.noreply.github.com>
2022-02-24sfx+oob split, shim project refactoring, P2PsViktor Hofer
Split the build of shared framework and out-of-band projects so that it's possible to just build the shard framework projects, which was requested by the CLR teams. In the next infrastructure rollout, the current "libs.ref+libs.src" subsets should be removed. Generate the targeting pack with an incomplete (without shims) frameworklist as part of the "libs.sfx" subset. Build the shim projects after the shared framework and oob projects and re-generate the targeting pack's frameworklist to include the shims. Refactor the shims so that they aren't grouped anymore by generated & manual. Instead group them by "ref" and "src" same as other libraries in the tree which allows to reference the source project shims and read from the ReferenceAssembly metadata. Use ProjectReferences in traversal projects and shim projects instead of named references that point to binplace directories (see graph below) This allows to build parts of the product dynamically, i.e. the shim projects, apicompat.proj, sfx.proj and oob.proj.
2022-02-15Remove default BuildInParallel attributes (#65378)Viktor Hofer
Cleanup: Remove BuildInParallel=false attributes which are the default setting.
2022-02-08NativeAOT ARM64 libraries testing (#64373)Michal Strehovský
Enable ARM64 libraries testing for NativeAOT. * Copy the crosstargeting build approach from crossgen2. We'll now build two ILC compilers when targeting ARM64 from x64: an arm64-hosted one that is useless on the build machine, and a x64-hosted one, that will work on the build machine. The `ILCompiler.csproj/props/_crossarch.csproj` projects mirror crossgen's approach. * Limit the number of libraries tests to one. Hopefully it avoids the build races that we'd see until we can update the repo build to .NET 7 Preview 1. * Create an ARM64 NativeAOT CI leg that sends the libraries tests to Helix to run.
2022-02-04Split out clr.tools unit tests (#64788)Michal Strehovský
Don't even build them as part of the clr subset, only on demand.
2022-02-02With `build -subset help` output "macro" subset components (#64578)Bruce Forstall
Remove `clr.spmi` from default list; it's already there due to `clr.native`.
2022-01-28Fix NativeAOT official build (#64432)Michal Strehovský
Official builds are currently not building NativeAOT CoreLib. For unknown reasons the official build splits native build and managed build of the CoreCLR partition. We had a convenient clr.nativeaotlibs subset that built both the native part and managed part. Managed part can't be built without the native part, so it makes sense. To satisfy official build's weirdness, we need to split this into two subsets so that we can tell the official build to build the managed part. (Official builds already build everything in the native part, so we're good there.)
2022-01-27Build ILCompiler NuGet packages (#63212)Michal Strehovský
This is using the same strategy we used to build the package in the runtimelab repo.
2022-01-25Port Mono to Raspberry Pi, ship as new linux-armv6 RID (#62594)Jo Shields
* 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-22Extract SuperPMI into a separate component (#64035)Michal Strehovský
Allows building the runtime without SPMI. `build.cmd clr` will still build SPMI. `build.cmd clr.native` will still build SPMI. `build.cmd clr.runtime` will no longer build SPMI. This is mostly motivated by NativeAOT subset builds where SPMI contributes to 10% of the native build time (nativeaot CorecLR subset builds pretty quickly compared to full CoreCLR).
2022-01-04Delete ILCompiler.TypeSystem.ReadyToRun project (#63313)Michal Strehovský
Replaced with a single ILCompiler.TypeSystem shared between crossgen2 and ilc.
2022-01-01Bring over ILCompiler.Compiler unit tests (#63232)Michal Strehovský
...from CoreRT repo since we skipped them in runtimelab.
2021-12-31Switch to objwriter from the dotnet/llvm-project repo (#63177)Michal Strehovský
2021-12-31Allow managed type system tests on Alpine (#63207)Michal Strehovský
This was disabled in https://github.com/dotnet/runtime/pull/38128/commits/d98d9a2f52f16a87fdc8a28a252e94eca796abb2. I don't think those problems exist anymore - targets are written differently, and we would likely see musl-arm64 failures if this was still a problem.
2021-12-18Allow building libs against NativeAOT CoreLib (#62945)Michal Strehovský
To make sure ApiCompat tooling for NativeAOT's CoreLib runs at least in some legs, compile libs against NativeAOT CoreLib if we're building CLR, but not building the JIT flavor of the runtime. The baselining is necessary because the reflection stack of NativeAOT doesn't live in CoreLib. The CannotRemoveBaseTypeOrInteface baselining will go away once https://github.com/dotnet/runtime/issues/62944 gets fixed. It's one of the "overall goodness" things we can take out of NativeAOT and put it into all runtimes.
2021-12-15Use wildcards for NativeAOT libs (#62820)Michal Strehovský
2021-12-14Add NativeAOT to build (#62569)Michal Strehovský
2021-12-09[build] Create clr.host subset to remove patching step for mono runtime ↵Nathan Ricci
tests (#62500) * [build] Define a component and subset for corerun and copy mono runtime files to coreroot.
2021-11-25Reorganize libs.native (#61958)Adeel Mujahid
* Reorganize libs.native * Fix darwin build * Fix wasm-win32 build * Fix pipelines path evaluation
2021-10-27Move optdata and version file generation up to MSBuild from build-runtime ↵Jeremy Koritzinsky
(#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-15Eliminate pre-built assets during source-build (#60370)Eric Erhardt
* Remove RefOnly dependency versions This allows for source-build to replace these versions with source-built versions. * Eliminate usages of pre-built packages during source-build * Don't build MSBuild tasks for netfx during source-build * Don't build Microsoft.Windows.Compatibility during source-build * Don't build test projects during source-build * Don't restore Microsoft.DiaSymReader.Native * Don't build source generators that target older Roslyn versions * Don't build ILStripTask since it uses a Mono.Cecil "sources" NuGet package that isn't part of source-build
2021-10-05Add back the nethost archive. (#59847)Jeremy Koritzinsky
* Add back the nethost archive. This archive makes it a bit easier for developers to pull down nethost in a non-.NET environment (without NuGet). We had this in 3.1, but it was lost at some point between then and now with all of the large infrastructure changes. * Fix symbols copying. * Create the symbols archive for nethost * Update src/installer/pkg/archives/dotnet-nethost.proj Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com> * Update src/installer/pkg/archives/dotnet-nethost.proj Co-authored-by: Elinor Fung <elfung@microsoft.com> * Update src/installer/pkg/archives/dotnet-nethost.proj * Symbols are in the PDB folder. * Fix symbol paths for xplat. * Update src/installer/pkg/archives/dotnet-nethost.proj * Update src/installer/pkg/archives/dotnet-nethost.proj Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com> * Update src/installer/pkg/archives/dotnet-nethost.proj Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com> Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com> Co-authored-by: Elinor Fung <elfung@microsoft.com> Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2021-10-05Use live-built corehost on s390x for creating testhost (#58952)Alexander Köplinger
This allows consuming the dotnet host that was just built instead of relying on a downloaded one. We need to move the `host` subset build before the `libs` subset so that the artifacts are available before externals.csproj runs.
2021-09-03Fix source-build on the s390x platform (#58553)Ulrich Weigand
* Do not disable Mono in source-build if it is the primary runtime This fixes a build failure when building runtime via the source-build method on s390x: with source-build, the Mono runtime is currently not supported -- but this doesn't make sense on s390x where Mono is the *primary* (only) supported runtime.
2021-08-25Tool to stress tiered compilation (and PGO) (#57839)Andy Ayers
Add a test wrapper that executes a test's `Main` method so that more methods are able to reach Tier1. In particular this is useful in trying to increase test coverage for dynamic PGO. Uses various tricks to tolerate tests that are not amenable to being run in this manner: * failures on the first or second iteration are ignored * long running tests are run for fewer iterations * some tests that become flaky after 2 iterations are excluded Also add support for running tests in this mode to various CI scripts.
2021-08-09Move corehost.proj to corehost directory (#57036)Adeel Mujahid
* Move corehost.proj to corehost directory * Simplify host version overriding
2021-08-06Clean-up pkgproj leftovers in libs and apply fixes (#56899)Viktor Hofer
* Clean-up pkgproj leftovers in libs and apply fixes Remove any pkgproj infrastructure that was only used by src/libraries (which is the majority). Delete the packageindex *YAY*. Update the documentation that covered the packageindex and the pkgprojs. Avoid any incremental builds during packaging by removing libraries-packages.proj and use src.proj for packaging instead. Make use of the `GeneratePackageOnBuild` property to build package during the allconfigurations without requiring a different entry target. Fix the addition of the DocumentationFile during packaging when `GeneratePackageOnBuid` is used by hooking onto the `DocumentationProjectOutputGroup` that NuGet uses and replacing the generated documentation file with the one that comes via the intellisense package. Also introduce a property to choose the generated documentation file over the one from the intellisense package: <UseIntellisenseDocumentationFile>false</UseIntellisenseDocumentationFile> Removing a few leftover PackageDescription properties from the projects' Directory.Build.props file. Cleaning up properties in Directory.Build.props & Directory.Build.targets files. * Actually run packaging during the allconfigurations build * Update docs * make runtime specific pkgs non packable * io.ports native pkg fixes
2021-07-24Build support for s390x: installers and packages (#53950)Ulrich Weigand
* Introduce "PrimaryRuntimeFlavor" concept, set to Mono for s390x * Enable installers, packages, and archives when building the PrimaryRuntimeFlavor, even when this is Mono instead of CoreCLR * Update default subsets in eng/Subsets.props to take PrimaryRuntimeFlavor into account * Skip packaging singlefilehost when not available (due to building with the Mono runtime flavor) * Only build the IL tools packages in coreclr-packages.proj when building with the Mono runtime flavor
2021-07-22Build VS installers for WebAssembly and Mobile workloads (#55769)Jo Shields
In order to support generating installers, this change adds the mono.workloads subset and the associated yml.
2021-07-14[wasm] Run `Wasm.Build.Tests` against workloads (#54451)Ankit Jain
Co-authored-by: Larry Ewing <lewing@microsoft.com>
2021-06-22ArPow stage 1: local source-build infrastructure (#53294)Michael Simons
* Initial arcade-powered source-build infra * Add patches, fixup from 5.0 * Rename patches to match 6.0-p1 work * Add source-build specific build script * Incorporate build-source-build.sh, into eng/ * Run inner build script, through coreclr * Initial source-build args based on live build (not props file) * Cleanup: add RID comments, rm empty/absolute args * Fix subsets * Disable sourcelink in env, not args * Fix CI NZEC * Revert "Use same code to DetectCiphersuiteConfiguration for portable and non-portable builds" This reverts commit 464010d9d0241bbdcbfbda25b32e78991ddf6093. * Fix portability * Fix AllJits build * Fix missing crossgen2 for non-portable RID * Create supplemental intermediate nupkgs * Tweak category names * Use centralized supplemental nupkg infra * Add additional 6.0 patches * Patch updates after merging in main * SourceBuild.props cleanup * Fix issue with incorrect patch merge * Patch updates * Edit clr.tools patch * patch updates * Revert patch integration * Patch updates * Edits per code review feedback * ILAsm workaround * patch updates * Move logic to set ILAsmToolPath for source-build * Update eng/SourceBuild.props Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com> * Remove libraries specific patches * Patch updates necessary with latest main merge * Add back libraries-packages.proj harvesting patch * Refactor intermediate package split to be chunkier * Integrate patch 0017 * Subsets update per code review * Remove obsolete patch * Removed patches that were integrated into main * Remove two additional patches * Remove remaining patches Co-authored-by: Davis Goodin <dagood@microsoft.com> Co-authored-by: dseefeld <dseefeld@microsoft.com> Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2021-05-19Stop reading TargetFramework prop in props files (#52897)Viktor Hofer
* Stop reading TargetFramework prop in props files The TargetFramework property isn't expected to be set in props files before a project's body is evaluated. Don't let BuildTargetFramework property fallback to TargetFramework as BTF's sole intent is to convey the TargetFramework to filter to and not the current selected TargetFramework. Reduce usage of BTF so that it is only used in places where code is actually conditioned on filtering. In addition to that, specify BuildTargetFramework as a global property for all traversal builds so when invoking one of the traversal projects directly (src.proj, ref.proj, etc.), BuildTargetFramework doesn't need to specified manually to get the default behavior (filter on compatible to net6.0). Remove the inferred BuildingNetCoreAppVertical because of that and inline its meaning. Make sendtohelix a normal NoTargets proj so that it has access to the properties which were moved into the Directory.Build.targets file as otherwise it wouldn't import that file.
2021-05-18Add support for building and using Mac Catalyst offsets (#52777)Jo Shields
* Add support for building Mac Catalyst offsets, and use to create AOT compiler nupkgs