<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Debug|x64">
      <Configuration>Debug</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|x64">
      <Configuration>Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="DLL-Import Debug|Win32">
      <Configuration>DLL-Import Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="DLL-Import Debug|x64">
      <Configuration>DLL-Import Debug</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="DLL-Import Release|Win32">
      <Configuration>DLL-Import Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="DLL-Import Release|x64">
      <Configuration>DLL-Import Release</Configuration>
      <Platform>x64</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <PropertyGroup Label="Globals">
    <ProjectGuid>{c39f4b46-6e89-4074-902e-ca57073044d2}</ProjectGuid>
    <RootNamespace>cryptlib</RootNamespace>
    <PlatformToolset>v100</PlatformToolset>
    <ConfigurationType>StaticLibrary</ConfigurationType>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  <ImportGroup Label="ExtensionSettings">
    <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
  </ImportGroup>
  <ImportGroup Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <!-- End of Visual Studio boilerplate -->

  <!-- All Configurations -->
  <PropertyGroup Label="All Configurations">
    <ConfigurationType>StaticLibrary</ConfigurationType>
    <TargetName>cryptlib</TargetName>
    <TargetExt>.lib</TargetExt>
    <UseOfMfc>false</UseOfMfc>
    <CharacterSet>MultiByte</CharacterSet>
    <WholeProgramOptimization>true</WholeProgramOptimization>
  </PropertyGroup>

  <!-- Intermediate and Output directories -->
  <!-- Cryptlib and Cryptest need extra care due to Non-DLL/DLL configs -->
  <PropertyGroup Condition="'$(Configuration)'=='Debug' Or '$(Configuration)'=='Release'" Label="Non-DLL Directories">
    <OutDir>$(Platform)\Output\$(Configuration)\</OutDir>
    <IntDir>$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)'=='DLL-Import Debug'" Label="DLL Directories">
    <OutDir>$(Platform)\DLL_Output\Debug\</OutDir>
    <IntDir>$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)'=='DLL-Import Release'" Label="DLL Directories">
    <OutDir>$(Platform)\DLL_Output\Release\</OutDir>
    <IntDir>$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>
  </PropertyGroup>

  <!-- All Configurations -->
  <ItemDefinitionGroup Label="All Configurations">
    <ClCompile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <ErrorReporting>None</ErrorReporting>
      <WarningLevel>Level4</WarningLevel>
      <PrecompiledHeader>Use</PrecompiledHeader>
      <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
    </ClCompile>
    <Lib>
      <ErrorReporting>NoErrorReport</ErrorReporting>
    </Lib>
  </ItemDefinitionGroup>

  <!-- Debug Configurations -->
  <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug' Or '$(Configuration)'=='DLL-Import Debug'" Label="Debug Configuration">
    <ClCompile>
      <PreprocessorDefinitions>USE_PRECOMPILED_HEADERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Optimization>Disabled</Optimization>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Culture>0x0409</Culture>
    </ResourceCompile>
  </ItemDefinitionGroup>

  <!-- Release Configurations -->
  <ItemDefinitionGroup Condition="'$(Configuration)'=='Release' Or '$(Configuration)'=='DLL-Import Release'" Label="Release Configuration">
    <ClCompile>
      <PreprocessorDefinitions>NDEBUG;USE_PRECOMPILED_HEADERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <OmitFramePointers>true</OmitFramePointers>
      <Optimization>MaxSpeed</Optimization>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <StringPooling>true</StringPooling>
      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
    </ClCompile>
    <ResourceCompile>
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <Culture>0x0409</Culture>
    </ResourceCompile>
  </ItemDefinitionGroup>

  <!-- DLL-Import Overrides for Preprocessor -->
  <ItemDefinitionGroup Condition="'$(Configuration)'=='DLL-Import Debug'" Label="DLL Debug Configuration">
    <ClCompile>
      <PreprocessorDefinitions>USE_PRECOMPILED_HEADERS;CRYPTOPP_IMPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
  </ItemDefinitionGroup>
  <ItemDefinitionGroup Condition="'$(Configuration)'=='DLL-Import Release'" Label="DLL Debug Configuration">
    <ClCompile>
      <PreprocessorDefinitions>NDEBUG;USE_PRECOMPILED_HEADERS;CRYPTOPP_IMPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
  </ItemDefinitionGroup>

  <!-- X86 Configurations -->
  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'" Label="X86 Configuration">
    <ClCompile>
      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
    </ClCompile>
    <Lib>
      <TargetMachine>MachineX86</TargetMachine>
      <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers>
    </Lib>
  </ItemDefinitionGroup>

  <!-- X64 Configurations -->
  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'" Label="X64 Configuration">
    <ClCompile>
      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
    </ClCompile>
    <Lib>
      <TargetMachine>MachineX64</TargetMachine>
    </Lib>
  </ItemDefinitionGroup>

  <!-- Original File with special treatment -->

  <!-- Source Files -->
  <!-- The order of the first three matters -->
  <ItemGroup>
    <ClCompile Include="cryptlib.cpp" />
    <ClCompile Include="cpu.cpp" />
    <ClCompile Include="integer.cpp" />
    <ClCompile Include="3way.cpp" />
    <ClCompile Include="adler32.cpp" />
    <ClCompile Include="algebra.cpp" />
    <ClCompile Include="algparam.cpp" />
    <ClCompile Include="arc4.cpp" />
    <ClCompile Include="aria.cpp" />
    <ClCompile Include="asn.cpp" />
    <ClCompile Include="authenc.cpp" />
    <ClCompile Include="base32.cpp" />
    <ClCompile Include="base64.cpp" />
    <ClCompile Include="basecode.cpp" />
    <ClCompile Include="bfinit.cpp" />
    <ClCompile Include="blake2.cpp" />
    <ClCompile Include="blowfish.cpp" />
    <ClCompile Include="blumshub.cpp" />
    <ClCompile Include="camellia.cpp" />
    <ClCompile Include="cast.cpp" />
    <ClCompile Include="casts.cpp" />
    <ClCompile Include="cbcmac.cpp" />
    <ClCompile Include="ccm.cpp" />
    <ClCompile Include="chacha.cpp" />
    <ClCompile Include="channels.cpp" />
    <ClCompile Include="cmac.cpp" />
    <ClCompile Include="crc.cpp" />
    <ClCompile Include="default.cpp" />
    <ClCompile Include="des.cpp" />
    <ClCompile Include="dessp.cpp" />
    <ClCompile Include="dh.cpp" />
    <ClCompile Include="dh2.cpp" />
    <ClCompile Include="dll.cpp">
      <PrecompiledHeader />
    </ClCompile>
    <ClCompile Include="dsa.cpp" />
    <ClCompile Include="eax.cpp" />
    <ClCompile Include="ec2n.cpp" />
    <ClCompile Include="eccrypto.cpp">
      <ExcludedFromBuild>true</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="ecp.cpp" />
    <ClCompile Include="elgamal.cpp" />
    <ClCompile Include="emsa2.cpp" />
    <ClCompile Include="eprecomp.cpp">
      <ExcludedFromBuild>true</ExcludedFromBuild>
    </ClCompile>
    <ClCompile Include="esign.cpp" />
    <ClCompile Include="files.cpp" />
    <ClCompile Include="filters.cpp" />
    <ClCompile Include="fips140.cpp" />
    <ClCompile Include="fipstest.cpp" />
    <ClCompile Include="gcm.cpp" />
    <ClCompile Include="gf256.cpp" />
    <ClCompile Include="gf2_32.cpp" />
    <ClCompile Include="gf2n.cpp" />
    <ClCompile Include="gfpcrypt.cpp" />
    <ClCompile Include="gost.cpp" />
    <ClCompile Include="gzip.cpp" />
    <ClCompile Include="hex.cpp" />
    <ClCompile Include="hmac.cpp" />
    <ClCompile Include="hrtimer.cpp" />
    <ClCompile Include="ida.cpp" />
    <ClCompile Include="idea.cpp" />
    <ClCompile Include="iterhash.cpp">
      <PrecompiledHeader />
    </ClCompile>
    <ClCompile Include="kalyna.cpp" />
    <ClCompile Include="kalynatab.cpp" />
    <ClCompile Include="keccak.cpp" />
    <ClCompile Include="luc.cpp" />
    <ClCompile Include="mars.cpp" />
    <ClCompile Include="marss.cpp" />
    <ClCompile Include="md2.cpp" />
    <ClCompile Include="md4.cpp" />
    <ClCompile Include="md5.cpp" />
    <ClCompile Include="misc.cpp" />
    <ClCompile Include="modes.cpp" />
    <ClCompile Include="mqueue.cpp" />
    <ClCompile Include="mqv.cpp" />
    <ClCompile Include="nbtheory.cpp" />
    <ClCompile Include="network.cpp" />
    <ClCompile Include="oaep.cpp" />
    <ClCompile Include="osrng.cpp" />
    <ClCompile Include="panama.cpp" />
    <ClCompile Include="pch.cpp">
      <PrecompiledHeader>Create</PrecompiledHeader>
    </ClCompile>
    <ClCompile Include="pkcspad.cpp" />
    <ClCompile Include="poly1305.cpp" />
    <ClCompile Include="polynomi.cpp" />
    <ClCompile Include="pssr.cpp" />
    <ClCompile Include="pubkey.cpp" />
    <ClCompile Include="queue.cpp" />
    <ClCompile Include="rabin.cpp" />
    <ClCompile Include="randpool.cpp" />
    <ClCompile Include="rc2.cpp" />
    <ClCompile Include="rc5.cpp" />
    <ClCompile Include="rc6.cpp" />
    <ClCompile Include="rdrand.cpp" />
    <ClCompile Include="rdtables.cpp" />
    <ClCompile Include="rijndael.cpp" />
    <ClCompile Include="ripemd.cpp" />
    <ClCompile Include="rng.cpp" />
    <ClCompile Include="rsa.cpp" />
    <ClCompile Include="rw.cpp" />
    <ClCompile Include="safer.cpp" />
    <ClCompile Include="salsa.cpp" />
    <ClCompile Include="seal.cpp" />
    <ClCompile Include="seed.cpp" />
    <ClCompile Include="serpent.cpp" />
    <ClCompile Include="sha.cpp" />
    <ClCompile Include="sha3.cpp" />
    <ClCompile Include="shacal2.cpp" />
    <ClCompile Include="shark.cpp" />
    <ClCompile Include="sharkbox.cpp" />
    <ClCompile Include="simple.cpp" />
    <ClCompile Include="skipjack.cpp" />
    <ClCompile Include="socketft.cpp" />
    <ClCompile Include="sosemanuk.cpp" />
    <ClCompile Include="square.cpp" />
    <ClCompile Include="squaretb.cpp" />
    <ClCompile Include="strciphr.cpp" />
    <ClCompile Include="tea.cpp" />
    <ClCompile Include="tftables.cpp" />
    <ClCompile Include="threefish.cpp" />
    <ClCompile Include="tiger.cpp" />
    <ClCompile Include="tigertab.cpp" />
    <ClCompile Include="trdlocal.cpp" />
    <ClCompile Include="ttmac.cpp" />
    <ClCompile Include="twofish.cpp" />
    <ClCompile Include="vmac.cpp" />
    <ClCompile Include="wait.cpp" />
    <ClCompile Include="wake.cpp" />
    <ClCompile Include="whrlpool.cpp" />
    <ClCompile Include="winpipes.cpp" />
    <ClCompile Include="xtr.cpp" />
    <ClCompile Include="xtrcrypt.cpp" />
    <ClCompile Include="zdeflate.cpp" />
    <ClCompile Include="zinflate.cpp" />
    <ClCompile Include="zlib.cpp" />
  </ItemGroup>
  <ItemGroup>
    <CustomBuild Include="adhoc.cpp.proto">
      <Command>
        if not exist adhoc.cpp copy "%(FullPath)" adhoc.cpp
        echo: &gt;&gt; adhoc.cpp.copied
      </Command>
      <Outputs>adhoc.cpp.copied;%(Outputs)</Outputs>
    </CustomBuild>
    <None Include="Doxyfile" />
    <None Include="GNUmakefile" />
    <None Include="License.txt" />
    <None Include="Readme.txt" />
  </ItemGroup>
  <ItemGroup>
    <CustomBuild Condition="'$(Platform)'=='Win32'" Include="rdrand.asm">
      <Message>Building and assembling rdrand.asm</Message>
      <Command>ml.exe /c /nologo /D_M_X86 /W3 /Cx /Zi /safeseh /Fo"$(IntDir)rdrand-x86.obj" "%(FullPath)"</Command>
      <Outputs>$(IntDir)\rdrand-x86.obj;%(Outputs)</Outputs>
    </CustomBuild>
    <CustomBuild Condition="'$(Platform)'=='x64'" Include="rdrand.asm">
      <Message>Building and assembling rdrand.asm</Message>
      <Command>ml64.exe /c /nologo /D_M_X64 /W3 /Cx /Zi /Fo"$(IntDir)rdrand-x64.obj" "%(FullPath)"</Command>
      <Outputs>$(IntDir)\rdrand-x64.obj;%(Outputs)</Outputs>
    </CustomBuild>
    <CustomBuild Condition="'$(Platform)'=='x64' AND ('$(Configuration)'=='Debug' Or '$(Configuration)'=='Release')" Include="x64dll.asm">
      <Message>Building and assembling x64dll.asm</Message>
      <Command>ml64.exe /c /nologo /D_M_X64 /W3 /Zi /Fo"$(IntDir)x64dll.obj" "%(FullPath)"</Command>
      <Outputs>$(IntDir)x64dll.obj;%(Outputs)</Outputs>
    </CustomBuild>
    <CustomBuild Condition="'$(Platform)'=='x64'" Include="x64masm.asm">
      <Message>Building and Assembling x64masm.asm</Message>
      <Command>ml64.exe /c /nologo /D_M_X64 /W3 /Zi /Fo"$(IntDir)x64masm.obj" "%(FullPath)"</Command>
      <Outputs>$(IntDir)x64masm.obj;%(Outputs)</Outputs>
    </CustomBuild>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="3way.h" />
    <ClInclude Include="adler32.h" />
    <ClInclude Include="aes.h" />
    <ClInclude Include="algebra.h" />
    <ClInclude Include="algparam.h" />
    <ClInclude Include="arc4.h" />
    <ClInclude Include="aria.h" />
    <ClInclude Include="argnames.h" />
    <ClInclude Include="asn.h" />
    <ClInclude Include="authenc.h" />
    <ClInclude Include="base32.h" />
    <ClInclude Include="base64.h" />
    <ClInclude Include="basecode.h" />
    <ClInclude Include="blake2.h" />
    <ClInclude Include="blowfish.h" />
    <ClInclude Include="blumshub.h" />
    <ClInclude Include="camellia.h" />
    <ClInclude Include="cast.h" />
    <ClInclude Include="cbcmac.h" />
    <ClInclude Include="ccm.h" />
    <ClInclude Include="chacha.h" />
    <ClInclude Include="channels.h" />
    <ClInclude Include="cmac.h" />
    <ClInclude Include="config.h" />
    <ClInclude Include="cpu.h" />
    <ClInclude Include="crc.h" />
    <ClInclude Include="cryptlib.h" />
    <ClInclude Include="default.h" />
    <ClInclude Include="des.h" />
    <ClInclude Include="dh.h" />
    <ClInclude Include="dh2.h" />
    <ClInclude Include="dmac.h" />
    <ClInclude Include="drbg.h" />
    <ClInclude Include="dsa.h" />
    <ClInclude Include="eax.h" />
    <ClInclude Include="ec2n.h" />
    <ClInclude Include="eccrypto.h" />
    <ClInclude Include="ecp.h" />
    <ClInclude Include="ecpoint.h" />
    <ClInclude Include="elgamal.h" />
    <ClInclude Include="emsa2.h" />
    <ClInclude Include="eprecomp.h" />
    <ClInclude Include="esign.h" />
    <ClInclude Include="files.h" />
    <ClInclude Include="filters.h" />
    <ClInclude Include="fips140.h" />
    <ClInclude Include="fhmqv.h" />
    <ClInclude Include="fltrimpl.h" />
    <ClInclude Include="gcm.h" />
    <ClInclude Include="gf256.h" />
    <ClInclude Include="gf2_32.h" />
    <ClInclude Include="gf2n.h" />
    <ClInclude Include="gfpcrypt.h" />
    <ClInclude Include="gost.h" />
    <ClInclude Include="gzip.h" />
    <ClInclude Include="hex.h" />
    <ClInclude Include="hkdf.h" />
    <ClInclude Include="hmac.h" />
    <ClInclude Include="hmqv.h" />
    <ClInclude Include="hrtimer.h" />
    <ClInclude Include="ida.h" />
    <ClInclude Include="idea.h" />
    <ClInclude Include="integer.h" />
    <ClInclude Include="iterhash.h" />
    <ClInclude Include="kalyna.h" />
    <ClInclude Include="keccak.h" />
    <ClInclude Include="lubyrack.h" />
    <ClInclude Include="luc.h" />
    <ClInclude Include="mars.h" />
    <ClInclude Include="md2.h" />
    <ClInclude Include="md4.h" />
    <ClInclude Include="md5.h" />
    <ClInclude Include="mdc.h" />
    <ClInclude Include="misc.h" />
    <ClInclude Include="modarith.h" />
    <ClInclude Include="modes.h" />
    <ClInclude Include="modexppc.h" />
    <ClInclude Include="mqueue.h" />
    <ClInclude Include="mqv.h" />
    <ClInclude Include="nbtheory.h" />
    <ClInclude Include="network.h" />
    <ClInclude Include="nr.h" />
    <ClInclude Include="oaep.h" />
    <ClInclude Include="oids.h" />
    <ClInclude Include="osrng.h" />
    <ClInclude Include="panama.h" />
    <ClInclude Include="pch.h" />
    <ClInclude Include="pkcspad.h" />
    <ClInclude Include="poly1305.h" />
    <ClInclude Include="polynomi.h" />
    <ClInclude Include="pssr.h" />
    <ClInclude Include="pubkey.h" />
    <ClInclude Include="pwdbased.h" />
    <ClInclude Include="queue.h" />
    <ClInclude Include="rabin.h" />
    <ClInclude Include="randpool.h" />
    <ClInclude Include="rc2.h" />
    <ClInclude Include="rc5.h" />
    <ClInclude Include="rc6.h" />
    <ClInclude Include="rdrand.h" />
    <ClInclude Include="rijndael.h" />
    <ClInclude Include="ripemd.h" />
    <ClInclude Include="rng.h" />
    <ClInclude Include="rsa.h" />
    <ClInclude Include="rw.h" />
    <ClInclude Include="safer.h" />
    <ClInclude Include="salsa.h" />
    <ClInclude Include="seal.h" />
    <ClInclude Include="secblock.h" />
    <ClInclude Include="seckey.h" />
    <ClInclude Include="seed.h" />
    <ClInclude Include="serpent.h" />
    <ClInclude Include="sha.h" />
    <ClInclude Include="sha3.h" />
    <ClInclude Include="shacal2.h" />
    <ClInclude Include="shark.h" />
    <ClInclude Include="simple.h" />
    <ClInclude Include="siphash.h" />
    <ClInclude Include="skipjack.h" />
    <ClInclude Include="smartptr.h" />
    <ClInclude Include="socketft.h" />
    <ClInclude Include="sosemanuk.h" />
    <ClInclude Include="square.h" />
    <ClInclude Include="stdcpp.h" />
    <ClInclude Include="strciphr.h" />
    <ClInclude Include="tea.h" />
    <ClInclude Include="threefish.h" />
    <ClInclude Include="tiger.h" />
    <ClInclude Include="trap.h" />
    <ClInclude Include="trdlocal.h" />
    <ClInclude Include="trunhash.h" />
    <ClInclude Include="ttmac.h" />
    <ClInclude Include="twofish.h" />
    <ClInclude Include="vmac.h" />
    <ClInclude Include="wait.h" />
    <ClInclude Include="wake.h" />
    <ClInclude Include="whrlpool.h" />
    <ClInclude Include="winpipes.h" />
    <ClInclude Include="words.h" />
    <ClInclude Include="xtr.h" />
    <ClInclude Include="xtrcrypt.h" />
    <ClInclude Include="zdeflate.h" />
    <ClInclude Include="zinflate.h" />
    <ClInclude Include="zlib.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  <ImportGroup Label="ExtensionTargets">
    <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
  </ImportGroup>
</Project>