mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			187 lines
		
	
	
		
			No EOL
		
	
	
		
			8.9 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			187 lines
		
	
	
		
			No EOL
		
	
	
		
			8.9 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="utf-8"?>
 | |
| <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" TreatAsLocalProperty="ReleaseUri">
 | |
|     <PropertyGroup>
 | |
|         <TargetName>$(OutputName)</TargetName>
 | |
|         <DefineSolutionProperties>false</DefineSolutionProperties>
 | |
|         <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
 | |
|         <SuppressIces>$(SuppressIces);ICE03;ICE57;ICE61</SuppressIces>
 | |
|         <CompilerSuppressSpecificWarnings>1026</CompilerSuppressSpecificWarnings>
 | |
|         <BuildForRelease Condition="'$(BuildForRelease)' == ''">false</BuildForRelease>
 | |
|         <SignOutput Condition="'$(SigningCertificate)' != ''">true</SignOutput>
 | |
|         <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
 | |
|         <Platform Condition="'$(Platform)' == ''">x86</Platform>
 | |
|         <InstallScope Condition="'$(InstallScope)' != 'perMachine'">perUser</InstallScope>
 | |
|         <_MakeCatCommand Condition="'$(_MakeCatCommand)' == ''">makecat</_MakeCatCommand>
 | |
|     </PropertyGroup>
 | |
| 
 | |
|     <Import Project="wix.props" />
 | |
|     <Import Project="..\..\PCbuild\tcltk.props" />
 | |
| 
 | |
|     <PropertyGroup>
 | |
|         <!--
 | |
|         This URI is used to generate the various GUIDs used by the installer.
 | |
|         Installers built with the same URI will upgrade each other or block
 | |
|         when attempting to downgrade.
 | |
|         
 | |
|         By default, this is the local computer name, which will produce
 | |
|         installers that do not interfere with other installers. Products
 | |
|         that intend to bundle Python should rebuild these modules with their
 | |
|         own URI to avoid conflicting with the official releases.
 | |
|         
 | |
|         The official releases use "http://www.python.org/$(ArchName)"
 | |
|         
 | |
|         This is not the same as the DownloadUrl property used in the bundle
 | |
|         projects.
 | |
|         -->
 | |
|         <ReleaseUri Condition="'$(ReleaseUri)' == ''">$(ComputerName)/$(ArchName)/</ReleaseUri>
 | |
|         <ReleaseUri Condition="!$(ReleaseUri.EndsWith(`/`))">$(ReleaseUri)/</ReleaseUri>
 | |
|     </PropertyGroup>
 | |
| 
 | |
|     
 | |
|     <ItemGroup>
 | |
|         <Compile Include="$(MSBuildThisFileDirectory)common.wxs" />
 | |
|         <WxlTemplate Include="$(MSBuildThisFileDirectory)\*.wxl_template" Condition="$(IgnoreCommonWxlTemplates) != 'true'" />
 | |
|         <WixExtension Include="WixUtilExtension">
 | |
|             <HintPath>WixUtilExtension</HintPath>
 | |
|             <Name>WixUtilExtension</Name>
 | |
|         </WixExtension>
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <PropertyGroup>
 | |
|         <IntermediateOutputPath>$(Py_IntDir)\$(MajorVersionNumber)$(MinorVersionNumber)$(ArchName)_$(Configuration)\msi_$(OutputName)</IntermediateOutputPath>
 | |
|         <IntermediateOutputPath Condition="'$(OutputSuffix)' != ''">$(IntermediateOutputPath)_$(OutputSuffix)</IntermediateOutputPath>
 | |
|         <OutputPath Condition="'$(OutputPath)' == ''">$(BuildPath)</OutputPath>
 | |
|         <OutputPath Condition="!HasTrailingSlash($(OutputPath))">$(OutputPath)\</OutputPath>
 | |
|         <OutDir>$(OutputPath)</OutDir>
 | |
|         <ReuseCabinetCache>true</ReuseCabinetCache>
 | |
|         <CRTRedist Condition="'$(CRTRedist)' == ''">$(ExternalsDir)\windows-installer\redist-1\$(Platform)</CRTRedist>
 | |
|         <CRTRedist>$([System.IO.Path]::GetFullPath($(CRTRedist)))</CRTRedist>
 | |
|         <TclTkLibraryDir Condition="$(TclTkLibraryDir) == ''">$(tcltkDir)lib</TclTkLibraryDir>
 | |
|         <DocFilename>python$(MajorVersionNumber)$(MinorVersionNumber)$(MicroVersionNumber)$(ReleaseLevelName).chm</DocFilename>
 | |
| 
 | |
|         <InstallerVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(Field3Value).0</InstallerVersion>
 | |
|     </PropertyGroup>
 | |
|     
 | |
|     <PropertyGroup Condition="!$(BuildForRelease)">
 | |
|         <RevisionNumber Condition="'$(RevisionNumber)' == ''">$([System.Math]::Floor($([System.DateTime]::Now.Subtract($([System.DateTime]::new(2001, 1, 1))).TotalDays)))</RevisionNumber>
 | |
|         <PythonVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)dev$(RevisionNumber)</PythonVersion>
 | |
|         <InstallerVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(RevisionNumber).0</InstallerVersion>
 | |
|     </PropertyGroup>
 | |
|     
 | |
|     <PropertyGroup>
 | |
|         <Bitness>32-bit</Bitness>
 | |
|         <Bitness Condition="$(Platform) == 'x64'">64-bit</Bitness>
 | |
|         <PlatformArchitecture>32bit</PlatformArchitecture>
 | |
|         <PlatformArchitecture Condition="$(Platform) == 'x64'">64bit</PlatformArchitecture>
 | |
|         <DefineConstants>
 | |
|             $(DefineConstants);
 | |
|             Version=$(InstallerVersion);
 | |
|             ShortVersion=$(MajorVersionNumber).$(MinorVersionNumber);
 | |
|             LongVersion=$(PythonVersion);
 | |
|             MajorVersionNumber=$(MajorVersionNumber);
 | |
|             MinorVersionNumber=$(MinorVersionNumber);
 | |
|             UpgradeMinimumVersion=$(MajorVersionNumber).$(MinorVersionNumber).0.0;
 | |
|             NextMajorVersionNumber=$(MajorVersionNumber).$([msbuild]::Add($(MinorVersionNumber), 1)).0.0;
 | |
|             Bitness=$(Bitness);
 | |
|             PlatformArchitecture=$(PlatformArchitecture);
 | |
|             PyDebugExt=$(PyDebugExt);
 | |
|             PyArchExt=$(PyArchExt);
 | |
|             PyTestExt=$(PyTestExt);
 | |
|             OptionalFeatureName=$(OutputName);
 | |
|             ssltag=-1_1;
 | |
|         </DefineConstants>
 | |
|         <DefineConstants Condition="'$(CRTRedist)' != ''">
 | |
|             $(DefineConstants);CRTRedist=$(CRTRedist);
 | |
|         </DefineConstants>
 | |
|         <DefineConstants Condition="$(Platform) != 'x64'">
 | |
|             $(DefineConstants);Suffix32=-32;
 | |
|         </DefineConstants>
 | |
|         <DefineConstants Condition="$(Platform) == 'x64'">
 | |
|             $(DefineConstants);Suffix32=;
 | |
|         </DefineConstants>
 | |
|     </PropertyGroup>
 | |
| 
 | |
|     <ItemDefinitionGroup>
 | |
|         <InstallFiles>
 | |
|             <Group>generated_filelist</Group>
 | |
|             <Condition></Condition>
 | |
|             <DiskId></DiskId>
 | |
|             <IncludeInCat>false</IncludeInCat>
 | |
|         </InstallFiles>
 | |
|         <LinkerBindInputPaths>
 | |
|             <Visible>false</Visible>
 | |
|         </LinkerBindInputPaths>
 | |
|     </ItemDefinitionGroup>
 | |
|     <ItemGroup>
 | |
|         <LinkerBindInputPaths Include="$(PGOBuildPath);$(BuildPath)">
 | |
|             <BindName></BindName>
 | |
|         </LinkerBindInputPaths>
 | |
|         <LinkerBindInputPaths Include="$(PySourcePath)Doc\build\htmlhelp">
 | |
|             <BindName></BindName>
 | |
|         </LinkerBindInputPaths>
 | |
|         <LinkerBindInputPaths Include="$(PySourcePath)">
 | |
|             <BindName>src</BindName>
 | |
|         </LinkerBindInputPaths>
 | |
|         <LinkerBindInputPaths Include="$(TclTkLibraryDir)">
 | |
|             <BindName>tcltk</BindName>
 | |
|         </LinkerBindInputPaths>
 | |
|         <LinkerBindInputPaths Include="$(CRTRedist)">
 | |
|             <BindName>redist</BindName>
 | |
|         </LinkerBindInputPaths>
 | |
|         <LinkerBindInputPaths Include="$(BuildPath32)">
 | |
|             <BindName>build32</BindName>
 | |
|         </LinkerBindInputPaths>
 | |
|         <LinkerBindInputPaths Include="$(BuildPath64)">
 | |
|             <BindName>build64</BindName>
 | |
|         </LinkerBindInputPaths>
 | |
|     </ItemGroup>
 | |
| 
 | |
|     <Target Name="_ValidateMsiProps" BeforeTargets="PrepareForBuild">
 | |
|         <Error Text="Platform '$(Platform)' is not supported. Use 'x86' or 'x64'." Condition="$(Platform) != 'x86' and $(Platform) != 'x64'" />
 | |
|     </Target>
 | |
|     
 | |
|     <ItemGroup>
 | |
|         <_Uuid Include="CoreUpgradeCode">
 | |
|             <Uri>upgradecode</Uri>
 | |
|         </_Uuid>
 | |
|         <_Uuid Include="UpgradeCode">
 | |
|             <Uri>upgradecode/$(OutputName)</Uri>
 | |
|         </_Uuid>
 | |
|         <_Uuid Include="InstallDirectoryGuidSeed">
 | |
|             <Uri>installdirectoryseed</Uri>
 | |
|         </_Uuid>
 | |
|         <_Uuid Include="PythonExeComponentGuid">
 | |
|             <Uri>python.exe</Uri>
 | |
|         </_Uuid>
 | |
|         <_Uuid Include="PythonwExeComponentGuid">
 | |
|             <Uri>pythonw.exe</Uri>
 | |
|         </_Uuid>
 | |
|         <_Uuid Include="RemoveLib2to3PickleComponentGuid">
 | |
|             <Uri>lib2to3/pickles</Uri>
 | |
|         </_Uuid>
 | |
|         <_Uuid Include="CommonPythonRegComponentGuid">
 | |
|             <Uri>registry</Uri>
 | |
|         </_Uuid>
 | |
|         <_Uuid Include="PythonRegComponentGuid">
 | |
|             <Uri>registry/$(OutputName)</Uri>
 | |
|         </_Uuid>
 | |
|     </ItemGroup>
 | |
|     <Target Name="_GenerateGuids" AfterTargets="PrepareForBuild" Condition="$(TargetName) != 'launcher'">
 | |
|         <PropertyGroup>
 | |
|             <_Uuids>@(_Uuid->'("%(Identity)", "$(MajorVersionNumber).$(MinorVersionNumber)/%(Uri)")',',')</_Uuids>
 | |
|             <_GenerateCommand>import uuid; print('\n'.join('{}={}'.format(i, uuid.uuid5(uuid.UUID('c8d9733e-a70c-43ff-ab0c-e26456f11083'), '$(ReleaseUri.Replace(`{arch}`, `$(ArchName)`))' + j)) for i,j in [$(_Uuids.Replace(`"`,`'`))]))</_GenerateCommand>
 | |
|         </PropertyGroup>
 | |
|         
 | |
|         <Exec Command='"$(PythonExe)" -c "$(_GenerateCommand)" > "$(IntermediateOutputPath)$(OutputName)guids.txt"'
 | |
|               WorkingDirectory="$(MSBuildThisFileDirectory)"
 | |
|               IgnoreExitCode="false" />
 | |
|         
 | |
|         <ReadLinesFromFile File="$(IntermediateOutputPath)$(OutputName)guids.txt">
 | |
|             <Output TaskParameter="Lines" ItemName="_UuidValue" />
 | |
|         </ReadLinesFromFile>
 | |
|         
 | |
|         <PropertyGroup>
 | |
|             <DefineConstants>$(DefineConstants);@(_UuidValue,';');</DefineConstants>
 | |
|         </PropertyGroup>
 | |
|     </Target>
 | |
| </Project> | 
