未验证 提交 9f9c0426 编写于 作者: V Vatsan Madhavan 提交者: GitHub

New C++ toolset with partial fixes for https://github.com/dotnet/wpf/issues/634 (#1375)

上级 ab865773
......@@ -59,6 +59,11 @@
<XUnitVersion>2.4.0</XUnitVersion>
<XUnitRunnerConsoleVersion>$(XUnitVersion)</XUnitRunnerConsoleVersion>
<XUnitRunnerVisualStudioVersion>$(XUnitVersion)</XUnitRunnerVisualStudioVersion>
<!--
Also in global.json
Used in Wpf.Cpp.PrivateTools.props/targets
-->
<MsvcurtC1xxVersion>0.0.0.6</MsvcurtC1xxVersion>
<!--
This is the version of the test infrastructure package is compiled against. This should be
removed as part of https://github.com/dotnet/wpf/issues/816
......
<Project>
<!--
See comment about UsePrivateCppTools in Wpf.Cpp.props
-->
<PropertyGroup>
<!--
msvcurt-c1xx should reference a blob hosted in azure storage
MsvcurtNetCoreLib -> msvcurt[d]_netcore.lib
FrontEndPath -> c1xx.dll
BackEndPath -> c2.dll (optional)
ClToolExe (requires ClToolPath) -> cl.exe (optional)
LinkToolExe (requires LinkToolPath) -> link.exe (optional)
Some of these properties are defined in Wpf.Cpp.PrivateTools.targets
-->
<MsvcurtC1xxToolsPath>$(RepoRoot).tools\native\bin\msvcurt-c1xx\$(MsvcurtC1xxVersion)\$(Architecture)\</MsvcurtC1xxToolsPath>
<MsvcurtNetCoreLib>$(MsvcurtC1xxToolsPath)msvcurt$(LibSuffix)_netcore.lib</MsvcurtNetCoreLib>
<!-- End optional section -->
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(ManagedCxx)'=='true' and '$(ExplicitCrts)'=='true'">
<Link>
<AdditionalDependencies>%(AdditionalDependencies);$(MsvcurtNetCoreLib)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
</Project>
<Project>
<!--
See comment about UsePrivateCppTools in Wpf.Cpp.props
Also see Wpf.Cpp.PrivateTools.props
-->
<!-- Start optional section -->
<PropertyGroup>
<FrontEndPath Condition="'$(VCToolArchitecture)'=='Native32Bit'">$(MsvcurtC1xxToolsPath)HostX86\c1xx.dll</FrontEndPath>
<FrontEndPath Condition="'$(VCToolArchitecture)'=='Native64Bit'">$(MsvcurtC1xxToolsPath)HostX64\c1xx.dll</FrontEndPath>
<BackEndPath Condition="'$(VCToolArchitecture)'=='Native32Bit' And Exists('$(MsvcurtC1xxToolsPath)HostX86\c2.dll')">$(MsvcurtC1xxToolsPath)HostX86\c2.dll</BackEndPath>
<BackEndPath Condition="'$(VCToolArchitecture)'=='Native64Bit' And Exists('$(MsvcurtC1xxToolsPath)HostX64\c2.dll')">$(MsvcurtC1xxToolsPath)HostX64\c2.dll</BackEndPath>
<!--
Requires a full set of cl.exe and link.exe DLL's to enable this.
-->
<!--
<ClToolPath Condition="'$(VCToolArchitecture)'=='Native32Bit' And Exists('$(MsvcurtC1xxToolsPath)HostX86\cl.exe')">$(MsvcurtC1xxToolsPath)HostX86\</ClToolPath>
<ClToolPath Condition="'$(VCToolArchitecture)'=='Native64Bit' And Exists('$(MsvcurtC1xxToolsPath)HostX64\cl.exe')">$(MsvcurtC1xxToolsPath)HostX64\</ClToolPath>
<ClToolExe Condition="Exists('$(ClToolPath)')">cl.exe</ClToolExe>
<LinkToolPath Condition="'$(VCToolArchitecture)'=='Native32Bit' And Exists('$(MsvcurtC1xxToolsPath)HostX86\link.exe')">$(MsvcurtC1xxToolsPath)HostX86\</LinkToolPath>
<LinkToolPath Condition="'$(VCToolArchitecture)'=='Native64Bit' And Exists('$(MsvcurtC1xxToolsPath)HostX64\link.exe')">$(MsvcurtC1xxToolsPath)HostX64\</LinkToolPath>
<LinkToolExe Condition="Exists('$(LinkToolPath)')">link.exe</LinkToolExe>
-->
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(ManagedCxx)'=='true' And '$(FrontEndPath)'!=''">
<ClCompile>
<AdditionalOptions>%(AdditionalOptions) /Bx"$(FrontEndPath)"</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalOptions>%(AdditionalOptions) /fe:"$(FrontEndPath)"</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(ManagedCxx)'=='true' And '$(BackEndPath)'!=''">
<ClCompile>
<AdditionalOptions>%(AdditionalOptions) /B2"$(BackEndPath)"</AdditionalOptions>
</ClCompile>
</ItemDefinitionGroup>
<!-- End optional section -->
</Project>
......@@ -89,30 +89,10 @@
</PropertyGroup>
<PropertyGroup>
<!--
If there is ever need to use a private C++ compiler front-end, use the logic in the commented section below,
and update global.json with the corresponding version of msvcurt-c1xx
There is also a corresponding section (also commented out) in Wpf.Cpp.targets.
msvcurt-c1xx should reference a blob hosted in azure storage that contains
msvcurt[d]_netcore.lib and c1xx.dll (and optionally, c2.dll)
-->
<!-- Start optional section -->
<!-- Also in global.json -->
<MsvcurtC1xxVersion>0.0.0.4</MsvcurtC1xxVersion>
<UsePrivateFrontEnd Condition="'$(UsePrivateFrontEnd)'==''">true</UsePrivateFrontEnd>
<MsvcurtC1xxToolsPath>$(RepoRoot).tools\native\bin\msvcurt-c1xx\$(MsvcurtC1xxVersion)\$(Architecture)\</MsvcurtC1xxToolsPath>
<MsvcurtNetCoreLib>$(MsvcurtC1xxToolsPath)msvcurt$(LibSuffix)_netcore.lib</MsvcurtNetCoreLib>
<!-- End optional section -->
<UsePrivateCppTools Condition="'$(UsePrivateCppTools)' == ''">true</UsePrivateCppTools>
</PropertyGroup>
<Import Project="Wpf.Cpp.PrivateTools.props" Condition="Exists('Wpf.Cpp.PrivateTools.props') And '$(UsePrivateCppTools)'=='true'"/>
<ItemDefinitionGroup Condition="'$(UsePrivateFrontEnd)'=='true' And '$(ManagedCxx)'=='true' and '$(ExplicitCrts)'=='true'">
<Link>
<AdditionalDependencies>%(AdditionalDependencies);$(MsvcurtNetCoreLib)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<!-- Set up standard libraries for Native C++ projects -->
<PropertyGroup>
<!-- Explicitly set up CRT and VC runtime libraries -->
......
......@@ -4,33 +4,8 @@
<NativeVersionFileDirectory>$([System.IO.Path]::GetDirectoryName($(NativeVersionFile)))</NativeVersionFileDirectory>
</PropertyGroup>
<!--
See comment about UsePrivateFrontEnd in Wpf.Cpp.props
-->
<!-- Start optional section -->
<PropertyGroup>
<FrontEndPath Condition="'$(VCToolArchitecture)'=='Native32Bit'">$(MsvcurtC1xxToolsPath)HostX86\c1xx.dll</FrontEndPath>
<FrontEndPath Condition="'$(VCToolArchitecture)'=='Native64Bit'">$(MsvcurtC1xxToolsPath)HostX64\c1xx.dll</FrontEndPath>
<BackEndPath Condition="'$(VCToolArchitecture)'=='Native32Bit' And Exists('$(MsvcurtC1xxToolsPath)HostX86\c2.dll')">$(MsvcurtC1xxToolsPath)HostX86\c2.dll</BackEndPath>
<BackEndPath Condition="'$(VCToolArchitecture)'=='Native64Bit' And Exists('$(MsvcurtC1xxToolsPath)HostX86\c2.dll')">$(MsvcurtC1xxToolsPath)HostX64\c2.dll</BackEndPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(UsePrivateFrontEnd)'=='true' And '$(ManagedCxx)'=='true' And '$(FrontEndPath)'!=''">
<ClCompile>
<AdditionalOptions>%(AdditionalOptions) /Bx"$(FrontEndPath)"</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalOptions>%(AdditionalOptions) /fe:"$(FrontEndPath)"</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(UsePrivateFrontEnd)'=='true' And '$(ManagedCxx)'=='true' And '$(BackEndPath)'!=''">
<ClCompile>
<AdditionalOptions>%(AdditionalOptions) /B2"$(BackEndPath)"</AdditionalOptions>
</ClCompile>
</ItemDefinitionGroup>
<!-- End optional section -->
<Import Project="Wpf.Cpp.PrivateTools.targets" Condition="Exists('Wpf.Cpp.PrivateTools.targets') And '$(UsePrivateCppTools)'=='true'"/>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories Condition="Exists('$(WpfSharedDir)inc\')">%(AdditionalIncludeDirectories);$(WpfSharedDir)inc\</AdditionalIncludeDirectories>
......
......@@ -19,6 +19,6 @@
"strawberry-perl": "5.28.1.1-1",
"net-framework-48-ref-assemblies": "0.0.0.1",
"dotnet-api-docs_netcoreapp3.0": "0.0.0.1",
"msvcurt-c1xx": "0.0.0.4"
"msvcurt-c1xx": "0.0.0.6"
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册