[bpo-30916] Pre-build OpenSSL and Tcl/Tk for Windows (#2688)

Updates ssl and tkinter projects to use pre-built externals
This commit is contained in:
Steve Dower 2017-07-17 11:15:48 +02:00 committed by GitHub
parent 49f6449ef4
commit 68d663cf85
34 changed files with 495 additions and 1400 deletions

View File

@ -5,8 +5,19 @@ pushd %~dp0
set this=%~n0
if "%SPHINXBUILD%" EQU "" set SPHINXBUILD=sphinx-build
call ..\PCBuild\find_python.bat %PYTHON%
if "%SPHINXBUILD%" EQU "" if "%PYTHON%" NEQ "" (
set SPHINXBUILD=%PYTHON%\..\Scripts\sphinx-build.exe
rem Cannot use %SPHINXBUILD% in the same block where we set it
if not exist "%PYTHON%\..\Scripts\sphinx-build.exe" (
echo Installing sphinx with %PYTHON%
"%PYTHON%" -m pip install sphinx
if errorlevel 1 exit /B
)
)
if "%PYTHON%" EQU "" set PYTHON=py
if "%SPHINXBUILD%" EQU "" set SPHINXBUILD=sphinx-build
if "%1" NEQ "htmlhelp" goto :skiphhcsearch
if exist "%HTMLHELP%" goto :skiphhcsearch

View File

@ -1244,6 +1244,7 @@ class ContextTests(unittest.TestCase):
self.assertEqual(ctx.cert_store_stats(), {"crl": 0, "x509": 1, "x509_ca": 0})
@unittest.skipUnless(sys.platform == "win32", "Windows specific")
@unittest.skipIf(hasattr(sys, "gettotalrefcount"), "Debug build does not share environment between CRTs")
def test_load_default_certs_env_windows(self):
ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
ctx.load_default_certs()

View File

@ -0,0 +1 @@
Pre-build OpenSSL, Tcl and Tk and include the binaries in the build.

View File

@ -21,11 +21,13 @@
#ifdef WITH_THREAD
#include "pythread.h"
/* Redefined below for Windows debug builds after important #includes */
#define _PySSL_FIX_ERRNO
#define PySSL_BEGIN_ALLOW_THREADS_S(save) \
do { if (_ssl_locks_count>0) { (save) = PyEval_SaveThread(); } } while (0)
#define PySSL_END_ALLOW_THREADS_S(save) \
do { if (_ssl_locks_count>0) { PyEval_RestoreThread(save); } } while (0)
do { if (_ssl_locks_count>0) { PyEval_RestoreThread(save); } _PySSL_FIX_ERRNO; } while (0)
#define PySSL_BEGIN_ALLOW_THREADS { \
PyThreadState *_save = NULL; \
PySSL_BEGIN_ALLOW_THREADS_S(_save);
@ -96,6 +98,40 @@ struct py_ssl_library_code {
int code;
};
#if defined(MS_WINDOWS) && defined(Py_DEBUG)
/* Debug builds on Windows rely on getting errno directly from OpenSSL.
* However, because it uses a different CRT, we need to transfer the
* value of errno from OpenSSL into our debug CRT.
*
* Don't be fooled - this is horribly ugly code. The only reasonable
* alternative is to do both debug and release builds of OpenSSL, which
* requires much uglier code to transform their automatically generated
* makefile. This is the lesser of all the evils.
*/
static void _PySSLFixErrno(void) {
HMODULE ucrtbase = GetModuleHandleW(L"ucrtbase.dll");
if (!ucrtbase) {
/* If ucrtbase.dll is not loaded but the SSL DLLs are, we likely
* have a catastrophic failure, but this function is not the
* place to raise it. */
return;
}
typedef int *(__stdcall *errno_func)(void);
errno_func ssl_errno = (errno_func)GetProcAddress(ucrtbase, "_errno");
if (ssl_errno) {
errno = *ssl_errno();
*ssl_errno() = 0;
} else {
errno = ENOTRECOVERABLE;
}
}
#undef _PySSL_FIX_ERRNO
#define _PySSL_FIX_ERRNO _PySSLFixErrno()
#endif
/* Include generated data (error codes) */
#include "_ssl_data.h"

View File

@ -54,17 +54,15 @@
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="pyproject.props" />
<Import Project="openssl.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(opensslIncludeDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;$(OutDir)libeay$(PyDebugExt).lib;$(OutDir)ssleay$(PyDebugExt).lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
@ -78,14 +76,6 @@
<Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="ssleay.vcxproj">
<Project>{10615b24-73bf-4efa-93aa-236916321317}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="libeay.vcxproj">
<Project>{e5b04cc0-eb4c-42ab-b4dc-18ef95f864b0}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View File

@ -54,21 +54,22 @@
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="pyproject.props" />
<Import Project="openssl.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(opensslIncludeDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;crypt32.lib;$(OutDir)libeay$(PyDebugExt).lib;$(OutDir)ssleay$(PyDebugExt).lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>ws2_32.lib;crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\Modules\_ssl.c" />
<ClCompile Include="$(opensslIncludeDir)\applink.c">
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;$(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\PC\python_nt.rc" />
@ -78,14 +79,6 @@
<Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="libeay.vcxproj">
<Project>{e5b04cc0-eb4c-42ab-b4dc-18ef95f864b0}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="ssleay.vcxproj">
<Project>{10615b24-73bf-4efa-93aa-236916321317}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="_socket.vcxproj">
<Project>{86937f53-c189-40ef-8ce8-8759d8e7d480}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
@ -94,4 +87,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -9,5 +9,11 @@
<ClCompile Include="..\Modules\_ssl.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(opensslIncludeDir)\applink.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\PC\python_nt.rc" />
</ItemGroup>
</Project>

View File

@ -76,19 +76,23 @@
<ItemGroup>
<ResourceCompile Include="..\PC\python_nt.rc" />
</ItemGroup>
<ItemGroup>
<_TclTkDLL Include="$(tcltkdir)\bin\$(tclDllName)" />
<_TclTkDLL Include="$(tcltkdir)\bin\$(tkDllName)" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="pythoncore.vcxproj">
<Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="tcl.vcxproj">
<Project>{b5fd6f1d-129e-4bff-9340-03606fac7283}</Project>
</ProjectReference>
<ProjectReference Include="tk.vcxproj">
<Project>{7e85eccf-a72c-4da4-9e52-884508e80ba1}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="_CopyTclTkDLL" Inputs="@(_TclTkDLL)" Outputs="@(_TclTkDLL->'$(OutDir)%(Filename)%(Extension)')" AfterTargets="Build">
<Copy SourceFiles="@(_TclTkDLL)" DestinationFolder="$(OutDir)" />
</Target>
<Target Name="_CleanTclTkDLL" BeforeTargets="Clean">
<Delete Files="@(_TclTkDLL->'$(OutDir)%(Filename)%(Extension)')" />
</Target>
</Project>

View File

@ -5,8 +5,6 @@ echo.%~nx0 [flags and arguments] [quoted MSBuild options]
echo.
echo.Build CPython from the command line. Requires the appropriate
echo.version(s) of Microsoft Visual Studio to be installed (see readme.txt).
echo.Also requires Subversion (svn.exe) to be on PATH if the '-e' flag is
echo.given.
echo.
echo.After the flags recognized by this script, up to 9 arguments to be passed
echo.directly to MSBuild may be passed. If the argument contains an '=', the

View File

@ -29,6 +29,14 @@
@where msbuild > "%TEMP%\msbuild.loc" 2> nul && set /P MSBUILD= < "%TEMP%\msbuild.loc" & del "%TEMP%\msbuild.loc"
@if exist "%MSBUILD%" set MSBUILD="%MSBUILD%" & (set _Py_MSBuild_Source=PATH) & goto :found
@rem VS 2015 and earlier register MSBuild separately, so we can find it.
@rem Prefer MSBuild 14.0 over MSBuild 15.0, since the latter may not be able to find a VC14 install.
@reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0" /v MSBuildToolsPath /reg:32 >nul 2>nul
@if NOT ERRORLEVEL 1 @for /F "tokens=1,2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0" /v MSBuildToolsPath /reg:32') DO @(
@if "%%i"=="MSBuildToolsPath" @if exist "%%k\msbuild.exe" @(set MSBUILD="%%k\msbuild.exe")
)
@if exist %MSBUILD% (set _Py_MSBuild_Source=registry) & goto :found
@rem VS 2017 sets exactly one install as the "main" install, so we may find MSBuild in there.
@reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VS7" /v 15.0 /reg:32 >nul 2>nul
@if NOT ERRORLEVEL 1 @for /F "tokens=1,2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\SxS\VS7" /v 15.0 /reg:32') DO @(
@ -36,13 +44,6 @@
)
@if exist %MSBUILD% (set _Py_MSBuild_Source=Visual Studio 2017 registry) & goto :found
@rem VS 2015 and earlier register MSBuild separately, so we can find it.
@reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0" /v MSBuildToolsPath /reg:32 >nul 2>nul
@if NOT ERRORLEVEL 1 @for /F "tokens=1,2*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0" /v MSBuildToolsPath /reg:32') DO @(
@if "%%i"=="MSBuildToolsPath" @if exist "%%k\msbuild.exe" @(set MSBUILD="%%k\msbuild.exe")
)
@if exist %MSBUILD% (set _Py_MSBuild_Source=registry) & goto :found
@exit /b 1

57
PCbuild/find_python.bat Normal file
View File

@ -0,0 +1,57 @@
@rem
@rem Searches for python.exe and may download a private copy from nuget.
@rem
@rem This file is supposed to modify the state of the caller (specifically
@rem the MSBUILD variable), so we do not use setlocal or echo, and avoid
@rem changing any other persistent state.
@rem
@rem No arguments provided means do full search
@if '%1' EQU '' goto :begin_search
@rem One argument may be the full path. Use a goto so we don't try to
@rem parse the next if statement - incorrect quoting in the multi-arg
@rem case can cause us to break immediately.
@if '%2' EQU '' goto :one_arg
@rem Entire command line may represent the full path if quoting failed.
@if exist "%*" (set PYTHON="%*") & (set _Py_Python_Source=from environment) & goto :found
@goto :begin_search
:one_arg
@if exist "%~1" (set PYTHON="%~1") & (set _Py_Python_Source=from environment) & goto :found
:begin_search
@set PYTHON=
@set _Py_EXTERNALS_DIR=%EXTERNAL_DIR%
@if "%_Py_EXTERNALS_DIR%"=="" (set _Py_EXTERNALS_DIR=%~dp0\..\externals)
@rem If we have Python in externals, use that one
@if exist "%_Py_EXTERNALS_DIR%\pythonx86\tools\python.exe" (set PYTHON="%_Py_EXTERNALS_DIR%\pythonx86\tools\python.exe") & (set _Py_Python_Source=found in externals directory) & goto :found
@rem If py.exe finds a recent enough version, use that one
@py -3.6 -V >nul 2>&1 && (set PYTHON=py -3.6) && (set _Py_Python_Source=found with py.exe) && goto :found
@if NOT exist "%_Py_EXTERNALS_DIR%" mkdir "%_Py_EXTERNALS_DIR%"
@set _Py_NUGET=%NUGET%
@set _Py_NUGET_URL=%NUGET_URL%
@if "%_Py_NUGET%"=="" (set _Py_NUGET=%EXTERNALS_DIR%\nuget.exe)
@if "%_Py_NUGET_URL%"=="" (set _Py_NUGET_URL=https://aka.ms/nugetclidl)
@if NOT exist "%_Py_NUGET%" (
@echo Downloading nuget...
@rem NB: Must use single quotes around NUGET here, NOT double!
@rem Otherwise, a space in the path would break things
@powershell.exe -Command Invoke-WebRequest %_Py_NUGET_URL% -OutFile '%_Py_NUGET%'
)
@echo Installing Python via nuget...
@"%_Py_NUGET%" install pythonx86 -ExcludeVersion -OutputDirectory "%_Py_EXTERNALS_DIR%"
@rem Quote it here; it's not quoted later because "py -3.6" wouldn't work
@if not errorlevel 1 (set PYTHON="%_Py_EXTERNALS_DIR%\pythonx86\tools\python.exe") & (set _Py_Python_Source=found on nuget.org) & goto :found
@exit /b 1
:found
@echo Using %PYTHON% (%_Py_Python_Source%)
@set _Py_Python_Source=

View File

@ -4,20 +4,27 @@ rem Simple script to fetch source for external libraries
if "%PCBUILD%"=="" (set PCBUILD=%~dp0)
if "%EXTERNALS_DIR%"=="" (set EXTERNALS_DIR=%PCBUILD%\..\externals)
if "%NUGET%"=="" (set NUGET=%EXTERNALS_DIR%\nuget.exe)
if "%NUGET_URL%"=="" (set NUGET_URL=https://aka.ms/nugetclidl)
set DO_FETCH=true
set DO_CLEAN=false
set IncludeTkinterSrc=false
set IncludeSSLSrc=false
:CheckOpts
if "%~1"=="--no-tkinter" (set IncludeTkinter=false) & shift & goto CheckOpts
if "%~1"=="--no-openssl" (set IncludeSSL=false) & shift & goto CheckOpts
if "%~1"=="--python" (set PYTHON_FOR_BUILD=%2) & shift & shift & goto CheckOpts
if "%~1"=="--tkinter-src" (set IncludeTkinterSrc=true) & shift & goto CheckOpts
if "%~1"=="--openssl-src" (set IncludeSSLSrc=true) & shift & goto CheckOpts
if "%~1"=="--python" (set PYTHON=%2) & shift & shift & goto CheckOpts
if "%~1"=="--organization" (set ORG=%2) & shift & shift & goto CheckOpts
if "%~1"=="-c" (set DO_CLEAN=true) & shift & goto CheckOpts
if "%~1"=="--clean" (set DO_CLEAN=true) & shift & goto CheckOpts
if "%~1"=="--clean-only" (set DO_FETCH=false) & goto clean
rem Include old options for compatibility
if "%~1"=="--no-tkinter" shift & goto CheckOpts
if "%~1"=="--no-openssl" shift & goto CheckOpts
if "x%~1" NEQ "x" goto usage
if "%DO_CLEAN%"=="false" goto fetch
@ -32,57 +39,41 @@ if "%DO_FETCH%"=="false" goto end
:fetch
if "%ORG%"=="" (set ORG=python)
if "%PYTHON_FOR_BUILD%"=="" (
echo Checking for installed python...
py -3.6 -V >nul 2>&1 && (set PYTHON_FOR_BUILD=py -3.6)
)
if "%PYTHON_FOR_BUILD%"=="" (
if NOT exist "%EXTERNALS_DIR%" mkdir "%EXTERNALS_DIR%"
if NOT exist "%NUGET%" (
echo Downloading nuget...
rem NB: Must use single quotes around NUGET here, NOT double!
rem Otherwise, a space in the path would break things
powershell.exe -Command Invoke-WebRequest %NUGET_URL% -OutFile '%NUGET%'
)
echo Installing Python via nuget...
"%NUGET%" install pythonx86 -ExcludeVersion -OutputDirectory "%EXTERNALS_DIR%"
rem Quote it here; it's not quoted later because "py -3.6" wouldn't work
set PYTHON_FOR_BUILD="%EXTERNALS_DIR%\pythonx86\tools\python.exe"
)
call "%PCBUILD%find_python.bat" "%PYTHON%"
echo.Fetching external libraries...
set libraries=
set libraries=%libraries% bzip2-1.0.6
if NOT "%IncludeSSL%"=="false" set libraries=%libraries% openssl-1.0.2k
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
set libraries=%libraries% bzip2-1.0.6
if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries% openssl-1.0.2k
set libraries=%libraries% sqlite-3.14.2.0
if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tcl-core-8.6.6.0
if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tk-8.6.6.0
if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tix-8.4.3.6
set libraries=%libraries% xz-5.2.2
for %%e in (%libraries%) do (
if exist "%EXTERNALS_DIR%\%%e" (
echo.%%e already exists, skipping.
) else (
echo.Fetching %%e...
%PYTHON_FOR_BUILD% "%PCBUILD%get_external.py" -O %ORG% %%e
%PYTHON% "%PCBUILD%get_external.py" -O %ORG% %%e
)
)
echo.Fetching external binaries...
set binaries=
set binaries=%binaries%
if NOT "%IncludeSSL%"=="false" set binaries=%binaries% nasm-2.11.06
if NOT "%IncludeSSL%"=="false" set binaries=%binaries% openssl-bin-1.0.2k
if NOT "%IncludeTkinter%"=="false" set binaries=%binaries% tcltk-8.6.6.0
if NOT "%IncludeSSLSrc%"=="false" set binaries=%binaries% nasm-2.11.06
for %%b in (%binaries%) do (
if exist "%EXTERNALS_DIR%\%%b" (
echo.%%b already exists, skipping.
) else (
echo.Fetching %%b...
%PYTHON_FOR_BUILD% "%PCBUILD%get_external.py" -b -O %ORG% %%b
%PYTHON% "%PCBUILD%get_external.py" -b -O %ORG% %%b
)
)

View File

@ -1,907 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGInstrument|Win32">
<Configuration>PGInstrument</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGInstrument|x64">
<Configuration>PGInstrument</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGUpdate|Win32">
<Configuration>PGUpdate</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGUpdate|x64">
<Configuration>PGUpdate</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}</ProjectGuid>
<RootNamespace>libeay</RootNamespace>
</PropertyGroup>
<Import Project="python.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="openssl.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Target Name="CreateBuildinfH" Inputs="$(MSBuildProjectFullPath)" Outputs="$(IntDir)\buildinf.h" AfterTargets="PrepareForBuild">
<PropertyGroup>
<_DATEValue>#define DATE "$([System.DateTime]::Now.ToString(`ddd MMM dd HH':'mm':'ss yyyy`))"</_DATEValue>
<_CFLAGSValue>#define CFLAGS "cl /MD /Ox -W3 -Gs0 -Gy -nologo @(PreprocessorDefinitions->'-D%(Identity)',' ')"</_CFLAGSValue>
<_PLATFORMValue Condition="$(Platform)=='Win32'">#define PLATFORM "VC-WIN32"</_PLATFORMValue>
<_PLATFORMValue Condition="$(Platform)=='x64'">#define PLATFORM "VC-WIN64A"</_PLATFORMValue>
</PropertyGroup>
<WriteLinesToFile File="$(IntDir)\buildinf.h"
Lines="$(_DATEValue);$(_CFLAGSValue);$(_PLATFORMValue)"
Overwrite="true" />
<Message Text="Updating buildinf.h:
$(_DATEValue)
$(_CFLAGSValue)
$(_PLATFORMValue)" Importance="normal" />
</Target>
<Target Name="SuppressOriginalBuildinfH" Condition="Exists('$(opensslDir)crypto\buildinf.h')" BeforeTargets="PrepareForBuild">
<Move SourceFiles="$(opensslDir)crypto\buildinf.h" DestinationFiles="$(opensslDir)crypto\buildinf.h.orig" />
</Target>
<ItemGroup>
<ClCompile Include="$(opensslDir)crypto\cversion.c">
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemGroup>
<ItemGroup>
<!--
<ClCompile Include="$(opensslDir)apps\errstr.c" />
<ClCompile Include="$(opensslDir)crypto\aes\aes_cfb.c" />
<ClCompile Include="$(opensslDir)crypto\aes\aes_ctr.c" />
<ClCompile Include="$(opensslDir)crypto\aes\aes_ecb.c" />
-->
<ClCompile Include="$(opensslDir)crypto\aes\aes_ige.c" />
<ClCompile Include="$(opensslDir)crypto\aes\aes_misc.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\aes\aes_ofb.c" />
-->
<ClCompile Include="$(opensslDir)crypto\aes\aes_wrap.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_bitstr.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_bool.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_bytes.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_d2i_fp.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_digest.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_dup.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_enum.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_gentm.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_i2d_fp.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_int.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_mbstr.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_object.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_octet.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_print.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_set.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_sign.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_strex.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_strnid.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_time.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_type.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_utctm.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_utf8.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\a_verify.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\ameth_lib.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\asn_mime.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\asn_moid.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\asn_pack.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\asn1_err.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\asn1_gen.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\asn1_lib.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\asn1_par.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\bio_asn1.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\bio_ndef.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\d2i_pr.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\asn1\d2i_pu.c" />
-->
<ClCompile Include="$(opensslDir)crypto\asn1\evp_asn1.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\asn1\f_enum.c" />
-->
<ClCompile Include="$(opensslDir)crypto\asn1\f_int.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\f_string.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\i2d_pr.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\asn1\i2d_pu.c" />
-->
<ClCompile Include="$(opensslDir)crypto\asn1\n_pkey.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\nsseq.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\p5_pbe.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\p5_pbev2.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\p8_pkey.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\asn1\t_bitst.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\t_crl.c" />
-->
<ClCompile Include="$(opensslDir)crypto\asn1\t_pkey.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\asn1\t_req.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\t_spki.c" />
-->
<ClCompile Include="$(opensslDir)crypto\asn1\t_x509.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\t_x509a.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\tasn_dec.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\tasn_enc.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\tasn_fre.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\tasn_new.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\tasn_prn.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\tasn_typ.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\tasn_utl.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_algor.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_attrib.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_bignum.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_crl.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_exten.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_info.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_long.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_name.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_nx509.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_pkey.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_pubkey.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_req.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_sig.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_spki.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_val.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_x509.c" />
<ClCompile Include="$(opensslDir)crypto\asn1\x_x509a.c" />
<ClCompile Include="$(opensslDir)crypto\bf\bf_cfb64.c" />
<ClCompile Include="$(opensslDir)crypto\bf\bf_ecb.c" />
<ClCompile Include="$(opensslDir)crypto\bf\bf_ofb64.c" />
<ClCompile Include="$(opensslDir)crypto\bf\bf_skey.c" />
<ClCompile Include="$(opensslDir)crypto\bio\b_dump.c" />
<ClCompile Include="$(opensslDir)crypto\bio\b_print.c" />
<ClCompile Include="$(opensslDir)crypto\bio\b_sock.c" />
<ClCompile Include="$(opensslDir)crypto\bio\bf_buff.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\bio\bf_nbio.c" />
<ClCompile Include="$(opensslDir)crypto\bio\bf_null.c" />
<ClCompile Include="$(opensslDir)crypto\bio\bio_cb.c" />
-->
<ClCompile Include="$(opensslDir)crypto\bio\bio_err.c" />
<ClCompile Include="$(opensslDir)crypto\bio\bio_lib.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\bio\bss_acpt.c" />
<ClCompile Include="$(opensslDir)crypto\bio\bss_bio.c" />
-->
<ClCompile Include="$(opensslDir)crypto\bio\bss_conn.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\bio\bss_dgram.c" />
<ClCompile Include="$(opensslDir)crypto\bio\bss_fd.c" />
-->
<ClCompile Include="$(opensslDir)crypto\bio\bss_file.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\bio\bss_log.c" />
-->
<ClCompile Include="$(opensslDir)crypto\bio\bss_mem.c" />
<ClCompile Include="$(opensslDir)crypto\bio\bss_null.c" />
<ClCompile Include="$(opensslDir)crypto\bio\bss_sock.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_add.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_blind.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\bn\bn_const.c" />
-->
<ClCompile Include="$(opensslDir)crypto\bn\bn_ctx.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\bn\bn_depr.c" />
-->
<ClCompile Include="$(opensslDir)crypto\bn\bn_div.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_err.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_exp.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_exp2.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_gcd.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_gf2m.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_kron.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_lib.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_mod.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_mont.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\bn\bn_mpi.c" />
-->
<ClCompile Include="$(opensslDir)crypto\bn\bn_mul.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_nist.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_prime.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_print.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_rand.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_recp.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_shift.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_sqr.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_sqrt.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_word.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\bn\bn_x931p.c" />
-->
<ClCompile Include="$(opensslDir)crypto\buffer\buf_err.c" />
<ClCompile Include="$(opensslDir)crypto\buffer\buf_str.c" />
<ClCompile Include="$(opensslDir)crypto\buffer\buffer.c" />
<ClCompile Include="$(opensslDir)crypto\camellia\cmll_cfb.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\camellia\cmll_ctr.c" />
-->
<ClCompile Include="$(opensslDir)crypto\camellia\cmll_ecb.c" />
<ClCompile Include="$(opensslDir)crypto\camellia\cmll_ofb.c" />
<ClCompile Include="$(opensslDir)crypto\camellia\cmll_utl.c" />
<ClCompile Include="$(opensslDir)crypto\cast\c_cfb64.c" />
<ClCompile Include="$(opensslDir)crypto\cast\c_ecb.c" />
<ClCompile Include="$(opensslDir)crypto\cast\c_ofb64.c" />
<ClCompile Include="$(opensslDir)crypto\cast\c_skey.c" />
<ClCompile Include="$(opensslDir)crypto\cmac\cm_ameth.c" />
<ClCompile Include="$(opensslDir)crypto\cmac\cm_pmeth.c" />
<ClCompile Include="$(opensslDir)crypto\cmac\cmac.c" />
<ClCompile Include="$(opensslDir)crypto\cms\cms_asn1.c" />
<ClCompile Include="$(opensslDir)crypto\cms\cms_att.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\cms\cms_cd.c" />
-->
<ClCompile Include="$(opensslDir)crypto\cms\cms_dd.c" />
<ClCompile Include="$(opensslDir)crypto\cms\cms_enc.c" />
<ClCompile Include="$(opensslDir)crypto\cms\cms_env.c" />
<ClCompile Include="$(opensslDir)crypto\cms\cms_err.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\cms\cms_ess.c" />
-->
<ClCompile Include="$(opensslDir)crypto\cms\cms_io.c" />
<ClCompile Include="$(opensslDir)crypto\cms\cms_kari.c" />
<ClCompile Include="$(opensslDir)crypto\cms\cms_lib.c" />
<ClCompile Include="$(opensslDir)crypto\cms\cms_pwri.c" />
<ClCompile Include="$(opensslDir)crypto\cms\cms_sd.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\cms\cms_smime.c" />
<ClCompile Include="$(opensslDir)crypto\comp\c_rle.c" />
-->
<ClCompile Include="$(opensslDir)crypto\comp\c_zlib.c" />
<ClCompile Include="$(opensslDir)crypto\comp\comp_err.c" />
<ClCompile Include="$(opensslDir)crypto\comp\comp_lib.c" />
<ClCompile Include="$(opensslDir)crypto\conf\conf_api.c" />
<ClCompile Include="$(opensslDir)crypto\conf\conf_def.c" />
<ClCompile Include="$(opensslDir)crypto\conf\conf_err.c" />
<ClCompile Include="$(opensslDir)crypto\conf\conf_lib.c" />
<ClCompile Include="$(opensslDir)crypto\conf\conf_mall.c" />
<ClCompile Include="$(opensslDir)crypto\conf\conf_mod.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\conf\conf_sap.c" />
-->
<ClCompile Include="$(opensslDir)crypto\cpt_err.c" />
<ClCompile Include="$(opensslDir)crypto\cryptlib.c" />
<ClCompile Include="$(opensslDir)crypto\des\cbc_cksm.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\des\cbc_enc.c" />
-->
<ClCompile Include="$(opensslDir)crypto\des\cfb_enc.c" />
<ClCompile Include="$(opensslDir)crypto\des\cfb64ede.c" />
<ClCompile Include="$(opensslDir)crypto\des\cfb64enc.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\des\des_old.c" />
<ClCompile Include="$(opensslDir)crypto\des\des_old2.c" />
-->
<ClCompile Include="$(opensslDir)crypto\des\ecb_enc.c" />
<ClCompile Include="$(opensslDir)crypto\des\ecb3_enc.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\des\ede_cbcm_enc.c" />
<ClCompile Include="$(opensslDir)crypto\des\enc_read.c" />
<ClCompile Include="$(opensslDir)crypto\des\enc_writ.c" />
<ClCompile Include="$(opensslDir)crypto\des\fcrypt.c" />
<ClCompile Include="$(opensslDir)crypto\des\ofb_enc.c" />
-->
<ClCompile Include="$(opensslDir)crypto\des\ofb64ede.c" />
<ClCompile Include="$(opensslDir)crypto\des\ofb64enc.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\des\pcbc_enc.c" />
<ClCompile Include="$(opensslDir)crypto\des\qud_cksm.c" />
<ClCompile Include="$(opensslDir)crypto\des\rand_key.c" />
<ClCompile Include="$(opensslDir)crypto\des\read2pwd.c" />
<ClCompile Include="$(opensslDir)crypto\des\rpc_enc.c" />
-->
<ClCompile Include="$(opensslDir)crypto\des\set_key.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\des\str2key.c" />
-->
<ClCompile Include="$(opensslDir)crypto\des\xcbc_enc.c" />
<ClCompile Include="$(opensslDir)crypto\dh\dh_ameth.c" />
<ClCompile Include="$(opensslDir)crypto\dh\dh_asn1.c" />
<ClCompile Include="$(opensslDir)crypto\dh\dh_check.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\dh\dh_depr.c" />
-->
<ClCompile Include="$(opensslDir)crypto\dh\dh_err.c" />
<ClCompile Include="$(opensslDir)crypto\dh\dh_gen.c" />
<ClCompile Include="$(opensslDir)crypto\dh\dh_kdf.c" />
<ClCompile Include="$(opensslDir)crypto\dh\dh_key.c" />
<ClCompile Include="$(opensslDir)crypto\dh\dh_lib.c" />
<ClCompile Include="$(opensslDir)crypto\dh\dh_pmeth.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\dh\dh_prn.c" />
-->
<ClCompile Include="$(opensslDir)crypto\dh\dh_rfc5114.c" />
<ClCompile Include="$(opensslDir)crypto\dsa\dsa_ameth.c" />
<ClCompile Include="$(opensslDir)crypto\dsa\dsa_asn1.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\dsa\dsa_depr.c" />
-->
<ClCompile Include="$(opensslDir)crypto\dsa\dsa_err.c" />
<ClCompile Include="$(opensslDir)crypto\dsa\dsa_gen.c" />
<ClCompile Include="$(opensslDir)crypto\dsa\dsa_key.c" />
<ClCompile Include="$(opensslDir)crypto\dsa\dsa_lib.c" />
<ClCompile Include="$(opensslDir)crypto\dsa\dsa_ossl.c" />
<ClCompile Include="$(opensslDir)crypto\dsa\dsa_pmeth.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\dsa\dsa_prn.c" />
-->
<ClCompile Include="$(opensslDir)crypto\dsa\dsa_sign.c" />
<ClCompile Include="$(opensslDir)crypto\dsa\dsa_vrf.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\dso\dso_beos.c" />
<ClCompile Include="$(opensslDir)crypto\dso\dso_dl.c" />
<ClCompile Include="$(opensslDir)crypto\dso\dso_dlfcn.c" />
-->
<ClCompile Include="$(opensslDir)crypto\dso\dso_err.c" />
<ClCompile Include="$(opensslDir)crypto\dso\dso_lib.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\dso\dso_null.c" />
-->
<ClCompile Include="$(opensslDir)crypto\dso\dso_openssl.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\dso\dso_vms.c" />
-->
<ClCompile Include="$(opensslDir)crypto\dso\dso_win32.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\ebcdic.c" />
-->
<ClCompile Include="$(opensslDir)crypto\ec\ec_ameth.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ec_asn1.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\ec\ec_check.c" />
-->
<ClCompile Include="$(opensslDir)crypto\ec\ec_curve.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ec_cvt.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ec_err.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ec_key.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ec_lib.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ec_mult.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ec_oct.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ec_pmeth.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ec_print.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ec2_mult.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ec2_oct.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ec2_smpl.c" />
<ClCompile Include="$(opensslDir)crypto\ec\eck_prn.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ecp_mont.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ecp_nist.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\ec\ecp_nistp224.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ecp_nistp256.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ecp_nistp521.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ecp_nistputil.c" />
-->
<ClCompile Include="$(opensslDir)crypto\ec\ecp_oct.c" />
<ClCompile Include="$(opensslDir)crypto\ec\ecp_smpl.c" />
<ClCompile Include="$(opensslDir)crypto\ecdh\ech_err.c" />
<ClCompile Include="$(opensslDir)crypto\ecdh\ech_kdf.c" />
<ClCompile Include="$(opensslDir)crypto\ecdh\ech_key.c" />
<ClCompile Include="$(opensslDir)crypto\ecdh\ech_lib.c" />
<ClCompile Include="$(opensslDir)crypto\ecdh\ech_ossl.c" />
<ClCompile Include="$(opensslDir)crypto\ecdsa\ecs_asn1.c" />
<ClCompile Include="$(opensslDir)crypto\ecdsa\ecs_err.c" />
<ClCompile Include="$(opensslDir)crypto\ecdsa\ecs_lib.c" />
<ClCompile Include="$(opensslDir)crypto\ecdsa\ecs_ossl.c" />
<ClCompile Include="$(opensslDir)crypto\ecdsa\ecs_sign.c" />
<ClCompile Include="$(opensslDir)crypto\ecdsa\ecs_vrf.c" />
<ClCompile Include="$(opensslDir)crypto\engine\eng_all.c" />
<ClCompile Include="$(opensslDir)crypto\engine\eng_cnf.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\engine\eng_cryptodev.c" />
-->
<ClCompile Include="$(opensslDir)crypto\engine\eng_ctrl.c" />
<ClCompile Include="$(opensslDir)crypto\engine\eng_dyn.c" />
<ClCompile Include="$(opensslDir)crypto\engine\eng_err.c" />
<ClCompile Include="$(opensslDir)crypto\engine\eng_fat.c" />
<ClCompile Include="$(opensslDir)crypto\engine\eng_init.c" />
<ClCompile Include="$(opensslDir)crypto\engine\eng_lib.c" />
<ClCompile Include="$(opensslDir)crypto\engine\eng_list.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\engine\eng_openssl.c" />
-->
<ClCompile Include="$(opensslDir)crypto\engine\eng_pkey.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\engine\eng_rdrand.c" />
<ClCompile Include="$(opensslDir)crypto\engine\eng_rsax.c" />
-->
<ClCompile Include="$(opensslDir)crypto\engine\eng_table.c" />
<ClCompile Include="$(opensslDir)crypto\engine\tb_asnmth.c" />
<ClCompile Include="$(opensslDir)crypto\engine\tb_cipher.c" />
<ClCompile Include="$(opensslDir)crypto\engine\tb_dh.c" />
<ClCompile Include="$(opensslDir)crypto\engine\tb_digest.c" />
<ClCompile Include="$(opensslDir)crypto\engine\tb_dsa.c" />
<ClCompile Include="$(opensslDir)crypto\engine\tb_ecdh.c" />
<ClCompile Include="$(opensslDir)crypto\engine\tb_ecdsa.c" />
<ClCompile Include="$(opensslDir)crypto\engine\tb_pkmeth.c" />
<ClCompile Include="$(opensslDir)crypto\engine\tb_rand.c" />
<ClCompile Include="$(opensslDir)crypto\engine\tb_rsa.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\engine\tb_store.c" />
-->
<ClCompile Include="$(opensslDir)crypto\err\err.c" />
<ClCompile Include="$(opensslDir)crypto\err\err_all.c" />
<ClCompile Include="$(opensslDir)crypto\err\err_prn.c" />
<ClCompile Include="$(opensslDir)crypto\evp\bio_b64.c" />
<ClCompile Include="$(opensslDir)crypto\evp\bio_enc.c" />
<ClCompile Include="$(opensslDir)crypto\evp\bio_md.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\evp\bio_ok.c" />
-->
<ClCompile Include="$(opensslDir)crypto\evp\c_all.c" />
<ClCompile Include="$(opensslDir)crypto\evp\c_allc.c" />
<ClCompile Include="$(opensslDir)crypto\evp\c_alld.c" />
<ClCompile Include="$(opensslDir)crypto\evp\digest.c" />
<ClCompile Include="$(opensslDir)crypto\evp\e_aes.c" />
<ClCompile Include="$(opensslDir)crypto\evp\e_aes_cbc_hmac_sha1.c" />
<ClCompile Include="$(opensslDir)crypto\evp\e_aes_cbc_hmac_sha256.c" />
<ClCompile Include="$(opensslDir)crypto\evp\e_bf.c" />
<ClCompile Include="$(opensslDir)crypto\evp\e_camellia.c" />
<ClCompile Include="$(opensslDir)crypto\evp\e_cast.c" />
<ClCompile Include="$(opensslDir)crypto\evp\e_des.c" />
<ClCompile Include="$(opensslDir)crypto\evp\e_des3.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\evp\e_idea.c" />
-->
<ClCompile Include="$(opensslDir)crypto\evp\e_null.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\evp\e_old.c" />
-->
<ClCompile Include="$(opensslDir)crypto\evp\e_rc2.c" />
<ClCompile Include="$(opensslDir)crypto\evp\e_rc4.c" />
<ClCompile Include="$(opensslDir)crypto\evp\e_rc4_hmac_md5.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\evp\e_rc5.c" />
-->
<ClCompile Include="$(opensslDir)crypto\evp\e_seed.c" />
<ClCompile Include="$(opensslDir)crypto\evp\e_xcbc_d.c" />
<ClCompile Include="$(opensslDir)crypto\evp\encode.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\evp\evp_acnf.c" />
-->
<ClCompile Include="$(opensslDir)crypto\evp\evp_cnf.c" />
<ClCompile Include="$(opensslDir)crypto\evp\evp_enc.c" />
<ClCompile Include="$(opensslDir)crypto\evp\evp_err.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\evp\evp_fips.c" />
-->
<ClCompile Include="$(opensslDir)crypto\evp\evp_key.c" />
<ClCompile Include="$(opensslDir)crypto\evp\evp_lib.c" />
<ClCompile Include="$(opensslDir)crypto\evp\evp_pbe.c" />
<ClCompile Include="$(opensslDir)crypto\evp\evp_pkey.c" />
<ClCompile Include="$(opensslDir)crypto\evp\m_dss.c" />
<ClCompile Include="$(opensslDir)crypto\evp\m_dss1.c" />
<ClCompile Include="$(opensslDir)crypto\evp\m_ecdsa.c" />
<ClCompile Include="$(opensslDir)crypto\evp\m_md4.c" />
<ClCompile Include="$(opensslDir)crypto\evp\m_md5.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\evp\m_null.c" />
-->
<ClCompile Include="$(opensslDir)crypto\evp\m_ripemd.c" />
<ClCompile Include="$(opensslDir)crypto\evp\m_sha.c" />
<ClCompile Include="$(opensslDir)crypto\evp\m_sha1.c" />
<ClCompile Include="$(opensslDir)crypto\evp\m_sigver.c" />
<ClCompile Include="$(opensslDir)crypto\evp\m_wp.c" />
<ClCompile Include="$(opensslDir)crypto\evp\names.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\evp\p_dec.c" />
-->
<ClCompile Include="$(opensslDir)crypto\evp\p_lib.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\evp\p_open.c" />
<ClCompile Include="$(opensslDir)crypto\evp\p_seal.c" />
-->
<ClCompile Include="$(opensslDir)crypto\evp\p_sign.c" />
<ClCompile Include="$(opensslDir)crypto\evp\p_verify.c" />
<ClCompile Include="$(opensslDir)crypto\evp\p5_crpt.c" />
<ClCompile Include="$(opensslDir)crypto\evp\p5_crpt2.c" />
<ClCompile Include="$(opensslDir)crypto\evp\pmeth_fn.c" />
<ClCompile Include="$(opensslDir)crypto\evp\pmeth_gn.c" />
<ClCompile Include="$(opensslDir)crypto\evp\pmeth_lib.c" />
<ClCompile Include="$(opensslDir)crypto\ex_data.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\fips_ers.c" />
-->
<ClCompile Include="$(opensslDir)crypto\hmac\hm_ameth.c" />
<ClCompile Include="$(opensslDir)crypto\hmac\hm_pmeth.c" />
<ClCompile Include="$(opensslDir)crypto\hmac\hmac.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\krb5\krb5_asn.c" />
<ClCompile Include="$(opensslDir)crypto\lhash\lh_stats.c" />
-->
<ClCompile Include="$(opensslDir)crypto\lhash\lhash.c" />
<ClCompile Include="$(opensslDir)crypto\md4\md4_dgst.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\md4\md4_one.c" />
-->
<ClCompile Include="$(opensslDir)crypto\md5\md5_dgst.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\md5\md5_one.c" />
-->
<ClCompile Include="$(opensslDir)crypto\mem.c" />
<ClCompile Include="$(opensslDir)crypto\mem_dbg.c" />
<ClCompile Include="$(opensslDir)crypto\modes\cbc128.c" />
<ClCompile Include="$(opensslDir)crypto\modes\ccm128.c" />
<ClCompile Include="$(opensslDir)crypto\modes\cfb128.c" />
<ClCompile Include="$(opensslDir)crypto\modes\ctr128.c" />
<ClCompile Include="$(opensslDir)crypto\modes\cts128.c" />
<ClCompile Include="$(opensslDir)crypto\modes\gcm128.c" />
<ClCompile Include="$(opensslDir)crypto\modes\ofb128.c" />
<ClCompile Include="$(opensslDir)crypto\modes\wrap128.c" />
<ClCompile Include="$(opensslDir)crypto\modes\xts128.c" />
<ClCompile Include="$(opensslDir)crypto\o_dir.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\o_fips.c" />
-->
<ClCompile Include="$(opensslDir)crypto\o_init.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\o_str.c" />
-->
<ClCompile Include="$(opensslDir)crypto\o_time.c" />
<ClCompile Include="$(opensslDir)crypto\objects\o_names.c" />
<ClCompile Include="$(opensslDir)crypto\objects\obj_dat.c" />
<ClCompile Include="$(opensslDir)crypto\objects\obj_err.c" />
<ClCompile Include="$(opensslDir)crypto\objects\obj_lib.c" />
<ClCompile Include="$(opensslDir)crypto\objects\obj_xref.c" />
<ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_asn.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_cl.c" />
-->
<ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_err.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_ext.c" />
-->
<ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_ht.c" />
<ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_lib.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_prn.c" />
<ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_srv.c" />
<ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_vfy.c" />
-->
<ClCompile Include="$(opensslDir)crypto\pem\pem_all.c" />
<ClCompile Include="$(opensslDir)crypto\pem\pem_err.c" />
<ClCompile Include="$(opensslDir)crypto\pem\pem_info.c" />
<ClCompile Include="$(opensslDir)crypto\pem\pem_lib.c" />
<ClCompile Include="$(opensslDir)crypto\pem\pem_oth.c" />
<ClCompile Include="$(opensslDir)crypto\pem\pem_pk8.c" />
<ClCompile Include="$(opensslDir)crypto\pem\pem_pkey.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\pem\pem_seal.c" />
<ClCompile Include="$(opensslDir)crypto\pem\pem_sign.c" />
-->
<ClCompile Include="$(opensslDir)crypto\pem\pem_x509.c" />
<ClCompile Include="$(opensslDir)crypto\pem\pem_xaux.c" />
<ClCompile Include="$(opensslDir)crypto\pem\pvkfmt.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_add.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_asn.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_attr.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_crpt.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_crt.c" />
-->
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_decr.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_init.c" />
-->
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_key.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_kiss.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_mutl.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_npas.c" />
-->
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_p8d.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_p8e.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs12\p12_utl.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs12\pk12err.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\pkcs7\bio_pk7.c" />
-->
<ClCompile Include="$(opensslDir)crypto\pkcs7\pk7_asn1.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs7\pk7_attr.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs7\pk7_doit.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs7\pk7_lib.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\pkcs7\pk7_mime.c" />
<ClCompile Include="$(opensslDir)crypto\pkcs7\pk7_smime.c" />
-->
<ClCompile Include="$(opensslDir)crypto\pkcs7\pkcs7err.c" />
<ClCompile Include="$(opensslDir)crypto\pqueue\pqueue.c" />
<ClCompile Include="$(opensslDir)crypto\rand\md_rand.c" />
<ClCompile Include="$(opensslDir)crypto\rand\rand_egd.c" />
<ClCompile Include="$(opensslDir)crypto\rand\rand_err.c" />
<ClCompile Include="$(opensslDir)crypto\rand\rand_lib.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\rand\rand_nw.c" />
<ClCompile Include="$(opensslDir)crypto\rand\rand_os2.c" />
<ClCompile Include="$(opensslDir)crypto\rand\rand_unix.c" />
-->
<ClCompile Include="$(opensslDir)crypto\rand\rand_win.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\rand\randfile.c" />
-->
<ClCompile Include="$(opensslDir)crypto\rc2\rc2_cbc.c" />
<ClCompile Include="$(opensslDir)crypto\rc2\rc2_ecb.c" />
<ClCompile Include="$(opensslDir)crypto\rc2\rc2_skey.c" />
<ClCompile Include="$(opensslDir)crypto\rc2\rc2cfb64.c" />
<ClCompile Include="$(opensslDir)crypto\rc2\rc2ofb64.c" />
<ClCompile Include="$(opensslDir)crypto\rc4\rc4_utl.c" />
<ClCompile Include="$(opensslDir)crypto\ripemd\rmd_dgst.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\ripemd\rmd_one.c" />
-->
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_ameth.c" />
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_asn1.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_chk.c" />
-->
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_crpt.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_depr.c" />
-->
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_eay.c" />
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_err.c" />
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_gen.c" />
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_lib.c" />
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_none.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_null.c" />
-->
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_oaep.c" />
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_pk1.c" />
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_pmeth.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_prn.c" />
-->
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_pss.c" />
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_saos.c" />
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_sign.c" />
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_ssl.c" />
<ClCompile Include="$(opensslDir)crypto\rsa\rsa_x931.c" />
<ClCompile Include="$(opensslDir)crypto\seed\seed.c" />
<ClCompile Include="$(opensslDir)crypto\seed\seed_cbc.c" />
<ClCompile Include="$(opensslDir)crypto\seed\seed_cfb.c" />
<ClCompile Include="$(opensslDir)crypto\seed\seed_ecb.c" />
<ClCompile Include="$(opensslDir)crypto\seed\seed_ofb.c" />
<ClCompile Include="$(opensslDir)crypto\sha\sha_dgst.c" />
<ClCompile Include="$(opensslDir)crypto\sha\sha_one.c" />
<ClCompile Include="$(opensslDir)crypto\sha\sha1_one.c" />
<ClCompile Include="$(opensslDir)crypto\sha\sha1dgst.c" />
<ClCompile Include="$(opensslDir)crypto\sha\sha256.c" />
<ClCompile Include="$(opensslDir)crypto\sha\sha512.c" />
<ClCompile Include="$(opensslDir)crypto\srp\srp_lib.c" />
<ClCompile Include="$(opensslDir)crypto\srp\srp_vfy.c" />
<ClCompile Include="$(opensslDir)crypto\stack\stack.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\ts\ts_asn1.c" />
<ClCompile Include="$(opensslDir)crypto\ts\ts_conf.c" />
-->
<ClCompile Include="$(opensslDir)crypto\ts\ts_err.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\ts\ts_lib.c" />
<ClCompile Include="$(opensslDir)crypto\ts\ts_req_print.c" />
<ClCompile Include="$(opensslDir)crypto\ts\ts_req_utils.c" />
<ClCompile Include="$(opensslDir)crypto\ts\ts_rsp_print.c" />
<ClCompile Include="$(opensslDir)crypto\ts\ts_rsp_sign.c" />
<ClCompile Include="$(opensslDir)crypto\ts\ts_rsp_utils.c" />
<ClCompile Include="$(opensslDir)crypto\ts\ts_rsp_verify.c" />
<ClCompile Include="$(opensslDir)crypto\ts\ts_verify_ctx.c" />
-->
<ClCompile Include="$(opensslDir)crypto\txt_db\txt_db.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\ui\ui_compat.c" />
-->
<ClCompile Include="$(opensslDir)crypto\ui\ui_err.c" />
<ClCompile Include="$(opensslDir)crypto\ui\ui_lib.c" />
<ClCompile Include="$(opensslDir)crypto\ui\ui_openssl.c" />
<ClCompile Include="$(opensslDir)crypto\ui\ui_util.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\uid.c" />
-->
<ClCompile Include="$(opensslDir)crypto\whrlpool\wp_dgst.c" />
<ClCompile Include="$(opensslDir)crypto\x509\by_dir.c" />
<ClCompile Include="$(opensslDir)crypto\x509\by_file.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x_all.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509_att.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509_cmp.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509_d2.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509_def.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509_err.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509_ext.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509_lu.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509_obj.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\x509\x509_r2x.c" />
-->
<ClCompile Include="$(opensslDir)crypto\x509\x509_req.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\x509\x509_set.c" />
-->
<ClCompile Include="$(opensslDir)crypto\x509\x509_trs.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509_txt.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509_v3.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509_vfy.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509_vpm.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509cset.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509name.c" />
<ClCompile Include="$(opensslDir)crypto\x509\x509rset.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\x509\x509spki.c" />
-->
<ClCompile Include="$(opensslDir)crypto\x509\x509type.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\pcy_cache.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\pcy_data.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\pcy_lib.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\pcy_map.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\pcy_node.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\pcy_tree.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_addr.c" />
-->
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_akey.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_akeya.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_alt.c" />
<!--
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_asid.c" />
-->
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_bcons.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_bitst.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_conf.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_cpols.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_crld.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_enum.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_extku.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_genn.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_ia5.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_info.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_int.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_lib.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_ncons.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_ocsp.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_pci.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_pcia.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_pcons.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_pku.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_pmaps.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_prn.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_purp.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_scts.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_skey.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_sxnet.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3_utl.c" />
<ClCompile Include="$(opensslDir)crypto\x509v3\v3err.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\e_gost_err.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost_ameth.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost_asn1.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost_crypt.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost_ctl.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost_eng.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost_keywrap.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost_md.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost_params.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost_pmeth.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost_sign.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost2001.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost2001_keyx.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost89.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gost94_keyx.c" />
<ClCompile Include="$(opensslDir)engines\ccgost\gosthash.c" />
<ClCompile Include="$(opensslDir)engines\e_4758cca.c" />
<ClCompile Include="$(opensslDir)engines\e_aep.c" />
<ClCompile Include="$(opensslDir)engines\e_atalla.c" />
<ClCompile Include="$(opensslDir)engines\e_capi.c" />
<ClCompile Include="$(opensslDir)engines\e_chil.c" />
<ClCompile Include="$(opensslDir)engines\e_cswift.c" />
<ClCompile Include="$(opensslDir)engines\e_gmp.c" />
<ClCompile Include="$(opensslDir)engines\e_nuron.c" />
<ClCompile Include="$(opensslDir)engines\e_padlock.c" />
<ClCompile Include="$(opensslDir)engines\e_sureware.c" />
<ClCompile Include="$(opensslDir)engines\e_ubsec.c" />
<ClCompile Include="$(opensslDir)ssl\d1_clnt.c" />
<ClCompile Include="$(opensslDir)ssl\d1_meth.c" />
<ClCompile Include="$(opensslDir)ssl\d1_lib.c" />
<ClCompile Include="$(opensslDir)ssl\d1_srvr.c" />
<ClCompile Include="$(opensslDir)ssl\s2_srvr.c" />
<ClCompile Include="$(opensslDir)ssl\t1_clnt.c" />
<ClCompile Include="$(opensslDir)ssl\t1_ext.c" />
<ClCompile Include="$(opensslDir)ssl\t1_srvr.c" />
</ItemGroup>
<ItemGroup Condition="$(Platform) == 'Win32'">
<ClCompile Include="$(opensslDir)crypto\whrlpool\wp_block.c" />
</ItemGroup>
<ItemGroup Condition="$(Platform) == 'x64'">
<ClCompile Include="$(opensslDir)crypto\bf\bf_enc.c" />
<ClCompile Include="$(opensslDir)crypto\bn\bn_asm.c" />
<ClCompile Include="$(opensslDir)crypto\camellia\cmll_misc.c" />
<ClCompile Include="$(opensslDir)crypto\cast\c_enc.c" />
<ClCompile Include="$(opensslDir)crypto\des\des_enc.c" />
<ClCompile Include="$(opensslDir)crypto\des\fcrypt_b.c" />
</ItemGroup>
<ItemGroup Condition="$(Platform) == 'Win32'">
<NasmCompile Include="$(opensslDir)tmp32\aes-586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\aesni-x86.asm" />
<NasmCompile Include="$(opensslDir)tmp32\bf-586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\bn-586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\cast-586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\cmll-x86.asm" />
<NasmCompile Include="$(opensslDir)tmp32\co-586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\crypt586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\des-586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\ghash-x86.asm" />
<NasmCompile Include="$(opensslDir)tmp32\md5-586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\rc4-586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\rmd-586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\sha1-586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\sha256-586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\sha512-586.asm" />
<NasmCompile Include="$(opensslDir)tmp32\vpaes-x86.asm" />
<NasmCompile Include="$(opensslDir)tmp32\wp-mmx.asm" />
<NasmCompile Include="$(opensslDir)tmp32\x86cpuid.asm" />
<NasmCompile Include="$(opensslDir)tmp32\x86-gf2m.asm" />
<NasmCompile Include="$(opensslDir)tmp32\x86-mont.asm" />
</ItemGroup>
<ItemGroup Condition="$(Platform) == 'x64'">
<NasmCompile Include="$(opensslDir)tmp64\aesni-sha1-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\aesni-sha1-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\aesni-gcm-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\aesni-mb-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\aesni-sha256-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\aesni-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\aes-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\bsaes-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\cmll-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\ghash-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\md5-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\rc4-md5-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\rc4-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\sha1-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\sha1-mb-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\sha256-mb-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\sha256-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\sha512-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\vpaes-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\wp-x86_64.asm" />
<NasmCompile Include="$(opensslDir)tmp64\x86_64cpuid.asm" />
<NasmCompile Include="$(opensslDir)tmp64\x86_64-gf2m.asm" />
<NasmCompile Include="$(opensslDir)tmp64\x86_64-mont.asm" />
<NasmCompile Include="$(opensslDir)tmp64\x86_64-mont5.asm" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="Clean" />
<Target Name="CleanAll">
<Delete Files="$(TargetPath)" />
<RemoveDir Directories="$(IntDir)" />
</Target>
</Project>

View File

@ -1,77 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Py_IntDir Condition="'$(Py_IntDir)' == ''">$(opensslDir)tmp\</Py_IntDir>
</PropertyGroup>
<Import Project="pyproject.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<ItemGroup>
<PreprocessorDefinitions Include="DSO_WIN32" />
<PreprocessorDefinitions Include="WIN32_LEAN_AND_MEAN" />
<PreprocessorDefinitions Include="L_ENDIAN" />
<PreprocessorDefinitions Include="_CRT_SECURE_NO_WARNINGS" />
<PreprocessorDefinitions Include="_CRT_SECURE_NO_DEPRECATE" />
<PreprocessorDefinitions Include="_WINSOCK_DEPRECATED_NO_WARNINGS" />
<PreprocessorDefinitions Include="OPENSSL_THREADS" />
<!-- <PreprocessorDefinitions Include="OPENSSL_SYSNAME_WIN32" /> -->
<PreprocessorDefinitions Include="OPENSSL_IA32_SSE2" />
<PreprocessorDefinitions Include="OPENSSL_BN_ASM_GF2m" />
<PreprocessorDefinitions Include="SHA1_ASM" />
<PreprocessorDefinitions Include="SHA256_ASM" />
<PreprocessorDefinitions Include="SHA512_ASM" />
<PreprocessorDefinitions Include="MD5_ASM" />
<PreprocessorDefinitions Include="AES_ASM" />
<PreprocessorDefinitions Include="VPAES_ASM" />
<PreprocessorDefinitions Include="WHIRLPOOL_ASM" />
<PreprocessorDefinitions Include="GHASH_ASM" />
<PreprocessorDefinitions Include="OPENSSL_NO_IDEA" />
<PreprocessorDefinitions Include="OPENSSL_NO_RC5" />
<PreprocessorDefinitions Include="OPENSSL_NO_MD2" />
<PreprocessorDefinitions Include="OPENSSL_NO_MDC2" />
<PreprocessorDefinitions Include="OPENSSL_NO_KRB5" />
<PreprocessorDefinitions Include="OPENSSL_NO_JPAKE" />
<PreprocessorDefinitions Include="OPENSSL_NO_RDRAND" />
<PreprocessorDefinitions Include="OPENSSL_NO_RSAX" />
<PreprocessorDefinitions Include="OPENSSL_NO_DYNAMIC_ENGINE" />
</ItemGroup>
<ItemGroup Condition="'$(Platform)'=='Win32'">
<PreprocessorDefinitions Include="OPENSSL_BN_ASM_PART_WORDS" />
<PreprocessorDefinitions Include="OPENSSL_BN_ASM_MONT" />
<PreprocessorDefinitions Include="RMD160_ASM" />
</ItemGroup>
<PropertyGroup>
<_PreprocessorDefinitionList>@(PreprocessorDefinitions)</_PreprocessorDefinitionList>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<!-- Suppress 64-bit truncation warnings - they aren't ours to worry about -->
<DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
<AdditionalIncludeDirectories>$(opensslDir);$(opensslIncludeDir);$(opensslDir)crypto;$(opensslDir)crypto\asn1;$(opensslDir)crypto\evp;$(opensslDir)crypto\modes</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(_PreprocessorDefinitionList);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(opensslIncludeDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(opensslOutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>ws2_32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<Target Name="FindNasm">
<PropertyGroup>
<nasm Condition="$(Platform) == 'Win32'">nasm.exe -f win32</nasm>
<nasm Condition="$(Platform) == 'x64'">nasm.exe -f win64 -DNEAR -Ox -g</nasm>
</PropertyGroup>
<ItemGroup>
<_SSLDLL Include="$(opensslOutDir)\libeay32.dll" />
<_SSLDLL Include="$(opensslOutDir)\libeay32.pdb" />
<_SSLDLL Include="$(opensslOutDir)\ssleay32.dll" />
<_SSLDLL Include="$(opensslOutDir)\ssleay32.pdb" />
</ItemGroup>
<Target Name="_CopySSLDLL" Inputs="@(_SSLDLL)" Outputs="@(_SSLDLL->'$(OutDir)%(Filename)%(Extension)')" AfterTargets="Build">
<Copy SourceFiles="@(_SSLDLL)" DestinationFolder="$(OutDir)" />
</Target>
<Target Name="BuildNasmFiles" BeforeTargets="PreBuildEvent" DependsOnTargets="PrepareForBuild;FindNasm" Inputs="@(NasmCompile)" Outputs="@(NasmCompile->'$(IntDir)%(Filename).obj')">
<Exec Command='setlocal
set PATH=$(nasmDir);%PATH%
$(nasm) -o "$(IntDir)%(NasmCompile.Filename).obj" "%(NasmCompile.FullPath)"' />
<ItemGroup>
<Link Include="$(IntDir)%(NasmCompile.Filename).obj" />
<Lib Include="$(IntDir)%(NasmCompile.Filename).obj" />
</ItemGroup>
<Target Name="_CleanSSLDLL" BeforeTargets="Clean">
<Delete Files="@(_SSLDLL->'$(OutDir)%(Filename)%(Extension)')" />
</Target>
</Project>
</Project>

118
PCbuild/openssl.vcxproj Normal file
View File

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGInstrument|Win32">
<Configuration>PGInstrument</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGInstrument|x64">
<Configuration>PGInstrument</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGUpdate|Win32">
<Configuration>PGUpdate</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGUpdate|x64">
<Configuration>PGUpdate</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{B5FD6F1D-129E-4BFF-9340-03606FAC7283}</ProjectGuid>
</PropertyGroup>
<Import Project="python.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<Bitness>32</Bitness>
<Bitness Condition="$(Platform) == 'x64'">64</Bitness>
<ArchName>x86</ArchName>
<ArchName Condition="$(Platform) == 'x64'">amd64</ArchName>
<SupportSigning>true</SupportSigning>
</PropertyGroup>
<ItemGroup>
<PrepareSSL Include="prepare_ssl.py" />
<Perl Include="$(Perl)" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="pyproject.props" />
<PropertyGroup>
<IntDir>$(opensslDir)\tmp$(Bitness)dll</IntDir>
<OutDir>$(opensslDir)\out$(Bitness)dll</OutDir>
<MakeFile>ms\ntdll$(Bitness).mak</MakeFile>
<NMakeOptions>LIB_D="$(opensslOutDir.TrimEnd(`\`))" OUT_D=out$(Bitness)dll TMP_D=tmp$(Bitness)dll INC_D=inc$(Bitness) INCO_D=inc$(Bitness)\openssl</NMakeOptions>
<NMakeBuildCommandLine>setlocal
set PATH=%PATH%;$(nasmDir);@(Perl->'%(RootDir)%(Directory)',';')
set VCINSTALLDIR=$(VCInstallDir)
cd /D "$(opensslDir.TrimEnd(`\`))"
if not exist "$(IntDir.TrimEnd('\'))" mkdir "$(IntDir.TrimEnd('\'))"
if not exist "$(OutDir.TrimEnd('\'))" mkdir "$(OutDir.TrimEnd('\'))"
if not exist "$(opensslOutDir.TrimEnd(`\`))" mkdir "$(opensslOutDir.TrimEnd(`\`))"
$(PYTHON) "@(PrepareSSL->'%(FullPath)')" "$(opensslDir.TrimEnd(`\`))" $(ArchName)
nmake -f $(MakeFile) $(NMakeOptions) headers lib
copy /y LICENSE "$(opensslOutDir)\LICENSE"
</NMakeBuildCommandLine>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="SuppressOriginalBuildinfH" Condition="Exists('$(opensslDir)crypto\buildinf.h')" BeforeTargets="CreateBuildinfH">
<Move SourceFiles="$(opensslDir)crypto\buildinf.h" DestinationFiles="$(opensslDir)crypto\buildinf.h.orig" />
</Target>
<Target Name="_CopyIncludes" AfterTargets="Build">
<ItemGroup>
<Sources Include="$(opensslDir)inc$(Bitness)\**\*.h" />
<Sources Include="$(opensslDir)ms\applink.c" />
</ItemGroup>
<Copy SourceFiles="%(Sources.FullPath)" DestinationFiles="$(opensslOutDir)\include\%(Sources.RecursiveDir)\%(Sources.Filename)%(Sources.Extension)" />
</Target>
<Target Name="SignFiles" AfterTargets="Build" Condition="$(_SignCommand) != ''">
<ItemGroup>
<FilesToSign Include="$(opensslOutDir)\libeay32.dll;$(opensslOutDir)\ssleay32.dll" />
</ItemGroup>
<Exec Command="$(_SignCommand) %(FilesToSign.FullPath)" ContinueOnError="true" />
</Target>
<Target Name="Clean" />
<Target Name="CleanAll">
<Delete Files="$(TargetPath);$(BuildPath)$(tclDLLName)" />
<RemoveDir Directories="$(IntDir)" />
</Target>
<Target Name="LocateNMake">
<PropertyGroup>
<OutputFilename Condition="$(OutputFilename) == ''">$(Temp)\nmake.loc</OutputFilename>
</PropertyGroup>
<ItemGroup>
<_NMakeExe Include="$(VC_ExecutablePath_x86_x86)\nmake.exe" Condition="$(VC_ExecutablePath_x86_x86) != ''" />
</ItemGroup>
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName($(OutputFilename)))" />
<WriteLinesToFile File="$(OutputFilename)" Lines="@(_NMakeExe)" />
</Target>
<Target Name="ResolveAssemblyReferences" />
</Project>

View File

@ -55,7 +55,7 @@
<!-- _ssl will build _socket as well, which may cause conflicts in parallel builds -->
<ExtensionModules Include="_socket" Condition="!$(IncludeSSL) or !$(IncludeExternals)" />
<ExternalModules Include="_ssl;_hashlib" Condition="$(IncludeSSL)" />
<ExternalModules Include="_tkinter;tix" Condition="$(IncludeTkinter)" />
<ExternalModules Include="_tkinter" Condition="$(IncludeTkinter)" />
<ExtensionModules Include="@(ExternalModules->'%(Identity)')" Condition="$(IncludeExternals)" />
<Projects Include="@(ExtensionModules->'%(Identity).vcxproj')" Condition="$(IncludeExtensions)" />
<!-- Test modules -->

View File

@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26430.6
VisualStudioVersion = 15.0.26621.2
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{553EC33E-9816-4996-A660-5D6186A0B0B3}"
ProjectSection(SolutionItems) = preProject
@ -83,16 +83,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testembed", "_testembed.vc
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testmultiphase", "_testmultiphase.vcxproj", "{16BFE6F0-22EF-40B5-B831-7E937119EF10}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tcl", "tcl.vcxproj", "{B5FD6F1D-129E-4BFF-9340-03606FAC7283}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tix", "tix.vcxproj", "{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tk", "tk.vcxproj", "{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libeay", "libeay.vcxproj", "{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssleay", "ssleay.vcxproj", "{10615B24-73BF-4EFA-93AA-236916321317}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyshellext", "pyshellext.vcxproj", "{0F6EE4A4-C75F-4578-B4B3-2D64F4B9B782}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testconsole", "_testconsole.vcxproj", "{B244E787-C445-441C-BDF4-5A4F1A3A1E51}"
@ -621,86 +611,6 @@ Global
{16BFE6F0-22EF-40B5-B831-7E937119EF10}.Release|Win32.Build.0 = Release|Win32
{16BFE6F0-22EF-40B5-B831-7E937119EF10}.Release|x64.ActiveCfg = Release|x64
{16BFE6F0-22EF-40B5-B831-7E937119EF10}.Release|x64.Build.0 = Release|x64
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Debug|Win32.ActiveCfg = Debug|Win32
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Debug|Win32.Build.0 = Debug|Win32
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Debug|x64.ActiveCfg = Debug|x64
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Debug|x64.Build.0 = Debug|x64
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGInstrument|Win32.ActiveCfg = Release|Win32
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGInstrument|Win32.Build.0 = Release|Win32
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGInstrument|x64.ActiveCfg = Release|x64
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGInstrument|x64.Build.0 = Release|x64
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGUpdate|Win32.ActiveCfg = Release|Win32
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGUpdate|Win32.Build.0 = Release|Win32
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGUpdate|x64.ActiveCfg = Release|x64
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGUpdate|x64.Build.0 = Release|x64
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Release|Win32.ActiveCfg = Release|Win32
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Release|Win32.Build.0 = Release|Win32
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Release|x64.ActiveCfg = Release|x64
{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Release|x64.Build.0 = Release|x64
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Debug|Win32.ActiveCfg = Debug|Win32
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Debug|Win32.Build.0 = Debug|Win32
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Debug|x64.ActiveCfg = Debug|x64
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Debug|x64.Build.0 = Debug|x64
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGInstrument|Win32.ActiveCfg = Release|Win32
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGInstrument|Win32.Build.0 = Release|Win32
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGInstrument|x64.ActiveCfg = Release|x64
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGInstrument|x64.Build.0 = Release|x64
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGUpdate|Win32.ActiveCfg = Release|Win32
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGUpdate|Win32.Build.0 = Release|Win32
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGUpdate|x64.ActiveCfg = Release|x64
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGUpdate|x64.Build.0 = Release|x64
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Release|Win32.ActiveCfg = Release|Win32
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Release|Win32.Build.0 = Release|Win32
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Release|x64.ActiveCfg = Release|x64
{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Release|x64.Build.0 = Release|x64
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Debug|Win32.ActiveCfg = Debug|Win32
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Debug|Win32.Build.0 = Debug|Win32
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Debug|x64.ActiveCfg = Debug|x64
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Debug|x64.Build.0 = Debug|x64
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGInstrument|Win32.ActiveCfg = Release|Win32
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGInstrument|Win32.Build.0 = Release|Win32
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGInstrument|x64.ActiveCfg = Release|x64
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGInstrument|x64.Build.0 = Release|x64
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGUpdate|Win32.ActiveCfg = Release|Win32
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGUpdate|Win32.Build.0 = Release|Win32
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGUpdate|x64.ActiveCfg = Release|x64
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGUpdate|x64.Build.0 = Release|x64
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Release|Win32.ActiveCfg = Release|Win32
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Release|Win32.Build.0 = Release|Win32
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Release|x64.ActiveCfg = Release|x64
{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Release|x64.Build.0 = Release|x64
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Debug|Win32.ActiveCfg = Debug|Win32
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Debug|Win32.Build.0 = Debug|Win32
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Debug|x64.ActiveCfg = Debug|x64
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Debug|x64.Build.0 = Debug|x64
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGInstrument|Win32.ActiveCfg = Release|Win32
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGInstrument|Win32.Build.0 = Release|Win32
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGInstrument|x64.ActiveCfg = Release|x64
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGInstrument|x64.Build.0 = Release|x64
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGUpdate|Win32.ActiveCfg = Release|Win32
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGUpdate|Win32.Build.0 = Release|Win32
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGUpdate|x64.ActiveCfg = Release|x64
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGUpdate|x64.Build.0 = Release|x64
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Release|Win32.ActiveCfg = Release|Win32
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Release|Win32.Build.0 = Release|Win32
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Release|x64.ActiveCfg = Release|x64
{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Release|x64.Build.0 = Release|x64
{10615B24-73BF-4EFA-93AA-236916321317}.Debug|Win32.ActiveCfg = Debug|Win32
{10615B24-73BF-4EFA-93AA-236916321317}.Debug|Win32.Build.0 = Debug|Win32
{10615B24-73BF-4EFA-93AA-236916321317}.Debug|x64.ActiveCfg = Debug|x64
{10615B24-73BF-4EFA-93AA-236916321317}.Debug|x64.Build.0 = Debug|x64
{10615B24-73BF-4EFA-93AA-236916321317}.PGInstrument|Win32.ActiveCfg = Release|Win32
{10615B24-73BF-4EFA-93AA-236916321317}.PGInstrument|Win32.Build.0 = Release|Win32
{10615B24-73BF-4EFA-93AA-236916321317}.PGInstrument|x64.ActiveCfg = Release|x64
{10615B24-73BF-4EFA-93AA-236916321317}.PGInstrument|x64.Build.0 = Release|x64
{10615B24-73BF-4EFA-93AA-236916321317}.PGUpdate|Win32.ActiveCfg = Release|Win32
{10615B24-73BF-4EFA-93AA-236916321317}.PGUpdate|Win32.Build.0 = Release|Win32
{10615B24-73BF-4EFA-93AA-236916321317}.PGUpdate|x64.ActiveCfg = Release|x64
{10615B24-73BF-4EFA-93AA-236916321317}.PGUpdate|x64.Build.0 = Release|x64
{10615B24-73BF-4EFA-93AA-236916321317}.Release|Win32.ActiveCfg = Release|Win32
{10615B24-73BF-4EFA-93AA-236916321317}.Release|Win32.Build.0 = Release|Win32
{10615B24-73BF-4EFA-93AA-236916321317}.Release|x64.ActiveCfg = Release|x64
{10615B24-73BF-4EFA-93AA-236916321317}.Release|x64.Build.0 = Release|x64
{0F6EE4A4-C75F-4578-B4B3-2D64F4B9B782}.Debug|Win32.ActiveCfg = Debug|Win32
{0F6EE4A4-C75F-4578-B4B3-2D64F4B9B782}.Debug|Win32.Build.0 = Debug|Win32
{0F6EE4A4-C75F-4578-B4B3-2D64F4B9B782}.Debug|x64.ActiveCfg = Debug|x64
@ -769,4 +679,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5C33FFD3-C8DC-4A54-B842-8BA9846BDFFE}
EndGlobalSection
EndGlobal

View File

@ -1,12 +1,53 @@
@echo off
if not defined HOST_PYTHON (
if "%1" EQU "Debug" (
shift
set HOST_PYTHON=python_d.exe
if not exist python37_d.dll exit 1
) ELSE (
set HOST_PYTHON=python.exe
if not exist python37.dll exit 1
)
)
%HOST_PYTHON% "%~dp0prepare_ssl.py" %1
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 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"=="" goto Build
echo Unrecognized option: %1
goto Usage
:Build
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

View File

@ -21,6 +21,7 @@
from __future__ import print_function
import os
import re
import sys
import subprocess
from shutil import copy
@ -64,32 +65,8 @@ def find_working_perl(perls):
print(" Please install ActivePerl and ensure it appears on your path")
def create_asms(makefile, tmp_d):
#create a custom makefile out of the provided one
asm_makefile = os.path.splitext(makefile)[0] + '.asm.mak'
with open(makefile) as fin, open(asm_makefile, 'w') as fout:
for line in fin:
# Keep everything up to the install target (it's convenient)
if line.startswith('install: all'):
break
fout.write(line)
asms = []
for line in fin:
if '.asm' in line and line.strip().endswith('.pl'):
asms.append(line.split(':')[0])
while line.strip():
fout.write(line)
line = next(fin)
fout.write('\n')
fout.write('asms: $(TMP_D) ')
fout.write(' '.join(asms))
fout.write('\n')
os.system('nmake /f {} PERL=perl TMP_D={} asms'.format(asm_makefile, tmp_d))
def copy_includes(makefile, suffix):
dir = 'include'+suffix+'\\openssl'
dir = 'inc'+suffix+'\\openssl'
try:
os.makedirs(dir)
except OSError:
@ -114,9 +91,29 @@ def run_configure(configure, do_script):
print(do_script)
os.system(do_script)
def fix_uplink():
# uplink.c tries to find the OPENSSL_Applink function exported from the current
# executable. However, we export it from _ssl[_d].pyd instead. So we update the
# module name here before building.
with open('ms\\uplink.c', 'r', encoding='utf-8') as f1:
code = list(f1)
os.replace('ms\\uplink.c', 'ms\\uplink.c.orig')
already_patched = False
with open('ms\\uplink.c', 'w', encoding='utf-8') as f2:
for line in code:
if not already_patched:
if re.search('MODIFIED FOR CPYTHON _ssl MODULE', line):
already_patched = True
elif re.match(r'^\s+if\s*\(\(h\s*=\s*GetModuleHandle[AW]?\(NULL\)\)\s*==\s*NULL\)', line):
f2.write("/* MODIFIED FOR CPYTHON _ssl MODULE */\n")
f2.write('if ((h = GetModuleHandleW(L"_ssl.pyd")) == NULL) if ((h = GetModuleHandleW(L"_ssl_d.pyd")) == NULL)\n')
already_patched = True
f2.write(line)
if not already_patched:
print("WARN: failed to patch ms\\uplink.c")
def prep(arch):
makefile_template = "ms\\nt{}.mak"
makefile_template = "ms\\ntdll{}.mak"
generated_makefile = makefile_template.format('')
if arch == "x86":
configure = "VC-WIN32"
@ -126,13 +123,12 @@ def prep(arch):
configure = "VC-WIN64A"
do_script = "ms\\do_win64a"
suffix = "64"
#os.environ["VSEXTCOMP_USECL"] = "MS_OPTERON"
else:
raise ValueError('Unrecognized platform: %s' % arch)
print("Creating the makefiles...")
sys.stdout.flush()
# run configure, copy includes, create asms
# run configure, copy includes, patch files
run_configure(configure, do_script)
makefile = makefile_template.format(suffix)
try:
@ -142,9 +138,8 @@ def prep(arch):
os.rename(generated_makefile, makefile)
copy_includes(makefile, suffix)
print('creating asms...')
create_asms(makefile, 'tmp'+suffix)
print('patching ms\\uplink.c...')
fix_uplink()
def main():
if len(sys.argv) == 1:
@ -152,12 +147,17 @@ def main():
"sources must be supplied")
sys.exit(1)
if len(sys.argv) > 2:
if len(sys.argv) == 3 and sys.argv[2] not in ('x86', 'amd64'):
print("Second argument must be x86 or amd64")
sys.exit(1)
if len(sys.argv) > 3:
print("Too many arguments supplied, all we need is the directory",
"containing OpenSSL sources")
"containing OpenSSL sources and optionally the architecture")
sys.exit(1)
ssl_dir = sys.argv[1]
arch = sys.argv[2] if len(sys.argv) >= 3 else None
if not os.path.isdir(ssl_dir):
print(ssl_dir, "is not an existing directory!")
@ -191,8 +191,11 @@ def main():
old_cwd = os.getcwd()
try:
os.chdir(ssl_dir)
for arch in ['amd64', 'x86']:
if arch:
prep(arch)
else:
for arch in ['amd64', 'x86']:
prep(arch)
finally:
os.chdir(old_cwd)

55
PCbuild/prepare_tcltk.bat Normal file
View File

@ -0,0 +1,55 @@
@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 Tcl/Tk. 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 CERT_SETTING=
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"=="" goto Build
echo Unrecognized option: %1
goto Usage
:Build
call "%PCBUILD%find_msbuild.bat" %MSBUILD%
if ERRORLEVEL 1 (echo Cannot locate MSBuild.exe on PATH or as MSBUILD variable & exit /b 2)
rem call "%PCBUILD%find_python.bat" "%PYTHON%"
rem if ERRORLEVEL 1 (echo Cannot locate python.exe on PATH or as PYTHON variable & exit /b 3)
call "%PCBUILD%get_externals.bat" --tkinter-src %ORG_SETTING%
%MSBUILD% "%PCBUILD%tcl.vcxproj" /p:Configuration=Release /p:Platform=Win32
%MSBUILD% "%PCBUILD%tk.vcxproj" /p:Configuration=Release /p:Platform=Win32
%MSBUILD% "%PCBUILD%tix.vcxproj" /p:Configuration=Release /p:Platform=Win32
%MSBUILD% "%PCBUILD%tcl.vcxproj" /p:Configuration=Release /p:Platform=x64
%MSBUILD% "%PCBUILD%tk.vcxproj" /p:Configuration=Release /p:Platform=x64
%MSBUILD% "%PCBUILD%tix.vcxproj" /p:Configuration=Release /p:Platform=x64

View File

@ -152,7 +152,7 @@ foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses
<SdkBinPath Condition="!Exists($(SdkBinPath))">$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots@KitsRoot81)\bin\x86</SdkBinPath>
<SdkBinPath Condition="!Exists($(SdkBinPath))">$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots@KitsRoot)\bin\x86</SdkBinPath>
<SdkBinPath Condition="!Exists($(SdkBinPath))">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1A@InstallationFolder)\Bin\</SdkBinPath>
<_SignCommand Condition="Exists($(SdkBinPath)) and '$(SigningCertificate)' != '' and $(SupportSigning)">"$(SdkBinPath)\signtool.exe" sign /q /n "$(SigningCertificate)" /fd sha256 /t http://timestamp.verisign.com/scripts/timestamp.dll /d "Python $(PythonVersion)"</_SignCommand>
<_SignCommand Condition="Exists($(SdkBinPath)) and '$(SigningCertificate)' != '' and $(SupportSigning)">"$(SdkBinPath)\signtool.exe" sign /q /a /n "$(SigningCertificate)" /fd sha256 /t http://timestamp.verisign.com/scripts/timestamp.dll /d "Python $(PythonVersion)"</_SignCommand>
<_MakeCatCommand Condition="Exists($(SdkBinPath))">"$(SdkBinPath)\makecat.exe"</_MakeCatCommand>
</PropertyGroup>

View File

@ -46,8 +46,8 @@
<bz2Dir>$(ExternalsDir)bzip2-1.0.6\</bz2Dir>
<lzmaDir>$(ExternalsDir)xz-5.2.2\</lzmaDir>
<opensslDir>$(ExternalsDir)openssl-1.0.2k\</opensslDir>
<opensslIncludeDir>$(opensslDir)include32</opensslIncludeDir>
<opensslIncludeDir Condition="'$(ArchName)' == 'amd64'">$(opensslDir)include64</opensslIncludeDir>
<opensslOutDir>$(ExternalsDir)openssl-bin-1.0.2k\$(ArchName)\</opensslOutDir>
<opensslIncludeDir>$(opensslOutDir)include</opensslIncludeDir>
<nasmDir>$(ExternalsDir)\nasm-2.11.06\</nasmDir>
<!-- Suffix for all binaries when building for debug -->
@ -72,6 +72,8 @@
-->
<DefaultWindowsSDKVersion Condition="$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion) == '10.0.15063'">10.0.15063.0</DefaultWindowsSDKVersion>
<DefaultWindowsSDKVersion Condition="$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion) == '10.0.15063'">10.0.15063.0</DefaultWindowsSDKVersion>
<DefaultWindowsSDKVersion Condition="$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion) == '10.0.14393'">10.0.14393.0</DefaultWindowsSDKVersion>
<DefaultWindowsSDKVersion Condition="$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion) == '10.0.14393'">10.0.14393.0</DefaultWindowsSDKVersion>
<DefaultWindowsSDKVersion Condition="$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion) == '10.0.10586'">10.0.10586.0</DefaultWindowsSDKVersion>
<DefaultWindowsSDKVersion Condition="$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion) == '10.0.10586'">10.0.10586.0</DefaultWindowsSDKVersion>
<DefaultWindowsSDKVersion Condition="$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion) == '10.0.10240'">10.0.10240.0</DefaultWindowsSDKVersion>

View File

@ -1,119 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGInstrument|Win32">
<Configuration>PGInstrument</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGInstrument|x64">
<Configuration>PGInstrument</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGUpdate|Win32">
<Configuration>PGUpdate</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGUpdate|x64">
<Configuration>PGUpdate</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{10615B24-73BF-4EFA-93AA-236916321317}</ProjectGuid>
<RootNamespace>ssleay</RootNamespace>
</PropertyGroup>
<Import Project="python.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="openssl.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ItemGroup>
<!--
<ClCompile Include="$(opensslDir)ssl\bio_ssl.c" />
-->
<ClCompile Include="$(opensslDir)ssl\d1_both.c" />
<!--
<ClCompile Include="$(opensslDir)ssl\d1_clnt.c" />
<ClCompile Include="$(opensslDir)ssl\d1_enc.c" />
-->
<ClCompile Include="$(opensslDir)ssl\d1_lib.c" />
<!--
<ClCompile Include="$(opensslDir)ssl\d1_meth.c" />
-->
<ClCompile Include="$(opensslDir)ssl\d1_pkt.c" />
<ClCompile Include="$(opensslDir)ssl\d1_srtp.c" />
<!--
<ClCompile Include="$(opensslDir)ssl\d1_srvr.c" />
<ClCompile Include="$(opensslDir)ssl\kssl.c" />
-->
<ClCompile Include="$(opensslDir)ssl\s2_clnt.c" />
<ClCompile Include="$(opensslDir)ssl\s2_enc.c" />
<ClCompile Include="$(opensslDir)ssl\s2_lib.c" />
<ClCompile Include="$(opensslDir)ssl\s2_meth.c" />
<ClCompile Include="$(opensslDir)ssl\s2_pkt.c" />
<ClCompile Include="$(opensslDir)ssl\s2_srvr.c" />
<ClCompile Include="$(opensslDir)ssl\s23_clnt.c" />
<ClCompile Include="$(opensslDir)ssl\s23_lib.c" />
<ClCompile Include="$(opensslDir)ssl\s23_meth.c" />
<ClCompile Include="$(opensslDir)ssl\s23_pkt.c" />
<ClCompile Include="$(opensslDir)ssl\s23_srvr.c" />
<ClCompile Include="$(opensslDir)ssl\s3_both.c" />
<ClCompile Include="$(opensslDir)ssl\s3_cbc.c" />
<ClCompile Include="$(opensslDir)ssl\s3_clnt.c" />
<ClCompile Include="$(opensslDir)ssl\s3_enc.c" />
<ClCompile Include="$(opensslDir)ssl\s3_lib.c" />
<ClCompile Include="$(opensslDir)ssl\s3_meth.c" />
<ClCompile Include="$(opensslDir)ssl\s3_pkt.c" />
<ClCompile Include="$(opensslDir)ssl\s3_srvr.c" />
<ClCompile Include="$(opensslDir)ssl\ssl_algs.c" />
<ClCompile Include="$(opensslDir)ssl\ssl_asn1.c" />
<ClCompile Include="$(opensslDir)ssl\ssl_cert.c" />
<ClCompile Include="$(opensslDir)ssl\ssl_ciph.c" />
<ClCompile Include="$(opensslDir)ssl\ssl_err.c" />
<ClCompile Include="$(opensslDir)ssl\ssl_err2.c" />
<ClCompile Include="$(opensslDir)ssl\ssl_lib.c" />
<ClCompile Include="$(opensslDir)ssl\ssl_rsa.c" />
<ClCompile Include="$(opensslDir)ssl\ssl_sess.c" />
<!--
<ClCompile Include="$(opensslDir)ssl\ssl_stat.c" />
<ClCompile Include="$(opensslDir)ssl\ssl_txt.c" />
<ClCompile Include="$(opensslDir)ssl\ssl_utst.c" />
-->
<ClCompile Include="$(opensslDir)ssl\t1_clnt.c" />
<ClCompile Include="$(opensslDir)ssl\t1_enc.c" />
<ClCompile Include="$(opensslDir)ssl\t1_lib.c" />
<ClCompile Include="$(opensslDir)ssl\t1_meth.c" />
<ClCompile Include="$(opensslDir)ssl\t1_reneg.c" />
<ClCompile Include="$(opensslDir)ssl\t1_srvr.c" />
<ClCompile Include="$(opensslDir)ssl\tls_srp.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="Clean" />
<Target Name="CleanAll">
<Delete Files="$(TargetPath)" />
<RemoveDir Directories="$(IntDir)" />
</Target>
</Project>

View File

@ -48,16 +48,6 @@
<TargetPath>$(OutDir)bin\$(tclDLLName)</TargetPath>
</PropertyGroup>
<ItemGroup>
<ExpectedOutputs Include="
$(OutDir)\bin\$(tclDLLName);
$(OutDir)\bin\$(tclShExeName);
$(OutDir)\include\tcl.h;
$(OutDir)\lib\tcl$(TclMajorVersion);
$(OutDir)\lib\tcl$(TclMajorVersion).$(TclMinorVersion);
$(OutDir)\lib\$(tclLibName)" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
@ -66,28 +56,17 @@
<TclDirs>INSTALLDIR="$(OutDir.TrimEnd(`\`))" INSTALL_DIR="$(OutDir.TrimEnd(`\`))"</TclDirs>
<DebugFlags Condition="'$(Configuration)' == 'Debug'">DEBUGFLAGS="-wd4456 -wd4457 -wd4458 -wd4459 -wd4996"</DebugFlags>
<NMakeBuildCommandLine>setlocal
@(ExpectedOutputs->'if not exist "%(FullPath)" goto build','
')
goto :eof
:build
set VCINSTALLDIR=$(VCInstallDir)
cd /D "$(tclDir)win"
nmake -f makefile.vc MACHINE=$(TclMachine) OPTS=$(TclOpts) $(TclDirs) $(DebugFlags) core shell dlls
nmake -f makefile.vc MACHINE=$(TclMachine) OPTS=$(TclOpts) $(TclDirs) $(DebugFlags) install-binaries install-libraries
copy /Y ..\license.terms "$(OutDir)\tcllicense.terms"
</NMakeBuildCommandLine>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="CopyDll" Inputs="$(OutDir)\bin\$(tclDLLName)" Outputs="$(BuildPath)$(tclDLLName)" AfterTargets="Build">
<Copy SourceFiles="$(OutDir)\bin\$(tclDLLName)" DestinationFiles="$(BuildPath)$(tclDLLName)" />
</Target>
<Target Name="Clean" />
<Target Name="CleanAll">
<Delete Files="$(TargetPath);$(BuildPath)$(tclDLLName)" />
<RemoveDir Directories="$(IntDir)" />
</Target>
<Target Name="ResolveAssemblyReferences" />
</Project>

View File

@ -17,9 +17,8 @@
<tclDir>$(ExternalsDir)tcl-core-$(TclMajorVersion).$(TclMinorVersion).$(TclPatchLevel).$(TclRevision)\</tclDir>
<tkDir>$(ExternalsDir)tk-$(TkMajorVersion).$(TkMinorVersion).$(TkPatchLevel).$(TkRevision)\</tkDir>
<tixDir>$(ExternalsDir)tix-$(TixMajorVersion).$(TixMinorVersion).$(TixPatchLevel).$(TixRevision)\</tixDir>
<tcltkDir>$(ExternalsDir)tcltk\</tcltkDir>
<tcltkDir Condition="'$(Platform)' == 'x64'">$(ExternalsDir)tcltk64\</tcltkDir>
<TclDebugExt Condition="'$(Configuration)' == 'Debug'">g</TclDebugExt>
<tcltkDir>$(ExternalsDir)tcltk-$(TclMajorVersion).$(TclMinorVersion).$(TclPatchLevel).$(TclRevision)\$(ArchName)\</tcltkDir>
<!--<TclDebugExt Condition="'$(Configuration)' == 'Debug'">g</TclDebugExt>-->
<tclDLLName>tcl$(TclMajorVersion)$(TclMinorVersion)t$(TclDebugExt).dll</tclDLLName>
<tclLibName>tcl$(TclMajorVersion)$(TclMinorVersion)t$(TclDebugExt).lib</tclLibName>
<tclShExeName>tclsh$(TclMajorVersion)$(TclMinorVersion)t$(TclDebugExt).exe</tclShExeName>

View File

@ -37,6 +37,7 @@
<PropertyGroup Label="Globals">
<ProjectGuid>{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}</ProjectGuid>
<RootNamespace>tix</RootNamespace>
<SupportSigning>true</SupportSigning>
</PropertyGroup>
<Import Project="python.props" />
@ -49,10 +50,6 @@
<TargetPath>$(tixDLLPath)</TargetPath>
</PropertyGroup>
<ItemGroup>
<ExpectedOutputs Include="$(TargetPath)" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
@ -61,17 +58,22 @@
<DebugFlags Condition="'$(Configuration)' != 'Debug'">DEBUG=0 NODEBUG=1</DebugFlags>
<CFlags>-c -W3 -nologo -MD -wd4028 -wd4090</CFlags>
<NMakeBuildCommandLine>setlocal
@(ExpectedOutputs->'if not exist "%(FullPath)" goto build','
')
goto :eof
:build
set VCINSTALLDIR=$(VCInstallDir)
cd /D "$(tixDir)win"
nmake /nologo -f makefile.vc MACHINE=$(TclMachine) cflags="$(CFlags)" $(DebugFlags) $(TclShortVersions) $(TixDirs) all install
copy /Y ..\license.terms "$(OutDir)\tixlicense.terms"
</NMakeBuildCommandLine>
<NMakeCleanCommandLine>rmdir /q/s "$(OutDir.TrimEnd(`\`))"</NMakeCleanCommandLine>
</PropertyGroup>
<Target Name="SignFiles" AfterTargets="Build" Condition="$(_SignCommand) != ''">
<ItemGroup>
<FilesToSign Include="$(OutDir)\bin\*.exe" />
<FilesToSign Include="$(OutDir)\bin\*.dll" />
</ItemGroup>
<Exec Command="$(_SignCommand) &quot;%(FilesToSign.FullPath)&quot;" ContinueOnError="true" />
</Target>
<ItemGroup>
<ProjectReference Include="tcl.vcxproj">
<Project>{b5fd6f1d-129e-4bff-9340-03606fac7283}</Project>

View File

@ -49,14 +49,6 @@
<TargetPath>$(OutDir)bin\$(tkDLLName)</TargetPath>
</PropertyGroup>
<ItemGroup>
<ExpectedOutputs Include="
$(OutDir)bin\$(tkDLLName);
$(OutDir)include\tk.h;
$(OutDir)lib\$(tkLibName);
$(OutDir)lib\tk$(TkMajorVersion).$(TkMinorVersion)" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<PropertyGroup>
@ -65,14 +57,11 @@
<TkDirs>TCLDIR="$(tclDir.TrimEnd(`\`))" INSTALLDIR="$(OutDir.TrimEnd(`\`))"</TkDirs>
<DebugFlags Condition="'$(Configuration)' == 'Debug'">DEBUGFLAGS="-wd4456 -wd4457 -wd4458 -wd4459 -wd4996"</DebugFlags>
<NMakeBuildCommandLine>setlocal
@(ExpectedOutputs->'if not exist "%(FullPath)" goto build','
')
goto :eof
:build
set VCINSTALLDIR=$(VCInstallDir)
cd /D "$(tkDir)win"
nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs) $(DebugFlags) all
nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs) $(DebugFlags) install-binaries install-libraries
copy /Y ..\license.terms "$(OutDir)\tklicense.terms"
</NMakeBuildCommandLine>
</PropertyGroup>
<ItemGroup>
@ -83,15 +72,7 @@ nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Target Name="CopyDll" Inputs="$(OutDir)\bin\$(tkDLLName)" Outputs="$(BuildPath)$(tkDLLName)" AfterTargets="Build">
<Copy SourceFiles="$(OutDir)\bin\$(tkDLLName)" DestinationFiles="$(BuildPath)$(tkDLLName)" />
</Target>
<Target Name="Clean" />
<Target Name="CleanAll">
<Delete Files="$(TargetPath);$(BuildPath)$(tkDLLName)" />
<RemoveDir Directories="$(IntDir)" />
</Target>
<Target Name="ResolveAssemblyReferences" />
</Project>

View File

@ -76,9 +76,6 @@ if ERRORLEVEL 1 (echo Cannot locate MSBuild.exe on PATH or as MSBUILD variable &
if "%SKIPBUILD%" EQU "1" goto skipdoc
if "%SKIPDOC%" EQU "1" goto skipdoc
if not defined PYTHON where py -q || echo Cannot find py on path and PYTHON is not set. && exit /B 1
if not defined SPHINXBUILD where sphinx-build -q || echo Cannot find sphinx-build on path and SPHINXBUILD is not set. && exit /B 1
call "%D%..\..\doc\make.bat" htmlhelp
if errorlevel 1 goto :eof
:skipdoc

View File

@ -26,10 +26,10 @@
<LicenseFiles Include="$(PySourcePath)LICENSE;
crtlicense.txt;
$(bz2Dir)LICENSE;
$(opensslDir)LICENSE;
$(tclDir)license.terms;
$(tkDir)license.terms;
$(tixDir)license.terms" />
$(opensslOutDir)LICENSE;
$(tcltkDir)tcllicense.terms;
$(tcltkDir)tklicense.terms;
$(tcltkDir)tixlicense.terms" />
<_LicenseFiles Include="@(LicenseFiles)">
<Content>$([System.IO.File]::ReadAllText(%(FullPath)))</Content>
</_LicenseFiles>

View File

@ -12,7 +12,7 @@ set DO_FETCH=true
set DO_CLEAN=false
:CheckOpts
if "%~1"=="--python" (set PYTHON_FOR_BUILD=%2) & shift & shift & goto CheckOpts
if "%~1"=="--python" (set PYTHON=%2) & shift & shift & goto CheckOpts
if "%~1"=="--organization" (set ORG=%2) & shift & shift & goto CheckOpts
if "%~1"=="-c" (set DO_CLEAN=true) & shift & goto CheckOpts
if "%~1"=="--clean" (set DO_CLEAN=true) & shift & goto CheckOpts
@ -32,23 +32,7 @@ if "%DO_FETCH%"=="false" goto end
if "%ORG%"=="" (set ORG=python)
if "%PYTHON_FOR_BUILD%"=="" (
echo Checking for installed python...
py -3.6 -V >nul 2>&1 && (set PYTHON_FOR_BUILD=py -3.6)
)
if "%PYTHON_FOR_BUILD%"=="" (
if NOT exist "%EXTERNALS_DIR%" mkdir "%EXTERNALS_DIR%"
if NOT exist "%NUGET%" (
echo Downloading nuget...
rem NB: Must use single quotes around NUGET here, NOT double!
rem Otherwise, a space in the path would break things
powershell.exe -Command Invoke-WebRequest %NUGET_URL% -OutFile '%NUGET%'
)
echo Installing Python via nuget...
"%NUGET%" install pythonx86 -ExcludeVersion -OutputDirectory "%EXTERNALS_DIR%"
rem Quote it here; it's not quoted later because "py -3.6" wouldn't work
set PYTHON_FOR_BUILD="%EXTERNALS_DIR%\pythonx86\tools\python.exe"
)
call "%PCBUILD%\find_python.bat" "%PYTHON%"
echo.Fetching external libraries...
@ -59,7 +43,7 @@ for %%e in (%libraries%) do (
echo.%%e already exists, skipping.
) else (
echo.Fetching %%e...
%PYTHON_FOR_BUILD% "%PCBUILD%get_external.py" -e "%EXTERNALS_DIR%" -O %ORG% %%e
%PYTHON% "%PCBUILD%get_external.py" -e "%EXTERNALS_DIR%" -O %ORG% %%e
)
)
@ -79,7 +63,7 @@ for %%b in (%binaries%) do (
echo.%%b already exists, skipping.
) else (
echo.Fetching %%b...
%PYTHON_FOR_BUILD% "%PCBUILD%get_external.py" -e "%EXTERNALS_DIR%" -b -O %ORG% %%b
%PYTHON% "%PCBUILD%get_external.py" -e "%EXTERNALS_DIR%" -b -O %ORG% %%b
)
)

View File

@ -14,6 +14,12 @@
<Component Id="sqlite3.dll" Directory="DLLs" Guid="*">
<File Name="sqlite3.dll" KeyPath="yes" />
</Component>
<Component Id="libeay32.dll" Directory="DLLs" Guid="*">
<File Name="libeay32.dll" KeyPath="yes" />
</Component>
<Component Id="ssleay32.dll" Directory="DLLs" Guid="*">
<File Name="ssleay32.dll" KeyPath="yes" />
</Component>
</ComponentGroup>
</Fragment>
@ -30,6 +36,12 @@
<Component Id="sqlite3.pdb" Directory="DLLs" Guid="*">
<File Name="sqlite3.pdb" />
</Component>
<Component Id="libeay32.pdb" Directory="DLLs" Guid="*">
<File Name="libeay32.pdb" KeyPath="yes" />
</Component>
<Component Id="ssleay32.pdb" Directory="DLLs" Guid="*">
<File Name="ssleay32.pdb" KeyPath="yes" />
</Component>
</ComponentGroup>
</Fragment>

View File

@ -20,14 +20,6 @@
<WxlTemplate Include="*.wxl_template" />
</ItemGroup>
<ItemGroup>
<InstallFiles Include="$(tcltkDir)bin\*.dll" Exclude="$(tcltkDir)bin\*g.dll">
<SourceBase>$(tcltkDir)</SourceBase>
<Source>!(bindpath.tcltk)</Source>
<TargetBase>$(tcltkDir)bin</TargetBase>
<Target_>DLLs\</Target_>
<Group>tcltk_dlls</Group>
</InstallFiles>
<InstallFiles Include="$(tcltkDir)lib\**\*">
<SourceBase>$(tcltkDir)</SourceBase>
<Source>!(bindpath.tcltk)</Source>

View File

@ -8,7 +8,6 @@
<Feature Id="DebugBinaries" AllowAdvertise="no" Title="!(loc.Title_d)" Description="!(loc.Description_d)">
<ComponentGroupRef Id="tkinter_extension_d" />
<ComponentGroupRef Id="tcltk_dlls_d" />
</Feature>
</Product>
</Wix>

View File

@ -5,9 +5,17 @@
<Component Id="_tkinter.pyd" Directory="DLLs" Guid="*">
<File Name="_tkinter.pyd" KeyPath="yes" />
</Component>
</ComponentGroup>
<ComponentGroup Id="tcltk_dlls">
<Component Id="_tkinter.lib" Directory="libs" Guid="*">
<File Name="_tkinter.lib" KeyPath="yes" />
</Component>
<Component Id="tcl86t.dll" Directory="DLLs" Guid="*">
<File Name="tcl86t.dll" KeyPath="yes" />
</Component>
<Component Id="tk86t.dll" Directory="DLLs" Guid="*">
<File Name="tk86t.dll" KeyPath="yes" />
</Component>
</ComponentGroup>
</Fragment>