summaryrefslogtreecommitdiff
path: root/src/mscorlib/System.Private.CoreLib.csproj
diff options
context:
space:
mode:
Diffstat (limited to 'src/mscorlib/System.Private.CoreLib.csproj')
-rw-r--r--src/mscorlib/System.Private.CoreLib.csproj226
1 files changed, 226 insertions, 0 deletions
diff --git a/src/mscorlib/System.Private.CoreLib.csproj b/src/mscorlib/System.Private.CoreLib.csproj
new file mode 100644
index 0000000000..c14ce422fb
--- /dev/null
+++ b/src/mscorlib/System.Private.CoreLib.csproj
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+
+ <!-- Include common build properties -->
+ <Import Project="..\..\dir.props" />
+
+ <!-- Compilation options -->
+ <PropertyGroup>
+ <AvailablePlatforms>amd64,x86,arm,arm-softfp,arm64</AvailablePlatforms>
+ <Configuration Condition=" '$(Configuration)' == '' ">$(BuildType)</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">$(BuildArch)</Platform>
+ <!-- The CLR properties use amd64 as their platform string, we want to keep in sync with those, so set Platform appropriately,
+ though still use the 'x64' output path (see use of BuildArch below) -->
+ <Platform Condition=" '$(Platform)' == 'x64' ">amd64</Platform>
+ <Platform Condition=" '$(Platform)' == 'arm-softfp' ">arm</Platform>
+ <ProjectGuid>{3DA06C3A-2E7B-4CB7-80ED-9B12916013F9}</ProjectGuid>
+
+ <OutputType>Library</OutputType>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+
+ <!-- This prevents the default MsBuild targets from referencing System.Core.dll -->
+ <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
+ <!-- These prevent the default MsBuild targets from referencing System.dll and mscorlib.dll -->
+ <NoStdLib>true</NoStdLib>
+ <NoCompilerStandardLib>true</NoCompilerStandardLib>
+
+ <SubsystemVersion>6.00</SubsystemVersion>
+ <UTF8OutPut>true</UTF8OutPut>
+ <HighEntropyVA>true</HighEntropyVA>
+ <ErrorReport>prompt</ErrorReport>
+ <CLSCompliant>true</CLSCompliant>
+ <WarningLevel>4</WarningLevel>
+ <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
+ <WarningsNotAsErrors>$(WarningsNotAsErrors);618</WarningsNotAsErrors>
+ <NoWarn>649,3019,414,169,3015</NoWarn>
+ <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
+
+ <BclRewriterModelFile>$(MSBuildThisFileDirectory)model.xml</BclRewriterModelFile>
+
+ <SignAssembly>true</SignAssembly>
+ <DelaySign>true</DelaySign>
+
+ <DefineConstants>$(DefineConstants);_USE_NLS_PLUS_TABLE;RESOURCE_SATELLITE_CONFIG;INSIDE_CLR;CODE_ANALYSIS_BASELINE</DefineConstants>
+ </PropertyGroup>
+
+ <!-- Add Serviceable attribute to the project's metadata -->
+ <ItemGroup>
+ <AssemblyMetadata Include="Serviceable">
+ <Value>True</Value>
+ </AssemblyMetadata>
+ </ItemGroup>
+
+ <!-- Platform specific properties -->
+ <PropertyGroup Condition="'$(Platform)' == 'amd64'">
+ <PlatformTarget>x64</PlatformTarget>
+ <Prefer32Bit>false</Prefer32Bit>
+ <BaseAddress>0x180000000</BaseAddress>
+ <DefineConstants>BIT64;AMD64;$(DefineConstants)</DefineConstants>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Platform)' == 'x86'">
+ <PlatformTarget>x86</PlatformTarget>
+ <BaseAddress>0x10000000</BaseAddress>
+ <DefineConstants>BIT32;$(DefineConstants)</DefineConstants>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Platform)' == 'arm'">
+ <PlatformTarget>arm</PlatformTarget>
+ <DefineConstants>BIT32;ARM;$(DefineConstants)</DefineConstants>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Platform)' == 'arm64'">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DefineConstants>BIT64;ARM64;$(DefineConstants)</DefineConstants>
+ </PropertyGroup>
+
+ <!-- Configuration specific properties -->
+ <PropertyGroup Condition="'$(Configuration)' == 'Debug' or '$(Configuration)' == 'Checked'">
+ <DebugSymbols>true</DebugSymbols>
+ <Optimize Condition="'$(Optimize)' == '' and '$(Configuration)' == 'Debug'">false</Optimize>
+ <Optimize Condition="'$(Optimize)' == '' and '$(Configuration)' == 'Checked'">true</Optimize>
+ <DebugType>full</DebugType>
+ <DefineConstants>DBG;_DEBUG;_LOGGING;DEBUG;TRACE;$(DefineConstants)</DefineConstants>
+ <DefineConstants Condition="'$(Platform)' == 'x86' or '$(Platform)' == 'amd64'">CODE_ANALYSIS;$(DefineConstants)</DefineConstants>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)' == 'Release'">
+ <DebugSymbols>true</DebugSymbols>
+ <Optimize Condition="'$(Optimize)' == ''">true</Optimize>
+ <DebugType>pdbOnly</DebugType>
+ <DefineConstants>TRACE;$(DefineConstants)</DefineConstants>
+ </PropertyGroup>
+
+ <!-- Roslyn does not support writing PDBs on Unix -->
+ <PropertyGroup Condition="'$(OsEnvironment)' == 'Unix'">
+ <DebugSymbols>false</DebugSymbols>
+ <DebugType>none</DebugType>
+ </PropertyGroup>
+
+ <!-- Assembly attributes -->
+ <PropertyGroup>
+ <AssemblyName>System.Private.CoreLib</AssemblyName>
+ <AssemblyVersion>4.0.0.0</AssemblyVersion>
+ <MajorVersion>4</MajorVersion>
+ <MinorVersion>6</MinorVersion>
+ </PropertyGroup>
+ <ItemGroup>
+ <AssemblyInfoLines Include="[assembly: System.Resources.SatelliteContractVersion(&quot;$(AssemblyVersion)&quot;)]" />
+ <AssemblyInfoLines Include="[assembly: System.Security.AllowPartiallyTrustedCallers]" />
+ <AssemblyInfoLines Include="[assembly: System.Runtime.InteropServices.ComVisible(false)]" />
+ <AssemblyInfoLines Include="[assembly: System.Resources.NeutralResourcesLanguage(&quot;en-US&quot;)]" />
+ </ItemGroup>
+
+ <!--
+ Helper Paths
+ -->
+ <PropertyGroup>
+ <PostProcessingToolsPath Condition="'$(PostProcessingToolsPath)'==''">$(MSBuildThisFileDirectory)Tools\PostProcessingTools.targets</PostProcessingToolsPath>
+ <CommonPath>$(MSBuildThisFileDirectory)Common</CommonPath>
+ <BclSourcesRoot>$(MSBuildThisFileDirectory)src</BclSourcesRoot>
+ <CoreFxSourcesRoot>$(MSBuildThisFileDirectory)corefx</CoreFxSourcesRoot>
+ <MscorlibDir>$(MSBuildThisFileDirectory)</MscorlibDir>
+ <NlpObjDir>$(BclSourcesRoot)\System\Globalization\Tables</NlpObjDir>
+ </PropertyGroup>
+
+ <!-- Output paths -->
+ <PropertyGroup>
+ <BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">$(RootBinDir)obj</BaseIntermediateOutputPath>
+ <IntermediateOutputPath Condition="'$(IntermediateOutputPath)' == ''">$(BaseIntermediateOutputPath)\$(BuildOS).$(BuildArch).$(Configuration)</IntermediateOutputPath>
+ <OutputPath Condition="'$(OutputPath)' == ''">$(BaseIntermediateOutputPath)\$(BuildOS).$(BuildArch).$(Configuration)</OutputPath>
+ <FinalOutputPath Condition="'$(FinalOutputPath)' == ''">$(BinDir)</FinalOutputPath>
+ </PropertyGroup>
+
+ <!-- Msbuild variables needed to get CoreCLR features to be set properly. -->
+ <PropertyGroup>
+ <ClrProduct>core_clr</ClrProduct>
+ <BuildForCoreSystem>true</BuildForCoreSystem>
+
+ <!-- These are needed by BCLRewriter -->
+ <_BuildType Condition="'$(Configuration)' == 'Debug'">chk</_BuildType>
+ <_BuildType Condition="'$(Configuration)' == 'Checked'">chk</_BuildType>
+ <_BuildType Condition="'$(Configuration)' == 'Release'">ret</_BuildType>
+
+ <!-- These are needed to make sure we have the right set of defines -->
+ <TargetArch Condition="'$(Platform)'=='x86'">i386</TargetArch>
+ <TargetArch Condition="'$(Platform)'!='x86'">$(Platform)</TargetArch>
+ </PropertyGroup>
+
+ <!-- CLR Features -->
+ <Import Project="$(MSBuildThisFileDirectory)..\..\clr.coreclr.props" />
+ <Import Project="$(MSBuildThisFileDirectory)..\..\clr.defines.targets" />
+
+ <!-- Sources -->
+ <Import Project="$(MSBuildThisFileDirectory)\mscorlib.shared.sources.props" />
+
+ <!-- Include additional sources shared files in the compilation -->
+ <ItemGroup>
+ <!-- These are files are preprocessed -->
+ <MscorlibSources Include="$(CommonPath)\Preprocessed\AssemblyRefs.g.cs" />
+
+ <!-- These files are shared with other framework components and don't live the same folder as the rest of them-->
+ <MscorlibSources Include="$(CommonPath)\PinnableBufferCache.cs" />
+
+ <!-- Include Internals visible to file in the compilation -->
+ <MscorlibSources Include="$(BclSourcesRoot)\mscorlib.Friends.cs" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <!-- We want the sources to show up nicely in VS-->
+ <Compile Include="@(MscorlibSources)">
+ </Compile>
+ </ItemGroup>
+
+ <!-- Resources -->
+ <ItemGroup>
+ <SplitTextStringResource Include="$(BclSourcesRoot)\System.Private.CoreLib.txt">
+ <ResFile>System.Private.CoreLib</ResFile>
+ <ResGenDefines>$(DefineConstants)</ResGenDefines>
+ </SplitTextStringResource>
+ </ItemGroup>
+
+ <PropertyGroup>
+ <CheckCDefines Condition="'$(CheckCDefines)'==''">true</CheckCDefines>
+ </PropertyGroup>
+
+ <Target Name="CDefineChecker" BeforeTargets="Build" Condition="'$(CheckCDefines)'=='true'">
+ <!-- Compiler Definition Verification -->
+ <Message Importance="High" Text="============" />
+ <PropertyGroup>
+ <IgnoreDefineConstants>FEATURE_IMPLICIT_TLS;FEATURE_HIJACK</IgnoreDefineConstants>
+ <CMakeDefinitionSaveFile>$(IntermediateOutputPath)\cmake.definitions</CMakeDefinitionSaveFile>
+ </PropertyGroup>
+ <Exec Command='python $(MSBuildThisFileDirectory)..\scripts\check-definitions.py "$(CMakeDefinitionSaveFile)" "$(DefineConstants)" "$(IgnoreDefineConstants)" ' />
+ <Message Importance="High" Text="============" />
+ </Target>
+
+ <ItemGroup>
+ <EmbeddedResource Include="$(NlpObjDir)\charinfo.nlp">
+ <LogicalName>charinfo.nlp</LogicalName>
+ </EmbeddedResource>
+ </ItemGroup>
+
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.Targets" />
+
+ <PropertyGroup>
+ <StrongNameSig>Silverlight</StrongNameSig>
+ </PropertyGroup>
+
+ <!-- Import signing tools -->
+ <Import Condition="Exists('$(ToolsDir)\sign.targets')" Project="$(ToolsDir)\sign.targets" />
+
+ <!-- Overwrite the key that we are going to use for signing -->
+ <PropertyGroup>
+ <AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)Tools\Signing\mscorlib.snk</AssemblyOriginatorKeyFile>
+ </PropertyGroup>
+
+ <Import Project="$(MSBuildThisFileDirectory)Tools\Versioning\GenerateVersionInfo.targets"/>
+ <!-- Override versioning targets -->
+ <Import Condition="Exists('$(ToolsDir)versioning.targets')" Project="$(ToolsDir)versioning.targets" />
+
+ <PropertyGroup>
+ <!-- Use a different nativeresource file to avoid conflicts with mscorlib-->
+ <Win32Resource Condition="'$(GenerateNativeVersionInfo)'=='true'">$(IntermediateOutputPath)\System.Private.CoreLib.res</Win32Resource>
+ </PropertyGroup>
+
+ <Import Project="GenerateSplitStringResources.targets"/>
+ <Import Project="GenerateCompilerResponseFile.targets"/>
+ <Import Project="$(PostProcessingToolsPath)" />
+</Project>