Enabled source-building with mono runtime on any architecture. (#14792)
* Enabled source-building with mono runtime on any architecture. Adds an argument to the top-level build script to use the mono runtime, and sets the flags needed for the different repos to work with mono. * Sync with sdk patch. * Remove patches. * PR feedback.
This commit is contained in:
parent
46a7f72ac9
commit
d62cd319ad
4 changed files with 11 additions and 0 deletions
|
@ -11,6 +11,7 @@
|
||||||
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeNuGetPackageArchive=false</InnerBuildArgs>
|
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeNuGetPackageArchive=false</InnerBuildArgs>
|
||||||
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeAdditionalSharedFrameworks=false</InnerBuildArgs>
|
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeAdditionalSharedFrameworks=false</InnerBuildArgs>
|
||||||
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeSharedFrameworksForBackwardsCompatibilityTests=false</InnerBuildArgs>
|
<InnerBuildArgs>$(InnerBuildArgs) /p:IncludeSharedFrameworksForBackwardsCompatibilityTests=false</InnerBuildArgs>
|
||||||
|
<InnerBuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(InnerBuildArgs) /p:DISABLE_CROSSGEN=true</InnerBuildArgs>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,11 @@
|
||||||
|
|
||||||
<UseStableVersions Condition="'$(UseStableVersions)' == ''">false</UseStableVersions>
|
<UseStableVersions Condition="'$(UseStableVersions)' == ''">false</UseStableVersions>
|
||||||
|
|
||||||
|
<SourceBuildUseMonoRuntime>false</SourceBuildUseMonoRuntime>
|
||||||
|
<!-- These architectures are only supported with mono runtime -->
|
||||||
|
<SourceBuildUseMonoRuntime Condition="'$(BuildArchitecture)' == 's390x'">true</SourceBuildUseMonoRuntime>
|
||||||
|
<SourceBuildUseMonoRuntime Condition="'$(BuildArchitecture)' == 'ppc64le'">true</SourceBuildUseMonoRuntime>
|
||||||
|
|
||||||
<!-- new supported portable/nonportable options. These control whether to build portable runtime
|
<!-- new supported portable/nonportable options. These control whether to build portable runtime
|
||||||
or portable SDK. The PortableBuild flag is only set in runtime-portable.proj and should
|
or portable SDK. The PortableBuild flag is only set in runtime-portable.proj and should
|
||||||
no longer be passed in. -->
|
no longer be passed in. -->
|
||||||
|
|
|
@ -9,6 +9,7 @@ usage() {
|
||||||
echo " --online build using online sources"
|
echo " --online build using online sources"
|
||||||
echo " --poison build with poisoning checks"
|
echo " --poison build with poisoning checks"
|
||||||
echo " --run-smoke-test don't build; run smoke tests"
|
echo " --run-smoke-test don't build; run smoke tests"
|
||||||
|
echo " --use-mono-runtime output uses the mono runtime"
|
||||||
echo " --with-packages <dir> use the specified directory of previously-built packages"
|
echo " --with-packages <dir> use the specified directory of previously-built packages"
|
||||||
echo " --with-sdk <dir> use the SDK in the specified directory for bootstrapping"
|
echo " --with-sdk <dir> use the SDK in the specified directory for bootstrapping"
|
||||||
echo "use -- to send the remaining arguments to MSBuild"
|
echo "use -- to send the remaining arguments to MSBuild"
|
||||||
|
@ -45,6 +46,9 @@ while :; do
|
||||||
runningSmokeTests=true
|
runningSmokeTests=true
|
||||||
MSBUILD_ARGUMENTS+=( "/t:RunSmokeTest" )
|
MSBUILD_ARGUMENTS+=( "/t:RunSmokeTest" )
|
||||||
;;
|
;;
|
||||||
|
--use-mono-runtime)
|
||||||
|
MSBUILD_ARGUMENTS+=( "/p:SourceBuildUseMonoRuntime=true" )
|
||||||
|
;;
|
||||||
--with-packages)
|
--with-packages)
|
||||||
CUSTOM_PACKAGES_DIR="$(cd -P "$2" && pwd)"
|
CUSTOM_PACKAGES_DIR="$(cd -P "$2" && pwd)"
|
||||||
if [ ! -d "$CUSTOM_PACKAGES_DIR" ]; then
|
if [ ! -d "$CUSTOM_PACKAGES_DIR" ]; then
|
||||||
|
|
|
@ -143,6 +143,7 @@
|
||||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:AdditionalSourceBuiltNupkgCacheDir="$(SourceBuiltPackagesPath)"</StandardSourceBuildArgs>
|
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:AdditionalSourceBuiltNupkgCacheDir="$(SourceBuiltPackagesPath)"</StandardSourceBuildArgs>
|
||||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)"</StandardSourceBuildArgs>
|
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)"</StandardSourceBuildArgs>
|
||||||
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PrebuiltSourceBuiltPackagesPath)"</StandardSourceBuildArgs>
|
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PrebuiltSourceBuiltPackagesPath)"</StandardSourceBuildArgs>
|
||||||
|
<StandardSourceBuildArgs>$(StandardSourceBuildArgs) /p:SourceBuildUseMonoRuntime=$(SourceBuildUseMonoRuntime)</StandardSourceBuildArgs>
|
||||||
|
|
||||||
<StandardSourceBuildCommand>$(ProjectDirectory)\build$(ShellExtension)</StandardSourceBuildCommand>
|
<StandardSourceBuildCommand>$(ProjectDirectory)\build$(ShellExtension)</StandardSourceBuildCommand>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
Loading…
Add table
Reference in a new issue