summaryrefslogtreecommitdiff
path: root/src/md/MD.props
diff options
context:
space:
mode:
Diffstat (limited to 'src/md/MD.props')
-rw-r--r--src/md/MD.props158
1 files changed, 0 insertions, 158 deletions
diff --git a/src/md/MD.props b/src/md/MD.props
deleted file mode 100644
index 69f817f846..0000000000
--- a/src/md/MD.props
+++ /dev/null
@@ -1,158 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <!--
- MetadataFlavor has to be set prior to including this file:
- wks (Desktop or CoreCLR - base on FeatureCoreclr setting)
- dac
- mscordbi
- WinRT-RO
- WinRT-RW
- -->
- <!--
- MetaData features and defines:
- FeatureMetadataEmit ... Basic set of emit APIs (IMetaDataEmit*, etc.).
- FEATURE_METADATA_EMIT
- Enabled for: Desktop, CoreCLR, dac, mscordbi, WinRT-RW.
- Disabled for: WinRT-RO.
- FeatureMetadataEmitAll ... Additional emit APIs (Merging, saving EnC, etc.) mostly for compiler support.
- Note: Requires FeatureMetadataEmit=true (definition of IMetaDataEmit* APIs).
- FEATURE_METADATA_EMIT_ALL
- Enabled for: Desktop.
- Disabled for: CoreCLR, dac, mscordbi, WinRT-RO, WinRT-RW.
- FeatureMetadataEmitInDebugger ... Most emit APIs are E_NOTIMPL (as we shipped them in 3.5 and 4.0)
- Note: Requires FeatureMetadataEmit=true (definition of IMetaDataEmit* APIs) and
- FeatureMetadataEmitAll=false (some E_NOTIMPL for debuggers are rather under #ifdef *_EMIT_ALL).
- FEATURE_METADATA_EMIT_IN_DEBUGGER
- Enabled for: dac, mscordbi
- Disabled for: Desktop, CoreCLR, WinRT-RO, WinRT-RW
- List of APIs that return E_NOTIMPL is defined by what we shipped in 3.5/4.0:
- IMetaDataAssemblyEmit - All methods supported.
- IMetaDataEmit - Most methods return E_NOTIMPL, except:
- Save
- SaveToStream
- SaveToMemory
- GetSaveSize
- TranslateSigWithScope
- DefineTypeDef
- SetModuleProps
- SetHandler
- IMetaDataEmit2 - All methods return E_NOTIMPL.
- FeatureMetadataInternalAPIs ... IMDInternalRO and IMDInternalRW implementation.
- FEATURE_METADATA_INTERNAL_APIS
- Enabled for: Desktop, CoreCLR, dac, mscordbi.
- Disabled for: WinRT-RO, WinRT-RW.
- FeatureMetadataInVM ... Implementation depending on VM (e.g. code:IMetaDataAssemblyImport::FindAssembliesByName - Fusion dependency, IMetaDataValidator).
- FEATURE_METADATA_IN_VM
- Enabled for: Desktop, CoreCLR.
- Disabled for: dac, mscordbi, WinRT-RO, WinRT-RW.
- FeatureMetadataStandaloneWinRT ... Specifics for both WinRT DLLs (e.g. disabling old formats - v1.x, 2.0 Beta1, NT 5 Beta).
- FEATURE_METADATA_STANDALONE_WINRT
- Enabled for: WinRT-RO, WinRT-RW.
- Disabled for: Desktop, CoreCLR, dac, mscordbi.
- FeatureMetadataStandaloneWinRTReadOnly ... Specifics for WinRT-RO DLL (no dependencies on ole32.dll).
- FEATURE_METADATA_STANDALONE_WINRT_RO
- Enabled for: WinRT-RO.
- Disabled for: Desktop, CoreCLR, dac, mscordbi, WinRT-RW.
-
- FEATURE_METADATA_LOAD_TRUSTED_IMAGES ... Enabled only by mscordbi.
- FEATURE_METADATA_RELEASE_MEMORY_ON_REOPEN ... Enabled only by mscordbi
- Normally Reopening the MD on a new block of memory does not delete any previous memory. In scenarios where the MD is updated
- many times (reflection.emit), the debugger continually updates the MD and memory growth becomes N^2 relative to the size of metadata.
- This feature deletes old memory blocks during re-open if we can determine that we haven't given out pointers to their data.
- See bug .net 4.5 bug 458597 as an example of 1.5GB memory growth.
- FEATURE_METADATA_CUSTOM_DATA_SOURCE ... Enabled only by mscordbi.
- This allows a metadata reader to be initialized with an implementation of IMDCustomDataSource which provides more flexibility for
- how the data flows into the metadata reader.
- FEATURE_METADATA_DEBUGGEE_DATA_SOURCE ... Enabled only by mscordbi.
- This is a data source implementation that marshals data out of the debuggee's implementation of MDInternalRW and provides it
- as a custom data source to a debugger hosted implementation of the metadata reader.
- FEATURE_METADATA_VERIFY_LAYOUTS ... Enabled only by wks.
- A set of static asserts that verify the data structures used in MD match the layouts expected in the debuggee data source.
-
- FEATURE_METADATA_PERF_STATS ... Optional flavor of MetaData for MD perf investigations (not used for a very long time).
-
- Note: FeatureMetadata* settings and MetadataFlavor value will be checked in file:MD.targets which is included by all subdirectories.
- -->
-
- <PropertyGroup Condition="'$(MetadataFlavor)' == 'WinRT-RO' or '$(MetadataFlavor)' == 'WinRT-RW'">
- <!-- Standalone CLR product (no features enabled by default in clr.props) -->
- <ClrProduct>Standalone</ClrProduct>
- </PropertyGroup>
-
- <!--Import the settings. It has to be done early before FeatureCoreclr is used. -->
- <Import Project="$(_NTDRIVE)$(_NTROOT)\ndp\clr\clr.props" />
-
- <PropertyGroup Condition="'$(MetadataFlavor)' == 'wks'">
- <!-- Enable all features -->
- <FeatureMetadataEmit>true</FeatureMetadataEmit>
-
- <!-- Desktop -->
- <FeatureMetadataEmitAll Condition="'$(FeatureCoreclr)' != 'true'">true</FeatureMetadataEmitAll>
- <FeatureMetadataValidator Condition="'$(FeatureCoreclr)' != 'true'">true</FeatureMetadataValidator>
-
- <FeatureMetadataInternalAPIs>true</FeatureMetadataInternalAPIs>
- <FeatureMetadataInVM>true</FeatureMetadataInVM>
- <FeatureMetadataVerifyLayouts>true</FeatureMetadataVerifyLayouts>
- </PropertyGroup>
-
- <PropertyGroup Condition="'$(MetadataFlavor)' == 'dac'">
- <!-- Disable all APIs except Public Import and Internal Import&Emit -->
- <FeatureMetadataEmit>true</FeatureMetadataEmit>
- <FeatureMetadataEmitInDebugger>true</FeatureMetadataEmitInDebugger>
- <FeatureMetadataInternalAPIs>true</FeatureMetadataInternalAPIs>
- </PropertyGroup>
-
- <PropertyGroup Condition="'$(MetadataFlavor)' == 'mscordbi'">
- <!-- Enable all internal APIs and all public APIs (with some some implemented as E_NOTIMPL) -->
- <FeatureMetadataEmit>true</FeatureMetadataEmit>
- <FeatureMetadataEmitInDebugger>true</FeatureMetadataEmitInDebugger>
- <FeatureMetadataInternalAPIs>true</FeatureMetadataInternalAPIs>
- <FeatureMetadataCustomDataSource>true</FeatureMetadataCustomDataSource>
- <FeatureMetadataDebuggeeDataSource>true</FeatureMetadataDebuggeeDataSource>
- <!-- Enable mscordbi-only (perf) feature -->
- <CDefines>$(CDefines);FEATURE_METADATA_LOAD_TRUSTED_IMAGES;FEATURE_METADATA_RELEASE_MEMORY_ON_REOPEN</CDefines>
-
- <!-- Changing defaults set by clr.props -->
- <LinkNoLibraries>true</LinkNoLibraries>
- <LinkUseCMT>true</LinkUseCMT>
- <UseMsvcrt>false</UseMsvcrt>
- </PropertyGroup>
-
- <PropertyGroup Condition="'$(MetadataFlavor)' == 'WinRT-RO' or '$(MetadataFlavor)' == 'WinRT-RW'">
- <!-- Standalone CLR product (no features enabled by default in clr.props) -->
- <ClrProduct>Standalone</ClrProduct>
-
- <FeatureUtilcodeNoDependencies>true</FeatureUtilcodeNoDependencies>
- <FeatureUseLcid>true</FeatureUseLcid>
-
- <FeatureMetadataStandaloneWinRT>true</FeatureMetadataStandaloneWinRT>
- <FeatureMetadataStandaloneWinRTReadOnly Condition="'$(MetadataFlavor)' == 'WinRT-RO'">true</FeatureMetadataStandaloneWinRTReadOnly>
-
- <FeatureMetadataEmit Condition="'$(MetadataFlavor)' == 'WinRT-RW'">true</FeatureMetadataEmit>
-
- <!-- Link static CRT -->
- <LinkNoLibraries>true</LinkNoLibraries>
- <LinkUseCMT>true</LinkUseCMT>
- <UseMsvcrt>false</UseMsvcrt>
- </PropertyGroup>
-
- <PropertyGroup Condition="'$(CrossGenCompile)' == 'true'">
- <!-- Override settings of certain features to disable them for crossgen unconditionally -->
- <FeatureMetadataEmitAll>false</FeatureMetadataEmitAll>
- <FeatureMetadataValidator>false</FeatureMetadataValidator>
- </PropertyGroup>
-
- <!-- Verification of FeatureMetadata* and MetadataFlavor set - hook it up early in the build process (e.g. ResolveProjectReferencesForCompile) -->
- <Target Name="MetadataFlavorAndFeaturesCheck"
- BeforeTargets="ResolveProjectReferencesForCompile">
- <Error Condition="'$(MetadataFlavor)' != 'wks' and '$(MetadataFlavor)' != 'dac' and '$(MetadataFlavor)' != 'mscordbi' and '$(MetadataFlavor)' != 'WinRT-RO' and '$(MetadataFlavor)' != 'WinRT-RW'"
- Text="Unrecognized MetadataFlavor value '$(MetadataFlavor)'." />
-
- <Error Condition="'$(FeatureMetadataEmitAll)' == 'true' and '$(FeatureMetadataEmit)' != 'true'"
- Text="FeatureMetadataEmitAll (compiler support) depends on FeatureMetadataEmit (IMetaDataEmit interfaces) - see file:MD.props" />
- <Error Condition="'$(FeatureMetadataEmitInDebugger)' == 'true' and '$(FeatureMetadataEmit)' != 'true'"
- Text="FeatureMetadataEmitInDebugger (bunch of E_NOTIMPLs) depends on FeatureMetadataEmit (IMetaDataEmit interfaces) - see file:MD.props" />
- <Error Condition="'$(FeatureMetadataEmitInDebugger)' == 'true' and '$(FeatureMetadataEmitAll)' == 'true'"
- Text="FeatureMetadataEmitInDebugger (bunch of E_NOTIMPLs) depends on FeatureMetadataEmitAll (compiler support) disabled - see file:MD.props" />
- </Target>
-
-</Project> \ No newline at end of file