diff options
Diffstat (limited to 'PCbuild/openssl.props')
-rw-r--r-- | PCbuild/openssl.props | 89 |
1 files changed, 67 insertions, 22 deletions
diff --git a/PCbuild/openssl.props b/PCbuild/openssl.props index a7e1679..e45964e 100644 --- a/PCbuild/openssl.props +++ b/PCbuild/openssl.props @@ -1,29 +1,74 @@ -<?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"> + <Import Project="pyproject.props" /> + + <PropertyGroup Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <IntDir>$(opensslDir)tmp\$(ArchName)_$(Configuration)\$(ProjectName)\</IntDir> + <IntDir Condition="$(Configuration) == 'PGInstrument' or $(Configuration) == 'PGUpdate'">$(opensslDir)tmp\$(ArchName)\$(ProjectName)\</IntDir> + </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> - <AdditionalIncludeDirectories>$(opensslIncludeDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <!-- 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> - <Link> - <AdditionalLibraryDirectories>$(opensslOutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> - <AdditionalDependencies>ws2_32.lib;libcrypto.lib;libssl.lib;%(AdditionalDependencies)</AdditionalDependencies> - </Link> </ItemDefinitionGroup> - <PropertyGroup> - <_DLLSuffix>-1_1</_DLLSuffix> - <_DLLSuffix Condition="$(Platform) == 'ARM'">$(_DLLSuffix)-arm</_DLLSuffix> - <_DLLSuffix Condition="$(Platform) == 'ARM64'">$(_DLLSuffix)-arm64</_DLLSuffix> - </PropertyGroup> - <ItemGroup> - <_SSLDLL Include="$(opensslOutDir)\libcrypto$(_DLLSuffix).dll" /> - <_SSLDLL Include="$(opensslOutDir)\libcrypto$(_DLLSuffix).pdb" /> - <_SSLDLL Include="$(opensslOutDir)\libssl$(_DLLSuffix).dll" /> - <_SSLDLL Include="$(opensslOutDir)\libssl$(_DLLSuffix).pdb" /> - </ItemGroup> - <Target Name="_CopySSLDLL" Inputs="@(_SSLDLL)" Outputs="@(_SSLDLL->'$(OutDir)%(Filename)%(Extension)')" AfterTargets="Build"> - <Copy SourceFiles="@(_SSLDLL)" DestinationFolder="$(OutDir)" /> + + <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="_CleanSSLDLL" BeforeTargets="Clean"> - <Delete Files="@(_SSLDLL->'$(OutDir)%(Filename)%(Extension)')" TreatErrorsAsWarnings="true" /> + + <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>
\ No newline at end of file +</Project> |