mirror of
https://github.com/python/cpython.git
synced 2025-11-11 14:44:57 +00:00
Remove manual build scripts for Windows dependencies and put them in the release-tools repository instead (GH-96088)
This commit is contained in:
parent
29c8f80760
commit
22a95cb511
4 changed files with 0 additions and 293 deletions
|
|
@ -1,26 +0,0 @@
|
||||||
# Locate a set of the tools used for builds
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- template: windows-release/find-sdk.yml
|
|
||||||
parameters:
|
|
||||||
toolname: 'signtool.exe'
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
$vcvarsall = (& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" `
|
|
||||||
-prerelease `
|
|
||||||
-latest `
|
|
||||||
-requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `
|
|
||||||
-find VC\Auxiliary\Build\vcvarsall.bat)
|
|
||||||
Write-Host "Found vcvarsall at $vcvarsall"
|
|
||||||
Write-Host "##vso[task.setVariable variable=vcvarsall]$vcvarsall"
|
|
||||||
displayName: 'Find vcvarsall.bat'
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
$msbuild = (& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" `
|
|
||||||
-prerelease `
|
|
||||||
-latest `
|
|
||||||
-requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 `
|
|
||||||
-find MSBuild\Current\Bin\msbuild.exe)
|
|
||||||
Write-Host "Found MSBuild at $msbuild"
|
|
||||||
Write-Host "##vso[task.setVariable variable=msbuild]$msbuild"
|
|
||||||
displayName: 'Find MSBuild'
|
|
||||||
|
|
@ -1,86 +0,0 @@
|
||||||
name: $(SourceTag)_$(Date:yyyyMMdd)$(Rev:.rr)
|
|
||||||
|
|
||||||
variables:
|
|
||||||
IntDir: '$(Build.BinariesDirectory)'
|
|
||||||
OutDir: '$(Build.ArtifactStagingDirectory)'
|
|
||||||
|
|
||||||
# MUST BE SET AT QUEUE TIME
|
|
||||||
# SigningCertificate: 'Python Software Foundation'
|
|
||||||
# SourcesRepo: 'https://github.com/python/cpython-source-deps'
|
|
||||||
# SourceTag: 'libffi-3.4.2'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- job: Build_LibFFI
|
|
||||||
displayName: LibFFI
|
|
||||||
pool:
|
|
||||||
vmImage: windows-latest
|
|
||||||
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
|
|
||||||
- template: ./find-tools.yml
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
mkdir -Force "$(IntDir)\script"
|
|
||||||
iwr "https://github.com/python/cpython/raw/main/PCbuild/prepare_libffi.bat" `
|
|
||||||
-outfile "$(IntDir)\script\prepare_libffi.bat"
|
|
||||||
displayName: 'Download build script'
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
git clone $(SourcesRepo) -b $(SourceTag) --depth 1 -c core.autocrlf=false -c core.eol=lf .
|
|
||||||
displayName: 'Check out LibFFI sources'
|
|
||||||
|
|
||||||
- script: 'prepare_libffi.bat --install-cygwin'
|
|
||||||
workingDirectory: '$(IntDir)\script'
|
|
||||||
displayName: 'Install Cygwin and build'
|
|
||||||
env:
|
|
||||||
VCVARSALL: '$(vcvarsall)'
|
|
||||||
LIBFFI_SOURCE: '$(Build.SourcesDirectory)'
|
|
||||||
LIBFFI_OUT: '$(OutDir)'
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
if ((gci *\*.dll).Count -lt 4) {
|
|
||||||
Write-Error "Did not generate enough DLL files"
|
|
||||||
}
|
|
||||||
if ((gci *\Include\ffi.h).Count -lt 4) {
|
|
||||||
Write-Error "Did not generate enough include files"
|
|
||||||
}
|
|
||||||
failOnStderr: true
|
|
||||||
workingDirectory: '$(OutDir)'
|
|
||||||
displayName: 'Verify files were created'
|
|
||||||
|
|
||||||
- publish: '$(OutDir)'
|
|
||||||
artifact: 'unsigned'
|
|
||||||
displayName: 'Publish unsigned build'
|
|
||||||
|
|
||||||
- job: Sign_LibFFI
|
|
||||||
displayName: Sign LibFFI
|
|
||||||
dependsOn: Build_LibFFI
|
|
||||||
pool:
|
|
||||||
name: 'Windows Release'
|
|
||||||
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- download: current
|
|
||||||
artifact: unsigned
|
|
||||||
|
|
||||||
- template: ./find-tools.yml
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
signtool sign /q /a `
|
|
||||||
/n "Python Software Foundation" `
|
|
||||||
/fd sha256 `
|
|
||||||
/tr http://timestamp.digicert.com/ /td sha256 `
|
|
||||||
/d "LibFFI for Python" `
|
|
||||||
(gci "$(Pipeline.Workspace)\unsigned\*.dll" -r)
|
|
||||||
displayName: 'Sign files'
|
|
||||||
|
|
||||||
- publish: '$(Pipeline.Workspace)\unsigned'
|
|
||||||
artifact: 'libffi'
|
|
||||||
displayName: 'Publish libffi'
|
|
||||||
|
|
@ -1,110 +0,0 @@
|
||||||
name: $(SourceTag)_$(Date:yyyyMMdd)$(Rev:.rr)
|
|
||||||
|
|
||||||
variables:
|
|
||||||
IntDir: '$(Build.BinariesDirectory)'
|
|
||||||
OutDir: '$(Build.ArtifactStagingDirectory)'
|
|
||||||
|
|
||||||
# MUST BE SET AT QUEUE TIME
|
|
||||||
# SigningCertificate: 'Python Software Foundation'
|
|
||||||
# SourcesRepo: 'https://github.com/python/cpython-source-deps'
|
|
||||||
# SourceTag: 'openssl-1.1.1k'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- job: Build_SSL
|
|
||||||
displayName: OpenSSL
|
|
||||||
pool:
|
|
||||||
name: 'Windows Release'
|
|
||||||
#vmImage: windows-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
win32:
|
|
||||||
Platform: 'win32'
|
|
||||||
VCPlatform: 'amd64_x86'
|
|
||||||
OpenSSLPlatform: 'VC-WIN32 no-asm'
|
|
||||||
amd64:
|
|
||||||
Platform: 'amd64'
|
|
||||||
VCPlatform: 'amd64'
|
|
||||||
OpenSSLPlatform: 'VC-WIN64A-masm'
|
|
||||||
arm32:
|
|
||||||
Platform: 'arm32'
|
|
||||||
VCPlatform: 'amd64_arm'
|
|
||||||
OpenSSLPlatform: 'VC-WIN32-ARM'
|
|
||||||
arm64:
|
|
||||||
Platform: 'arm64'
|
|
||||||
VCPlatform: 'amd64_arm64'
|
|
||||||
OpenSSLPlatform: 'VC-WIN64-ARM'
|
|
||||||
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
|
|
||||||
- template: ./find-tools.yml
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
git clone $(SourcesRepo) -b $(SourceTag) --depth 1 .
|
|
||||||
displayName: 'Check out OpenSSL sources'
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
$f = gi ms\uplink.c
|
|
||||||
$c1 = gc $f
|
|
||||||
$c2 = $c1 -replace '\(\(h = GetModuleHandle\(NULL\)\) == NULL\)', '((h = GetModuleHandleA("_ssl.pyd")) == NULL) if ((h = GetModuleHandleA("_ssl_d.pyd")) == NULL) if ((h = GetModuleHandle(NULL)) == NULL /*patched*/)'
|
|
||||||
if ($c2 -ne $c1) {
|
|
||||||
$c2 | Out-File $f -Encoding ASCII
|
|
||||||
} else {
|
|
||||||
Write-Host '##warning Failed to patch uplink.c'
|
|
||||||
}
|
|
||||||
displayName: 'Apply uplink.c patch'
|
|
||||||
|
|
||||||
- script: |
|
|
||||||
call "$(vcvarsall)" $(VCPlatform)
|
|
||||||
perl "$(Build.SourcesDirectory)\Configure" $(OpenSSLPlatform)
|
|
||||||
nmake
|
|
||||||
workingDirectory: '$(IntDir)'
|
|
||||||
displayName: 'Build OpenSSL'
|
|
||||||
|
|
||||||
- script: |
|
|
||||||
call "$(vcvarsall)" $(VCPlatform)
|
|
||||||
signtool sign /q /a /n "$(SigningCertificate)" /fd sha256 /tr http://timestamp.digicert.com/ /td sha256 /d "OpenSSL for Python" *.dll
|
|
||||||
workingDirectory: '$(IntDir)'
|
|
||||||
displayName: 'Sign OpenSSL Build'
|
|
||||||
condition: and(succeeded(), variables['SigningCertificate'])
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: 'Copy built libraries for upload'
|
|
||||||
inputs:
|
|
||||||
SourceFolder: '$(IntDir)'
|
|
||||||
Contents: |
|
|
||||||
lib*.dll
|
|
||||||
lib*.pdb
|
|
||||||
lib*.lib
|
|
||||||
include\openssl\*.h
|
|
||||||
TargetFolder: '$(OutDir)'
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: 'Copy header files for upload'
|
|
||||||
inputs:
|
|
||||||
SourceFolder: '$(Build.SourcesDirectory)'
|
|
||||||
Contents: |
|
|
||||||
include\openssl\*
|
|
||||||
TargetFolder: '$(OutDir)'
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: 'Copy applink files for upload'
|
|
||||||
inputs:
|
|
||||||
SourceFolder: '$(Build.SourcesDirectory)\ms'
|
|
||||||
Contents: applink.c
|
|
||||||
TargetFolder: '$(OutDir)\include'
|
|
||||||
|
|
||||||
- task: CopyFiles@2
|
|
||||||
displayName: 'Copy LICENSE for upload'
|
|
||||||
inputs:
|
|
||||||
SourceFolder: '$(Build.SourcesDirectory)'
|
|
||||||
Contents: LICENSE
|
|
||||||
TargetFolder: '$(OutDir)'
|
|
||||||
|
|
||||||
- publish: '$(OutDir)'
|
|
||||||
artifact: '$(Platform)'
|
|
||||||
displayName: 'Publishing $(Platform)'
|
|
||||||
|
|
@ -1,71 +0,0 @@
|
||||||
name: tcl$(TkSourceTag)_$(Date:yyyyMMdd)$(Rev:.rr)
|
|
||||||
|
|
||||||
variables:
|
|
||||||
IntDir: '$(Build.BinariesDirectory)\obj'
|
|
||||||
ExternalsDir: '$(Build.BinariesDirectory)\externals'
|
|
||||||
OutDir: '$(Build.ArtifactStagingDirectory)'
|
|
||||||
Configuration: 'Release'
|
|
||||||
|
|
||||||
# MUST BE SET AT QUEUE TIME
|
|
||||||
# SigningCertificate: 'Python Software Foundation'
|
|
||||||
# SourcesRepo: 'https://github.com/python/cpython-source-deps'
|
|
||||||
# TclSourceTag: 'tcl-core-8.6.12.0'
|
|
||||||
# TkSourceTag: 'tk-8.6.12.0'
|
|
||||||
# TixSourceTag: 'tix-8.4.3.6'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- job: Build_TclTk
|
|
||||||
displayName: 'Tcl/Tk'
|
|
||||||
pool:
|
|
||||||
name: 'Windows Release'
|
|
||||||
#vmImage: windows-latest
|
|
||||||
|
|
||||||
workspace:
|
|
||||||
clean: all
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- template: ./find-tools.yml
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
git clone $(SourcesRepo) -b $(TclSourceTag) --depth 1 "$(ExternalsDir)\$(TclSourceTag)"
|
|
||||||
displayName: 'Check out Tcl sources'
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
git clone $(SourcesRepo) -b $(TkSourceTag) --depth 1 "$(ExternalsDir)\$(TkSourceTag)"
|
|
||||||
displayName: 'Check out Tk sources'
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
git clone $(SourcesRepo) -b $(TixSourceTag) --depth 1 "$(ExternalsDir)\$(TixSourceTag)"
|
|
||||||
displayName: 'Check out Tix sources'
|
|
||||||
|
|
||||||
# This msbuild.rsp file will be used by the build to forcibly override these variables
|
|
||||||
- powershell: |
|
|
||||||
del -Force -EA 0 msbuild.rsp
|
|
||||||
"/p:IntDir=$(IntDir)\" >> msbuild.rsp
|
|
||||||
"/p:ExternalsDir=$(ExternalsDir)\" >> msbuild.rsp
|
|
||||||
"/p:tclDir=$(ExternalsDir)\$(TclSourceTag)\" >> msbuild.rsp
|
|
||||||
"/p:tkDir=$(ExternalsDir)\$(TkSourceTag)\" >> msbuild.rsp
|
|
||||||
"/p:tixDir=$(ExternalsDir)\$(TixSourceTag)\" >> msbuild.rsp
|
|
||||||
displayName: 'Generate msbuild.rsp'
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
& "$(msbuild)" PCbuild\tcl.vcxproj "@msbuild.rsp" /p:Platform=Win32 /p:tcltkDir="$(OutDir)\win32"
|
|
||||||
& "$(msbuild)" PCbuild\tk.vcxproj "@msbuild.rsp" /p:Platform=Win32 /p:tcltkDir="$(OutDir)\win32"
|
|
||||||
& "$(msbuild)" PCbuild\tix.vcxproj "@msbuild.rsp" /p:Platform=Win32 /p:tcltkDir="$(OutDir)\win32"
|
|
||||||
displayName: 'Build for win32'
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
& "$(msbuild)" PCbuild\tcl.vcxproj "@msbuild.rsp" /p:Platform=x64 /p:tcltkDir="$(OutDir)\amd64"
|
|
||||||
& "$(msbuild)" PCbuild\tk.vcxproj "@msbuild.rsp" /p:Platform=x64 /p:tcltkDir="$(OutDir)\amd64"
|
|
||||||
& "$(msbuild)" PCbuild\tix.vcxproj "@msbuild.rsp" /p:Platform=x64 /p:tcltkDir="$(OutDir)\amd64"
|
|
||||||
displayName: 'Build for amd64'
|
|
||||||
|
|
||||||
- powershell: |
|
|
||||||
& "$(msbuild)" PCbuild\tcl.vcxproj "@msbuild.rsp" /p:Platform=ARM64 /p:tcltkDir="$(OutDir)\arm64"
|
|
||||||
& "$(msbuild)" PCbuild\tk.vcxproj "@msbuild.rsp" /p:Platform=ARM64 /p:tcltkDir="$(OutDir)\arm64"
|
|
||||||
& "$(msbuild)" PCbuild\tix.vcxproj "@msbuild.rsp" /p:Platform=ARM64 /p:tcltkDir="$(OutDir)\arm64"
|
|
||||||
displayName: 'Build for arm64'
|
|
||||||
|
|
||||||
- publish: '$(OutDir)'
|
|
||||||
artifact: 'tcltk'
|
|
||||||
displayName: 'Publishing tcltk'
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue