Py_OutDir: $(Build.BinariesDirectory)
- script: |
- %MSBUILD% Tools\msi\bundle\releaselocal.wixproj /t:Rebuild /p:RebuildAll=true /p:BuildForRelease=true
- %MSBUILD% Tools\msi\bundle\releaseweb.wixproj /t:Rebuild /p:RebuildAll=false /p:BuildForRelease=true
+ %MSBUILD% Tools\msi\bundle\releaselocal.wixproj /t:Rebuild /p:RebuildAll=true
+ %MSBUILD% Tools\msi\bundle\releaseweb.wixproj /t:Rebuild /p:RebuildAll=false
displayName: 'Build win32 installer'
env:
Platform: x86
PYTHON: $(Build.BinariesDirectory)\win32\python.exe
PYTHONHOME: $(Build.SourcesDirectory)
TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_win32
+ BuildForRelease: true
+ SuppressMinGWLib: true
- script: |
- %MSBUILD% Tools\msi\bundle\releaselocal.wixproj /t:Rebuild /p:RebuildAll=true /p:BuildForRelease=true
- %MSBUILD% Tools\msi\bundle\releaseweb.wixproj /t:Rebuild /p:RebuildAll=false /p:BuildForRelease=true
+ %MSBUILD% Tools\msi\bundle\releaselocal.wixproj /t:Rebuild /p:RebuildAll=true
+ %MSBUILD% Tools\msi\bundle\releaseweb.wixproj /t:Rebuild /p:RebuildAll=false
displayName: 'Build amd64 installer'
env:
Platform: x64
PYTHON: $(Build.BinariesDirectory)\amd64\python.exe
PYTHONHOME: $(Build.SourcesDirectory)
TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_amd64
+ BuildForRelease: true
+ SuppressMinGWLib: true
- task: CopyFiles@2
displayName: 'Assemble artifact: msi (1/2)'
displayName: Python PGO build
condition: and(succeeded(), eq(variables['DoPGO'], 'true'))
+ # Allow up to five hours for PGO
+ timeoutInMinutes: 300
+
pool:
name: 'Windows Release'
- powershell: >
$(LayoutCmd)
--copy "$(Build.ArtifactStagingDirectory)\layout"
- --zip "$(Build.ArtifactStagingDirectory)\embed\$(VersionText)-embed-$(Name).zip"
+ --zip "$(Build.ArtifactStagingDirectory)\embed\python-$(VersionText)-embed-$(Name).zip"
--preset-embed
displayName: 'Generate embeddable layout'
downloadPath: $(Build.BinariesDirectory)
- powershell: |
- Expand-Archive -Path "$(Build.BinariesDirectory)\embed\embed-$(Name).zip" -DestinationPath "$(Build.BinariesDirectory)\Python"
+ $p = gi "$(Build.BinariesDirectory)\embed\python*embed-$(Name).zip"
+ Expand-Archive -Path $p -DestinationPath "$(Build.BinariesDirectory)\Python"
$p = gi "$(Build.BinariesDirectory)\Python\python.exe"
Write-Host "##vso[task.prependpath]$(Split-Path -Parent $p)"
displayName: 'Install Python and add to PATH'
</PropertyGroup>
<Import Project="..\msi.props" />
<PropertyGroup>
- <DefineConstants Condition="$(BuildForRelease)">
+ <DefineConstants Condition="$(BuildForRelease) and $(SuppressMinGWLib) == ''">
$(DefineConstants);
IncludeMinGWLib=1;
</DefineConstants>
Inputs="$(BuildPath)$(PyDllName).dll"
Outputs="$(BuildPath)lib$(PyDllName).a"
AfterTargets="PrepareForBuild"
- Condition="$(BuildForRelease)">
+ Condition="$(BuildForRelease) and $(SuppressMinGWLib) == ''">
<!-- Build libpython##.a as part of this project. This requires gendef and dlltool on the path. -->
<PropertyGroup>
<_DllToolOpts>-m i386 --as-flags=--32</_DllToolOpts>