summaryrefslogtreecommitdiff
path: root/PCbuild/openssl.props
blob: e35c0d9f527137d96386a25661fb3f53cd1b0479 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?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="OPENSSL_THREADS" />
    <!-- <PreprocessorDefinitions Include="OPENSSL_SYSNAME_WIN32" /> -->
    <PreprocessorDefinitions Include="OPENSSL_IA32_SSE2" />
    <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_GF2m" />
    <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>
    </ClCompile>
  </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>
  </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>
</Project>