blob: d094e59ba8c2d0e3afc90f58155e274a336147ff [file] [log] [blame]
Steve Dower65e4cb12014-11-22 12:54:57 -08001<?xml version="1.0" encoding="utf-8"?>
2<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
Steve Dowerde9fb282015-07-27 14:56:58 -07003 <PropertyGroup>
4 <Py_IntDir Condition="'$(Py_IntDir)' == ''">$(opensslDir)tmp\</Py_IntDir>
5 </PropertyGroup>
6
Steve Dower65e4cb12014-11-22 12:54:57 -08007 <Import Project="pyproject.props" />
8
Zachary Ware7037cf72015-01-03 22:33:10 -06009 <PropertyGroup Label="Configuration">
10 <ConfigurationType>StaticLibrary</ConfigurationType>
Zachary Ware7037cf72015-01-03 22:33:10 -060011 </PropertyGroup>
12
Steve Dower65e4cb12014-11-22 12:54:57 -080013 <ItemGroup>
14 <PreprocessorDefinitions Include="DSO_WIN32" />
15 <PreprocessorDefinitions Include="WIN32_LEAN_AND_MEAN" />
16 <PreprocessorDefinitions Include="L_ENDIAN" />
17 <PreprocessorDefinitions Include="_CRT_SECURE_NO_WARNINGS" />
18 <PreprocessorDefinitions Include="_CRT_SECURE_NO_DEPRECATE" />
19 <PreprocessorDefinitions Include="OPENSSL_THREADS" />
20 <PreprocessorDefinitions Include="OPENSSL_SYSNAME_WIN32" />
21 <PreprocessorDefinitions Include="OPENSSL_IA32_SSE2" />
Steve Dower65e4cb12014-11-22 12:54:57 -080022 <PreprocessorDefinitions Include="OPENSSL_CPUID_OBJ" />
23 <PreprocessorDefinitions Include="SHA1_ASM" />
24 <PreprocessorDefinitions Include="SHA256_ASM" />
25 <PreprocessorDefinitions Include="SHA512_ASM" />
26 <PreprocessorDefinitions Include="MD5_ASM" />
27 <PreprocessorDefinitions Include="AES_ASM" />
28 <PreprocessorDefinitions Include="VPAES_ASM" />
29 <PreprocessorDefinitions Include="WHIRLPOOL_ASM" />
30 <PreprocessorDefinitions Include="GHASH_ASM" />
31 <PreprocessorDefinitions Include="OPENSSL_NO_IDEA" />
32 <PreprocessorDefinitions Include="OPENSSL_NO_RC5" />
33 <PreprocessorDefinitions Include="OPENSSL_NO_MD2" />
34 <PreprocessorDefinitions Include="OPENSSL_NO_MDC2" />
35 <PreprocessorDefinitions Include="OPENSSL_NO_KRB5" />
36 <PreprocessorDefinitions Include="OPENSSL_NO_JPAKE" />
37 <PreprocessorDefinitions Include="OPENSSL_NO_RDRAND" />
38 <PreprocessorDefinitions Include="OPENSSL_NO_RSAX" />
39 <PreprocessorDefinitions Include="OPENSSL_NO_DYNAMIC_ENGINE" />
40 </ItemGroup>
41 <ItemGroup Condition="'$(Platform)'=='Win32'">
Steve Dowerc8241cf2015-05-13 21:44:02 -070042 <PreprocessorDefinitions Include="OPENSSL_BN_ASM_GF2m" />
Steve Dower65e4cb12014-11-22 12:54:57 -080043 <PreprocessorDefinitions Include="OPENSSL_BN_ASM_PART_WORDS" />
44 <PreprocessorDefinitions Include="OPENSSL_BN_ASM_MONT" />
45 <PreprocessorDefinitions Include="RMD160_ASM" />
46 </ItemGroup>
47
48 <PropertyGroup>
49 <_PreprocessorDefinitionList>@(PreprocessorDefinitions)</_PreprocessorDefinitionList>
50 </PropertyGroup>
51
52 <ItemDefinitionGroup>
53 <ClCompile>
54 <!-- Suppress 64-bit truncation warnings - they aren't ours to worry about -->
55 <DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
56 <AdditionalIncludeDirectories>$(opensslDir);$(opensslDir)include;$(opensslDir)crypto;$(opensslDir)crypto\asn1;$(opensslDir)crypto\evp;$(opensslDir)crypto\modes</AdditionalIncludeDirectories>
57 <PreprocessorDefinitions>$(_PreprocessorDefinitionList);%(PreprocessorDefinitions)</PreprocessorDefinitions>
58 </ClCompile>
59 </ItemDefinitionGroup>
60
61 <Target Name="FindNasm">
62 <PropertyGroup>
Steve Dowerc4c79a02014-12-12 17:15:18 -080063 <nasm Condition="$(Platform) == 'Win32'">nasm.exe -f win32</nasm>
64 <nasm Condition="$(Platform) == 'x64'">nasm.exe -f win64 -DNEAR -Ox -g</nasm>
Steve Dower65e4cb12014-11-22 12:54:57 -080065 </PropertyGroup>
66 </Target>
67
68 <Target Name="BuildNasmFiles" BeforeTargets="PreBuildEvent" DependsOnTargets="PrepareForBuild;FindNasm" Inputs="@(NasmCompile)" Outputs="@(NasmCompile->'$(IntDir)%(Filename).obj')">
Steve Dowerc4c79a02014-12-12 17:15:18 -080069 <Exec Command='setlocal
Zachary Ware6bd687e2015-04-09 20:20:55 -050070set PATH=$(nasmDir);%PATH%
Steve Dowerc4c79a02014-12-12 17:15:18 -080071$(nasm) -o "$(IntDir)%(NasmCompile.Filename).obj" "%(NasmCompile.FullPath)"' />
Steve Dower65e4cb12014-11-22 12:54:57 -080072 <ItemGroup>
73 <Link Include="$(IntDir)%(NasmCompile.Filename).obj" />
74 <Lib Include="$(IntDir)%(NasmCompile.Filename).obj" />
75 </ItemGroup>
76 </Target>
77</Project>