summaryrefslogtreecommitdiff
path: root/clr.props
diff options
context:
space:
mode:
Diffstat (limited to 'clr.props')
-rw-r--r--clr.props321
1 files changed, 0 insertions, 321 deletions
diff --git a/clr.props b/clr.props
deleted file mode 100644
index b1d3618609..0000000000
--- a/clr.props
+++ /dev/null
@@ -1,321 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <!--*****************************************************-->
- <!--This MSBuild project file was automatically generated-->
- <!--from the original SOURCES/DIRS file by the KBC tool.-->
- <!--*****************************************************-->
- <!--Import the settings-->
- <Import Project="$(_NTDRIVE)$(_NTROOT)\InternalAPIs\NDP_Common\inc\Microsoft.Ndp.Settings.targets" />
-
- <!--Leaf project Properties-->
- <PropertyGroup>
- <Clrbase>$(_NTDRIVE)$(_NTROOT)\ndp\clr</Clrbase>
- <ClrSrcDirectory>$(Clrbase)\src\</ClrSrcDirectory>
-
- <ClrLibDest Condition="('$(BuildProjectName)' == '')">$(IntraPartitionAPIsPath)\$(LibSubPath)</ClrLibDest>
- <ClrLibDest Condition="('$(BuildProjectName)' == 'CoreCLR' or '$(BuildProjectName)' == 'CoreSys')">$(IntraPartitionAPIsPath)\CORElib\$(InterApiType)\$(RealBuildArchitecture)</ClrLibDest>
- <ClrLibPath>$(ClrLibDest)</ClrLibPath>
-
- <!-- Use IntermediateOutputDirectory as our Output, and also set BinplaceRoot to the BinariesDirectory.
- This prevents us publishing a bunch of files we don't really need into the BinariesDirectory,
- such as extra PDBs, .mt files, etc. See clr.targets for the managed story which works differently.
- -->
- <BinariesDirectory Condition="'$(BinariesSubDirectory)' != ''">$(BinariesDirectory)\$(BinariesSubDirectory)</BinariesDirectory>
- <OutputPath>$(IntermediateOutputDirectory)\</OutputPath>
- <BinplaceRoot>$(BinariesDirectory)</BinplaceRoot>
- <BinplaceSymbols>true</BinplaceSymbols>
- <OutputLibPath>$(ClrLibPath)</OutputLibPath>
- <UsePdbToCompile>true</UsePdbToCompile>
- <UseIncrementalCompiling>true</UseIncrementalCompiling>
- <RootOutputPath>$(BinariesDirectory)</RootOutputPath>
-
- <!-- Tags to detect illegal usage -->
- <ObjectDirectory>**##ILLEGAL_ ObjectDirectory##**</ObjectDirectory>
- <ObjectDirectoryPhase0>**##ILLEGAL_ ObjectDirectory0##**</ObjectDirectoryPhase0>
- <ObjectDirectoryPhase1>**##ILLEGAL_ ObjectDirectory1##**</ObjectDirectoryPhase1>
- <ObjectDirectoryPhase2>**##ILLEGAL_ ObjectDirectory2##**</ObjectDirectoryPhase2>
-
-
- <!-- Enable this when we're ready to handle P2P -->
- <BuildProjectReferences>true</BuildProjectReferences>
-
- <!-- Use the CLR warning suppression instead of the devdiv one-->
- <ClEnforceStandardScoping>true</ClEnforceStandardScoping>
- <ForcedIncludeFiles>WarningControl.h</ForcedIncludeFiles>
-
- <ClForcedIncludeFiles>$(ForcedIncludeFiles)</ClForcedIncludeFiles>
- <Fullcxxeh>Async</Fullcxxeh>
- <Synccxxeh>Sync</Synccxxeh>
- <Sehonly>Disabled</Sehonly>
- <ClNativeExceptionHandling>$(Fullcxxeh)</ClNativeExceptionHandling>
- <ClExternCNeverThrowsException>false</ClExternCNeverThrowsException>
-
- <!-- Use iso volatile semantics for better performance -->
- <ClIsoVolatile>true</ClIsoVolatile>
-
- <!-- Originally, src\tools\I386mk.inc turned FPO off by default because it makes ETW stack crawling bad. -->
- <Fpo>0</Fpo>
-
- <!-- Ensure that we're not setting /DNT_UP=1 which disables multiprocessor builds -->
- <NtUp Condition="'$(NtUp)' == ''">0</NtUp>
-
- <ClrBuildError>*** CLR Build Error:</ClrBuildError>
- <ClrBuildTrace>*** CLR Trace:</ClrBuildTrace>
-
- <ClAdditionalOptions Condition="'$(NoClMpFlag)'!='true'">$(ClAdditionalOptions) /MP</ClAdditionalOptions>
- <ClAdditionalOptions>$(ClAdditionalOptions) /GS /d2Zi+</ClAdditionalOptions>
- <ClBufferSecurityCheck>true</ClBufferSecurityCheck>
-
-
- <!-- In Dbg and Chk builds, set /homeparams on x64 -->
- <ClAdditionalOptions Condition="'$(BuildArchitecture)' == 'amd64' and ('$(BuildType)' == 'Checked' or '$(BuildType)' == 'Debug')">$(ClAdditionalOptions) /homeparams</ClAdditionalOptions>
-
- <!-- Warning Try not use _BuildArch if is not specific to build system. Cross-compilation requires to make distiction between build arhitecture
- and target arhitecture.
- Use _BuildArch only when you need to trigger, use the tools of some arhitecture.
- Use TargetArch for anything else: feature selection, files selection, etc.
- -->
- <_BuildArch>$(_BUILDARCH)</_BuildArch>
-
- <TargetArch Condition="'$(TargetArch)' == '' and '$(CrossTargetArchitecture)'!=''">$(CrossTargetArchitecture)</TargetArch>
- <TargetArch Condition="'$(TargetArch)' == ''">$(BuildArchitecture)</TargetArch>
-
- <TargetArch Condition="'$(TargetArch)'=='AMD64'">amd64</TargetArch>
-
- <!-- Enable X86-ARM cross-plat defines -->
- <CDefines Condition="'$(TargetArch)' == 'i386'">$(CDefines);_TARGET_X86_=1;</CDefines>
- <CDefines Condition="'$(TargetArch)' == 'amd64'">$(CDefines);_TARGET_AMD64_=1;</CDefines>
- <CDefines Condition="'$(TargetArch)' == 'arm'">$(CDefines);_TARGET_ARM_=1;</CDefines>
- <CDefines Condition="'$(TargetArch)' == 'arm64'">$(CDefines);_TARGET_ARM64_=1;</CDefines>
-
- <AsmSuffix Condition="'$(BuildArchitecture)' == 'i386' or '$(BuildArchitecture)' == 'amd64'">asm</AsmSuffix>
-
- <CDefines Condition="'$(BuildArchitecture)' == 'amd64' or '$(BuildArchitecture)' == 'arm64'">$(CDefines);BIT64</CDefines>
-
- <!-- Note: ClrProduct can be set prior to this file to 'Standalone'. -->
- <ClrProduct Condition="(('$(BuildProjectName)' == 'CoreCLR' or '$(BuildProjectName)' == 'CoreSys')) and ('$(ClrProduct)' == '' or '$(CoreTarget)' == 'true')">core_clr</ClrProduct>
-
- <ClAdditionalOptions>$(ClAdditionalOptions) /Zm200</ClAdditionalOptions>
- <TargetDefines Condition="'$(BuildArchitecture)'=='i386'">$(BuildArchitecture);_X86_</TargetDefines>
- <TargetDefines Condition="'$(BuildArchitecture)'=='amd64'">$(BuildArchitecture);_AMD64_</TargetDefines>
- <TargetDefines Condition="'$(BuildArchitecture)'=='arm'">$(BuildArchitecture);_ARM_</TargetDefines>
- <TargetDefines Condition="'$(BuildArchitecture)'=='arm64'">$(BuildArchitecture);_ARM64_</TargetDefines>
-
- <TargetCpu Condition="('$(TargetArch)' == 'i386')">i386</TargetCpu>
- <TargetCpu Condition="('$(TargetArch)' == 'amd64')">amd64</TargetCpu>
- <TargetCpu Condition="('$(TargetArch)' == 'arm')">arm</TargetCpu>
- <TargetCpu Condition="('$(TargetArch)' == 'arm64')">arm64</TargetCpu>
-
- <GeneratePlacefileFromFilelist>true</GeneratePlacefileFromFilelist>
-
- </PropertyGroup>
-
-
- <PropertyGroup Condition="'$(DoPrefastBuild)' == 'true'">
- <PrefastClToolPath>$(ToolsPath)\$(ToolsArchitecture)\prefast\scripts</PrefastClToolPath>
- <PrefastClToolExe>prefast.exe $(ClToolPath)\$(ClToolExe)</PrefastClToolExe>
- </PropertyGroup>
-
-
- <!-- CLR Feature Settings. We set the default values here, allow leaf projects to override, and then
- set the CDefines based on these properties in clr.targets
- -->
- <Import Project="$(MSBuildThisFileDirectory)clr.coreclr.props" />
-
- <PropertyGroup Condition="'$(CrossGenCompile)'=='true'">
- <!-- Override settings of certain features to disable them for crossgen unconditionally -->
- <!-- If you add new features to this list make sure that they are not affecting codegen or content of datastructures persisted in NGen image -->
- <EnCSupported>false</EnCSupported>
- <PerfcountersSupportedBuild>false</PerfcountersSupportedBuild>
- <FeatureEventTrace>false</FeatureEventTrace>
- <FeatureFusion>false</FeatureFusion>
- <FeatureIncludeAllInterfaces>false</FeatureIncludeAllInterfaces>
- <FeatureMdaSupported>false</FeatureMdaSupported>
- <FeatureMergeJitAndEngine>true</FeatureMergeJitAndEngine>
- <FeatureRandomizedStringHashing>false</FeatureRandomizedStringHashing>
- <FeatureReflectionOnlyLoad>false</FeatureReflectionOnlyLoad>
- <FeatureStackProbe>false</FeatureStackProbe>
- <FeatureReJIT>false</FeatureReJIT>
- <FeatureVersioningLog>false</FeatureVersioningLog>
- <FeatureNativeImageGeneration>true</FeatureNativeImageGeneration>
- <FeatureReadyToRunCompiler Condition="'$(FeatureReadyToRun)' == 'true'">true</FeatureReadyToRunCompiler>
- <!-- Link crossgen with static CRT to make it standalone .exe -->
- <LinkUseCMT>true</LinkUseCMT>
- <UseMsvcrt>false</UseMsvcrt>
- </PropertyGroup>
-
- <PropertyGroup Condition="'$(ClrProduct)'=='Standalone'">
- <!--
- No features enabled by design - turn them on in your project file either:
- - before including this file, or
- - after via <ClAdditionalOptions>$(ClAdditionalOptions) -DFEATURE_YourFeatureName</ClAdditionalOptions>.
- Created primarily for standalone MetaData DLLs for WinRT - file:src\DLLs\StandaloneMD-RO and file:src\DLLs\StandaloneMD-RW
-
- By default uses statically linked CRT:
- <UseMsvcrt>false</UseMsvcrt>
- <LinkUseCMT>true</LinkUseCMT>
- -->
- </PropertyGroup>
-
- <PropertyGroup>
- <DebugBuild Condition="'$(NTDEBUG)' == '' or '$(NTDEBUG)'=='ntsdnodbg'">false</DebugBuild>
- <DebugBuild Condition="'$(NTDEBUG)' != '' and '$(NTDEBUG)'!='ntsdnodbg'">true</DebugBuild>
- </PropertyGroup>
-
- <Choose>
- <When Condition="$(DebugBuild)">
- <PropertyGroup>
- <CDefines>$(CDefines);NTMAKEENV;_DEBUG</CDefines>
- <DebugCrts>true</DebugCrts>
- </PropertyGroup>
-
- <PropertyGroup Condition="'$(_BUILDOPT)' == 'no opt'">
- <Optimize>false</Optimize>
- </PropertyGroup>
- </When>
- <Otherwise>
- <PropertyGroup>
- <CDefines>$(CDefines);NTMAKEENV;NDEBUG;PERF_TRACKING</CDefines>
- </PropertyGroup>
- </Otherwise>
- </Choose>
-
- <PropertyGroup>
- <!-- "/Oi" -->
- <ClIntrinsicFunctions>true</ClIntrinsicFunctions>
-
- <!-- "Disabled"=="/Od" "MinSpace"=="/O1" "MaxSpeed"=="/O2" -->
- <ClOptimization Condition="'$(_BUILDOPT)' == 'full opt'">MinSpace</ClOptimization>
- <ClOptimization Condition="'$(_BUILDOPT)' != 'full opt'">Disabled</ClOptimization>
-
- <!-- Size == "/Os" Speed == "/Ot" Disabled == "" -->
- <ClFavorSizeOrSpeed>Disabled</ClFavorSizeOrSpeed>
- </PropertyGroup>
-
- <PropertyGroup>
- <CDefines>$(CDefines);_BLD_CLR</CDefines>
-
- <ClAdditionalOptions>$(ExceptionHandling) $(ClAdditionalOptions) /we4640</ClAdditionalOptions>
-
- <!-- Desktop CLR, starting with version 4.5, supports Win2k8 R1 and higher on server, and Win7 and higher on client.
- So across server & client, 0x0600 is the default minimum required WINVER -->
- <Win32WinNt>0x0600</Win32WinNt>
-
- <!-- CoreSys supports Win8 and higher -->
- <Win32WinNt Condition="'$(BuildForCoreSystem)' == 'true' and '$(CrossTargetArchitecture)' == ''">0x0602</Win32WinNt>
-
- <!-- When building cross-target binaries, they must be able to run on pre-Win8 OS and thus, should have subsystem version 6.00. so, override the Subsystem setting
- specified in tools\Microsoft.DevDiv.targets.
- -->
- <SubsystemVersion Condition="'$(BuildForCoreSystem)' == 'true' and '$(AllowCrossTargeting)' == 'true'">6.00</SubsystemVersion>
-
- <!-- Some special projects under CLR, like clr\src\DLLS\culture\mscorwks\culture.nativeproj and
- clr\src\DLLS\normalization\mscorwks\normalization.nativeproj need to be compiled with
- a special WINVER, so respect their requests -->
- <Win32WinNt Condition="'$(ClrOverriddenWin32WinNt)' != ''">$(ClrOverriddenWin32WinNt)</Win32WinNt>
-
- <!-- Now make sure WINVER matches Win32WinNt -->
- <CDefines Condition="'$(Win32WinNt)' != ''">$(CDefines);WINVER=$(Win32WinNt)</CDefines>
-
-
- <LinkLibIgnore Condition="'$(TargetArch)' == 'i386'">4013</LinkLibIgnore>
- <ClrBuildLeanAndMean>true</ClrBuildLeanAndMean>
- <LinkLibIgnore Condition="!('$(TargetArch)' == 'i386')">4197,4013</LinkLibIgnore>
- <LinkLibIgnore>$(LinkLibIgnore);4254</LinkLibIgnore>
- <UseVsVersion Condition="'$(UseVsVersion)' == ''">false</UseVsVersion>
- <LibWarnAsError>true</LibWarnAsError>
-
- <CoreSystemSdkPath Condition="'$(TargetArch)' != 'arm64'">$(ExternalAPIsPath)\Win8CoreSystem</CoreSystemSdkPath>
- <CoreSystemSdkPath Condition="'$(TargetArch)' == 'arm64'">$(ExternalAPIsPath)\Win9CoreSystem</CoreSystemSdkPath>
-
- <UserIncludes>$(Clrbase)\src\inc; $(Clrbase)\src\strongname\inc; $(IntraPartitionAPIsPath)\inc; $(UserIncludes); $(ClrIncPath)</UserIncludes>
- <UserIncludes Condition="'$(BuildForCoreSystem)' != 'true' or '$(CrossTargetArchitecture)' != ''">$(UserIncludes); $(VCToolsIncPath); $(VCPublicIncPath);</UserIncludes>
- <UserIncludes Condition="'$(BuildForCoreSystem)' == 'true' and '$(CrossTargetArchitecture)' == ''">$(UserIncludes); $(CoreSystemSdkPath)\inc; $(CoreSystemSdkPath)\inc\crt;</UserIncludes>
- <UserIncludes Condition="'$(UseVsVersion)' == 'false'">$(UserIncludes); $(NdpRootIncPath); $(NDP_CommonIncPath)</UserIncludes>
- <UserIncludes Condition="'$(FeatureCominterop)' == 'true'">$(Clrbase)\src\inc\WinRT; $(UserIncludes)</UserIncludes>
-
- <PogoInstrument>false</PogoInstrument>
- <PogoOptimize>false</PogoOptimize>
- <PogoUpdate>false</PogoUpdate>
- <PogoExePhase>1</PogoExePhase>
-
- <ResgenDefines Condition="'$(FeatureImpersonation)' == '1'">$(ResgenDefines) /define:FEATURE_IMPERSONATION</ResgenDefines>
- <ResgenDefines Condition="'$(FeatureIsostore)' == '1'">$(ResgenDefines) /define:FEATURE_ISOSTORE</ResgenDefines>
- <ResgenDefines Condition="'$(FeatureMacl)' == '1'">$(ResgenDefines) /define:FEATURE_MACL</ResgenDefines>
- <ResgenDefines Condition="'$(FeatureRemoting)' == '1'">$(ResgenDefines) /define:FEATURE_REMOTING</ResgenDefines>
- <ResgenDefines Condition="'$(FeatureIdentityReference)' == '1'">$(ResgenDefines) /define:FEATURE_IDENTITY_REFERENCE</ResgenDefines>
- <ResgenDefines Condition="'$(FeatureDisplayCultureInfo)' == '1'">$(ResgenDefines) /define:FEATURE_DISPLAY_CULTURE_INFO</ResgenDefines>
- <ResgenDefines Condition="'$(FeatureDisplayRegionInfo)' == '1'">$(ResgenDefines) /define:FEATURE_DISPLAY_REGION_INFO</ResgenDefines>
-
- <RootOutputPath>$(BinariesDirectory)</RootOutputPath>
-
-
- <!-- Explicitly disable UninitializedVariableCheck and StackFrameCheck since the DevDiv targets sets them as default on and it
- breaks the build when optimizations are enabled
- -->
- <NoRtc>true</NoRtc>
- <NoBuildTypeDefines>true</NoBuildTypeDefines>
-
- <!--
- The DevDiv targets define these to stuff we don't use if they're left blank and there's no easy way to keep them off
- of the CL.exe command line.
- -->
- <OakIncPath >.</OakIncPath>
- <ConfigIncPath >.</ConfigIncPath>
- <VSCommonIncPath >.</VSCommonIncPath>
-
- <!-- Devdiv targets have a slightly different semantics for debug defines like DBG. Defined as
- BuildType == Debug || BuildType == Checked && DebugBuild == True. In CLR, Checked has DBG
- defined so we override to preserve ntbuild behaviour
- -->
- <CDefines Condition="'$(BuildType)' == 'Checked' or '$(BuildType)' == 'Debug'">$(CDefines);DBG=1</CDefines>
-
- <!-- Note: This defines only name of the lib 'ClrCrtLib'. Project has to use it explicitly like this: <LibCLib>$(ClrCrtLib)</LibCLib> -->
- <ClrCrtLib Condition="'$(BuildForCoreSystem)' != 'true'">$(CrtLibPath)\msvcrt$(BuildSuffix)_clr.lib</ClrCrtLib>
-
- <RefAsmOutputDirectory>$(BinariesDirectory)\ref\</RefAsmOutputDirectory>
-
- </PropertyGroup>
-
- <PropertyGroup Condition="'$(BuildForCoreSystem)' == 'true' and ('$(HostMachineOS)'=='' or '$(HostMachineOS)' == 'OneCore' or '$(HostMachineOS)'=='OneCoreWin7Compat')">
- <!--
- For the most part we build against CoreSystem in the same way as we do against full Windows. But
- linking is very different. There are a different set of import libraries (in sdk\lib\CoreSystem) and
- we pick up the system CRT (from sdk rather than vc).
-
- There are 3 different variations of linking we might use:
- CoreSystem forwarder libraries - This links against mincore_fw.lib, which causes the binaries to reference
- a bunch of small forwarder dlls at runtime. These forwarders redirect CoreSystem api-set imports back
- to standard win32 API exports. Binaries linked this way can run on any CoreSystem OS + Win7, however
- all the forwarder dlls must be present on the LoadLibrary search path.
- CoreSystem stand alone libraries - This links against mincore.lib (and maybe others like mincore_legacy.lib).
- These binaries can run on OneCore OS or Win8+ and don't have any dependency on forwarders.
- Win32 APIs - This links against the traditional win32 libraries such as kernel32 and the VC CRT. These
- binaries run on Win7+ but don't work on pure OneCore SKUs.
-
- Most of the binaries we build in the CoreSystem build get linked using the forwarder libraries. To do
- that we need to set $(BuildForCoreSystem)=true and $(BuildForWindows7)=true. All the binaries in this
- group have never set the $(HostMachineOS) property. On ARM we don't support win7, so in that case we
- use the stand alone library linkage, $(BuildForWindows7)=false.
-
- Some of the binaries we build are cross compiled, such as some debugging related binaries. In this scenario
- we are debugging a CoreSystem coreclr, but the debugger may be running on a different machine. Because
- these libraries can be loaded via LoadLibrary and won't have forwarder libraries available, we use some of
- the alternate linkages. All binaries in this set have set the $(HostMachineOS) to something...
- $(HostMachineOS)=='windows' => we want Win32 API and won't enter this conditional
- $(HostMachineOS)=='OneCore' => we want the stand alone libraries
- $(HostMachineOS)=='OneCoreWin7Compat' => we want the forwarders
- -->
- <BuildForWindows7 Condition="'$(BuildForWindows7)'==''">true</BuildForWindows7>
- <BuildForWindows7 Condition="'$(HostMachineOS)'=='OneCore'">false</BuildForWindows7>
- <BuildForWindows7 Condition="'$(TargetArch)'=='arm' or '$(TargetArch)'=='arm64'">false</BuildForWindows7>
-
- <SdkLibPath>$(CoreSystemSdkPath)\sdk\lib\mincore\$(BuildArchitecture)</SdkLibPath>
- <SdkLibPath Condition="'$(BuildForWindows7)' == 'true'">$(ExternalAPIsPath)\Windows\Win7\$(BuildArchitecture)</SdkLibPath>
-
- <CoreSystemCrt>$(SdkLibPath)\msvcrt.lib</CoreSystemCrt>
- <CrtSecureDeprecate>true</CrtSecureDeprecate>
- <LinkNoLibraries>true</LinkNoLibraries>
- <LinkNoWin32Libraries>true</LinkNoWin32Libraries>
- <NoWinXPSP3NXCompat>true</NoWinXPSP3NXCompat>
- </PropertyGroup>
-</Project>