mirror of
https://github.com/python/cpython
synced 2024-11-05 18:12:54 +00:00
8a1657b934
This change adds the necessary items to the build projects to avoid erroring out right at the start. It does not add _support_ for targeting Windows on ARM32, but is a necessary prerequisite for adding it.
126 lines
5.9 KiB
XML
126 lines
5.9 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>
|
|
<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;_ctypes;_decimal;_elementtree;_msi;_multiprocessing;_overlapped;pyexpat;_queue;select;unicodedata;winsound" />
|
|
<!-- 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)" />
|
|
<ExtensionModules Include="@(ExternalModules->'%(Identity)')" Condition="$(IncludeExternals)" />
|
|
<Projects Include="@(ExtensionModules->'%(Identity).vcxproj')" Condition="$(IncludeExtensions)" />
|
|
<!-- Test modules -->
|
|
<TestModules Include="_ctypes_test;_testbuffer;_testcapi;_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'" 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>
|