2
0

System.Private.CoreLib.csproj 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Project Sdk="Microsoft.NET.Sdk">
  3. <Import Project="..\..\eng\Versions.props"/>
  4. <PropertyGroup>
  5. <EnableDefaultItems>false</EnableDefaultItems>
  6. <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
  7. <GenerateResxSourceOmitGetResourceString>true</GenerateResxSourceOmitGetResourceString>
  8. <GenerateNeutralResourcesLanguageAttribute>false</GenerateNeutralResourcesLanguageAttribute>
  9. <EnsureRuntimePackageDependencies>false</EnsureRuntimePackageDependencies>
  10. <OutputType>Library</OutputType>
  11. <TargetFramework>netcoreapp2.1</TargetFramework>
  12. <!-- Ensure a portable PDB is emitted for the project. A PDB is needed for crossgen. -->
  13. <DebugType>Portable</DebugType>
  14. <DebugSymbols>true</DebugSymbols>
  15. <Configurations>Debug;Release;Checked</Configurations>
  16. <Configuration>Release</Configuration>
  17. <Platforms>x64;x86;arm;arm64</Platforms>
  18. <Features>strict;nullablePublicOnly</Features>
  19. </PropertyGroup>
  20. <PropertyGroup Condition="'$(TargetsUnix)'=='' AND '$(TargetsOSX)'=='' AND '$(TargetsWindows)'==''">
  21. <TargetsUnix>true</TargetsUnix>
  22. <TargetsOSX>true</TargetsOSX>
  23. <TargetsWindows>false</TargetsWindows>
  24. <BuildArch>x64</BuildArch>
  25. <OutputPath>bin/x64</OutputPath>
  26. </PropertyGroup>
  27. <!-- Compilation options -->
  28. <PropertyGroup>
  29. <Configuration Condition=" '$(BuildType)' != '' ">$(BuildType)</Configuration>
  30. <Platform Condition=" '$(BuildArch)' != '' ">$(BuildArch)</Platform>
  31. <Platform Condition=" '$(Platform)' == 'armel' ">arm</Platform>
  32. <ProjectGuid>{DD18B4BA-3B49-437B-9E34-41EF8A640CE0}</ProjectGuid>
  33. <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
  34. <!-- This prevents the default MsBuild targets from referencing System.Core.dll -->
  35. <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>
  36. <!-- These prevent the default MsBuild targets from referencing System.dll and mscorlib.dll -->
  37. <ExcludeMscorlibFacade>true</ExcludeMscorlibFacade>
  38. <NoStdLib>true</NoStdLib>
  39. <NoCompilerStandardLib>true</NoCompilerStandardLib>
  40. <SubsystemVersion>6.00</SubsystemVersion>
  41. <Utf8Output>true</Utf8Output>
  42. <HighEntropyVA>true</HighEntropyVA>
  43. <ErrorReport>prompt</ErrorReport>
  44. <WarningLevel>4</WarningLevel>
  45. <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
  46. <NoWarn>$(NoWarn);649,1573,1591,0419,3021</NoWarn>
  47. <Nullable>enable</Nullable>
  48. <!-- Ignore all previous constants since SPCL is sensitive to what is defined and the Sdk adds some by default -->
  49. <DefineConstants>$(DefineConstants);netcoreapp</DefineConstants>
  50. <DisableImplicitConfigurationDefines>true</DisableImplicitConfigurationDefines>
  51. <!-- We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two properties to any folder that exists to skip
  52. the GenerateReferenceAssemblyPaths task (not target) and to prevent it from outputting a warning (MSB3644). -->
  53. <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)/Documentation</_TargetFrameworkDirectories>
  54. <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)/Documentation</_FullFrameworkReferenceAssemblyPaths>
  55. <SkipCommonResourcesIncludes>true</SkipCommonResourcesIncludes>
  56. <DocumentationFile>$(OutputPath)$(MSBuildProjectName).xml</DocumentationFile>
  57. </PropertyGroup>
  58. <!-- Platform specific properties -->
  59. <PropertyGroup Condition="'$(Platform)' == 'x64'">
  60. <PlatformTarget>x64</PlatformTarget>
  61. <Prefer32Bit>false</Prefer32Bit>
  62. <BaseAddress>0x180000000</BaseAddress>
  63. <DefineConstants>BIT64;AMD64;$(DefineConstants)</DefineConstants>
  64. </PropertyGroup>
  65. <PropertyGroup Condition="'$(Platform)' == 'x86'">
  66. <PlatformTarget>x86</PlatformTarget>
  67. <BaseAddress>0x10000000</BaseAddress>
  68. <DefineConstants>BIT32;$(DefineConstants)</DefineConstants>
  69. </PropertyGroup>
  70. <PropertyGroup Condition="'$(Platform)' == 'arm'">
  71. <PlatformTarget>arm</PlatformTarget>
  72. <DefineConstants>BIT32;ARM;$(DefineConstants)</DefineConstants>
  73. </PropertyGroup>
  74. <PropertyGroup Condition="'$(Platform)' == 'arm64'">
  75. <PlatformTarget>AnyCPU</PlatformTarget>
  76. <DefineConstants>BIT64;ARM64;$(DefineConstants)</DefineConstants>
  77. </PropertyGroup>
  78. <!-- Configuration specific properties -->
  79. <PropertyGroup Condition="'$(Configuration)' == 'Debug' or '$(Configuration)' == 'Checked'">
  80. <DebugSymbols>true</DebugSymbols>
  81. <Optimize Condition="'$(Optimize)' == '' and '$(Configuration)' == 'Debug'">false</Optimize>
  82. <Optimize Condition="'$(Optimize)' == '' and '$(Configuration)' == 'Checked'">true</Optimize>
  83. <DebugType Condition="'$(DebugType)' == ''">full</DebugType>
  84. <DefineConstants>_LOGGING;DEBUG;TRACE;$(DefineConstants)</DefineConstants>
  85. <DefineConstants Condition="'$(Platform)' == 'x86' or '$(Platform)' == 'x64'">CODE_ANALYSIS;$(DefineConstants)</DefineConstants>
  86. </PropertyGroup>
  87. <PropertyGroup Condition="'$(Configuration)' == 'Release'">
  88. <DebugSymbols>true</DebugSymbols>
  89. <Optimize Condition="'$(Optimize)' == ''">true</Optimize>
  90. <DebugType Condition="'$(DebugType)' == ''">pdbOnly</DebugType>
  91. <DefineConstants>TRACE;$(DefineConstants)</DefineConstants>
  92. </PropertyGroup>
  93. <PropertyGroup Condition="'$(TargetsOSX)' == 'true'">
  94. <DefineConstants>PLATFORM_OSX;$(DefineConstants)</DefineConstants>
  95. </PropertyGroup>
  96. <!-- Assembly attributes -->
  97. <PropertyGroup>
  98. <AssemblyName>System.Private.CoreLib</AssemblyName>
  99. <AssemblyVersion>5.0.0.0</AssemblyVersion>
  100. <ExcludeAssemblyInfoPartialFile>true</ExcludeAssemblyInfoPartialFile>
  101. <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>
  102. <Description>$(AssemblyName)</Description>
  103. </PropertyGroup>
  104. <!-- Signing -->
  105. <PropertyGroup>
  106. <SignAssembly>true</SignAssembly>
  107. <StrongNameKeyId>Open</StrongNameKeyId>
  108. </PropertyGroup>
  109. <!--
  110. Helper Paths
  111. -->
  112. <PropertyGroup>
  113. <CommonPath>$(MSBuildThisFileDirectory)Common</CommonPath>
  114. <BclSourcesRoot>$(MSBuildThisFileDirectory)src</BclSourcesRoot>
  115. <SharedBclSourcesRoot>$(MSBuildThisFileDirectory)shared</SharedBclSourcesRoot>
  116. </PropertyGroup>
  117. <!-- Mono specific build changes -->
  118. <PropertyGroup>
  119. <!-- Disable nullability-related warnings -->
  120. <NoWarn>$(NoWarn),CS8597,CS8600,CS8601,CS8602,CS8603,CS8604,CS8609,CS8611,CS8618,CS8620,CS8625,CS8631,CS8632,CS8634</NoWarn>
  121. <NoWarn>$(NoWarn),618,67</NoWarn>
  122. <DefineConstants>FEATURE_DEFAULT_INTERFACES;FEATURE_MANAGED_ETW_CHANNELS;$(DefineConstants)</DefineConstants>
  123. <DefineConstants>MONO;NETCORE;DISABLE_REMOTING;MONO_FEATURE_SRE;$(DefineConstants)</DefineConstants>
  124. <FeaturePortableTimer>true</FeaturePortableTimer>
  125. <FeaturePerfTracing>true</FeaturePerfTracing>
  126. <RuntimeMetadataVersion>v4.0.30319</RuntimeMetadataVersion>
  127. </PropertyGroup>
  128. <!-- Sources -->
  129. <ItemGroup>
  130. <Compile Include="AssemblyInfo.cs" />
  131. <Compile Include="resources\SR.common.cs" />
  132. <Compile Include="resources\SR.cs" />
  133. </ItemGroup>
  134. <ItemGroup>
  135. <Compile Include="src\Microsoft.Win32\UnsafeNativeMethods.cs" />
  136. <Compile Include="src\Mono\MonoListItem.cs" />
  137. <Compile Include="src\Mono\MonoDomain.cs" />
  138. <Compile Include="src\Mono\MonoDomainSetup.cs" />
  139. <Compile Include="src\Mono\RuntimeHandles.cs" />
  140. <Compile Include="src\System\AppContext.cs" />
  141. <Compile Include="src\System\ArgIterator.cs" />
  142. <Compile Include="src\System\Array.cs" />
  143. <Compile Include="src\System\Attribute.cs" />
  144. <Compile Include="src\System\Buffer.cs" />
  145. <Compile Include="src\System\Delegate.cs" />
  146. <Compile Include="src\System\Enum.cs" />
  147. <Compile Include="src\System\Environment.cs" />
  148. <Compile Include="src\System\Environment.Mono.cs" />
  149. <Compile Include="src\System\Exception.cs" />
  150. <Compile Include="src\System\GC.cs" />
  151. <Compile Include="src\System\Object.cs" />
  152. <Compile Include="src\System\Math.cs" />
  153. <Compile Include="src\System\MathF.cs" />
  154. <Compile Include="src\System\MissingMemberException.cs" />
  155. <Compile Include="src\System\ModuleHandle.cs" />
  156. <Compile Include="src\System\MulticastDelegate.cs" />
  157. <Compile Include="src\System\NotImplemented.cs" />
  158. <Compile Include="src\System\Nullable.cs" />
  159. <Compile Include="src\System\RuntimeArgumentHandle.cs" />
  160. <Compile Include="src\System\RuntimeFieldHandle.cs" />
  161. <Compile Include="src\System\RuntimeMethodHandle.cs" />
  162. <Compile Include="src\System\RuntimeType.cs" />
  163. <Compile Include="src\System\RuntimeTypeHandle.cs" />
  164. <Compile Include="src\System\String.cs" />
  165. <Compile Include="src\System\Type.cs" />
  166. <Compile Include="src\System\TypeIdentifier.cs" />
  167. <Compile Include="src\System\TypedReference.cs" />
  168. <Compile Include="src\System\TypeLoadException.cs" />
  169. <Compile Include="src\System\TypeNameParser.cs" />
  170. <Compile Include="src\System\ValueType.cs" />
  171. <Compile Include="src\System\WeakReference.cs" />
  172. <Compile Include="src\System\WeakReference.T.cs" />
  173. <Compile Include="src\System\__ComObject.cs" />
  174. <Compile Include="src\System.Globalization\GlobalizationMode.cs" />
  175. <Compile Include="src\System.Collections.Generic\ArraySortHelper.cs" />
  176. <Compile Include="src\System.Collections.Generic\Comparer.cs" />
  177. <Compile Include="src\System.Collections.Generic\EqualityComparer.cs" />
  178. <Compile Include="src\System.Diagnostics\Debugger.cs" />
  179. <Compile Include="src\System.Diagnostics\StackFrame.cs" />
  180. <Compile Include="src\System.Diagnostics\StackTrace.cs" />
  181. <Compile Include="src\System.IO\Stream.cs" />
  182. <Compile Include="src\System.IO\FileLoadException.cs" />
  183. <Compile Include="src\System.Reflection\Assembly.cs" />
  184. <Compile Include="src\System.Reflection\AssemblyName.cs" />
  185. <Compile Include="src\System.Reflection\CustomAttribute.cs" />
  186. <Compile Include="src\System.Reflection\CustomAttributeData.cs" />
  187. <Compile Include="src\System.Reflection\CustomAttributeTypedArgument.cs" />
  188. <Compile Include="src\System.Reflection\FieldInfo.cs" />
  189. <Compile Include="src\System.Reflection\MemberInfo.cs" />
  190. <Compile Include="src\System.Reflection\MethodBase.cs" />
  191. <Compile Include="src\System.Reflection\RuntimeAssembly.cs" />
  192. <Compile Include="src\System.Reflection\RuntimeEventInfo.cs" />
  193. <Compile Include="src\System.Reflection\RuntimeFieldInfo.cs" />
  194. <Compile Include="src\System.Reflection\RuntimeLocalVariableInfo.cs" />
  195. <Compile Include="src\System.Reflection\RuntimeMethodBody.cs" />
  196. <Compile Include="src\System.Reflection\RuntimeMethodInfo.cs" />
  197. <Compile Include="src\System.Reflection\RuntimeModule.cs" />
  198. <Compile Include="src\System.Reflection\RuntimeParameterInfo.cs" />
  199. <Compile Include="src\System.Reflection\RuntimePropertyInfo.cs" />
  200. <Compile Include="src\System.Reflection\RuntimeExceptionHandlingClause.cs" />
  201. <Compile Include="src\System.Reflection.Emit\AssemblyBuilder.cs" />
  202. <Compile Include="src\System.Reflection.Emit\ConstructorBuilder.cs" />
  203. <Compile Include="src\System.Reflection.Emit\ConstructorOnTypeBuilderInst.cs" />
  204. <Compile Include="src\System.Reflection.Emit\CustomAttributeBuilder.cs" />
  205. <Compile Include="src\System.Reflection.Emit\DerivedTypes.cs" />
  206. <Compile Include="src\System.Reflection.Emit\DynamicILInfo.cs" />
  207. <Compile Include="src\System.Reflection.Emit\DynamicMethod.cs" />
  208. <Compile Include="src\System.Reflection.Emit\DynamicMethod.notsupported.cs" />
  209. <Compile Include="src\System.Reflection.Emit\EnumBuilder.cs" />
  210. <Compile Include="src\System.Reflection.Emit\EventBuilder.cs" />
  211. <Compile Include="src\System.Reflection.Emit\EventOnTypeBuilderInst.cs" />
  212. <Compile Include="src\System.Reflection.Emit\FieldBuilder.cs" />
  213. <Compile Include="src\System.Reflection.Emit\FieldOnTypeBuilderInst.cs" />
  214. <Compile Include="src\System.Reflection.Emit\GenericTypeParameterBuilder.cs" />
  215. <Compile Include="src\System.Reflection.Emit\ILGenerator.cs" />
  216. <Compile Include="src\System.Reflection.Emit\LocalBuilder.cs" />
  217. <Compile Include="src\System.Reflection.Emit\MethodBuilder.cs" />
  218. <Compile Include="src\System.Reflection.Emit\MethodOnTypeBuilderInst.cs" />
  219. <Compile Include="src\System.Reflection.Emit\ModuleBuilder.cs" />
  220. <Compile Include="src\System.Reflection.Emit\MonoArrayMethod.cs" />
  221. <Compile Include="src\System.Reflection.Emit\ParameterBuilder.cs" />
  222. <Compile Include="src\System.Reflection.Emit\PropertyBuilder.cs" />
  223. <Compile Include="src\System.Reflection.Emit\PropertyOnTypeBuilderInst.cs" />
  224. <Compile Include="src\System.Reflection.Emit\SignatureHelper.cs" />
  225. <Compile Include="src\System.Reflection.Emit\TypeBuilder.cs" />
  226. <Compile Include="src\System.Reflection.Emit\TypeBuilderInstantiation.cs" />
  227. <Compile Include="src\System.Reflection.Emit\UnmanagedMarshal.cs" />
  228. <Compile Include="src\System.Reflection.Metadata\AssemblyExtensions.cs" />
  229. <Compile Include="src\System.Resources\ManifestBasedResourceGroveler.cs" />
  230. <Compile Include="src\System.Runtime\GCSettings.cs" />
  231. <Compile Include="src\System.Runtime\RuntimeImports.cs" />
  232. <Compile Include="src\System.Runtime.CompilerServices\DependentHandle.cs" />
  233. <Compile Include="src\System.Runtime.CompilerServices\JitHelpers.cs" />
  234. <Compile Include="src\System.Runtime.CompilerServices\RuntimeHelpers.cs" />
  235. <Compile Include="src\System.Runtime.CompilerServices\RuntimeFeature.cs" />
  236. <Compile Include="src\System.Runtime.InteropServices\CriticalHandle.cs" />
  237. <Compile Include="src\System.Runtime.InteropServices\GCHandle.cs" />
  238. <Compile Include="src\System.Runtime.InteropServices\Marshal.cs" />
  239. <Compile Include="src\System.Runtime.InteropServices\MarshalAsAttribute.cs" />
  240. <Compile Include="src\System.Runtime.Loader\AssemblyLoadContext.cs" />
  241. <Compile Include="src\System.Runtime.Loader\AssemblyDependencyResolver.cs" />
  242. <Compile Include="src\System.Runtime.Remoting.Contexts\Context.cs" />
  243. <Compile Include="src\System.Security\DynamicSecurityMethodAttribute.cs" />
  244. <Compile Include="src\System.Threading\Interlocked.cs" />
  245. <Compile Include="src\System.Threading\Monitor.cs" />
  246. <Compile Include="src\System.Threading\Overlapped.cs" />
  247. <Compile Include="src\System.Threading\PreAllocatedOverlapped.cs" />
  248. <Compile Include="src\System.Threading\RegisteredWaitHandle.cs" />
  249. <Compile Include="src\System.Threading\StackCrawlMark.cs" />
  250. <Compile Include="src\System.Threading\Thread.cs" />
  251. <Compile Include="src\System.Threading\ThreadPool.cs" />
  252. <Compile Include="src\System.Threading\ThreadPoolBoundHandle.cs" />
  253. <Compile Include="src\System.Threading\WaitHandle.cs" />
  254. </ItemGroup>
  255. <ItemGroup Condition="'$(TargetsUnix)' == 'true'">
  256. <Compile Include="src\Microsoft.Win32.SafeHandles\SafeWaitHandle.Unix.cs" />
  257. <Compile Include="src\System\Environment.Unix.cs" />
  258. <Compile Include="src\System.Globalization\GlobalizationMode.Unix.cs" />
  259. <Compile Include="src\System.Threading\EventWaitHandle.Unix.cs" />
  260. <Compile Include="src\System.Threading\Mutex.Unix.cs" />
  261. <Compile Include="src\System.Threading\Semaphore.Unix.cs" />
  262. <Compile Include="src\System.Runtime.InteropServices\NativeLibrary.Unix.cs" />
  263. <Compile Include="..\..\mcs\class\corlib\System.IO\MonoIOError.cs" />
  264. </ItemGroup>
  265. <ItemGroup Condition="'$(TargetsWindows)' == 'true'">
  266. <Compile Include="src\System.Globalization\GlobalizationMode.Windows.cs" />
  267. <Compile Include="src\System.Runtime.InteropServices\NativeLibrary.Windows.cs" />
  268. </ItemGroup>
  269. <ItemGroup>
  270. <Compile Include="..\..\mcs\class\corlib\Mono\RuntimeStructs.cs" />
  271. <Compile Include="..\..\mcs\class\corlib\Mono\RuntimeMarshal.cs" />
  272. <Compile Include="..\..\mcs\class\corlib\Mono\SafeStringMarshal.cs" />
  273. <Compile Include="..\..\mcs\class\corlib\Mono\SafeGPtrArrayHandle.cs" />
  274. <Compile Include="..\..\mcs\class\corlib\System\TypeSpec.cs" />
  275. <Compile Include="..\..\mcs\class\corlib\System.Runtime.CompilerServices\PreserveDependencyAttribute.cs" />
  276. </ItemGroup>
  277. <Import Project="shared\System.Private.CoreLib.Shared.projitems" />
  278. <!-- Use Roslyn Compilers to build -->
  279. <Import Project="../roslyn/packages/microsoft.net.compilers.toolset/$(MicrosoftNetCompilersVersion)/build/Microsoft.Net.Compilers.Toolset.props" />
  280. <ItemGroup>
  281. <EmbeddedResource LogicalName="System.Private.CoreLib.xml" Include="src\LinkerDescriptor\System.Private.CoreLib.xml"/>
  282. </ItemGroup>
  283. </Project>