diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props
index bbf4b6996cea33..5e12f4af83cc37 100644
--- a/eng/SourceBuild.props
+++ b/eng/SourceBuild.props
@@ -39,7 +39,7 @@
$(InnerBuildArgs) /p:AdditionalRuntimeIdentifierParent=$(BaseOS)
$(InnerBuildArgs) /p:OfficialBuildId=$(OfficialBuildId)
$(InnerBuildArgs) /p:ContinuousIntegrationBuild=$(ContinuousIntegrationBuild)
- $(InnerBuildArgs) /p:PrimaryRuntimeFlavor=Mono /p:RuntimeFlavor=Mono
+ $(InnerBuildArgs) --usemonoruntime
diff --git a/eng/Subsets.props b/eng/Subsets.props
index ef9935e2407dc9..f1af6a47bfddcd 100644
--- a/eng/Subsets.props
+++ b/eng/Subsets.props
@@ -26,8 +26,12 @@
platforms (like s390x) where only Mono is supported. The primary runtime
flavor is used to decide when to build the hosts and installers. -->
- CoreCLR
- Mono
+ CoreCLR
+ Mono
+ Mono
+ Mono
+ Mono
+ $(DefaultPrimaryRuntimeFlavor)
diff --git a/eng/build.ps1 b/eng/build.ps1
index 99f0864317f39a..fc2712fcafe512 100644
--- a/eng/build.ps1
+++ b/eng/build.ps1
@@ -17,6 +17,7 @@ Param(
[ValidateSet("Debug","Release")][string][Alias('lc')]$librariesConfiguration,
[ValidateSet("CoreCLR","Mono")][string][Alias('rf')]$runtimeFlavor,
[ValidateSet("Debug","Release","Checked")][string][Alias('hc')]$hostConfiguration,
+ [switch]$usemonoruntime = $false,
[switch]$ninja,
[switch]$msbuild,
[string]$cmakeargs,
@@ -51,6 +52,7 @@ function Get-Help() {
Write-Host " -subset (-s) Build a subset, print available subsets with -subset help."
Write-Host " '-subset' can be omitted if the subset is given as the first argument."
Write-Host " [Default: Builds the entire repo.]"
+ Write-Host " -usemonoruntime Product a .NET runtime with Mono as the underlying runtime."
Write-Host " -verbosity (-v) MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]."
Write-Host " [Default: Minimal]"
Write-Host " -vs Open the solution with Visual Studio using the locally acquired SDK."
@@ -251,6 +253,7 @@ foreach ($argument in $PSBoundParameters.Keys)
{
"runtimeConfiguration" { $arguments += " /p:RuntimeConfiguration=$((Get-Culture).TextInfo.ToTitleCase($($PSBoundParameters[$argument])))" }
"runtimeFlavor" { $arguments += " /p:RuntimeFlavor=$($PSBoundParameters[$argument].ToLowerInvariant())" }
+ "usemonoruntime" { $arguments += " /p:PrimaryRuntimeFlavor=Mono" }
"librariesConfiguration" { $arguments += " /p:LibrariesConfiguration=$((Get-Culture).TextInfo.ToTitleCase($($PSBoundParameters[$argument])))" }
"hostConfiguration" { $arguments += " /p:HostConfiguration=$((Get-Culture).TextInfo.ToTitleCase($($PSBoundParameters[$argument])))" }
"framework" { $arguments += " /p:BuildTargetFramework=$($PSBoundParameters[$argument].ToLowerInvariant())" }
diff --git a/eng/build.sh b/eng/build.sh
index 14855d30b0f1c6..469fd9d06714b2 100755
--- a/eng/build.sh
+++ b/eng/build.sh
@@ -45,6 +45,7 @@ usage()
echo " --subset (-s) Build a subset, print available subsets with -subset help."
echo " '--subset' can be omitted if the subset is given as the first argument."
echo " [Default: Builds the entire repo.]"
+ echo " --usemonoruntime Product a .NET runtime with Mono as the underlying runtime."
echo " --verbosity (-v) MSBuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]."
echo " [Default: Minimal]"
echo ""
@@ -369,6 +370,11 @@ while [[ $# > 0 ]]; do
shift 2
;;
+ -usemonoruntime)
+ arguments="$arguments /p:PrimaryRuntimeFlavor=Mono"
+ shift 1
+ ;;
+
-librariesconfiguration|-lc)
if [ -z ${2+x} ]; then
echo "No libraries configuration supplied. See help (--help) for supported libraries configurations." 1>&2