| @echo off | |
| setlocal | |
| rem Simple script to fetch source for external libraries | |
| if not exist "%~dp0..\externals" mkdir "%~dp0..\externals" | |
| pushd "%~dp0..\externals" | |
| 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-* | |
| nasm-* | |
| 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... | |
| set libraries= | |
| set libraries=%libraries% bzip2-1.0.6 | |
| if NOT "%IncludeSSL%"=="false" set libraries=%libraries% nasm-2.11.06 | |
| if NOT "%IncludeSSL%"=="false" set libraries=%libraries% openssl-1.0.2j | |
| set libraries=%libraries% sqlite-3.14.2.0 | |
| if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tcl-core-8.6.6.0 | |
| if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tk-8.6.6.0 | |
| if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tix-8.4.3.6 | |
| set libraries=%libraries% xz-5.2.2 | |
| for %%e in (%libraries%) 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-, nasm-, openssl-, | |
| echo.tcl-, tcltk, tk-, tix-, sqlite-, or xz-, and as such has the potential | |
| echo.to be very destructive if you are not aware of what it is doing. Use with | |
| echo.caution! | |
| popd | |
| exit /b -1 | |
| :end | |
| echo Finished. | |
| popd |