Steve Dower | 68d663c | 2017-07-17 11:15:48 +0200 | [diff] [blame] | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| 3 | <ItemGroup Label="ProjectConfigurations"> |
| 4 | <ProjectConfiguration Include="Debug|Win32"> |
| 5 | <Configuration>Debug</Configuration> |
| 6 | <Platform>Win32</Platform> |
| 7 | </ProjectConfiguration> |
| 8 | <ProjectConfiguration Include="Release|Win32"> |
| 9 | <Configuration>Release</Configuration> |
| 10 | <Platform>Win32</Platform> |
| 11 | </ProjectConfiguration> |
| 12 | <ProjectConfiguration Include="PGInstrument|Win32"> |
| 13 | <Configuration>PGInstrument</Configuration> |
| 14 | <Platform>Win32</Platform> |
| 15 | </ProjectConfiguration> |
| 16 | <ProjectConfiguration Include="PGInstrument|x64"> |
| 17 | <Configuration>PGInstrument</Configuration> |
| 18 | <Platform>x64</Platform> |
| 19 | </ProjectConfiguration> |
| 20 | <ProjectConfiguration Include="PGUpdate|Win32"> |
| 21 | <Configuration>PGUpdate</Configuration> |
| 22 | <Platform>Win32</Platform> |
| 23 | </ProjectConfiguration> |
| 24 | <ProjectConfiguration Include="PGUpdate|x64"> |
| 25 | <Configuration>PGUpdate</Configuration> |
| 26 | <Platform>x64</Platform> |
| 27 | </ProjectConfiguration> |
| 28 | <ProjectConfiguration Include="Debug|x64"> |
| 29 | <Configuration>Debug</Configuration> |
| 30 | <Platform>x64</Platform> |
| 31 | </ProjectConfiguration> |
| 32 | <ProjectConfiguration Include="Release|x64"> |
| 33 | <Configuration>Release</Configuration> |
| 34 | <Platform>x64</Platform> |
| 35 | </ProjectConfiguration> |
| 36 | </ItemGroup> |
| 37 | <PropertyGroup Label="Globals"> |
| 38 | <ProjectGuid>{B5FD6F1D-129E-4BFF-9340-03606FAC7283}</ProjectGuid> |
| 39 | </PropertyGroup> |
| 40 | |
| 41 | <Import Project="python.props" /> |
| 42 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> |
| 43 | |
| 44 | <PropertyGroup Label="Configuration"> |
| 45 | <ConfigurationType>Makefile</ConfigurationType> |
| 46 | <Bitness>32</Bitness> |
| 47 | <Bitness Condition="$(Platform) == 'x64'">64</Bitness> |
| 48 | <ArchName>x86</ArchName> |
| 49 | <ArchName Condition="$(Platform) == 'x64'">amd64</ArchName> |
Steve Dower | b84bcc4 | 2017-09-09 06:13:06 -0700 | [diff] [blame] | 50 | <OpenSSLPlatform>VC-WIN32</OpenSSLPlatform> |
| 51 | <OpenSSLPlatform Condition="$(Platform) == 'x64'">VC-WIN64A</OpenSSLPlatform> |
Steve Dower | 68d663c | 2017-07-17 11:15:48 +0200 | [diff] [blame] | 52 | <SupportSigning>true</SupportSigning> |
| 53 | </PropertyGroup> |
| 54 | |
Steve Dower | 68d663c | 2017-07-17 11:15:48 +0200 | [diff] [blame] | 55 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> |
| 56 | <Import Project="pyproject.props" /> |
| 57 | |
| 58 | <PropertyGroup> |
| 59 | <IntDir>$(opensslDir)\tmp$(Bitness)dll</IntDir> |
Steve Dower | b84bcc4 | 2017-09-09 06:13:06 -0700 | [diff] [blame] | 60 | <OutDir>$(opensslOutDir)</OutDir> |
Steve Dower | 68d663c | 2017-07-17 11:15:48 +0200 | [diff] [blame] | 61 | <NMakeBuildCommandLine>setlocal |
Steve Dower | 68d663c | 2017-07-17 11:15:48 +0200 | [diff] [blame] | 62 | set VCINSTALLDIR=$(VCInstallDir) |
Steve Dower | 68d663c | 2017-07-17 11:15:48 +0200 | [diff] [blame] | 63 | if not exist "$(IntDir.TrimEnd('\'))" mkdir "$(IntDir.TrimEnd('\'))" |
Steve Dower | b84bcc4 | 2017-09-09 06:13:06 -0700 | [diff] [blame] | 64 | cd /D "$(IntDir.TrimEnd('\'))" |
| 65 | $(Perl) "$(opensslDir)\configure" $(OpenSSLPlatform) no-asm |
| 66 | nmake |
Steve Dower | 68d663c | 2017-07-17 11:15:48 +0200 | [diff] [blame] | 67 | </NMakeBuildCommandLine> |
| 68 | </PropertyGroup> |
| 69 | |
| 70 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> |
| 71 | |
Steve Dower | b84bcc4 | 2017-09-09 06:13:06 -0700 | [diff] [blame] | 72 | <Target Name="_PatchUplink" BeforeTargets="Build"> |
| 73 | <PropertyGroup> |
| 74 | <Uplink>$(opensslDir)\ms\uplink.c</Uplink> |
| 75 | <BeforePatch>((h = GetModuleHandle(NULL)) == NULL)</BeforePatch> |
| 76 | <AfterPatch>((h = GetModuleHandleA("_ssl.pyd")) == NULL) if ((h = GetModuleHandleA("_ssl_d.pyd")) == NULL) if ((h = GetModuleHandle(NULL)) == NULL /*patched*/)</AfterPatch> |
| 77 | </PropertyGroup> |
| 78 | <Error Text="Cannot find $(Uplink)" Condition="!Exists($(Uplink))" /> |
| 79 | <PropertyGroup> |
| 80 | <_Original>$([System.IO.File]::ReadAllText($(Uplink)))</_Original> |
| 81 | <_Patched>$(_Original.Replace($(BeforePatch), $(AfterPatch)))</_Patched> |
| 82 | <IsPatched>false</IsPatched> |
| 83 | <IsPatched Condition="$(_Patched) == $(_Original)">true</IsPatched> |
| 84 | </PropertyGroup> |
| 85 | <Message Text="$(Uplink) is already patched" Importance="normal" Condition="$(IsPatched)" /> |
| 86 | <Message Text="Patching $(Uplink)" Importance="high" Condition="!$(IsPatched)" /> |
| 87 | <WriteLinesToFile File="$(Uplink)" |
| 88 | Lines="$(_Patched)" |
| 89 | Overwrite="true" |
| 90 | Encoding="ASCII" |
| 91 | Condition="!$(IsPatched)" /> |
Steve Dower | 68d663c | 2017-07-17 11:15:48 +0200 | [diff] [blame] | 92 | </Target> |
| 93 | |
Steve Dower | b84bcc4 | 2017-09-09 06:13:06 -0700 | [diff] [blame] | 94 | <Target Name="_CopyToOutput" AfterTargets="Build"> |
Steve Dower | 68d663c | 2017-07-17 11:15:48 +0200 | [diff] [blame] | 95 | <ItemGroup> |
Steve Dower | b84bcc4 | 2017-09-09 06:13:06 -0700 | [diff] [blame] | 96 | <_Built Include="$(opensslDir)\LICENSE" /> |
| 97 | <_Built Include="$(IntDir)\libcrypto.lib;$(IntDir)\libcrypto-*.dll;$(IntDir)\libcrypto-*.pdb" /> |
| 98 | <_Built Include="$(IntDir)\libssl.lib;$(IntDir)\libssl-*.dll;$(IntDir)\libssl-*.pdb" /> |
| 99 | <_AppLink Include="$(opensslDir)\ms\applink.c" /> |
| 100 | <_Include Include="$(opensslDir)\Include\openssl\*.h" /> |
| 101 | <_Include Include="$(IntDir)\include\openssl\*.h" /> |
Steve Dower | 68d663c | 2017-07-17 11:15:48 +0200 | [diff] [blame] | 102 | </ItemGroup> |
Steve Dower | b84bcc4 | 2017-09-09 06:13:06 -0700 | [diff] [blame] | 103 | <MakeDir Directories="$(opensslOutDir)\include\openssl" /> |
| 104 | <Copy SourceFiles="@(_Built)" DestinationFolder="$(opensslOutDir)" /> |
| 105 | <Copy SourceFiles="@(_AppLink)" DestinationFolder="$(opensslOutDir)\include" /> |
| 106 | <Copy SourceFiles="@(_Include)" DestinationFolder="$(opensslOutDir)\include\openssl" /> |
Steve Dower | 68d663c | 2017-07-17 11:15:48 +0200 | [diff] [blame] | 107 | </Target> |
| 108 | |
| 109 | <Target Name="SignFiles" AfterTargets="Build" Condition="$(_SignCommand) != ''"> |
| 110 | <ItemGroup> |
Steve Dower | b84bcc4 | 2017-09-09 06:13:06 -0700 | [diff] [blame] | 111 | <FilesToSign Include="$(opensslOutDir)\lib*.dll" /> |
Steve Dower | 68d663c | 2017-07-17 11:15:48 +0200 | [diff] [blame] | 112 | </ItemGroup> |
| 113 | <Exec Command="$(_SignCommand) %(FilesToSign.FullPath)" ContinueOnError="true" /> |
| 114 | </Target> |
| 115 | |
| 116 | <Target Name="Clean" /> |
| 117 | <Target Name="CleanAll"> |
| 118 | <Delete Files="$(TargetPath);$(BuildPath)$(tclDLLName)" /> |
| 119 | <RemoveDir Directories="$(IntDir)" /> |
| 120 | </Target> |
| 121 | |
| 122 | <Target Name="LocateNMake"> |
| 123 | <PropertyGroup> |
| 124 | <OutputFilename Condition="$(OutputFilename) == ''">$(Temp)\nmake.loc</OutputFilename> |
| 125 | </PropertyGroup> |
| 126 | <ItemGroup> |
| 127 | <_NMakeExe Include="$(VC_ExecutablePath_x86_x86)\nmake.exe" Condition="$(VC_ExecutablePath_x86_x86) != ''" /> |
| 128 | </ItemGroup> |
| 129 | <MakeDir Directories="$([System.IO.Path]::GetDirectoryName($(OutputFilename)))" /> |
| 130 | <WriteLinesToFile File="$(OutputFilename)" Lines="@(_NMakeExe)" /> |
| 131 | </Target> |
| 132 | |
| 133 | <Target Name="ResolveAssemblyReferences" /> |
| 134 | </Project> |