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
diff options
context:
space:
mode:
authorJeremy Koritzinsky <jekoritz@microsoft.com>2020-03-04 05:19:03 +0300
committerGitHub <noreply@github.com>2020-03-04 05:19:03 +0300
commit389835b1597180c0753c4daeb88afe008252dfe4 (patch)
treedc88e55f65f101496f84fd0b0030e43caca5d352 /src/coreclr/runtime.proj
parente66e9faceb57e2726857b151c78af7d71af78a4f (diff)
Move MSBuild projects out of the native build scripts (#31701)
* Move coreclr managed tools that don't need to be published and System.Private.CoreLib into their own subsets in Subsets.props and drive their builds via Arcade instead of the coreclr scripts. * Remove building System.Private.CoreLib from build scripts. Eventing sources TBD. * Build packages via an Arcade subset instead of within build.cmd/build.sh * Remove packages and test build from build.cmd. Clean up options on build.cmd and build.sh * Generate eventing sources for System.Private.CoreLib within MSBuild instead of in the build.cmd/sh scripts. Clean up the build.sh usage documentation (lots of copy-paste errors). * Remove check-definitions.py script and supporting goo. * Fix eventing generation. * Wire up TargetArchitecture and OSGroup to coreclr's BuildArch and BuildOS to enable building System.Private.CoreLib for the correct output given the script parameters. * Stop passing down now non-existent skiptests parameter. * Fix coreclr .nuget rid parsing to account for linux-musl correctly. * Update build scripts to use Arcade to build packages. * Convert from Properties to AdditionalProperties. * Build crossgen as part of Arcade (self-contained publish TBD). * Pull down .NET runtime CLI for helix runs with crossgen2. * Output crossgen2 to the BinDir/crossgen when built from the project file. Enable the test shell scripts to either resolve the dotnet CLI from the path or from relative to Core_Root if the __DotNet variable is undefined. * Generate distro rid during windows build. * Various fixes to get files binplaced correctly and builds to work on Linux. * Fix search for dotnet in repo on bash. * Remove __BuildTest variable and fix up the script. * Fix steps in build-job to build S.P.CL before the runtime and build managed tools after the runtime. * Fix casing typo. * Refactor detecting system OS and Architecture. * Fix wasm rid calculation. * Run crossgen2 on corerun so we run it on the runtime we're going to ship it with. * Assemble a live self-contained publish in the crossgen2 package. * Fix init-os-and-arch resolution. * Ensure that the runtime files we package in crossgen2 are the crossgened ones. * Remove extraneous /bl * Build R2RDump to a subfolder instead of the product dir. * Seperate out the crosssgening corelib step into a separate script. * Fix permissions on crossgen-corelib.sh * Rename build.cmd/sh to build-runtime.cmd/sh * Fix parameters in crossgen2determinism test. * Run crossgen on System.Private.CoreLib in CI. * Restore original build.cmd/sh scripts with a deprecation warning and update instructions. * Initialize developer prompt in crossgen-corelib.cmd script so we can find DIA on CI machines. * Make sure vs tools are enabled so we can resolve DiaSymReader. * Call build-native instead of build. * Fix build-native -> build-runtime. * Fix permissions. * Remove dead MSBuild code. * Factor out python locating targets to make them available to the whole repo. * PR Feedback/simplification. * Create a self-contained deps.json for crossgen2 and add it to the package. * Pass runtimeconfiguration as configuration for crossgen2 deps file generation. * Try specifying rids directly in crossgen2 project to get the restore correct for the live-build pipeline. * Run crossgen2 via corerun in R2R.SuperILC. * Add binlogs to build-runtime.cmd * Combine non build-runtime steps into a single step so we get one binlog that doesn't get overwritten. * Add reference to issue describing new workflow. * Quote python path * Set arch default. * PR Feedback and clean up crossgen-corelib's argument list. * Fix subset name matching to work when one subset name is a substring of another. * Pass the official build id as an msbuild arg at all times. Additional cleanup for crossgen-corelib step. * PR Feedback. * Fix default subset list construction. * Add deprecation warnings at beginning and end of build.cmd and build.sh. * Setup dirs in crossgen-corelib.sh * Move enforcepgo argument to before the official build arg so that it gets consumed correctly. * Add cross-os DAC builds as subsets. Clean up build-runtime parameters and passing the official build ID from runtime.proj. * Update script usage docs. * Skip the cross-os dac on x86. * Build windows->linux cross dac on PR and CI. * Don't build the cross-OS linux dac on Windows x86.
Diffstat (limited to 'src/coreclr/runtime.proj')
-rw-r--r--src/coreclr/runtime.proj31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/coreclr/runtime.proj b/src/coreclr/runtime.proj
new file mode 100644
index 00000000000..e36aea3ea2f
--- /dev/null
+++ b/src/coreclr/runtime.proj
@@ -0,0 +1,31 @@
+<Project>
+ <Import Project="Directory.Build.props" />
+ <Import Project="Directory.Build.targets" />
+
+ <Target Name="Build">
+ <ItemGroup>
+ <_CoreClrBuildArg Condition="'$(TargetArchitecture)' != ''" Include="-$(TargetArchitecture)" />
+ <_CoreClrBuildArg Include="$(CMakeArgs)" />
+ <_CoreClrBuildArg Include="-$(Configuration.ToLower())" />
+ <_CoreClrBuildArg Include="$(Compiler)" />
+ <_CoreClrBuildArg Condition="'$(ContinuousIntegrationBuild)' == 'true'" Include="-ci" />
+ <_CoreClrBuildArg Condition="'$(CrossBuild)' == 'true'" Include="-cross" />
+ <_CoreClrBuildArg Condition="$([MSBuild]::IsOsPlatform(Windows)) and ('$(TargetArchitecture)' == 'x86' or '$(TargetArchitecture)' == 'x64') and '$(Configuration)' == 'Release'" Include="-enforcepgo" />
+ <_CoreClrBuildArg Condition="!$([MSBuild]::IsOsPlatform(Windows)) and '$(Configuration)' == 'Release'" Include="-stripsymbols" />
+ <_CoreClrBuildArg Condition="$([MSBuild]::IsOsPlatform(Windows)) and '$(CrossDac)' != ''" Include="-$(CrossDac)dac" />
+ <_CoreClrBuildArg Condition="'$(OfficialBuildId)' != ''" Include="/p:OfficialBuildId=$(OfficialBuildId)" />
+ </ItemGroup>
+
+ <PropertyGroup>
+ <_CoreClrBuildScript Condition="$([MSBuild]::IsOsPlatform(Windows))">build-runtime.cmd</_CoreClrBuildScript>
+ <_CoreClrBuildScript Condition="!$([MSBuild]::IsOsPlatform(Windows))">build-runtime.sh</_CoreClrBuildScript>
+ </PropertyGroup>
+
+ <!-- Use IgnoreStandardErrorWarningFormat because Arcade sets WarnAsError and there's an existing warning in the native build. -->
+ <Exec Command="&quot;$(MSBuildThisFileDirectory)$(_CoreClrBuildScript)&quot; @(_CoreClrBuildArg->'%(Identity)',' ')" IgnoreStandardErrorWarningFormat="true" />
+ </Target>
+
+ <Target Name="Restore" />
+ <Target Name="Test" />
+ <Target Name="Pack" />
+</Project>