bpo-42336: Improve PCbuild batch files (GH-23275)
This commit is contained in:
parent
07f2adedf0
commit
2156d964a1
|
@ -104,7 +104,7 @@ jobs:
|
||||||
matrix:
|
matrix:
|
||||||
win32:
|
win32:
|
||||||
arch: win32
|
arch: win32
|
||||||
buildOpt:
|
buildOpt: '-p Win32'
|
||||||
testRunTitle: '$(Build.SourceBranchName)-win32'
|
testRunTitle: '$(Build.SourceBranchName)-win32'
|
||||||
testRunPlatform: win32
|
testRunPlatform: win32
|
||||||
win64:
|
win64:
|
||||||
|
|
|
@ -104,7 +104,7 @@ jobs:
|
||||||
matrix:
|
matrix:
|
||||||
win32:
|
win32:
|
||||||
arch: win32
|
arch: win32
|
||||||
buildOpt:
|
buildOpt: '-p Win32'
|
||||||
testRunTitle: '$(System.PullRequest.TargetBranch)-win32'
|
testRunTitle: '$(System.PullRequest.TargetBranch)-win32'
|
||||||
testRunPlatform: win32
|
testRunPlatform: win32
|
||||||
win64:
|
win64:
|
||||||
|
|
|
@ -59,7 +59,7 @@ jobs:
|
||||||
- name: Display build info
|
- name: Display build info
|
||||||
run: .\python.bat -m test.pythoninfo
|
run: .\python.bat -m test.pythoninfo
|
||||||
- name: Tests
|
- name: Tests
|
||||||
run: .\PCbuild\rt.bat -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0
|
run: .\PCbuild\rt.bat -p Win32 -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0
|
||||||
|
|
||||||
build_win_amd64:
|
build_win_amd64:
|
||||||
name: 'Windows (x64)'
|
name: 'Windows (x64)'
|
||||||
|
@ -73,7 +73,7 @@ jobs:
|
||||||
- name: Display build info
|
- name: Display build info
|
||||||
run: .\python.bat -m test.pythoninfo
|
run: .\python.bat -m test.pythoninfo
|
||||||
- name: Tests
|
- name: Tests
|
||||||
run: .\PCbuild\rt.bat -x64 -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0
|
run: .\PCbuild\rt.bat -p x64 -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0
|
||||||
|
|
||||||
build_macos:
|
build_macos:
|
||||||
name: 'macOS'
|
name: 'macOS'
|
||||||
|
|
|
@ -46,7 +46,7 @@ echo.Available arguments:
|
||||||
echo. -c Release ^| Debug ^| PGInstrument ^| PGUpdate
|
echo. -c Release ^| Debug ^| PGInstrument ^| PGUpdate
|
||||||
echo. Set the configuration (default: Release)
|
echo. Set the configuration (default: Release)
|
||||||
echo. -p x64 ^| Win32 ^| ARM ^| ARM64
|
echo. -p x64 ^| Win32 ^| ARM ^| ARM64
|
||||||
echo. Set the platform (default: Win32)
|
echo. Set the platform (default: x64)
|
||||||
echo. -t Build ^| Rebuild ^| Clean ^| CleanAll
|
echo. -t Build ^| Rebuild ^| Clean ^| CleanAll
|
||||||
echo. Set the target manually
|
echo. Set the target manually
|
||||||
echo. --pgo-job The job to use for PGO training; implies --pgo
|
echo. --pgo-job The job to use for PGO training; implies --pgo
|
||||||
|
@ -55,7 +55,7 @@ exit /b 127
|
||||||
|
|
||||||
:Run
|
:Run
|
||||||
setlocal
|
setlocal
|
||||||
set platf=Win32
|
set platf=x64
|
||||||
set conf=Release
|
set conf=Release
|
||||||
set target=Build
|
set target=Build
|
||||||
set dir=%~dp0
|
set dir=%~dp0
|
||||||
|
|
|
@ -9,8 +9,19 @@ rem 'v110', 'v120' or 'v140') to the build script.
|
||||||
|
|
||||||
echo Build environments: x86, amd64, x86_amd64
|
echo Build environments: x86, amd64, x86_amd64
|
||||||
echo.
|
echo.
|
||||||
set VSTOOLS=%VS140COMNTOOLS%
|
set _ARGS=%*
|
||||||
if "%VSTOOLS%"=="" set VSTOOLS=%VS120COMNTOOLS%
|
if NOT DEFINED _ARGS set _ARGS=amd64
|
||||||
if "%VSTOOLS%"=="" set VSTOOLS=%VS110COMNTOOLS%
|
|
||||||
if "%VSTOOLS%"=="" set VSTOOLS=%VS100COMNTOOLS%
|
if not exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" goto :skip_vswhere
|
||||||
call "%VSTOOLS%..\..\VC\vcvarsall.bat" %*
|
set VSTOOLS=
|
||||||
|
for /F "tokens=*" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -property installationPath -latest -prerelease -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64') DO @(set VSTOOLS=%%i\VC\Auxiliary\Build\vcvarsall.bat)
|
||||||
|
if not defined VSTOOLS goto :skip_vswhere
|
||||||
|
call "%VSTOOLS%" %_ARGS%
|
||||||
|
exit /B 0
|
||||||
|
|
||||||
|
:skip_vswhere
|
||||||
|
if not defined VSTOOLS set VSTOOLS=%VS140COMNTOOLS%
|
||||||
|
if not defined VSTOOLS set VSTOOLS=%VS120COMNTOOLS%
|
||||||
|
if not defined VSTOOLS set VSTOOLS=%VS110COMNTOOLS%
|
||||||
|
if not defined VSTOOLS set VSTOOLS=%VS100COMNTOOLS%
|
||||||
|
call "%VSTOOLS%..\..\VC\vcvarsall.bat" %_ARGS%
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
$pcbuild = $script:MyInvocation.MyCommand.Path | Split-Path -parent;
|
||||||
|
& cmd /K "$pcbuild\env.bat" $args
|
|
@ -4,12 +4,24 @@ rem Usage: idle [-d]
|
||||||
rem -d Run Debug build (python_d.exe). Else release build.
|
rem -d Run Debug build (python_d.exe). Else release build.
|
||||||
|
|
||||||
setlocal
|
setlocal
|
||||||
set exe=win32\python
|
set PCBUILD=%~dp0
|
||||||
|
set exedir=%PCBUILD%\amd64
|
||||||
|
set exe=python
|
||||||
PATH %PATH%;..\externals\tcltk\bin
|
PATH %PATH%;..\externals\tcltk\bin
|
||||||
|
|
||||||
if "%1"=="-d" (set exe=%exe%_d) & shift
|
:CheckOpts
|
||||||
|
if "%1"=="-d" (set exe=%exe%_d) & shift & goto :CheckOpts
|
||||||
|
if "%1"=="-p" (call :SetExeDir %2) & shift & shift & goto :CheckOpts
|
||||||
|
|
||||||
set cmd=%exe% ../Lib/idlelib/idle.py %1 %2 %3 %4 %5 %6 %7 %8 %9
|
set cmd=%exedir%\%exe% %PCBUILD%\..\Lib\idlelib\idle.py %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||||
|
|
||||||
echo on
|
echo on
|
||||||
%cmd%
|
%cmd%
|
||||||
|
exit /B %LASTERRORCODE%
|
||||||
|
|
||||||
|
:SetExeDir
|
||||||
|
if /I %1 EQU Win32 (set exedir=%PCBUILD%\win32)
|
||||||
|
if /I %1 EQU x64 (set exedir=%PCBUILD%\amd64)
|
||||||
|
if /I %1 EQU ARM (set exedir=%PCBUILD%\arm32)
|
||||||
|
if /I %1 EQU ARM64 (set exedir=%PCBUILD%\arm64)
|
||||||
|
exit /B 0
|
||||||
|
|
|
@ -22,10 +22,10 @@ echo Based on https://github.com/libffi/libffi/blob/master/.appveyor.yml
|
||||||
echo.
|
echo.
|
||||||
echo.
|
echo.
|
||||||
echo.Available flags:
|
echo.Available flags:
|
||||||
echo. -x64 build for x64
|
echo. -x64 enable x64 build
|
||||||
echo. -x86 build for x86
|
echo. -x86 enable x86 build
|
||||||
echo. -arm32 build for arm32
|
echo. -arm32 enable arm32 build
|
||||||
echo. -arm64 build for arm64
|
echo. -arm64 enable arm64 build
|
||||||
echo. -? this help
|
echo. -? this help
|
||||||
echo. --install-cygwin install cygwin to c:\cygwin
|
echo. --install-cygwin install cygwin to c:\cygwin
|
||||||
exit /b 127
|
exit /b 127
|
||||||
|
@ -44,6 +44,7 @@ set INSTALL_CYGWIN=
|
||||||
if "%1"=="" goto :CheckOptsDone
|
if "%1"=="" goto :CheckOptsDone
|
||||||
if /I "%1"=="-x64" (set BUILD_X64=1) & shift & goto :CheckOpts
|
if /I "%1"=="-x64" (set BUILD_X64=1) & shift & goto :CheckOpts
|
||||||
if /I "%1"=="-x86" (set BUILD_X86=1) & shift & goto :CheckOpts
|
if /I "%1"=="-x86" (set BUILD_X86=1) & shift & goto :CheckOpts
|
||||||
|
if /I "%1"=="-win32" (set BUILD_X86=1) & shift & goto :CheckOpts
|
||||||
if /I "%1"=="-arm32" (set BUILD_ARM32=1) & shift & goto :CheckOpts
|
if /I "%1"=="-arm32" (set BUILD_ARM32=1) & shift & goto :CheckOpts
|
||||||
if /I "%1"=="-arm64" (set BUILD_ARM64=1) & shift & goto :CheckOpts
|
if /I "%1"=="-arm64" (set BUILD_ARM64=1) & shift & goto :CheckOpts
|
||||||
if /I "%1"=="-pdb" (set BUILD_PDB=-g) & shift & goto :CheckOpts
|
if /I "%1"=="-pdb" (set BUILD_PDB=-g) & shift & goto :CheckOpts
|
||||||
|
@ -67,9 +68,7 @@ setlocal
|
||||||
if NOT DEFINED SH if exist c:\cygwin\bin\sh.exe set SH=c:\cygwin\bin\sh.exe
|
if NOT DEFINED SH if exist c:\cygwin\bin\sh.exe set SH=c:\cygwin\bin\sh.exe
|
||||||
|
|
||||||
if NOT DEFINED VCVARSALL (
|
if NOT DEFINED VCVARSALL (
|
||||||
if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" (
|
for /F "tokens=*" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -property installationPath -latest -prerelease -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64') DO @(set VCVARSALL="%%i\VC\Auxiliary\Build\vcvarsall.bat")
|
||||||
set VCVARSALL="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat"
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
if ^%VCVARSALL:~0,1% NEQ ^" SET VCVARSALL="%VCVARSALL%"
|
if ^%VCVARSALL:~0,1% NEQ ^" SET VCVARSALL="%VCVARSALL%"
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,9 @@ rem -O Run python.exe or python_d.exe (see -d) with -O.
|
||||||
rem -q "quick" -- normally the tests are run twice, the first time
|
rem -q "quick" -- normally the tests are run twice, the first time
|
||||||
rem after deleting all the .pyc files reachable from Lib/.
|
rem after deleting all the .pyc files reachable from Lib/.
|
||||||
rem -q runs the tests just once, and without deleting .pyc files.
|
rem -q runs the tests just once, and without deleting .pyc files.
|
||||||
rem -x64 Run the 64-bit build of python (or python_d if -d was specified)
|
rem -p <Win32|x64|ARM|ARM64> or -win32, -x64, -arm32, -arm64
|
||||||
rem When omitted, uses %PREFIX% if set or the 32-bit build
|
rem Run the specified architecture of python (or python_d if -d
|
||||||
|
rem was specified). If omitted, uses %PREFIX% if set or 64-bit.
|
||||||
rem All leading instances of these switches are shifted off, and
|
rem All leading instances of these switches are shifted off, and
|
||||||
rem whatever remains (up to 9 arguments) is passed to regrtest.py.
|
rem whatever remains (up to 9 arguments) is passed to regrtest.py.
|
||||||
rem For example,
|
rem For example,
|
||||||
|
@ -38,12 +39,14 @@ set exe=
|
||||||
if "%1"=="-O" (set dashO=-O) & shift & goto CheckOpts
|
if "%1"=="-O" (set dashO=-O) & shift & goto CheckOpts
|
||||||
if "%1"=="-q" (set qmode=yes) & shift & goto CheckOpts
|
if "%1"=="-q" (set qmode=yes) & shift & goto CheckOpts
|
||||||
if "%1"=="-d" (set suffix=_d) & shift & goto CheckOpts
|
if "%1"=="-d" (set suffix=_d) & shift & goto CheckOpts
|
||||||
|
if "%1"=="-win32" (set prefix=%pcbuild%win32) & shift & goto CheckOpts
|
||||||
if "%1"=="-x64" (set prefix=%pcbuild%amd64) & shift & goto CheckOpts
|
if "%1"=="-x64" (set prefix=%pcbuild%amd64) & shift & goto CheckOpts
|
||||||
if "%1"=="-arm64" (set prefix=%pcbuild%arm64) & shift & goto CheckOpts
|
if "%1"=="-arm64" (set prefix=%pcbuild%arm64) & shift & goto CheckOpts
|
||||||
if "%1"=="-arm32" (set prefix=%pcbuild%arm32) & shift & goto CheckOpts
|
if "%1"=="-arm32" (set prefix=%pcbuild%arm32) & shift & goto CheckOpts
|
||||||
|
if "%1"=="-p" (call :SetPlatform %~2) & shift & shift & goto CheckOpts
|
||||||
if NOT "%1"=="" (set regrtestargs=%regrtestargs% %1) & shift & goto CheckOpts
|
if NOT "%1"=="" (set regrtestargs=%regrtestargs% %1) & shift & goto CheckOpts
|
||||||
|
|
||||||
if not defined prefix set prefix=%pcbuild%win32
|
if not defined prefix set prefix=%pcbuild%amd64
|
||||||
set exe=%prefix%\python%suffix%.exe
|
set exe=%prefix%\python%suffix%.exe
|
||||||
set cmd="%exe%" %dashO% -u -Wd -E -bb -m test %regrtestargs%
|
set cmd="%exe%" %dashO% -u -Wd -E -bb -m test %regrtestargs%
|
||||||
if defined qmode goto Qmode
|
if defined qmode goto Qmode
|
||||||
|
@ -60,6 +63,15 @@ echo on
|
||||||
|
|
||||||
echo About to run again without deleting .pyc first:
|
echo About to run again without deleting .pyc first:
|
||||||
pause
|
pause
|
||||||
|
goto Qmode
|
||||||
|
|
||||||
|
:SetPlatform
|
||||||
|
if /I %1 EQU Win32 (set prefix=%pcbuild%win32) & exit /B 0
|
||||||
|
if /I %1 EQU x64 (set prefix=%pcbuild%amd64) & exit /B 0
|
||||||
|
if /I %1 EQU ARM64 (set prefix=%pcbuild%arm64) & exit /B 0
|
||||||
|
if /I %1 EQU ARM (set prefix=%pcbuild%arm32) & exit /B 0
|
||||||
|
echo Invalid platform "%1"
|
||||||
|
exit /B 1
|
||||||
|
|
||||||
:Qmode
|
:Qmode
|
||||||
echo on
|
echo on
|
||||||
|
|
Loading…
Reference in New Issue