• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3  <Import Project="pyproject.props" />
4
5  <PropertyGroup Label="Configuration">
6    <ConfigurationType>StaticLibrary</ConfigurationType>
7    <IntDir>$(opensslDir)tmp\$(ArchName)_$(Configuration)\$(ProjectName)\</IntDir>
8    <IntDir Condition="$(Configuration) == 'PGInstrument' or $(Configuration) == 'PGUpdate'">$(opensslDir)tmp\$(ArchName)\$(ProjectName)\</IntDir>
9  </PropertyGroup>
10
11  <ItemGroup>
12    <PreprocessorDefinitions Include="DSO_WIN32" />
13    <PreprocessorDefinitions Include="WIN32_LEAN_AND_MEAN" />
14    <PreprocessorDefinitions Include="L_ENDIAN" />
15    <PreprocessorDefinitions Include="_CRT_SECURE_NO_WARNINGS" />
16    <PreprocessorDefinitions Include="_CRT_SECURE_NO_DEPRECATE" />
17    <PreprocessorDefinitions Include="OPENSSL_THREADS" />
18    <!-- <PreprocessorDefinitions Include="OPENSSL_SYSNAME_WIN32" /> -->
19    <PreprocessorDefinitions Include="OPENSSL_IA32_SSE2" />
20    <PreprocessorDefinitions Include="SHA1_ASM" />
21    <PreprocessorDefinitions Include="SHA256_ASM" />
22    <PreprocessorDefinitions Include="SHA512_ASM" />
23    <PreprocessorDefinitions Include="MD5_ASM" />
24    <PreprocessorDefinitions Include="AES_ASM" />
25    <PreprocessorDefinitions Include="VPAES_ASM" />
26    <PreprocessorDefinitions Include="WHIRLPOOL_ASM" />
27    <PreprocessorDefinitions Include="GHASH_ASM" />
28    <PreprocessorDefinitions Include="OPENSSL_NO_IDEA" />
29    <PreprocessorDefinitions Include="OPENSSL_NO_RC5" />
30    <PreprocessorDefinitions Include="OPENSSL_NO_MD2" />
31    <PreprocessorDefinitions Include="OPENSSL_NO_MDC2" />
32    <PreprocessorDefinitions Include="OPENSSL_NO_KRB5" />
33    <PreprocessorDefinitions Include="OPENSSL_NO_JPAKE" />
34    <PreprocessorDefinitions Include="OPENSSL_NO_RDRAND" />
35    <PreprocessorDefinitions Include="OPENSSL_NO_RSAX" />
36    <PreprocessorDefinitions Include="OPENSSL_NO_DYNAMIC_ENGINE" />
37  </ItemGroup>
38  <ItemGroup Condition="'$(Platform)'=='Win32'">
39    <PreprocessorDefinitions Include="OPENSSL_BN_ASM_GF2m" />
40    <PreprocessorDefinitions Include="OPENSSL_BN_ASM_PART_WORDS" />
41    <PreprocessorDefinitions Include="OPENSSL_BN_ASM_MONT" />
42    <PreprocessorDefinitions Include="RMD160_ASM" />
43  </ItemGroup>
44
45  <PropertyGroup>
46    <_PreprocessorDefinitionList>@(PreprocessorDefinitions)</_PreprocessorDefinitionList>
47  </PropertyGroup>
48
49  <ItemDefinitionGroup>
50    <ClCompile>
51      <!-- Suppress 64-bit truncation warnings - they aren't ours to worry about -->
52      <DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
53      <AdditionalIncludeDirectories>$(opensslDir);$(opensslIncludeDir);$(opensslDir)crypto;$(opensslDir)crypto\asn1;$(opensslDir)crypto\evp;$(opensslDir)crypto\modes</AdditionalIncludeDirectories>
54      <PreprocessorDefinitions>$(_PreprocessorDefinitionList);%(PreprocessorDefinitions)</PreprocessorDefinitions>
55    </ClCompile>
56  </ItemDefinitionGroup>
57
58  <Target Name="FindNasm">
59    <PropertyGroup>
60      <nasm Condition="$(Platform) == 'Win32'">nasm.exe -f win32</nasm>
61      <nasm Condition="$(Platform) == 'x64'">nasm.exe -f win64 -DNEAR -Ox -g</nasm>
62    </PropertyGroup>
63  </Target>
64
65  <Target Name="BuildNasmFiles" BeforeTargets="PreBuildEvent" DependsOnTargets="PrepareForBuild;FindNasm" Inputs="@(NasmCompile)" Outputs="@(NasmCompile->'$(IntDir)%(Filename).obj')">
66    <Exec Command='setlocal
67set PATH=$(nasmDir);%PATH%
68$(nasm) -o "$(IntDir)%(NasmCompile.Filename).obj" "%(NasmCompile.FullPath)"' />
69    <ItemGroup>
70      <Link Include="$(IntDir)%(NasmCompile.Filename).obj" />
71      <Lib Include="$(IntDir)%(NasmCompile.Filename).obj" />
72    </ItemGroup>
73  </Target>
74</Project>
75