mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Issue #21907: Improved the batch scripts provided for building Python.
The user-facing scripts in PCbuild have been updated to be easier to use and the buildbot scripts in Tools\buildbot have been updated to use the user-facing scripts in PCbuild wherever possible.
This commit is contained in:
		
							parent
							
								
									b132069ea4
								
							
						
					
					
						commit
						e12fa65744
					
				
					 17 changed files with 230 additions and 133 deletions
				
			
		|  | @ -746,6 +746,8 @@ Tools/Demos | |||
| Windows | ||||
| ------- | ||||
| 
 | ||||
| - Issue #21907: Improved the batch scripts provided for building Python. | ||||
| 
 | ||||
| - Issue #21671, CVE-2014-0224: The bundled version of OpenSSL has been | ||||
|   updated to 1.0.1h. | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,19 +1,34 @@ | |||
| @echo off | ||||
| rem A batch program to build or rebuild a particular configuration. | ||||
| rem A batch program to build or rebuild a particular configuration, | ||||
| rem just for convenience. | ||||
| 
 | ||||
| rem Arguments: | ||||
| rem  -c  Set the configuration (default: Release) | ||||
| rem  -p  Set the platform (x64 or Win32, default: Win32) | ||||
| rem  -r  Target Rebuild instead of Build | ||||
| rem  -d  Set the configuration to Debug | ||||
| rem  -e  Pull in external libraries using get_externals.bat | ||||
| 
 | ||||
| setlocal | ||||
| set platf=Win32 | ||||
| set conf=Release | ||||
| set target=build | ||||
| set target=Build | ||||
| set dir=%~dp0 | ||||
| 
 | ||||
| :CheckOpts | ||||
| if "%1"=="-c" (set conf=%2) & shift & shift & goto CheckOpts | ||||
| if "%1"=="-p" (set platf=%2) & shift & shift & goto CheckOpts | ||||
| if "%1"=="-r" (set target=rebuild) & shift & goto CheckOpts | ||||
| if "%1"=="-r" (set target=Rebuild) & shift & goto CheckOpts | ||||
| if "%1"=="-d" (set conf=Debug) & shift & goto CheckOpts | ||||
| if "%1"=="-e" call "%dir%get_externals.bat" & shift & goto CheckOpts | ||||
| 
 | ||||
| set cmd=msbuild /p:useenv=true %dir%pcbuild.sln /t:%target% /p:Configuration=%conf% /p:Platform=%platf% | ||||
| echo %cmd% | ||||
| %cmd% | ||||
| if "%platf%"=="x64" (set vs_platf=x86_amd64) | ||||
| 
 | ||||
| rem Setup the environment | ||||
| call "%VS100COMNTOOLS%..\..\VC\vcvarsall.bat" %vs_platf% | ||||
| 
 | ||||
| rem Call on MSBuild to do the work, echo the command. | ||||
| rem Passing %1-9 is not the preferred option, but argument parsing in | ||||
| rem batch is, shall we say, "lackluster" | ||||
| echo on | ||||
| msbuild "%dir%pcbuild.sln" /t:%target% /p:Configuration=%conf% /p:Platform=%platf% %1 %2 %3 %4 %5 %6 %7 %8 %9 | ||||
|  |  | |||
|  | @ -9,12 +9,12 @@ setlocal | |||
| set platf=Win32 | ||||
| 
 | ||||
| rem use the performance testsuite.  This is quick and simple | ||||
| set job1=..\tools\pybench\pybench.py -n 1 -C 1 --with-gc | ||||
| set path1=..\tools\pybench | ||||
| set job1=%~dp0..\tools\pybench\pybench.py -n 1 -C 1 --with-gc | ||||
| set path1=%~dp0..\tools\pybench | ||||
| 
 | ||||
| rem or the whole testsuite for more thorough testing | ||||
| set job2=..\lib\test\regrtest.py | ||||
| set path2=..\lib | ||||
| set job2=%~dp0..\lib\test\regrtest.py | ||||
| set path2=%~dp0..\lib | ||||
| 
 | ||||
| set job=%job1% | ||||
| set clrpath=%path1% | ||||
|  | @ -31,9 +31,9 @@ rem build the instrumented version | |||
| call build -p %platf% -c PGInstrument | ||||
| 
 | ||||
| rem remove .pyc files, .pgc files and execute the job | ||||
| %PGI%\python.exe rmpyc.py %clrpath% | ||||
| %PGI%\python.exe rmpyc.py "%clrpath%" | ||||
| del %PGI%\*.pgc | ||||
| %PGI%\python.exe %job% | ||||
| %PGI%\python.exe "%job%" | ||||
| 
 | ||||
| rem finally build the optimized version | ||||
| if exist %PGO% del /s /q %PGO% | ||||
|  |  | |||
|  | @ -1,9 +1,5 @@ | |||
| @echo off | ||||
| set VS10=%ProgramFiles(x86)%\Microsoft Visual Studio 10.0 | ||||
| IF EXIST "%VS10%" GOTO ok | ||||
| set VS10=%ProgramFiles%\Microsoft Visual Studio 10.0 | ||||
| :ok | ||||
| 
 | ||||
| echo Build environments: x86, ia64, amd64, x86_amd64, x86_ia64 | ||||
| echo. | ||||
| call "%VS10%\VC\vcvarsall.bat" %1 | ||||
| call "%VS100COMNTOOLS%..\..\VC\vcvarsall.bat" %1 | ||||
|  |  | |||
							
								
								
									
										100
									
								
								PCbuild/get_externals.bat
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								PCbuild/get_externals.bat
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,100 @@ | |||
| @echo off | ||||
| setlocal | ||||
| rem Simple script to fetch source for external libraries | ||||
| 
 | ||||
| pushd "%~dp0..\.." | ||||
| 
 | ||||
| if "%SVNROOT%"=="" set SVNROOT=http://svn.python.org/projects/external/ | ||||
| 
 | ||||
| rem Optionally clean up first.  Be warned that this can be very destructive! | ||||
| if not "%1"=="" ( | ||||
|     for %%c in (-c --clean --clean-only) do ( | ||||
|         if "%1"=="%%c" goto clean | ||||
|     ) | ||||
|     goto usage | ||||
| ) | ||||
| goto fetch | ||||
| 
 | ||||
| :clean | ||||
| echo.Cleaning up external libraries. | ||||
| for /D %%d in ( | ||||
|                bzip2-* | ||||
|                db-* | ||||
|                openssl-* | ||||
|                tcl-* | ||||
|                tcltk* | ||||
|                tk-* | ||||
|                tix-* | ||||
|                sqlite-* | ||||
|                xz-* | ||||
|                ) do ( | ||||
|     echo.Removing %%d | ||||
|     rmdir /s /q %%d | ||||
| ) | ||||
| if "%1"=="--clean-only" ( | ||||
|     goto end | ||||
| ) | ||||
| 
 | ||||
| :fetch | ||||
| rem Fetch current versions | ||||
| 
 | ||||
| svn --version > nul 2>&1 | ||||
| if ERRORLEVEL 9009 ( | ||||
|     echo.svn.exe must be on your PATH. | ||||
|     echo.Try TortoiseSVN (http://tortoisesvn.net/^) and be sure to check the | ||||
|     echo.command line tools option. | ||||
|     popd | ||||
|     exit /b 1 | ||||
| ) | ||||
| 
 | ||||
| echo.Fetching external libraries... | ||||
| 
 | ||||
| for %%e in ( | ||||
|             bzip2-1.0.6 | ||||
|             openssl-1.0.1h | ||||
|             tcl-8.6.1.0 | ||||
|             tk-8.6.1.0 | ||||
|             tix-8.4.3.4 | ||||
|             sqlite-3.8.3.1 | ||||
|             xz-5.0.5 | ||||
|             ) do ( | ||||
|     if exist %%e ( | ||||
|         echo.%%e already exists, skipping. | ||||
|     ) else ( | ||||
|         echo.Fetching %%e... | ||||
|         svn export %SVNROOT%%%e | ||||
|     ) | ||||
| ) | ||||
| 
 | ||||
| goto end | ||||
| 
 | ||||
| :usage | ||||
| echo.invalid argument: %1 | ||||
| echo.usage: %~n0 [[ -c ^| --clean ] ^| --clean-only ] | ||||
| echo. | ||||
| echo.Pull all sources necessary for compiling optional extension modules | ||||
| echo.that rely on external libraries.  Requires svn.exe to be on your PATH | ||||
| echo.and pulls sources from %SVNROOT%. | ||||
| echo. | ||||
| echo.Use the -c or --clean option to clean up all external library sources | ||||
| echo.before pulling in the current versions. | ||||
| echo. | ||||
| echo.Use the --clean-only option to do the same cleaning, without pulling in | ||||
| echo.anything new. | ||||
| echo. | ||||
| echo.Only the first argument is checked, all others are ignored. | ||||
| echo. | ||||
| echo.**WARNING**: the cleaning options unconditionally remove any directory | ||||
| echo.that is a child of | ||||
| echo.   %CD% | ||||
| echo.and matches wildcard patterns beginning with bzip2-, db-, openssl-, tcl-, | ||||
| echo.tcltk, tk-, tix-, sqlite-, or xz-, and as such has the potential to be | ||||
| echo.very destructive if you are not aware of what it is doing.  Use with | ||||
| echo.caution! | ||||
| popd | ||||
| exit /b -1 | ||||
| 
 | ||||
| 
 | ||||
| :end | ||||
| echo Finished. | ||||
| popd | ||||
|  | @ -1,3 +1,13 @@ | |||
| Quick Start Guide | ||||
| ----------------- | ||||
| 
 | ||||
| 1.  Install Microsoft Visual C++ 2010 SP1, any edition. | ||||
| 2.  Install Subversion, and make sure 'svn.exe' is on your PATH. | ||||
| 3.  Install NASM, and make sure 'nasm.exe' is on your PATH. | ||||
| 4.  Run "build.bat -e" to build Python in 32-bit Release configuration. | ||||
| 5.  (Optional, but recommended) Run the test suite with "rt.bat -q". | ||||
| 
 | ||||
| 
 | ||||
| Building Python using Microsoft Visual C++ | ||||
| ------------------------------------------ | ||||
| 
 | ||||
|  | @ -24,8 +34,8 @@ All you need to do to build is open the solution "pcbuild.sln" in Visual | |||
| Studio, select the desired combination of configuration and platform, | ||||
| then build with "Build Solution" or the F7 keyboard shortcut.  You can | ||||
| also build from the command line using the "build.bat" script in this | ||||
| directory.  The solution is configured to build the projects in the | ||||
| correct order. | ||||
| directory; see below for details.  The solution is configured to build | ||||
| the projects in the correct order. | ||||
| 
 | ||||
| The solution currently supports two platforms.  The Win32 platform is | ||||
| used to build standard x86-compatible 32-bit binaries, output into this | ||||
|  | @ -56,6 +66,26 @@ Release | |||
|     settings, though without PGO. | ||||
| 
 | ||||
| 
 | ||||
| Building Python using the build.bat script | ||||
| ---------------------------------------------- | ||||
| 
 | ||||
| In this directory you can find build.bat, a script designed to make | ||||
| building Python on Windows simpler.  The only absolute requirement for | ||||
| using this script is for the VS100COMNTOOLS environment variable to be | ||||
| properly set, which should be done by Microsoft Visual C++ 2010 | ||||
| installation. | ||||
| 
 | ||||
| By default, build.bat will build Python in Release configuration for | ||||
| the 32-bit Win32 platform.  It accepts several arguments to change | ||||
| this behavior: | ||||
| 
 | ||||
|    -c <configuration>  Set the configuration (see above) | ||||
|    -d                  Shortcut for "-c Debug" | ||||
|    -p <platform>       Set the platform to build for ("Win32" or "x64") | ||||
|    -r                  Rebuild instead of just building | ||||
|    -e                  Use get_externals.bat to fetch external sources | ||||
| 
 | ||||
| 
 | ||||
| Legacy support | ||||
| -------------- | ||||
| 
 | ||||
|  | @ -227,25 +257,18 @@ Getting External Sources | |||
| The last category of sub-projects listed above wrap external projects | ||||
| Python doesn't control, and as such a little more work is required in | ||||
| order to download the relevant source files for each project before they | ||||
| can be built.  The buildbots must ensure that all libraries are present | ||||
| before building, so the easiest approach is to run either external.bat | ||||
| or external-amd64.bat (depending on platform) in the ..\Tools\buildbot | ||||
| directory from ..\, i.e.: | ||||
| 
 | ||||
|     C:\python\cpython\PCbuild>cd .. | ||||
|     C:\python\cpython>Tools\buildbot\external.bat | ||||
| 
 | ||||
| This extracts all the external sub-projects from | ||||
| can be built.  However, a simple script is provided to make this as | ||||
| painless as possible, called "get_externals.bat" and located in this | ||||
| directory.  This script extracts all the external sub-projects from | ||||
|     http://svn.python.org/projects/external | ||||
| via Subversion (so you'll need an svn.exe on your PATH) and places them | ||||
| via Subversion (so you'll need svn.exe on your PATH) and places them | ||||
| in ..\.. (relative to this directory). | ||||
| 
 | ||||
| It is also possible to download sources from each project's homepage, | ||||
| though you may have to change the names of some folders in order to make | ||||
| things work.  For instance, if you were to download a version 5.0.7 of | ||||
| XZ Utils, you would need to extract the archive into ..\..\xz-5.0.5 | ||||
| anyway, since that is where the solution is set to look for xz.  The | ||||
| same is true for all other external projects. | ||||
| though you may have to change folder names or pass the names to MSBuild | ||||
| as the values of certain properties in order for the build solution to | ||||
| find them.  This is an advanced topic and not necessarily fully | ||||
| supported. | ||||
| 
 | ||||
| 
 | ||||
| Building for AMD64 | ||||
|  |  | |||
|  | @ -1,6 +1,2 @@ | |||
| @rem Used by the buildbot "compile" step. | ||||
| cmd /c Tools\buildbot\external-amd64.bat | ||||
| call "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64 | ||||
| cmd /c Tools\buildbot\clean-amd64.bat | ||||
| 
 | ||||
| msbuild PCbuild\pcbuild.sln /p:Configuration=Debug /p:Platform=x64 | ||||
| call "%~dp0build.bat" -p x64 %* | ||||
|  |  | |||
|  | @ -1,7 +1,17 @@ | |||
| @rem Used by the buildbot "compile" step. | ||||
| cmd /c Tools\buildbot\external.bat | ||||
| call "%VS100COMNTOOLS%vsvars32.bat" | ||||
| cmd /c Tools\buildbot\clean.bat | ||||
| 
 | ||||
| msbuild PCbuild\pcbuild.sln /p:Configuration=Debug /p:Platform=Win32 | ||||
| @rem Clean up | ||||
| call "%~dp0clean.bat" | ||||
| 
 | ||||
| @rem If you need the buildbots to start fresh (such as when upgrading to | ||||
| @rem a new version of an external library, especially Tcl/Tk): | ||||
| @rem 1) uncomment the following line: | ||||
| 
 | ||||
| @rem    call "%~dp0..\..\PCbuild\get_externals.bat" --clean-only | ||||
| 
 | ||||
| @rem 2) commit and push | ||||
| @rem 3) wait for all Windows bots to start a build with that changeset | ||||
| @rem 4) re-comment, commit and push again | ||||
| 
 | ||||
| @rem Do the build | ||||
| call "%~dp0..\..\PCbuild\build.bat" -e -d %* | ||||
|  |  | |||
|  | @ -1,21 +1,20 @@ | |||
| @rem Used by the buildbot "buildmsi" step. | ||||
| setlocal | ||||
| 
 | ||||
| cmd /c Tools\buildbot\external.bat | ||||
| set cwd=%CD% | ||||
| @rem build release versions of things | ||||
| call "%VS100COMNTOOLS%vsvars32.bat" | ||||
| 
 | ||||
| @rem build Python | ||||
| msbuild /p:useenv=true PCbuild\pcbuild.sln /p:Configuration=Release /p:Platform=Win32 | ||||
| call "%~dp0build.bat" -c Release | ||||
| 
 | ||||
| @rem build the documentation | ||||
| bash.exe -c 'cd Doc;make PYTHON=python2.5 update htmlhelp' | ||||
| "%ProgramFiles%\HTML Help Workshop\hhc.exe" Doc\build\htmlhelp\python26a3.hhp | ||||
| call "%~dp0..\..\Doc\make.bat" htmlhelp | ||||
| 
 | ||||
| @rem build the MSI file | ||||
| cd PC | ||||
| call "%VS100COMNTOOLS%..\..\VC\vcvarsall.bat" x86 | ||||
| cd "%~dp0..\..\PC" | ||||
| nmake /f icons.mak | ||||
| cd ..\Tools\msi | ||||
| del *.msi | ||||
| nmake /f msisupport.mak | ||||
| %HOST_PYTHON% msi.py | ||||
| 
 | ||||
| cd "%cwd%" | ||||
|  |  | |||
|  | @ -1,10 +1,2 @@ | |||
| @rem Used by the buildbot "clean" step. | ||||
| call "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64 | ||||
| @echo Deleting .pyc/.pyo files ... | ||||
| del /s Lib\*.pyc Lib\*.pyo | ||||
| @echo Deleting test leftovers ... | ||||
| rmdir /s /q build | ||||
| cd PCbuild | ||||
| msbuild /target:clean pcbuild.sln /p:Configuration=Release /p:PlatformTarget=x64 | ||||
| msbuild /target:clean pcbuild.sln /p:Configuration=Debug /p:PlatformTarget=x64 | ||||
| cd .. | ||||
| call "%~dp0clean.bat" | ||||
|  |  | |||
|  | @ -1,8 +1,22 @@ | |||
| @rem Used by the buildbot "clean" step. | ||||
| call "%VS100COMNTOOLS%vsvars32.bat" | ||||
| @echo Deleting test leftovers ... | ||||
| rmdir /s /q build | ||||
| cd PCbuild | ||||
| msbuild /target:clean pcbuild.sln /p:Configuration=Release /p:PlatformTarget=x86 | ||||
| msbuild /target:clean pcbuild.sln /p:Configuration=Debug /p:PlatformTarget=x86 | ||||
| cd .. | ||||
| @echo off | ||||
| rem Used by the buildbot "clean" step. | ||||
| 
 | ||||
| setlocal | ||||
| set root=%~dp0..\.. | ||||
| set pcbuild=%root%\PCbuild | ||||
| 
 | ||||
| echo.Attempting to kill Pythons... | ||||
| for %%k in (kill_python.exe | ||||
|             kill_python_d.exe | ||||
|             amd64\kill_python.exe | ||||
|             amd64\kill_python_d.exe | ||||
|             ) do ( | ||||
|     if exist "%pcbuild%\%%k" ( | ||||
|         echo.Calling %pcbuild%\%%k... | ||||
|         "%pcbuild%\%%k" | ||||
|     ) | ||||
| ) | ||||
| 
 | ||||
| echo Purging all non-tracked files with `hg purge` | ||||
| echo on | ||||
| hg -R "%root%" --config extensions.purge= purge --all -X "%root%\Lib\test\data" | ||||
|  |  | |||
|  | @ -1,6 +1,2 @@ | |||
| @rem Fetches (and builds if necessary) external dependencies | ||||
| 
 | ||||
| @rem Assume we start inside the Python source directory | ||||
| call "Tools\buildbot\external-common.bat" | ||||
| 
 | ||||
| 
 | ||||
| @echo Please use PCbuild\get_externals.bat instead. | ||||
| @"%~dp0..\..\PCbuild\get_externals.bat" %* | ||||
|  |  | |||
|  | @ -1,47 +0,0 @@ | |||
| @rem Common file shared between external.bat and external-amd64.bat.  Responsible for | ||||
| @rem fetching external components into the root\.. buildbot directories. | ||||
| 
 | ||||
| cd .. | ||||
| @rem XXX: If you need to force the buildbots to start from a fresh environment, uncomment | ||||
| @rem the following, check it in, then check it out, comment it out, then check it back in. | ||||
| @rem if exist bzip2-1.0.6 rd /s/q bzip2-1.0.6 | ||||
| @rem if exist tcltk rd /s/q tcltk | ||||
| @rem if exist tcltk64 rd /s/q tcltk64 | ||||
| @rem if exist tcl-8.6.1.0 rd /s/q tcl-8.6.1.0 | ||||
| @rem if exist tk-8.6.1.0 rd /s/q tk-8.6.1.0 | ||||
| @rem if exist tix-8.4.3.4 rd /s/q tix-8.4.3.4 | ||||
| @rem if exist db-4.4.20 rd /s/q db-4.4.20 | ||||
| @rem if exist openssl-1.0.1h rd /s/q openssl-1.0.1h | ||||
| @rem if exist sqlite-3.7.12 rd /s/q sqlite-3.7.12 | ||||
| 
 | ||||
| @rem bzip | ||||
| if not exist bzip2-1.0.6 ( | ||||
|    rd /s/q bzip2-1.0.5 | ||||
|   svn export http://svn.python.org/projects/external/bzip2-1.0.6 | ||||
| ) | ||||
| 
 | ||||
| @rem OpenSSL | ||||
| if not exist openssl-1.0.1h ( | ||||
|     rd /s/q openssl-1.0.1g | ||||
|     svn export http://svn.python.org/projects/external/openssl-1.0.1h | ||||
| ) | ||||
| 
 | ||||
| @rem tcl/tk/tix | ||||
| if not exist tcl-8.6.1.0 ( | ||||
|    rd /s/q tcltk tcltk64 tcl-8.5.11.0 tk-8.5.11.0 tix-8.4.3.3 | ||||
|    svn export http://svn.python.org/projects/external/tcl-8.6.1.0 | ||||
| ) | ||||
| if not exist tk-8.6.1.0 svn export http://svn.python.org/projects/external/tk-8.6.1.0 | ||||
| if not exist tix-8.4.3.4 svn export http://svn.python.org/projects/external/tix-8.4.3.4 | ||||
| 
 | ||||
| @rem sqlite3 | ||||
| if not exist sqlite-3.8.3.1 ( | ||||
|   rd /s/q sqlite-source-3.8.1 | ||||
|   svn export http://svn.python.org/projects/external/sqlite-3.8.3.1 | ||||
| ) | ||||
| 
 | ||||
| @rem lzma | ||||
| if not exist xz-5.0.5 ( | ||||
|   rd /s/q xz-5.0.3 | ||||
|   svn export http://svn.python.org/projects/external/xz-5.0.5 | ||||
| ) | ||||
|  | @ -1,5 +1,2 @@ | |||
| @rem Fetches (and builds if necessary) external dependencies | ||||
| 
 | ||||
| @rem Assume we start inside the Python source directory | ||||
| call "Tools\buildbot\external-common.bat" | ||||
| 
 | ||||
| @echo Please use PCbuild\get_externals.bat instead. | ||||
| @"%~dp0..\..\PCbuild\get_externals.bat" %* | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| @rem Used by the buildbot "test" step. | ||||
| 
 | ||||
| rem The following line should be removed before #20035 is closed | ||||
| set TCL_LIBRARY=%CD%\..\tcltk64\lib\tcl8.6 | ||||
| cd PCbuild | ||||
| call rt.bat -d -q -x64 -uall -rwW -n --timeout=3600 %1 %2 %3 %4 %5 %6 %7 %8 %9 | ||||
| set TCL_LIBRARY=%~dp0..\..\..\tcltk64\lib\tcl8.6 | ||||
| 
 | ||||
| "%~dp0..\..\PCbuild\amd64\python_d.exe" "%~dp0..\scripts\run_tests.py" -j 1 -u all -W --timeout=3600 %* | ||||
|  |  | |||
|  | @ -1,6 +1,6 @@ | |||
| @rem Used by the buildbot "test" step. | ||||
| 
 | ||||
| rem The following line should be removed before #20035 is closed | ||||
| set TCL_LIBRARY=%CD%\..\tcltk\lib\tcl8.6 | ||||
| cd PCbuild | ||||
| call rt.bat -d -q -uall -rwW -n --timeout=3600 %1 %2 %3 %4 %5 %6 %7 %8 %9 | ||||
| set TCL_LIBRARY=%~dp0..\..\..\tcltk\lib\tcl8.6 | ||||
| 
 | ||||
| "%~dp0..\..\PCbuild\python_d.exe" "%~dp0..\scripts\run_tests.py" -j 1 -u all -W --timeout=3600 %* | ||||
|  |  | |||
|  | @ -48,7 +48,11 @@ def main(regrtest_args): | |||
|         args.extend(['-u', 'all,-largefile,-audio,-gui']) | ||||
|     args.extend(regrtest_args) | ||||
|     print(' '.join(args)) | ||||
|     os.execv(sys.executable, args) | ||||
|     if sys.platform == 'win32': | ||||
|         from subprocess import call | ||||
|         call(args) | ||||
|     else: | ||||
|         os.execv(sys.executable, args) | ||||
| 
 | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Zachary Ware
						Zachary Ware