summaryrefslogtreecommitdiff
path: root/clr.defines.targets
diff options
context:
space:
mode:
authorMichal Strehovský <MichalStrehovsky@users.noreply.github.com>2017-12-05 11:37:43 +0100
committerGitHub <noreply@github.com>2017-12-05 11:37:43 +0100
commit809b8f792923c95b9d5fee824c60dde21079cca1 (patch)
tree9aeced1d4c0ba6ef4598fae401526afec17be324 /clr.defines.targets
parentd714acda701d78a572b3fe36f33abcaf7e26c2df (diff)
downloadcoreclr-809b8f792923c95b9d5fee824c60dde21079cca1.tar.gz
coreclr-809b8f792923c95b9d5fee824c60dde21079cca1.tar.bz2
coreclr-809b8f792923c95b9d5fee824c60dde21079cca1.zip
Put default interfaces behind a define (#15358)
This is needed so that we can turn default interfaces off in release branches. I can't find a central location where the PRERELEASE flag could be defined because native and managed builds seem to be completely disconnected. To limit the risk of only flipping the flag in one build type, I'm adding a test that verifies being able to load an interface with default methods matches what RuntimeFeature says.
Diffstat (limited to 'clr.defines.targets')
-rw-r--r--clr.defines.targets7
1 files changed, 7 insertions, 0 deletions
diff --git a/clr.defines.targets b/clr.defines.targets
index 7dc442cf1f..b9f159eb0c 100644
--- a/clr.defines.targets
+++ b/clr.defines.targets
@@ -1,4 +1,10 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <!-- Features we're currently flighting, but don't intend to ship in officially supported releases -->
+ <PropertyGroup Condition="'$(IsPrerelease)' == 'true'">
+ <FeatureDefaultInterfaces>true</FeatureDefaultInterfaces>
+ </PropertyGroup>
+
<PropertyGroup>
<DefineConstants Condition="'$(FeatureAppX)' == 'true'">$(DefineConstants);FEATURE_APPX</DefineConstants>
<DefineConstants Condition="'$(FeatureArrayStubAsIL)' == 'true'">$(DefineConstants);FEATURE_ARRAYSTUB_AS_IL</DefineConstants>
@@ -17,6 +23,7 @@
<DefineConstants Condition="'$(FeatureXplatEventSource)' == 'true'">$(DefineConstants);FEATURE_EVENTSOURCE_XPLAT</DefineConstants>
<DefineConstants Condition="'$(FeatureUseLcid)' == 'true'">$(DefineConstants);FEATURE_USE_LCID</DefineConstants>
<DefineConstants Condition="'$(FeatureWin32Registry)' == 'true'">$(DefineConstants);FEATURE_WIN32_REGISTRY</DefineConstants>
+ <DefineConstants Condition="'$(FeatureDefaultInterfaces)' == 'true'">$(DefineConstants);FEATURE_DEFAULT_INTERFACES</DefineConstants>
<DefineConstants Condition="'$(ProfilingSupportedBuild)' == 'true'">$(DefineConstants);PROFILING_SUPPORTED</DefineConstants>