diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /python/psutil/make.bat | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'python/psutil/make.bat')
-rw-r--r-- | python/psutil/make.bat | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/python/psutil/make.bat b/python/psutil/make.bat new file mode 100644 index 000000000..9c430101d --- /dev/null +++ b/python/psutil/make.bat @@ -0,0 +1,201 @@ +@echo off + +rem ========================================================================== +rem Shortcuts for various tasks, emulating UNIX "make" on Windows. +rem It is primarly intended as a shortcut for compiling / installing +rem psutil ("make.bat build", "make.bat install") and running tests +rem ("make.bat test"). +rem +rem This script is modeled after my Windows installation which uses: +rem - Visual studio 2008 for Python 2.6, 2.7, 3.2 +rem - Visual studio 2010 for Python 3.3+ +rem ...therefore it might not work on your Windows installation. +rem +rem By default C:\Python27\python.exe is used. +rem To compile for a specific Python version run: +rem set PYTHON=C:\Python34\python.exe & make.bat build +rem +rem To use a different test script: +rem set PYTHON=C:\Python34\python.exe & set TSCRIPT=foo.py & make.bat test +rem ========================================================================== + +if "%PYTHON%" == "" ( + set PYTHON=C:\Python27\python.exe +) +if "%TSCRIPT%" == "" ( + set TSCRIPT=test\test_psutil.py +) + +set PYTHON26=C:\Python26\python.exe +set PYTHON27=C:\Python27\python.exe +set PYTHON33=C:\Python33\python.exe +set PYTHON34=C:\Python34\python.exe +set PYTHON26-64=C:\Python26-64\python.exe +set PYTHON27-64=C:\Python27-64\python.exe +set PYTHON33-64=C:\Python33-64\python.exe +set PYTHON34-64=C:\Python34-64\python.exe + +set ALL_PYTHONS=%PYTHON26% %PYTHON27% %PYTHON33% %PYTHON34% %PYTHON26-64% %PYTHON27-64% %PYTHON33-64% %PYTHON34-64% + +rem Needed to locate the .pypirc file and upload exes on PYPI. +set HOME=%USERPROFILE% + +rem ========================================================================== + +if "%1" == "help" ( + :help + echo Run `make ^<target^>` where ^<target^> is one of: + echo build compile without installing + echo build-all build exes + wheels + echo clean clean build files + echo flake8 run flake8 + echo install compile and install + echo setup-dev-env install pip, pywin32, wheels, etc. for all python versions + echo test run tests + echo test-memleaks run memory leak tests + echo test-process run process related tests + echo test-system run system APIs related tests + echo uninstall uninstall + echo upload-all upload exes + wheels + goto :eof +) + +if "%1" == "clean" ( + for /r %%R in (__pycache__) do if exist %%R (rmdir /S /Q %%R) + for /r %%R in (*.pyc) do if exist %%R (del /s %%R) + for /r %%R in (*.pyd) do if exist %%R (del /s %%R) + for /r %%R in (*.orig) do if exist %%R (del /s %%R) + for /r %%R in (*.bak) do if exist %%R (del /s %%R) + for /r %%R in (*.rej) do if exist %%R (del /s %%R) + if exist psutil.egg-info (rmdir /S /Q psutil.egg-info) + if exist build (rmdir /S /Q build) + if exist dist (rmdir /S /Q dist) + goto :eof +) + +if "%1" == "build" ( + :build + "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat" + %PYTHON% setup.py build + if %errorlevel% neq 0 goto :error + rem copies *.pyd files in ./psutil directory in order to allow + rem "import psutil" when using the interactive interpreter from + rem within this directory. + %PYTHON% setup.py build_ext -i + if %errorlevel% neq 0 goto :error + goto :eof +) + +if "%1" == "install" ( + :install + call :build + %PYTHON% setup.py install + goto :eof +) + +if "%1" == "uninstall" ( + for %%A in ("%PYTHON%") do ( + set folder=%%~dpA + ) + for /F "delims=" %%i in ('dir /b %folder%\Lib\site-packages\*psutil*') do ( + rmdir /S /Q %folder%\Lib\site-packages\%%i + ) + goto :eof +) + +if "%1" == "test" ( + call :install + %PYTHON% %TSCRIPT% + goto :eof +) + +if "%1" == "test-process" ( + call :install + %PYTHON% -m unittest -v test.test_psutil.TestProcess + goto :eof +) + +if "%1" == "test-system" ( + call :install + %PYTHON% -m unittest -v test.test_psutil.TestSystem + goto :eof +) + +if "%1" == "test-memleaks" ( + call :install + %PYTHON% test\test_memory_leaks.py + goto :eof +) + +if "%1" == "build-all" ( + :build-all + "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat" + for %%P in (%ALL_PYTHONS%) do ( + @echo ------------------------------------------------ + @echo building exe for %%P + @echo ------------------------------------------------ + %%P setup.py build bdist_wininst || goto :error + @echo ------------------------------------------------ + @echo building wheel for %%P + @echo ------------------------------------------------ + %%P setup.py build bdist_wheel || goto :error + ) + echo OK + goto :eof +) + +if "%1" == "upload-all" ( + :upload-exes + "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars64.bat" + for %%P in (%ALL_PYTHONS%) do ( + @echo ------------------------------------------------ + @echo uploading exe for %%P + @echo ------------------------------------------------ + %%P setup.py build bdist_wininst upload || goto :error + @echo ------------------------------------------------ + @echo uploading wheel for %%P + @echo ------------------------------------------------ + %%P setup.py build bdist_wheel upload || goto :error + ) + echo OK + goto :eof +) + +if "%1" == "setup-dev-env" ( + :setup-env + @echo ------------------------------------------------ + @echo downloading pip installer + @echo ------------------------------------------------ + C:\python27\python.exe -c "import urllib2; r = urllib2.urlopen('https://raw.github.com/pypa/pip/master/contrib/get-pip.py'); open('get-pip.py', 'wb').write(r.read())" + for %%P in (%ALL_PYTHONS%) do ( + @echo ------------------------------------------------ + @echo installing pip for %%P + @echo ------------------------------------------------ + %%P get-pip.py + ) + for %%P in (%ALL_PYTHONS%) do ( + @echo ------------------------------------------------ + @echo installing deps for %%P + @echo ------------------------------------------------ + rem mandatory / for unittests + %%P -m pip install unittest2 ipaddress mock wmi wheel pypiwin32 --upgrade + rem nice to have + %%P -m pip install ipdb pep8 pyflakes flake8 --upgrade + ) + goto :eof +) + +if "%1" == "flake8" ( + :flake8 + %PYTHON% -c "from flake8.main import main; main()" + goto :eof +) + +goto :help + +:error + @echo ------------------------------------------------ + @echo last command exited with error code %errorlevel% + @echo ------------------------------------------------ + @exit /b %errorlevel% + goto :eof |