diff --git a/Directory.Build.props b/Directory.Build.props
index 168399e791fe5..9d63a940d0177 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -298,6 +298,7 @@
true
false
true
+ true
true
@@ -310,6 +311,8 @@
'$(OfficialBuildId)' == ''">true
true
+
+ true
diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props
index 1e9d5cf890649..33184a77356b6 100644
--- a/eng/SourceBuild.props
+++ b/eng/SourceBuild.props
@@ -37,6 +37,7 @@
$(InnerBuildArgs) --nodereuse false
$(InnerBuildArgs) --warnAsError false
$(InnerBuildArgs) --outputrid $(TargetRid)
+ $(InnerBuildArgs) /p:NativeAotSupported=$(NativeAotSupported)
$(InnerBuildArgs) /p:PackageOS=$(RuntimeOS) /p:ToolsOS=$(RuntimeOS)
diff --git a/eng/Subsets.props b/eng/Subsets.props
index bfa808ab25cd9..a31f68e692032 100644
--- a/eng/Subsets.props
+++ b/eng/Subsets.props
@@ -109,9 +109,6 @@
-
- true
-
true
diff --git a/eng/build.sh b/eng/build.sh
index bfe3d351e2a62..52420743abf4e 100755
--- a/eng/build.sh
+++ b/eng/build.sh
@@ -81,6 +81,7 @@ usage()
echo " --gcc Optional argument to build using gcc in PATH (default)."
echo " --gccx.y Optional argument to build using gcc version x.y."
echo " --portablebuild Optional argument: set to false to force a non-portable build."
+ echo " --portablessl Optional argument: set to true to force a portable OpenSSL build."
echo " --keepnativesymbols Optional argument: set to true to keep native symbols/debuginfo in generated binaries."
echo " --ninja Optional argument: set to true to use Ninja instead of Make to run the native build."
echo " --pgoinstrument Optional argument: build PGO-instrumented runtime"
diff --git a/eng/native/build-commons.sh b/eng/native/build-commons.sh
index e9d696fa87f14..006ef290574a9 100755
--- a/eng/native/build-commons.sh
+++ b/eng/native/build-commons.sh
@@ -411,6 +411,10 @@ while :; do
__PortableBuild=0
;;
+ portablessl=true|-portablebuild=true)
+ __PortableSsl=1
+ ;;
+
release|-release)
__BuildType=Release
;;
@@ -511,6 +515,8 @@ if [[ "$__PortableBuild" == 0 ]]; then
__CommonMSBuildArgs="$__CommonMSBuildArgs /p:PortableBuild=false"
fi
+__PortableSsl="${__PortableSsl:-$__PortableBuild}"
+
if [[ "$__TargetArch" == wasm ]]; then
# nothing to do here
true
@@ -524,7 +530,7 @@ elif [[ "$__TargetOS" == android ]]; then
# nothing to do here
true
else
- __CMakeArgs="-DFEATURE_DISTRO_AGNOSTIC_SSL=$__PortableBuild $__CMakeArgs"
+ __CMakeArgs="-DFEATURE_DISTRO_AGNOSTIC_SSL=$__PortableSsl $__CMakeArgs"
fi
# Configure environment if we are doing a cross compile.
diff --git a/src/coreclr/runtime.proj b/src/coreclr/runtime.proj
index 496e28198429f..c5902b1ac093b 100644
--- a/src/coreclr/runtime.proj
+++ b/src/coreclr/runtime.proj
@@ -30,6 +30,7 @@
<_CoreClrBuildArg Condition="'$(ContinuousIntegrationBuild)' == 'true'" Include="-ci" />
<_CoreClrBuildArg Condition="'$(CrossBuild)' == 'true'" Include="-cross" />
<_CoreClrBuildArg Condition="'$(PortableBuild)' != 'true'" Include="-portablebuild=false" />
+ <_CoreClrBuildArg Condition="'$(PortableSsl)' == 'true'" Include="-portablessl=true" />
<_CoreClrBuildArg Condition="'$(KeepNativeSymbols)' != 'false'" Include="-keepnativesymbols" />
<_CoreClrBuildArg Include="-os $(_BuildNativeTargetOS)" />
diff --git a/src/coreclr/tools/aot/ILCompiler/ILCompiler.csproj b/src/coreclr/tools/aot/ILCompiler/ILCompiler.csproj
index 7e5f930584abf..a3e1f821e3442 100644
--- a/src/coreclr/tools/aot/ILCompiler/ILCompiler.csproj
+++ b/src/coreclr/tools/aot/ILCompiler/ILCompiler.csproj
@@ -10,8 +10,6 @@
$(RuntimeBinDir)ilc-published/
-
- false
false
true
diff --git a/src/coreclr/tools/aot/ILCompiler/ILCompiler.props b/src/coreclr/tools/aot/ILCompiler/ILCompiler.props
index 17c95600f15e7..8c675010bbc19 100644
--- a/src/coreclr/tools/aot/ILCompiler/ILCompiler.props
+++ b/src/coreclr/tools/aot/ILCompiler/ILCompiler.props
@@ -48,8 +48,7 @@
true
-
- true
+ true
diff --git a/src/coreclr/tools/aot/crossgen2/crossgen2.csproj b/src/coreclr/tools/aot/crossgen2/crossgen2.csproj
index ceeb4d63ad0c1..9afb7cabc6091 100644
--- a/src/coreclr/tools/aot/crossgen2/crossgen2.csproj
+++ b/src/coreclr/tools/aot/crossgen2/crossgen2.csproj
@@ -4,8 +4,6 @@
$(RuntimeBinDir)crossgen2
-
- false
true
linux-x64;linux-musl-x64;linux-arm;linux-musl-arm;linux-arm64;linux-musl-arm64;freebsd-x64;freebsd-arm64;osx-x64;osx-arm64;win-x64;win-x86;win-arm64
diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.sfxproj b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.sfxproj
index f697e4d716a56..1790351137d0c 100644
--- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.sfxproj
+++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Crossgen2.sfxproj
@@ -20,8 +20,6 @@
false
false
-
- false
$(BuildArgs) -cmakeargs "-DVERSION_FILE_PATH=$(NativeVersionFile)"
$(BuildArgs) -configureonly
$(BuildArgs) -portablebuild=false
+ $(BuildArgs) -portablessl=true
$(BuildArgs) -keepnativesymbols
$(BuildArgs) -cross
$(BuildArgs) $(Compiler)
diff --git a/src/native/libs/build-native.proj b/src/native/libs/build-native.proj
index 40ceef386732a..98263ea284f0c 100644
--- a/src/native/libs/build-native.proj
+++ b/src/native/libs/build-native.proj
@@ -41,6 +41,7 @@
-->
<_ProcessorCountArg> -numproc $(MSBuildNodeCount)
<_PortableBuildArg Condition="'$(PortableBuild)' != 'true'"> -portablebuild=false
+ <_PortableBuildArg Condition="'$(PortableSsl)' == 'true'"> -portablessl=true
<_CrossBuildArg Condition="'$(CrossBuild)' == 'true'"> -cross
<_KeepNativeSymbolsBuildArg Condition="'$(KeepNativeSymbols)' != 'false'"> -keepnativesymbols
<_CMakeArgs Condition="'$(CMakeArgs)' != ''"> -cmakeargs "$(CMakeArgs)"
diff --git a/src/native/libs/build-native.sh b/src/native/libs/build-native.sh
index 4d712eb0eed3a..2802e375dbc2d 100755
--- a/src/native/libs/build-native.sh
+++ b/src/native/libs/build-native.sh
@@ -87,7 +87,7 @@ elif [[ "$__TargetOS" == android && -z "$ROOTFS_DIR" ]]; then
# nothing to do here
true
else
- __CMakeArgs="-DFEATURE_DISTRO_AGNOSTIC_SSL=$__PortableBuild $__CMakeArgs"
+ __CMakeArgs="-DFEATURE_DISTRO_AGNOSTIC_SSL=$__PortableSsl $__CMakeArgs"
__CMakeArgs="-DCMAKE_STATIC_LIB_LINK=$__StaticLibLink $__CMakeArgs"
if [[ "$__TargetOS" != linux-bionic && "$__TargetArch" != x86 && "$__TargetArch" != x64 && "$__TargetArch" != "$__HostArch" ]]; then