mirror of
https://github.com/python/cpython.git
synced 2024-11-28 04:15:11 +08:00
de148f263f
Note that the support is not actually enabled yet, and so we won't be publishing these packages. However, for those who want to build it themselves (even by reusing the Azure Pipelines definition), it's now relatively easy to enable.
129 lines
6.1 KiB
XML
129 lines
6.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<PropertyGroup Label="Globals">
|
|
<ProjectGuid>{CC9B93A2-439D-4058-9D29-6DCF43774405}</ProjectGuid>
|
|
<Platform Condition="'$(Platform)' == ''">Win32</Platform>
|
|
<Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
|
|
<IncludeExtensions Condition="'$(IncludeExtensions)' == ''">true</IncludeExtensions>
|
|
<IncludeExternals Condition="'$(IncludeExternals)' == ''">true</IncludeExternals>
|
|
<IncludeTests Condition="'$(IncludeTest)' == ''">true</IncludeTests>
|
|
<IncludeCTypes Condition="'$(IncludeCTypes)' == ''">true</IncludeCTypes>
|
|
<IncludeSSL Condition="'$(IncludeSSL)' == ''">true</IncludeSSL>
|
|
<IncludeTkinter Condition="'$(IncludeTkinter)' == ''">true</IncludeTkinter>
|
|
<IncludeUwp Condition="'$(IncludeUwp)' == ''">false</IncludeUwp>
|
|
</PropertyGroup>
|
|
|
|
<ItemDefinitionGroup>
|
|
<Projects>
|
|
<Platform>$(Platform)</Platform>
|
|
<Configuration>$(Configuration)</Configuration>
|
|
<Properties></Properties>
|
|
<BuildTarget>Build</BuildTarget>
|
|
<CleanTarget>Clean</CleanTarget>
|
|
<CleanAllTarget>CleanAll</CleanAllTarget>
|
|
<BuildInParallel>true</BuildInParallel>
|
|
</Projects>
|
|
<Projects2>
|
|
<Platform>$(Platform)</Platform>
|
|
<Configuration>$(Configuration)</Configuration>
|
|
<Properties></Properties>
|
|
<BuildTarget>Build</BuildTarget>
|
|
<CleanTarget>Clean</CleanTarget>
|
|
<CleanAllTarget>CleanAll</CleanAllTarget>
|
|
<BuildInParallel>false</BuildInParallel>
|
|
</Projects2>
|
|
</ItemDefinitionGroup>
|
|
<ItemGroup>
|
|
<!-- pythonXY.dll -->
|
|
<!--
|
|
Parallel build is explicitly disabled for this project because it
|
|
causes many conflicts between pythoncore and projects that depend
|
|
on pythoncore. Once the core DLL has been built, subsequent
|
|
projects will be built in parallel.
|
|
-->
|
|
<Projects Include="pythoncore.vcxproj">
|
|
<BuildInParallel>false</BuildInParallel>
|
|
</Projects>
|
|
<!-- python3.dll -->
|
|
<Projects Include="python3dll.vcxproj" />
|
|
<!-- py[w].exe -->
|
|
<Projects Include="pylauncher.vcxproj;pywlauncher.vcxproj" />
|
|
<!-- pyshellext.dll -->
|
|
<Projects Include="pyshellext.vcxproj" />
|
|
<!-- Extension modules -->
|
|
<ExtensionModules Include="_asyncio;_decimal;_elementtree;_msi;_multiprocessing;_overlapped;pyexpat;_queue;select;unicodedata;winsound" />
|
|
<ExtensionModules Include="_ctypes" Condition="$(IncludeCTypes)" />
|
|
<!-- Extension modules that require external sources -->
|
|
<ExternalModules Include="_bz2;_lzma;_sqlite3" />
|
|
<!-- venv launchers -->
|
|
<Projects Include="venvlauncher.vcxproj;venvwlauncher.vcxproj" />
|
|
<!-- _ssl will build _socket as well, which may cause conflicts in parallel builds -->
|
|
<ExtensionModules Include="_socket" Condition="!$(IncludeSSL) or !$(IncludeExternals)" />
|
|
<ExternalModules Include="_ssl;_hashlib" Condition="$(IncludeSSL)" />
|
|
<ExternalModules Include="_tkinter" Condition="$(IncludeTkinter) and $(Platform) != 'ARM' and $(Platform) != 'ARM64'" />
|
|
<ExtensionModules Include="@(ExternalModules->'%(Identity)')" Condition="$(IncludeExternals)" />
|
|
<Projects Include="@(ExtensionModules->'%(Identity).vcxproj')" Condition="$(IncludeExtensions)" />
|
|
<!-- Test modules -->
|
|
<TestModules Include="_ctypes_test;_testbuffer;_testcapi;_testinternalcapi;_testembed;_testimportmultiple;_testmultiphase;_testconsole" />
|
|
<TestModules Include="xxlimited" Condition="'$(Configuration)' == 'Release'" />
|
|
<Projects Include="@(TestModules->'%(Identity).vcxproj')" Condition="$(IncludeTests)">
|
|
<!-- Disable parallel build for test modules -->
|
|
<BuildInParallel>false</BuildInParallel>
|
|
</Projects>
|
|
|
|
<!-- _freeze_importlib -->
|
|
<Projects2 Condition="$(Platform) != 'ARM' and $(Platform) != 'ARM64'" Include="_freeze_importlib.vcxproj" />
|
|
<!-- python[w].exe -->
|
|
<Projects2 Include="python.vcxproj;pythonw.vcxproj" />
|
|
<Projects2 Include="python_uwp.vcxproj;pythonw_uwp.vcxproj" Condition="$(IncludeUwp)" />
|
|
<!-- venv[w]launcher.exe -->
|
|
<Projects2 Include="venvlauncher.vcxproj;venvwlauncher.vcxproj" />
|
|
</ItemGroup>
|
|
|
|
<Target Name="Build">
|
|
<MSBuild Projects="@(Projects)"
|
|
Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
|
|
BuildInParallel="%(BuildInParallel)"
|
|
StopOnFirstFailure="true"
|
|
Targets="%(BuildTarget)" />
|
|
<MSBuild Projects="@(Projects2)"
|
|
Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
|
|
BuildInParallel="%(BuildInParallel)"
|
|
StopOnFirstFailure="true"
|
|
Targets="%(BuildTarget)" />
|
|
</Target>
|
|
|
|
<Target Name="Clean">
|
|
<MSBuild Projects="@(Projects2)"
|
|
Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
|
|
BuildInParallel="%(BuildInParallel)"
|
|
StopOnFirstFailure="false"
|
|
Condition="%(CleanTarget) != ''"
|
|
Targets="%(CleanTarget)" />
|
|
<MSBuild Projects="@(Projects)"
|
|
Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
|
|
BuildInParallel="%(BuildInParallel)"
|
|
StopOnFirstFailure="false"
|
|
Condition="%(CleanTarget) != ''"
|
|
Targets="%(CleanTarget)" />
|
|
</Target>
|
|
|
|
<Target Name="CleanAll">
|
|
<MSBuild Projects="@(Projects2)"
|
|
Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
|
|
BuildInParallel="%(BuildInParallel)"
|
|
StopOnFirstFailure="false"
|
|
Condition="%(CleanAllTarget) != ''"
|
|
Targets="%(CleanAllTarget)" />
|
|
<MSBuild Projects="@(Projects)"
|
|
Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
|
|
BuildInParallel="%(BuildInParallel)"
|
|
StopOnFirstFailure="false"
|
|
Condition="%(CleanAllTarget) != ''"
|
|
Targets="%(CleanAllTarget)" />
|
|
</Target>
|
|
|
|
<Target Name="Rebuild" DependsOnTargets="Clean;Build" />
|
|
<Target Name="RebuildAll" DependsOnTargets="CleanAll;Build" />
|
|
</Project>
|