mirror of https://github.com/python/cpython
64 lines
2.3 KiB
Batchfile
64 lines
2.3 KiB
Batchfile
@echo off
|
|
rem Downloads and build sources for libraries we depend upon
|
|
|
|
goto Run
|
|
:Usage
|
|
echo.%~nx0 [flags and arguments]
|
|
echo.
|
|
echo.Download and build OpenSSL. This should only be performed in order to
|
|
echo.update the binaries kept online - in most cases, the files downloaded
|
|
echo.by the get_externals.bat script are sufficient for building CPython.
|
|
echo.
|
|
echo.Available flags:
|
|
echo. -h Display this help message
|
|
echo.
|
|
echo.Available arguments:
|
|
echo. --certificate (-c) The signing certificate to use for binaries.
|
|
echo. --organization The github organization to obtain sources from.
|
|
echo.
|
|
exit /b 127
|
|
|
|
:Run
|
|
setlocal
|
|
if "%PCBUILD%"=="" (set PCBUILD=%~dp0)
|
|
if "%EXTERNALS_DIR%"=="" (set EXTERNALS_DIR=%PCBUILD%\..\externals)
|
|
|
|
set OUT=
|
|
set SRC=
|
|
set ORG_SETTING=
|
|
|
|
:CheckOpts
|
|
if "%~1"=="-h" shift & goto Usage
|
|
if "%~1"=="--certificate" (set SigningCertificate=%~2) && shift && shift & goto CheckOpts
|
|
if "%~1"=="-c" (set SigningCertificate=%~2) && shift && shift & goto CheckOpts
|
|
if "%~1"=="--organization" (set ORG_SETTING=--organization "%~2") && shift && shift && goto CheckOpts
|
|
if "%~1"=="-i" (SET SRC=$~2) && shift && shift && goto CheckOpts
|
|
if "%~1"=="--in" (SET SRC=$~2) && shift && shift && goto CheckOpts
|
|
if "%~1"=="-o" (set OUT=$~2) && shift && shift && goto CheckOpts
|
|
if "%~1"=="--out" (set OUT=$~2) && shift && shift && goto CheckOpts
|
|
|
|
if "%~1"=="" goto Build
|
|
echo Unrecognized option: %1
|
|
goto Usage
|
|
|
|
:Build
|
|
if not defined SRC (echo --in directory is required & exit /b 1)
|
|
if not defined OUT (echo --out directory is required & exit /b 1)
|
|
|
|
call "%PCBUILD%find_msbuild.bat" %MSBUILD%
|
|
if ERRORLEVEL 1 (echo Cannot locate MSBuild.exe on PATH or as MSBUILD variable & exit /b 2)
|
|
|
|
call "%PCBUILD%find_python.bat" "%PYTHON%"
|
|
if ERRORLEVEL 1 (echo Cannot locate python.exe on PATH or as PYTHON variable & exit /b 3)
|
|
|
|
call "%PCBUILD%get_externals.bat" --openssl-src %ORG_SETTING%
|
|
|
|
if "%PERL%" == "" where perl > "%TEMP%\perl.loc" 2> nul && set /P PERL= <"%TEMP%\perl.loc" & del "%TEMP%\perl.loc"
|
|
if "%PERL%" == "" (echo Cannot locate perl.exe on PATH or as PERL variable & exit /b 4)
|
|
|
|
%MSBUILD% "%PCBUILD%openssl.vcxproj" /p:Configuration=Release /p:Platform=Win32
|
|
if errorlevel 1 exit /b
|
|
%MSBUILD% "%PCBUILD%openssl.vcxproj" /p:Configuration=Release /p:Platform=x64
|
|
if errorlevel 1 exit /b
|
|
|